Repository navigation
ci(repo): dry-run the main mutation lane once and keep its evidence - #155
Merged
Merged
Conversation
A preflight job dry-runs every planned package and publishes the coverage that shards reuse through incrementalSources. A dry-run-only run now writes that coverage to its incremental file, keeping any verdicts there, and the run-inputs digest no longer covers dryRunOnly. Each job exports its traces, a failed shard's parts are kept 30 days, the report job uploads one merged SARIF run and publishes main's survivor baseline Verdict-Semantics: unchanged
systemfsoftware-maker
added this pull request to stack #152
October 2, 2026 03:52
ryanleecode
removed this pull request from stack #152
October 2, 2026 17:36
ryanleecode
added this pull request to stack #157
October 2, 2026 17:36
ryanleecode
merged commit Oct 2, 2026
eafe8f3
into
feat/agent-ready-failure-diagnostics
16 of 17 checks passed
This was referenced Oct 2, 2026
ryanleecode
approved these changes
Oct 2, 2026
ryanleecode
left a comment
Contributor
There was a problem hiding this comment.
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.
This was referenced Oct 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Layer 7 of the agent-ready failure diagnostics stack (
docs/plans/2026-10-01-2306-feat-agent-ready-failure-diagnostics-plan.md, unit U17; R9, R10, R13, R14, R27, R28).What changes
reports/stryker-incremental-*.jsonincrementalSourcesglob.--dryRunOnlyand incremental mode on, a run now writes its dry-run coverage into its incremental file and keeps any verdicts already there.dryRunOnlyleaves the run-inputs digest, so a preflight and the shards that reuse it compute the same digest. Existing caches are refused once withrunInputsChanged.export-traces.tsthe way the e2e lane does, and uploads them for 30 days.failure.json, SARIF) are kept 30 days. The report job deletes them only when every shard succeeded.sarifreporter. The report job folds every package's SARIF into one run with repository-relative paths and re-indexed rules, then uploads it under the single categorymutation. Several runs of one tool in one category are refused by code scanning, and per-shard categories would leave stale alerts open whenever the plan reshards.mainrunsstryker gate --update-baselineon the merged report and publishesmutation-survivor-baseline.Evidence
stryker-js-typescript-checkerwith the workspace CLI, a preflight followed by shards 1/2 and 2/2 logged "Reusing the persisted dry-run coverage" in both shards. The shards' 498 verdicts match a cold run exactly.incremental-reuse.integration.test.tsgains two scenarios.run → combine → merge-reports → sarif → gate --update-baseline → gateran locally on the published 15.0.0 CLI. Gating against a baseline missing one survivor exits 1.pnpm check:cipasses and actionlint is clean.Residuals
stryker annotatestep is not added. Merged report paths are<package-slug>/<file>and per-package paths are package-relative, so the annotations would land on the wrong files until annotate can take a repository root.check (macos-latest)(run 36962074334) failed before any repository code ran: nix could not fetchdprint-aarch64-apple-darwin.zip0.54.0 from github.com releases (HTTP 500 on all four attempts). The same job passed on ci(repo): run the mutation lane on pull requests and gate new survivors #156, which contains this layer. The CI token cannot rerun jobs.