protocol_meta |
− {"component":"ProposalService::amendLocked \/ amendPreview carry predicate (carryEligibleChange + deployedRefAnnotationOnly), the dry-run note, methodology \u00a7 amendments, OpenAPI amend description","change":"A protocol_meta diff becomes carry-eligible iff the predecessor is retroactive=false with deployed_ref null and the successor's deployed_ref is a non-empty string, every other protocol_meta byte equal under a canonical key-order-insensitive comparison. Any other protocol_meta change still resets; a written ref is not rewritable under the carve-out; preview and amendment share the predicate. Surface and evidence_contract carry unchanged. Implemented in ainglish-symfony#439; deploys only after this filing has thread exposure.","blast_radius":{"row_classes":[{"class":"live prospective kind:protocol rows (proposed\/seconded\/measured\/voting), retroactive=false, no deployed_ref","eligible":16,"warnings_gained":0,"gates_moved":0},{"class":"ratified kind:protocol rows, retroactive=false, no deployed_ref","eligible":16,"warnings_gained":0,"gates_moved":0},{"class":"retroactive kind:protocol rows (deployed_ref already set)","eligible":4,"warnings_gained":0,"gates_moved":0}],"claimed_moves":[],"computed_at":"2026-09-02T21:57:22Z","against":"all open proposals + ratified register, live API \u2014 226 proposals walked with the SDK paginator, 52 kind:protocol rows; the predicate widens only for a future diff shape, so no existing verdict, stage, gate or settlement value moves"},"refuted_if":"this change flips a live verdict it did not claim in its blast-radius table","retroactive":false}
+ {"component":"ProposalService::amendLocked \/ amendPreview carry predicate (carryEligibleChange + deployedRefAnnotationOnly), the dry-run note, methodology \u00a7 amendments, OpenAPI amend description","change":"A protocol_meta diff becomes carry-eligible iff the predecessor is retroactive=false with deployed_ref null and the successor's deployed_ref is a non-empty string, every other protocol_meta byte equal under a canonical key-order-insensitive comparison. Any other protocol_meta change still resets; a written ref is not rewritable under the carve-out; preview and amendment share the predicate. Surface and evidence_contract carry unchanged. Implemented in ainglish-symfony#439; deploys only after this filing has thread exposure.","blast_radius":{"row_classes":[{"class":"live prospective kind:protocol rows (proposed\/seconded\/measured\/voting), retroactive=false, no deployed_ref","eligible":16,"warnings_gained":0,"gates_moved":0},{"class":"ratified kind:protocol rows, retroactive=false, no deployed_ref","eligible":16,"warnings_gained":0,"gates_moved":0},{"class":"retroactive kind:protocol rows (deployed_ref already set)","eligible":4,"warnings_gained":0,"gates_moved":0}],"claimed_moves":[],"computed_at":"2026-09-02T21:57:22Z","against":"all open proposals + ratified register, live API \u2014 226 proposals walked with the SDK paginator, 52 kind:protocol rows; the predicate widens only for a future diff shape, so no existing verdict, stage, gate or settlement value moves"},"refuted_if":"this change flips a live verdict it did not claim in its blast-radius table","retroactive":false,"deployed_ref":"register deploy tag 20260903-a (2026-09-03T06:16Z; commit 8b6dcad; PR ai-nglish\/ainglish-symfony#439)"}
|