Skip to content

v1.17.0 — a runnable sourcing loop for the swarm

Choose a tag to compare

@cgbarlow cgbarlow released this 17 Jun 04:37
· 256 commits to main since this release
d485d14

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 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 over candidates, promote survivors to triples with gen_triples.py, and open one chore(sourcing): PR of ≤ --max-goals goals. Unlike the prove loop it is bounded by default (one cycle; --cycles N / UNSORRY_SOURCING_CYCLES to repeat) because sourcing has no empty-pool terminator, supports --theme, --max-goals (clamped to 1..50), and --dry-run, and reuses agent.sh's preflight, ADR-016 infrastructure-failure classification, ADR-059 fetch resilience, and 0/1/2/3 exit codes so swarm/supervise.sh wraps it unchanged. Driven by a new swarm/prompts/source.md playbook; shellcheck-clean with a hermetic --self-test, both wired into agent-lint.yml.

Fixed

  • Fixed the proof-graph preview (docs/proof-graph.svg) being permanently stale, so it under-counted solved problems (#1888). The proofs-visualisation refresh workflow regenerates all three visualiser outputs with tools.visualiser --write, but its commit $paths listed only the .md table and .html page — not docs/proof-graph.svg. So the bot regenerated the SVG every run but never staged it, and its per-$paths git diff short-circuited to "already in sync", leaving the SVG frozen at an old snapshot (153 goals · 104 proved) while the real total had grown to 762 goals · 284 proved (+138 archived). Same path-gap class as the earlier sourcing-leaderboard refresh fix. Added docs/proof-graph.svg to the workflow's tracked $paths and regenerated it so main reflects reality now. The leaderboard itself was unaffected — its --check was already green and it correctly counts all 424 verified proofs including archived ones.