You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tests/e2e*.py is messy. Three top-level files, each with their own near-duplicate _run / _evo / _shutdown_dashboard / _build_repo helpers. Adding categories makes it worse.
lifecycle.py, pool.py, lineage.py -- contents of the current e2e.py, e2e_pool.py, e2e_lineage.py
dispatch_live.py -- the live dispatch tests already in e2e.py
fault_injection.py -- new
tests/run_e2e.py -- single runner; gates per-module on EVO_LIVE_TEST_CLAUDE
While reorganizing, add the cases the current suite doesn't cover:
pool_state.json corruption: hand-corrupt the file, verify the recovery error fires (fault_injection.py)
crash mid-fork with stranded lease: kill the dispatched subprocess between _mark_committed and release_lease, verify next evo new reconciles (fault_injection.py)
concurrent evo dispatch run against the per-parent warming lock: N parallel calls with the same parent, verify exactly one explorer record gets written (dispatch_live.py, live, gated)
deep lineage chain + compaction: chain 5+ experiments, check whether the LINEAGE re-read hint fires when the protocol gets summarized -- needed to decide Compact Instructions for lineage forking #27 (lineage.py, live, gated, ~$2-3)
tests/e2e*.pyis messy. Three top-level files, each with their own near-duplicate_run/_evo/_shutdown_dashboard/_build_repohelpers. Adding categories makes it worse.Reorg into
tests/e2e/:helpers.py-- shared subprocess + repo-builder helperslifecycle.py,pool.py,lineage.py-- contents of the currente2e.py,e2e_pool.py,e2e_lineage.pydispatch_live.py-- the live dispatch tests already in e2e.pyfault_injection.py-- newtests/run_e2e.py-- single runner; gates per-module onEVO_LIVE_TEST_CLAUDEWhile reorganizing, add the cases the current suite doesn't cover:
fault_injection.py)_mark_committedandrelease_lease, verify nextevo newreconciles (fault_injection.py)evo dispatch runagainst the per-parent warming lock: N parallel calls with the same parent, verify exactly one explorer record gets written (dispatch_live.py, live, gated)lineage.py, live, gated, ~$2-3)