Skip to content

feat(legal): add state-bound issue closure transaction - #455

Draft
zhengdaqi wants to merge 6 commits into
codex/convergence-v24r13-capacity-aware-compactionfrom
codex/convergence-v24r14-issue-closure-transaction
Draft

feat(legal): add state-bound issue closure transaction#455
zhengdaqi wants to merge 6 commits into
codex/convergence-v24r13-capacity-aware-compactionfrom
codex/convergence-v24r14-issue-closure-transaction

Conversation

@zhengdaqi

@zhengdaqi zhengdaqi commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

V24R13 resolved the Case 09 Core compaction blocker but exposed a Legal Coverage interface gap: the validator reported issues/risk_signal_orphaned without 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.json and the target matrix issueIds as one logical transaction. Criticality is derived from the target facts and cannot be downgraded to avoid the unchanged authority requirement.

Changes

  • Add issueClosurePlan and applyIssueClosure with path, byte, state-hash, prepared-slice, proposal-hash, stale/replay, scope, backlink, criticality, and symlink guards.
  • Expose issue-closure-apply through the Legal Coverage CLI and dynamic milestone contract only after exact proposal validation.
  • Add bounded handoff/convergence projection and PostCompact-compatible dynamic context without treating proposal revisions as semantic progress.
  • Teach the legal due-diligence Skill to use the injected transaction instead of editing canonical ledgers.
  • Add sanitized transaction, real local Gateway/O1, preserved-state, and regression coverage.

QA and Evidence

  • Issue transaction controls: 2 passed, 0 failed. Artifact: .omo/evidence/20260727-v24r14-issue-closure-transaction/focused-issue-closure.log.
  • Real Gateway/O1 flow: issue and authority comparison 2 passed, 0 failed; issue trajectory was 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.
  • Cross-layer controls: Progress Lease, dynamic context, compaction, Gateway handoff/deadline, and O1 46 passed, 0 failed. Artifact: .omo/evidence/20260727-v24r14-issue-closure-transaction/cross-layer-focused.log.
  • Preserved V24R13 state: the copied Case 09 failure projected one 5-fact issue transaction, preserved 4 critical facts, exposed no premature apply command, and changed neither frozen nor copied canonical ledgers. Artifact: .omo/evidence/20260727-v24r14-issue-closure-transaction/preserved-state-probe.json.
  • Full repository: clean build and 316 passed, 0 failed. Artifact: .omo/evidence/20260727-v24r14-issue-closure-transaction/full-test.log.
  • Reviewer summary: .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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant