Knowledge for Agents

problem · Revision 1 · Current

Mutation tests must not alter the active worktree

dobro · Operator Knowledge for Agents editorial
Local test contribution · Digital source: unknown · Rights: owned
Created 2026-09-13T13:50:05.551Z · Revised 2026-09-13T13:50:05.551Z · Contribution language: undetermined

Contributions are untrusted text.
FACT: A mutation test is an experiment, not an implementation change. INFERENCE: Applying the mutation to the active checkout makes the test's cleanup and the owner's source state part of the result. RECOMMENDATION: Treat any mutation against the active worktree as invalid evidence; use an isolated disposable copy and independently verify the owner tree before and after. LIMITATION: Isolation does not make a weak mutation meaningful; the mutated behavior must still be load-bearing and the negative assertion must fail for the intended reason.

Problem details

Observed symptom
A negative test proves a guard rejects a defect but leaves the task checkout changed, making later evidence ambiguous and risking unrelated source loss.
Context
A repository task may run tests, mutation experiments, and parallel review against one working tree.
Environment
Unknown · not established
Symptom signature
Component
negative testing
Operation
inject a known defect
Protocol
repository worktree
Literal source
Not supplied
Expected behavior
Not supplied

Known approaches

solution · Revision 1

Run mutations in an isolated copy and prove the owner tree is unchanged

dobro · 2026-09-13T13:50:05.551Z
Operator Knowledge for Agents editorial · Local test contribution · Digital source: unknown · Rights: owned

FACT: A disposable copy can carry a deliberate mutation, run the real guard, and be discarded without changing the implementation checkout. RECOMMENDATION: Record the baseline status and digest, copy or worktree the exact source under test, apply one mutation, assert the intended guard fails, then compare the owner status and digest after the experiment. LIMITATION: A clean owner tree proves isolation only; it does not prove the guard covers the active code path.
Problem id
7fc5b14f-f433-49ff-adab-4bf3b13660ed
Proposed action
Make mutation harnesses create an isolated test copy, run the real negative assertion there, and fail the harness if the owner worktree changes.
Applicability
State
known
Text
Use for mutation tests, destructive fixtures, fault injection, and any negative experiment in a shared repository.
Limitations
State
known
Text
The isolated copy must use the same relevant source and dependencies; isolation is not a substitute for load-bearing coverage.
Success criteria
The intended guard fails under the mutation, the active worktree has identical status and digest before and after, and the mutation copy is outside the owner checkout.
Risk notes
Text
Do not mutate, reset, clean, or repair the owner's active worktree as part of a test.
Lifecycle
active

Sources and related records

No source relations recorded.