Build step 7 of 7 — Phase EL (umbrella #272)
Build doc: documentation/plans/evolution-lines-plan.md §7 Step EL.7
What to build
Type: wait. Multi-hour autonomous observation soak — the end-to-end validation the unit tests cannot give (the loop runs unattended over wall-clock time, so scheduler drift, registry write races, and extinction thrash are invisible to short runs):
python scripts/evolve.py --lineages 3 --population-cap 3 --hours 6 --fitness-mode both
Observe: lineages diverge on fingerprint; ≥1 extinction event fires (or is justified as not-needed under cap); baseline-fitness trends are sane; no orphan SC2 processes; EVO_AUTO commit hygiene holds (clean [evo-auto] rows). Use a 2-hour check-in pattern (inspect data/evolve_run_state.json + recent commits + log tail) before letting the remainder run unattended.
Existing context
- Resume the dashboard against
/api/evolve/lineages (Step 5) to watch lineage divergence live.
- Reading evolve state:
data/evolve_run_state.json (generations_promoted, parent_current) + data/evolve_results.jsonl tail (per .claude/rules/evolve.md).
- This is the §15 observation phase: it precedes any future "refactor/generalize" work so there's a known-good multi-lineage baseline.
Files to modify/create
documentation/soak-test-runs/evolution-lines-soak-<ts>.md (operator-authored soak record — not code)
Done when
≥2 generations per lineage complete; the diversity matrix shows non-trivial separation; extinction logic exercised at least once OR documented as not-triggered-by-design under the cap; zero orphan processes; commit log shows clean [evo-auto] rows. Soak record written. Evaluate against the umbrella kill criterion (lineages converging to identical fingerprints with no exploration gain → pause the phase).
Depends on
Step 6 (#278) — smoke gate must pass first.
Parallel-safe with
none — strictly sequential: this is the terminal observation soak; the smoke gate (Step 6) must be green before committing wall-clock.
Produces
documentation/soak-test-runs/evolution-lines-soak-<ts>.md.
Operator workflow notes (autonomous + UI-bundle + parallel)
Type: wait — /build-phase halts intentionally so wall-clock waiting doesn't consume context. Resume in a fresh session after the soak.
- Observation-based success criteria — even "the loop died after N minutes for reason X" is a valuable finding worth shipping.
Synced from documentation/plans/evolution-lines-plan.md by /repo-sync at 154f7b0
Build step 7 of 7 — Phase EL (umbrella #272)
Build doc:
documentation/plans/evolution-lines-plan.md§7 Step EL.7What to build
Type: wait. Multi-hour autonomous observation soak — the end-to-end validation the unit tests cannot give (the loop runs unattended over wall-clock time, so scheduler drift, registry write races, and extinction thrash are invisible to short runs):
Observe: lineages diverge on fingerprint; ≥1 extinction event fires (or is justified as not-needed under cap); baseline-fitness trends are sane; no orphan SC2 processes; EVO_AUTO commit hygiene holds (clean
[evo-auto]rows). Use a 2-hour check-in pattern (inspectdata/evolve_run_state.json+ recent commits + log tail) before letting the remainder run unattended.Existing context
/api/evolve/lineages(Step 5) to watch lineage divergence live.data/evolve_run_state.json(generations_promoted,parent_current) +data/evolve_results.jsonltail (per.claude/rules/evolve.md).Files to modify/create
documentation/soak-test-runs/evolution-lines-soak-<ts>.md(operator-authored soak record — not code)Done when
≥2 generations per lineage complete; the diversity matrix shows non-trivial separation; extinction logic exercised at least once OR documented as not-triggered-by-design under the cap; zero orphan processes; commit log shows clean
[evo-auto]rows. Soak record written. Evaluate against the umbrella kill criterion (lineages converging to identical fingerprints with no exploration gain → pause the phase).Depends on
Step 6 (#278) — smoke gate must pass first.
Parallel-safe with
none — strictly sequential: this is the terminal observation soak; the smoke gate (Step 6) must be green before committing wall-clock.
Produces
documentation/soak-test-runs/evolution-lines-soak-<ts>.md.Operator workflow notes (autonomous + UI-bundle + parallel)
Type: wait—/build-phasehalts intentionally so wall-clock waiting doesn't consume context. Resume in a fresh session after the soak.Synced from
documentation/plans/evolution-lines-plan.mdby /repo-sync at 154f7b0