Skip to content

Phase EL Step 7: Multi-hour observation soak #279

Description

@aberson

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions