feat(legal): add state-bound issue closure transaction - #455
Draft
zhengdaqi wants to merge 6 commits into
Draft
Conversation
added 6 commits
July 27, 2026 13:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
V24R13 resolved the Case 09 Core compaction blocker but exposed a Legal Coverage interface gap: the validator reported
issues/risk_signal_orphanedwithout an executable issue mutation contract. This stacked PR adds one bounded, state-bound issue proposal/apply transaction and keeps Core, Progress Lease, validator rules, model, corpus, runner, Router, Memory, and deadlines unchanged.The transaction targets only the first orphaned matrix risk signal, injects its complete bounded fact slice and allowed rules, validates a deterministic proposal, then updates
issues.jsonand the target matrixissueIdsas one logical transaction. Criticality is derived from the target facts and cannot be downgraded to avoid the unchanged authority requirement.Changes
issueClosurePlanandapplyIssueClosurewith path, byte, state-hash, prepared-slice, proposal-hash, stale/replay, scope, backlink, criticality, and symlink guards.issue-closure-applythrough the Legal Coverage CLI and dynamic milestone contract only after exact proposal validation.QA and Evidence
.omo/evidence/20260727-v24r14-issue-closure-transaction/focused-issue-closure.log.baseline(0,0) -> handoff_grace(0,1) -> completed(1,1), with two paired tool calls and zero recorder drops. Artifact:.omo/evidence/20260727-v24r14-issue-closure-transaction/real-gateway.log..omo/evidence/20260727-v24r14-issue-closure-transaction/cross-layer-focused.log..omo/evidence/20260727-v24r14-issue-closure-transaction/preserved-state-probe.json..omo/evidence/20260727-v24r14-issue-closure-transaction/full-test.log..omo/evidence/20260727-v24r14-issue-closure-transaction/QA.md.Risks and Residuals
The code gate is complete. This does not prove that the real model will finish the remaining Case 09 matrices, authority/coverage closure, substantive report, and completion proof within 2,100 seconds. This PR must remain draft and unmerged until a fresh immutable V24R14 Gateway/O1 campaign passes Gate 0, Gate 1, Case 05, and Case 09. V25 and the 85-case campaign remain unauthorized.
Stack
403f65edc6e8724fd05ec2dad240a52cb190d859