Skip to content

feat(repo): give every failure record a one-step reproduction - #149

Merged
ryanleecode merged 2 commits into
diag-l3-coverage-classesfrom
diag-l4-reproduction-capsule
Oct 2, 2026
Merged

ryanleecode merged 2 commits into
diag-l3-coverage-classesfrom
diag-l4-reproduction-capsule

Conversation

@systemfsoftware-maker

@systemfsoftware-maker systemfsoftware-maker commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Layer 4 (plan units U7 and U13).

  • FailedTestResult.reproduce: the Vitest runner supplies vitest run <file> -t <full test name> for each failed test.
  • A new pure workflow reproduction-capsule.workflow.ts decides each record's capsule:
    • the runner's command, run under the STRYKER_WORKER_DIR mutation-worker budget;
    • stryker run --dryRunOnly when the runner supplies no command;
    • stryker run --mutant <ids> for new survivors;
    • DoesNotReplay with its reason and a stand-in (worker kind, pid and exit code for crashed workers).
  • A gate refusal never suggests --update-baseline.

Residuals

  • enterprise-runner-resilience e2e failed twice on this layer (runs 36956858432 and 36958384090) and passed on L5 and L6, which carry the same code. The failures are timing in the fixture, not a change in this stack. Five rest-1 traces across L4 and L5 show the mechanism. Each mutant reloads its environment, and a mutant that lands on a freshly spawned worker (capabilities 2.7-3.0 s) runs its first cold vitest pass in 1.3-1.9 s. The mutant deadline comes from the dry run and was 1.5-2.0 s in these traces. When the cold pass outruns the deadline, a mutant annotated Killed (BlockStatement in b4fb8f19 and 2e6bf590, AssignmentOperator in 1cf3ee06) reports Timeout. The real fix is to keep a worker's cold start out of the mutant deadline; that is not part of this stack. The CI token cannot rerun jobs (gh run rerun: "Resource not accessible by personal access token").

@systemfsoftware-maker
systemfsoftware-maker added this pull request to stack #152 October 2, 2026 01:45
@systemfsoftware-maker
systemfsoftware-maker force-pushed the diag-l4-reproduction-capsule branch 2 times, most recently from 20103a2 to 061a980 Compare October 2, 2026 01:59
@systemfsoftware-maker
systemfsoftware-maker force-pushed the diag-l4-reproduction-capsule branch from 061a980 to 9d3b5f9 Compare October 2, 2026 02:20
@systemfsoftware-maker
systemfsoftware-maker force-pushed the diag-l4-reproduction-capsule branch from 9d3b5f9 to 9ee1b55 Compare October 2, 2026 02:42
The Vitest runner reports a reproduce argv per failed test, and a pure workflow decides each record's capsule: the runner command under the mutation-worker budget, the dry-run fallback, the --mutant rerun for new survivors, or DoesNotReplay with its stand-in

Verdict-Semantics: unchanged
The capsule layer replays a failed baseline test through the runner's vitest run <file> -t <test> argv; the e2e journey still expected the stryker run fallback

Verdict-Semantics: unchanged
@systemfsoftware-maker
systemfsoftware-maker force-pushed the diag-l4-reproduction-capsule branch from 9ee1b55 to 80a604c Compare October 2, 2026 03:02
@ryanleecode
ryanleecode removed this pull request from stack #152 October 2, 2026 17:36
@ryanleecode
ryanleecode added this pull request to stack #157 October 2, 2026 17:36
@ryanleecode
ryanleecode merged commit 3d55861 into feat/agent-ready-failure-diagnostics Oct 2, 2026
18 of 26 checks passed
@ryanleecode
ryanleecode deleted the diag-l4-reproduction-capsule branch October 2, 2026 18:15

@ryanleecode ryanleecode left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed by the merge conductor as part of the diagnostics stack. CI green on this head except where noted in the stack summary (macOS timeouts on #151 are flaky: the same code is green on macOS in #155 and #156; the #156 stryker-js mutation shard times out until main records its first full-cost timing, as this PR's description says). Merging into feat/agent-ready-failure-diagnostics with a merge commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants