| .. | ||
| biography.test.ts | ||
| biographyHarness.ts | ||
| README.md | ||
The Lifecycle Lane
One brain, driven through founding, a working day, a clean restart, a
crash, a repair, and a second life, checked chapter by chapter against an
independent shadow-model referee (biographyHarness.ts). It catches
COMPOSITION regressions unit tests miss — a store fine in one process but
broken across a restart/crash/repair. Runs on the plain JS engine, so it
gates every commit.
Run it: npx vitest run tests/lifecycle --pool=forks
A red names the chapter label, the id, and expected-vs-actual — diagnosable
from the message alone. biography.test.ts is split into two it blocks
(Ch1-3, then Ch4-6) purely for reporting; it is still ONE fixed-order story.
Chapters must never be reordered, skipped, or made conditional, and a
failing chapter's assertion must never be weakened to force green.
Lab notes (hard-won, keep):
git reset --harddoes NOT remove untracked files — a "clean" tree can still carry stray test stores; usegit clean -fd tests/lifecycle-tmpequivalents.silent: truepatchesconsoleprocess-wide — never assert narration throughconsolespies in this lane; the engine's always-on channel isprodLog.