mirror of
https://github.com/block/buzz.git
synced 2026-10-27 12:40:30 +00:00
The R6 fix let FI-CONF-INTEROP-EXIT be recorded as deferred while no independent second implementation exists, but four unchanged rules still demanded evidence only the two-party run can produce: the per-oracle mutant with failing output (Mutation adequacy), the release-gate mutant clause, the FI-CONF-MUTATION row's universal quantifier, and the deny-everything global control that must observe every positive oracle fail. The exact condition permitting deferral made all four obligations impossible to discharge, so the release gate stayed unsatisfiable with one implementation -- the same defect class R6 was fixing, one layer down. The repair is one centralized rule in Mutation adequacy: while FI-CONF-INTEROP-EXIT is validly deferred it remains in claim completeness but is excluded from that section's mutation and global-control obligations, which attach with the run and must be discharged before either implementation's interoperable conformance claim is accepted. The release gate and the FI-CONF-MUTATION row point at that rule rather than restating it, and FI-CONF-CLAIM-COMPLETE rejects mutant-evidence omission for any other oracle, so misuse of the exemption is itself oracle-detected. The claim tuple's exit-fixture-digest element also carried an obligation no single implementation could meet: CONF said the canonical fixture "is published" at docs/nips/fixtures/nip-fi-conf-exit.json, but the file does not exist yet and every claim must record its digest. The fixture sentence becomes a publication requirement bound to the first run, and while the file is unpublished a claim records the reserved value pending-canonical-fixture, valid only alongside a deferred exit result; publication changes the tuple element and therefore creates a new claim. Verified by exhaustive enumeration of the gate over second-implementation presence, exit status, exit mutant evidence, control observation, ordinary-oracle gaps, smuggled deferrals, and fixture-digest state (128 states): the prior text accepts no one-implementation claim; the three-site repair without the global-control shape still accepts none; this text accepts exactly the two intended deferred-claim shapes and rejects all six modeled abuse states. Positive control: an over-broad exemption that waives ordinary mutants under deferral is accepted by a deliberately broken gate and rejected by this one. With a second implementation present, deferral is invalid and every obligation is restored. Oracle census unchanged at 58. Co-authored-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@buzz.block.builderlab.xyz> Signed-off-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@buzz.block.builderlab.xyz>