v1.17.0 — a runnable sourcing loop for the swarm
Headline: a runnable sourcing loop for the swarm — goal-sourcing gets the same hands-off harness the prove loop already had. A new swarm/sourcing.sh (ADR-062) is the sourcing counterpart to swarm/agent.sh: it fires up Claude to run one cycle of the unsorry-goal-sourcing skill (ADR-060) — pick a hard theme, run the four sourcing gates, promote survivors to triples with gen_triples.py, and open one chore(sourcing): PR — answering the #1837 maintainer ask for "a bash script run like ./swarm/agent.sh that fires up Claude and runs a cycle of goal sourcing." It is bounded by default (one cycle; --cycles N to repeat) since sourcing has no empty-pool terminator, and reuses agent.sh's preflight, ADR-016 failure classification, ADR-059 fetch resilience, and 0/1/2/3 exit codes so supervise.sh wraps it unchanged. Alongside, a refresh-workflow fix lands the long-stale docs/proof-graph.svg (#1888) — it was regenerated every run but never staged, frozen at 153 goals · 104 proved while the real total had grown to 762 goals · 284 proved.
Added
- Added
swarm/sourcing.sh, the goal-sourcing runner (ADR-062 / SPEC-062-A) — the sourcing counterpart toswarm/agent.sh. It fires up Claude to run one cycle of theunsorry-goal-sourcingskill (ADR-060): pick a hard theme, run the four sourcing gates over candidates, promote survivors to triples withgen_triples.py, and open onechore(sourcing):PR of≤ --max-goalsgoals. Unlike the prove loop it is bounded by default (one cycle;--cycles N/UNSORRY_SOURCING_CYCLESto repeat) because sourcing has no empty-pool terminator, supports--theme,--max-goals(clamped to 1..50), and--dry-run, and reusesagent.sh's preflight, ADR-016 infrastructure-failure classification, ADR-059 fetch resilience, and 0/1/2/3 exit codes soswarm/supervise.shwraps it unchanged. Driven by a newswarm/prompts/source.mdplaybook; shellcheck-clean with a hermetic--self-test, both wired intoagent-lint.yml.
Fixed
- Fixed the proof-graph preview (
docs/proof-graph.svg) being permanently stale, so it under-counted solved problems (#1888). Theproofs-visualisationrefresh workflow regenerates all three visualiser outputs withtools.visualiser --write, but its commit$pathslisted only the.mdtable and.htmlpage — notdocs/proof-graph.svg. So the bot regenerated the SVG every run but never staged it, and its per-$pathsgit diffshort-circuited to "already in sync", leaving the SVG frozen at an old snapshot (153 goals · 104 proved) while the real total had grown to762 goals · 284 proved(+138 archived). Same path-gap class as the earlier sourcing-leaderboard refresh fix. Addeddocs/proof-graph.svgto the workflow's tracked$pathsand regenerated it somainreflects reality now. The leaderboard itself was unaffected — its--checkwas already green and it correctly counts all 424 verified proofs including archived ones.