From 25c473314bae2473ac832ed7eff293881d5ede24 Mon Sep 17 00:00:00 2001 From: Levi Neuwirth Date: Wed, 29 Jul 2026 10:18:57 -0400 Subject: [PATCH] Sign t9 with a mutation that actually kills it t9 attributed its mutation to t2 in both the contract row and the test comment. The sweep disproved that attribution: t9 stayed green under t2's schema_major change, because the from-empty spine reaches a note whatever the block stamps. A mutation borrowed from another test signs nothing unless it is observed to kill this one. Signed with the dispatch-arm bypass instead: OperationKind::SetTuningContext(_) => OperationEffect::Applied which skips tuning reduction without making the match non-exhaustive - so the mutation isolates the reduction rather than being absorbed by a compile error. Observed exactly as predicted: the spine operations stayed applied, the note stayed reachable, and the test failed on the authored tuning-context assertion, with the seeded default 440.0 surviving in place of the authored 441.0. Reversed by editing back; baseline green. Both attribution sites now name that mutation and record why the previous one was wrong, since a wrong mutation attribution is worse than a missing one: it reads as signed. Gate: 1410 tests, clippy 0, fmt clean, git diff --check clean. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01QjsEnYhm1gPpf6ii2iFxFV --- crates/epiphany-ops/src/reduce.rs | 17 ++++++++++++++--- spec/CONTRACT_GENESIS_G2B_TUNING.md | 2 +- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/crates/epiphany-ops/src/reduce.rs b/crates/epiphany-ops/src/reduce.rs index 9213111..bc63db5 100644 --- a/crates/epiphany-ops/src/reduce.rs +++ b/crates/epiphany-ops/src/reduce.rs @@ -13129,9 +13129,20 @@ mod tests { /// (t9) Regression guard: the from-empty spine still reaches a note, now /// with a `SetTuningContext` authored alongside it — genesis tranche G2b - /// does not disturb the spine G1 established. Mutation is t2's (the - /// `schema_major` arm), which this test does not re-verify on its own; - /// its job is to prove the spine and the new op coexist cleanly. + /// does not disturb the spine G1 established. + /// + /// **Mutation:** replace this kind's dispatch arm with + /// `OperationKind::SetTuningContext(_) => OperationEffect::Applied`, which + /// bypasses tuning reduction without making the match non-exhaustive. The + /// spine ops stay applied and the note stays reachable; the *authored + /// tuning-context* assertions fail (the seeded default survives instead of + /// the authored value). + /// + /// This comment previously claimed the mutation was t2's (the + /// `schema_major` arm). The sweep disproved that: t9 stayed **green** + /// under it, because the spine reaches a note whatever the block stamps. + /// A mutation borrowed from another test signs nothing unless it is + /// observed to kill *this* one. #[test] fn from_empty_spine_reaches_a_note_with_a_tuning_context_authored() { let spine = genesis_spine_envelopes(); diff --git a/spec/CONTRACT_GENESIS_G2B_TUNING.md b/spec/CONTRACT_GENESIS_G2B_TUNING.md index fab1c76..b5f8bd3 100644 --- a/spec/CONTRACT_GENESIS_G2B_TUNING.md +++ b/spec/CONTRACT_GENESIS_G2B_TUNING.md @@ -334,7 +334,7 @@ plan. | t6 | Undo restores the previous five-field value | Restore the default instead of the predecessor; must fail | | t7 | Undo of the **first** authoring restores the **seeded base** settings, and does so identically whether the seed was the default or a non-default value — with `accidental_extensions` untouched throughout | Skip `seed()` on the tuning chain during base ingest, so the first undo yields `NotWritten` instead of `Restore(Base)`; must fail. **Assert the two cases are indistinguishable**, not that they differ | | t8 | Kind 34 carries **epoch 10** and a block containing it stamps minor 10 | Assign epoch 9; must fail | -| t9 | The from-empty spine still reaches a note, now with a tuning context authored | — regression guard; mutation is t2's | +| t9 | The from-empty spine still reaches a note, now with a tuning context authored | Replace the dispatch arm with `OperationKind::SetTuningContext(_) => OperationEffect::Applied` (`reduce.rs`), bypassing tuning reduction while keeping the match exhaustive; must fail on the **authored tuning-context** assertions while the spine ops stay applied and the note stays reachable. **Corrected 2026-07-29:** this row previously said "mutation is t2's", which the sweep disproved — t9 stayed green under t2's `schema_major` change, because the spine reaches a note regardless of stamping. A shared mutation that does not kill the test signs nothing | | t10 | The accept-set prose no longer claims no payload embeds the tuning context | Grep-assert the stale sentence is absent; restore it to see the test fail | ---