**Procedure:**
1. Identify the observable behavior to change and the existing contracts to preserve
2. When updating or deleting an existing test, record the reason based on observable contracts and the test-related criteria supplied by the task. There is no need to map every existing assertion
3. Choose the smallest inputs or states that distinguish the intended behavior from plausible near-miss implementations. Do not invent persistence, lifecycle, integration, or concurrency axes outside the contract
4. If relevant existing tests cannot distinguish the intended behavior from the selected near-miss, create the smallest test that directly observes the contract. Choose an integration test only when a real primary path crosses a unit boundary
5. Run the tests that can be executed in this test-first step. For failures, confirm whether unimplemented production behavior caused them, distinguishing that from defects in test setup, fixtures, or assertions. Record the post-implementation condition that the intended behavior must pass while the selected near-misses fail for the intended reason. Run mutation checks only after implementation through an existing isolated runner on a disposable copy, never in this step
6. Record the input or state and assertion that rejects each near-miss, any uncovered reason, and the execution result. Once the relevant existing or new tests have been run, carry uninspected existing tests forward to post-implementation verification without mapping them all
