Same stack, opposite outcomes
Lifeline and Word (wordbs) both ran on the same Amplifier stack. One shipped; one stalled. If the tooling was the same, it can't be why they diverged.
So what actually moved the needle? Start by proving the stack really was identical.
Both used the same large-scale-project-recipe.yaml and the same settings.local.yaml — matching md5 hashes in both directories.
Tooling was a constant. So it can be ruled out as the cause.
Lifeline is a standard 2-tier web app. wordbs is a 12-package operational-transform, event-sourcing turborepo monorepo.
Same tools underneath. Now watch how differently they ended.
backend/ and frontend/ dirs.ot (operational-transform) package; turborepo (.turbo) monorepo.Lifeline reached production-ready, 100% feature-complete in 4 sessions. wordbs sat at 20-30% complete after ~20 sessions, with two runs past 1,500 turns.
Same tools, opposite results. Something else was the variable.
Lifeline kept phase gates and session discipline: its main orchestration session stayed at ~850 turns. wordbs batch-ran 72 tasks via unlimited-run with no gates — on top of broken swarm tooling.
So the winning structure got bottled into a reusable bundle.
swarm.db does not exist.Its execute-phase recipe caps sessions at 800 turns, requires human approval at design and completion, and runs antagonistic validators that read fresh from disk with zero inherited context.
One small commit — and then the pattern started spreading.
max_turns_per_session: 800, auto-checkpoint at 800.approval_required: true at design and completion.A later, separate project — web-word-3 — re-adopts the same phase-gate, 800-turn-discipline, and incremental antagonistic-validation pattern. Its master plan cites wordbs's failure as the thing to avoid.
Structure wasn't just why one project won — it became a durable pattern.
Two projects, one byte-identical stack, opposite results. The tooling was the constant; structure was the leverage.
Data as of: January 26, 2026 (bundle commit date). Independently re-verified in a fresh session against repos under ~/dev/ANext.
Feature status: amplifier-bundle-longbuilder shipped as a thin bundle (1 commit, 18 files).
Commands run:
ls -la ~/dev/ANext/lifeline/large-scale-project-recipe.yaml ~/dev/ANext/wordbs/large-scale-project-recipe.yaml; md5sum — both 61,446 bytes, md5 a3ad78e5f6f2f95e7f3630aaff9ca60dmd5sum of .amplifier/settings.local.yaml in both — identical (cdbdbaee1d47b406c330b4a832673319)cat ~/dev/ANext/amplifier-bundle-longbuilder/README.md; cat docs/FINAL_SYNTHESIS.md — session counts & outcomesgrep -n '1527|1883|1500' docs/FINAL_SYNTHESIS.md; grep -n '850 turns' README.mdcat ~/dev/ANext/wordbs/.amplifier/unlimited-run.log — 72 tasks, validation "moderate"; cat ~/dev/ANext/wordbs/swarm-full.log — swarm.db missingls ~/dev/ANext/wordbs/packages/ | wc -l — 12 packages incl. ot; ls ~/dev/ANext/lifeline/ — backend/frontendgrep -n 'max_turns|800|approval|antagonist' recipes/execute-phase.yaml; antagonist-design-validator.yaml / antagonist-test-validator.yamlgit log --format='%H %ci %an %s'; git show --stat 4afb87f; wc -l recipes/*.yaml behaviors/*.yaml context/instructions.mdsed -n '10,14p;505,516p' ~/dev/ANext/web-word-3/.longbuilder/specs/WORD3_MASTER_PLAN.mdGaps: Exact turn counts (1,527 / 1,883), session counts (4 / ~20), and "5+ repair sessions" are doc-sourced from FINAL_SYNTHESIS.md / README.md / WORD3_MASTER_PLAN.md; raw per-session events.jsonl logs are no longer present locally to re-derive.
Primary contributor: Sam Schillace — sole committer of amplifier-bundle-longbuilder (single commit 4afb87f).