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 | ---