The goose swarm, self-verifying: small local models shipping real software
Description and use
A team built a multi-device orchestrator for weak local LLMs, added contract enforcement and a stack of deterministic gates, ensuring generated code actually runs and produces correct outputs, not just passes unit tests.
Problem
Can a fleet of weak local LLMs, each running on existing hardware, be coordinated to produce correct, runnable software, given that weak models often fail in ways static tests miss?
Outcome
The swarm achieved reliable, correct software generation on local hardware, with high utilization and honest verdicts, demonstrating that weak local models can be coordinated to produce real, runnable applications.
Workflow
- 1. Forked goose to create goose swarm, adding multi-device orchestration.
- 2. Implemented context compaction and per-turn re-checks to keep local model performance high.
- 3. Built a dependency graph scheduler with work-stealing and fan-out prioritization to keep all nodes busy.
- 4. Added structural fixes for weak model behaviors (write-first directive, pre-created directories, tool output caps, no-progress timeout).
- 5. Introduced CONTRACTS: generate signature-only stubs for each module and share a frozen bundle to enforce interface consistency.
- 6. Developed a stack of deterministic gates (smoke, import, runtime) that run the generated test suite and real commands, marking verdicts only on reproducible defects.
- 7. Ensured gates are inconclusive on missing tools or timeouts, and limited corrective re-dispatch to one attempt.
- 8. Verified the system by executing the generated app on spec commands and checking printed values, not just test pass status.
Evidence
"It runs" and "tests pass" are not "it is correct." Every win was confirmed by executing the produced app on the spec's own example commands and checking the values it printed — never by a green test suite.
The swarm discovers the three resident qwopus nodes and runs SCOUT and PLAN across all of them in parallel — no node left idle while the smart model thinks.
The fix is CONTRACTS: before anyone writes real code, the fleet fans out one signature-only stub-generation call per module, and the results are assembled into a single frozen bundle.
- Record date: 2026-09-22T06:15:25.728Z