Skip to content

Mutation quality gates, real report adapters and budgeted autonomous repair - #20

Merged
raiseCatError merged 33 commits into
mainfrom
feature/mutation-autonomy-v1-20261017
Oct 17, 2026
Merged

raiseCatError merged 33 commits into
mainfrom
feature/mutation-autonomy-v1-20261017

Conversation

@raiseCatError

@raiseCatError raiseCatError commented Oct 17, 2026 •

Copy link
Copy Markdown
Owner

Product direction

Audit the repo, not the summary. Mutation quality + bounded autonomous repair are strictly opt-in extensions to the read-only freview auditor. Stacked draft PR #20 on draft #19; parent drafts #18, #17 and #16 remain unmerged. No automatic merge, push, tag or release.

Implemented (stdlib-only)

  • Mutation quality: bounded Stryker mutation-testing-elements JSON and mutmut CI-stat reports, detected vs undetected mutants, incomplete/pending/no-valid classification, survivor hints, score threshold and minimum valid-mutant gate.
  • Trustworthy execution: an exit-zero mutation command alone is inconclusive. The report must be newly generated by the current isolated verifier; stale committed reports, symlinks, oversized, malformed and interrupted reports cannot pass. Standalone run and pipeline follow the same rule.
  • Real mutmut format: upstream mutmut's total may include classifications not exported by its CI JSON. The unclassified difference is surfaced as incomplete, never guessed. Score threshold uses unrounded counts.
  • Integration: optional mutmut_driver.py executes an already-installed mutmut run then CI-stats export without a shell or installation. Stryker needs a separately installed engine and its JSON reporter. Fake fixture tests only; no real mutator invoked.
  • Autonomy: configurable global max subprocess stages (default 12/max 32), max 3 review cycles, stop-on-no-progress (default true), repeated-finding stop, and optional mutation-quality shipping requirement. Shipping still only prepares human handoff.
  • Recovery: atomic scratch checkpoints now include mutation quality, evidence-freshness and exact verifier identity; no automatic resume or signed attestation.
  • Defaults: every operation module remains OFF unless explicitly enabled; quality mode is advisory, min score 60, minimum 1 valid mutant, maximum 12 survivor hints, require_mutation_for_shipping=false. All policy fields strictly validated.
  • Updated the portable two-OS CI, skill layout assertions, default config JSON, SKILL, README and operations manual; no code copied from third-party tools.

TDD / verification

Docs / recovery

Remaining human gates

  • Native mutmut and Stryker real-project mutation runs; interpret survivor usefulness
  • Real Claude/Codex/OpenCode autonomy review, account and permissions; physical external scratch / Mac tests
  • Human review of stacked PRs; decide whether actual authenticated shipping integration is warranted
  • Explicit owner authorization to merge/release; no automatic publication or mutation of main

Passing fake Git fixtures does not prove a reviewer independently read source, a mutation score is correct on production code, an OS sandbox exists, or a production release is safe.

@raiseCatError raiseCatError changed the title Mutation report quality gates and bounded autonomous repair budgets Mutation quality gates, real report adapters and budgeted autonomous repair Oct 17, 2026
@raiseCatError
raiseCatError changed the base branch from feature/ops-quality-isolation-20261017 to main October 17, 2026 08:56
@raiseCatError
raiseCatError marked this pull request as ready for review October 17, 2026 08:57
@raiseCatError
raiseCatError merged commit 410dffb into main Oct 17, 2026
2 checks passed
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.

1 participant