Skip to content

DEV: Write our own mutant skill#64

Merged
gschlager merged 1 commit into
mainfrom
rewrite-mutant-skill
Jul 9, 2026
Merged

DEV: Write our own mutant skill#64
gschlager merged 1 commit into
mainfrom
rewrite-mutant-skill

Conversation

@gschlager

@gschlager gschlager commented Jul 9, 2026

Copy link
Copy Markdown
Member

Replaces the vendored copy of upstream's SKILL.md with a playbook written for this project. It keeps the factual mechanics and folds in what a generic document can't know: our wrapper and mutant.yml conventions, the describe-name test-selection gotcha, byte-boundary probe specs, identity assertions for allocation-equivalents, the accepted-timeouts convention, fast-path ignore etiquette, and the Integer() octal trap. Upstream's playbook stays linked at the bottom as reference reading.

AGENTS.md's mutation-testing section shrinks to a pointer at the skill — one canonical home per rule — except the MarkdownEscaper benchmark rule, which moves to the always-loaded Performance Notes because escaper edits happen outside mutation work too.

Also retires the Ruby PRISM bug (#22002) from the mutation rationale: it's closed upstream and no longer reproduces on Ruby 4.0.5 (what the mutation job runs), and the code-level workarounds left the repo long ago. The accepted-timeouts policy stays for its real reasons — loop guards cost measurable time on hot loops and add mutation surface of their own.

@gschlager gschlager force-pushed the rewrite-mutant-skill branch 4 times, most recently from 2995fa9 to 3373950 Compare July 9, 2026 20:17
@gschlager gschlager marked this pull request as ready for review July 9, 2026 20:23
Replaces the vendored copy of upstream's SKILL.md with a playbook
written for this project. It carries the markbridge-specific
conventions and the recipes from the coverage push and the perf
campaign: byte-boundary probe specs, identity assertions for
allocation-equivalents, walk-depth requirements, the describe-name
test-selection gotcha, fast-path ignore etiquette, the
accepted-timeouts convention, and the Integer()-octal simplification
trap. Upstream's playbook stays linked as reference reading.

AGENTS.md's mutation-testing section shrinks to a pointer at the
skill — one canonical home per rule — except the MarkdownEscaper
benchmark rule, which moves to the always-loaded Performance Notes
because escaper edits happen outside mutation work too.

Also retires the Ruby PRISM bug (#22002) from the mutation rationale:
it is closed upstream and no longer reproduces on the Ruby the
mutation job runs (4.0.5), and the code-level workarounds left the
repo long ago. The accepted-timeouts policy stands on its own merits —
loop-progress guards cost measurable time on hot loops and add
mutation surface of their own.
@gschlager gschlager force-pushed the rewrite-mutant-skill branch from 8e2fb2e to d3230b8 Compare July 9, 2026 20:25
@gschlager gschlager merged commit 47284b2 into main Jul 9, 2026
7 checks passed
@gschlager gschlager changed the title DEV: Replace the vendored mutant skill with our own playbook DEV: Write our own mutant skill Jul 9, 2026
@gschlager gschlager deleted the rewrite-mutant-skill branch July 9, 2026 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant