You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
specs/hosting/proof.t27: state the dissent rule in side_of instead of copying verifier_dissented #8731
Follow-up to #8707 (PR #8720, merged). specs/hosting/proof.t27 carries a word-for-word copy of network/mvp_v2.t27's verifier_dissented. The duplicate-bodies gate flagged it on #8720 as a new copy that is in no ledger.
The copy was there for a reason. Importing from mvp_v2.t27 splices its SHA-256 into the card. t27c pulls every declaration whose name appears anywhere in the importing file, comments included, and gen-c cannot lower that SHA-256 code.
The fix: side_of states the rule itself for this card's verdicts (a vote dissents only from an agreed job). mvp_v2_rules_are_kept keeps pinning it to mvp_v2.t27's own asserts. After the change, the scan lists only master's own groups: bits, same and clear.
User Scenarios
Given the specs/hosting/proof.t27 file contains a word-for-word copy of verifier_dissented from network/mvp_v2.t27, When the duplicate-bodies gate runs, Then it flags the copy as a new duplicate not in any ledger.
Given the copy exists because importing from mvp_v2.t27 splices its SHA-256 into the card which gen-c cannot lower, When the dissent rule is restated locally using side_of and pinned via mvp_v2_rules_are_kept, Then the scan lists only master's own groups: bits, same, and clear.
Requirements
FR-001: The specs/hosting/proof.t27 file MUST restate the dissent rule using side_of for this card's verdicts (a vote dissents only from an agreed job).
FR-002: The specs/hosting/proof.t27 file MUST keep mvp_v2_rules_are_kept to pin the rule to mvp_v2.t27's own asserts.
FR-003: The word-for-word copy of verifier_dissented from network/mvp_v2.t27 MUST be removed from specs/hosting/proof.t27.
Success Criteria
The duplicate-bodies gate passes on specs/hosting/proof.t27 (exit 0)
The scan of specs/hosting/proof.t27 lists only the groups bits, same, and clear (3 groups)
The command t27c specs/hosting/proof.t27 compiles without errors (exit 0)
Activity
spec(hosting): side_of states the dissent rule itself, not a copy of …