Skip to content

Add mutation-testing-rollout skill#73

Draft
leynos wants to merge 2 commits into
mainfrom
skills/mutation-testing-rollout
Draft

Add mutation-testing-rollout skill#73
leynos wants to merge 2 commits into
mainfrom
skills/mutation-testing-rollout

Conversation

@leynos

@leynos leynos commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Summary

This branch adds a new skill, skills/mutation-testing-rollout/, capturing the
process used to roll scheduled, informational mutation testing out across the
github.com/leynos/* estate and to operate it afterwards. It covers the
architecture (thin per-repository callers of the shared
mutation-cargo.yml/mutation-mutmut.yml reusable workflows, SHA-pinned and
Dependabot-owned), the per-repository adoption recipe with the baseline
hazards found in practice (nextest isolation, doctest blind spots, the mutmut
sandbox, workflow-source tree pollution, stateful test dependencies), the
contract-test conventions (shape-only SHA assertions), the survivor-triage
discipline (issues per area, killing tests over skips, dead-code deletion,
kill-site traceability), run-sweep operation, and the estate lessons
(unpinned-linter drift, stale local checkouts, companion-crate false
survivors).

install-skills copies every directory under skills/ automatically, so no
registration is needed.

Review walkthrough

Validation

  • markdownlint (repository script) on the new file: 0 errors
  • typos --config typos.toml on the new file: clean (en-GB Oxford -ize)

Notes

The content distils the rollout tracked in the estate's mutation-testing
rollout plan; it is written to be applied to any comparable estate, not only
the current one.

Distil the estate-wide mutation-testing programme into a reusable
skill: per-repository adoption of the shared `mutation-cargo`/
`mutation-mutmut` callers, baseline verification under the mutation
runner's conditions (nextest isolation, doctest blind spots, the
mutmut sandbox), contract-test conventions (shape-only SHA pinning),
survivor triage discipline, run sweeps, and the hard-won estate
lessons (unpinned-linter drift, stale checkouts, false survivors
from companion crates).

`install-skills` picks the new directory up automatically; no
registration is required.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Sorry @leynos, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: c9301aa8-f370-447a-9ecc-f93cb712970f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch skills/mutation-testing-rollout

Comment @coderabbitai help to get the list of available commands.

The first estate sweep disproved wall-clock duration as a triage
signal (runner-queue wait inflates 15-second no-ops to an hour) and
surfaced two silent-suppression traps and the change-detection gate's
coverage suppression. Key sweeps on `mutation_detect_has_changes` and
the mutants job conclusion instead, verify suppressions by scoped
re-run, and dispatch a full run after merging a baseline fix rather
than waiting for the schedule.
@leynos
leynos force-pushed the skills/mutation-testing-rollout branch from 907affe to cadf0a8 Compare July 20, 2026 14:42
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