Skip to content

[needs:evolver] genesis e2e is happy-path/single-goal/often-local - add a failure-injecting + multi-task + GHA-path resilience e2e #33

Description

@the-gigi

The gap

The current genesis e2e (scripts/manual_e2e.py + the genesis-e2e skill) is a happy-path smoke test: one trivial goal (a tic-tac-toe + GitHub Pages page), run manually, often in local serve mode, asserting only that a working page ships (Pages returns 200, Playwright wins a game).

It structurally cannot catch the resilience failures real projects hit, because those are emergent from the GHA autonomous path + scale (many sequential tasks) + real failures + timing, none of which a single happy-path run reaches:

  • concurrency races between orchestrator runs
  • silent error_max_turns death with no escalation
  • self-advance stalls (a merged PR that never triggers the next task)
  • auto-merge starvation (auto-merge keyed on the wrong set of checks)

Evidence

MaKlaude surfaced every one of these as a real, downstream failure and had to fix them locally:

Genesis preaches quality gates and e2e testing, but its own e2e missed its own resilience bugs. MaKlaude effectively became genesis's first hard, failure-prone e2e.

Proposal

Add a failure-injecting + multi-task + GHA-path resilience e2e: bootstrap a goal that fans out to several sequential tasks, run it on the GitHub Actions autonomous path (not local serve), inject real failures (a red required check, a max-turns death, a flaky step), and assert the system races-safely, escalates on death, self-advances, and merges only on the full gating set.

Ties to the design doc's "harness components should be stress-tested as models improve" and to the Kaos Monkey / chaos-engineering direction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs:evolverFramework-level improvement for genesis's own evolver to evaluate

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions