22 lines
1.1 KiB
Markdown
22 lines
1.1 KiB
Markdown
# 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 --hard` does NOT remove untracked files — a "clean" tree can still
|
|
carry stray test stores; use `git clean -fd tests/lifecycle-tmp` equivalents.
|
|
- `silent: true` patches `console` process-wide — never assert narration through
|
|
`console` spies in this lane; the engine's always-on channel is `prodLog`.
|