Add swarm: bulk external workers under a director model - #14
Merged
Conversation
scripts/swarm.py fans prompt sets out to a cheap external reasoning model (default gpt-5.6-luna) via the OpenAI Responses API — stdlib only, concurrent, checkpointed per job with prompt-hash resume, so a crashed sweep re-runs nothing it already paid for. Subcommands: plan (template x values), run, one, status. docs/SWARM.md is the protocol that keeps this from corrupting the dataset: the director writes briefs and filters returns; swarm output is candidate text, never a result; briefs authored by an informed director make the attempt informed regardless of what workers saw; records name the worker model next to mode. Registered docs/SWARM.md as tier 1 and pointed CLAUDE.md at it. Offline tests cover template expansion, the done/stale/failed resume states, payload/response shapes, and that plan + dry-run never need an API key. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01F1ewmwg1FieyhJqUiFBrtT
First attempt on collatz, and the first sweep run on external swarm workers per docs/SWARM.md: 22 gpt-5.6-luna reports for $0.084, director filter at full strength. Main finding: the lens taxonomy has weak purchase here — 17/22 reports collapse onto two classical families, both closed in the record. Finite-memory residue-Lyapunov certificates are killed at every modulus by an exact re-derivation of the -1-tower obstruction (classical root Terras 1976; barrier_checks.py, L <= 200), and cycle-equation sieving adds nothing beyond recorded cycle-bound limits. Parity-uniformity entropy barrier certified k <= 16 after correcting a worker claim that stated the Terras bijection for the unshortened map, where it is false. Three leads recorded; queue 21 takes the nonstandard one — a dominator/treewidth census of truncated Collatz digraphs. Ledger updated (TL;DR, problem table, queue 8/21). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01F1ewmwg1FieyhJqUiFBrtT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
scripts/swarm.py fans prompt sets out to a cheap external reasoning model
(default gpt-5.6-luna) via the OpenAI Responses API — stdlib only,
concurrent, checkpointed per job with prompt-hash resume, so a crashed
sweep re-runs nothing it already paid for. Subcommands: plan (template x
values), run, one, status.
docs/SWARM.md is the protocol that keeps this from corrupting the dataset:
the director writes briefs and filters returns; swarm output is candidate
text, never a result; briefs authored by an informed director make the
attempt informed regardless of what workers saw; records name the worker
model next to mode.
Registered docs/SWARM.md as tier 1 and pointed CLAUDE.md at it. Offline
tests cover template expansion, the done/stale/failed resume states,
payload/response shapes, and that plan + dry-run never need an API key.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01F1ewmwg1FieyhJqUiFBrtT