Add bounded partial-decomposition recovery capability for issue 2737#2
Open
eanz17 wants to merge 9 commits into
Open
Add bounded partial-decomposition recovery capability for issue 2737#2eanz17 wants to merge 9 commits into
eanz17 wants to merge 9 commits into
Conversation
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
Issue #2737 reached a partial decomposition state: the modern child issues exist, while the settled retain-modern transition still requires a fixed sequence of comments on the modern/legacy pairs and closure of only legacy issues #2772, #2773, and #2774 as
not_planned.This fork PR A (
dev<-fix/issue-2737-partial-decomposition-recovery, commit9f12a49) installs a reviewed, disposable code capability for that one incident. It does not contain occurrence data, does not run recovery, and performs no GitHub lifecycle effect.Authority boundary
The design deliberately requires two independent keys:
Neither PR A nor PR B authorizes a write by itself. Recovery admits only an empty, conflict-free canonical
IssueDecompositionApplyProjection, requires two equal complete bindings plus immediate fresh revalidation, performs at most one literal effect per invocation, and accepts an ambiguous transport only when a fresh complete read proves exactly the next public prefix. All drift or incomplete evidence fails closed without retry, compensation, or a later effect.The capability cannot represent changes to
ChronoAIProject/consensus-rnd, parent issue #2737, PR #2752, modern issue state, or any target/action outside the fixed nine effects.Scope
skills/consensus-loop/scripts/codex_refactor_loop/issue_decomposition.pyadds the generic immutable apply projection;controller_actions.pymakes ordinary codex-refactor-loop:增加大 issue 自动分解为可独立处理子 issue 的能力(共识门控) ChronoAIProject/consensus-rnd#403 execution consume that same projection and adds one private incident bridge.skills/consensus-loop/scripts/codex_refactor_loop/issue_2737_recovery.pycontains the closed parser, binder, live reader, prefix classifier, literal effect port, and private one-effect coordinator.skills/consensus-loop/scripts/test_issue_2737_recovery.py,test_issue_2737_cleanup_contract.py, andfixtures/issue_2737_pr_a_cleanup_contract.jsoncover the production boundary, response-loss behavior, and exact later subtraction.test_controller_actions.pyandtest_skill_reference_anchors.pyextend generic behavior and ownership guards.SKILL.mdandauthorizations/runtime-exceptions.mddocument the temporary fork-only boundary and mandatory cleanup without duplicating effect or occurrence authority.Operational non-goals are explicit: no public CLI, daemon or wakeup action, host flag, generic executor, receipt/ledger/ticket, durable permit, compatibility wrapper, rollback/compensation, alternate mutation route, or reusable incident framework is added. The future occurrence record is intentionally absent.
Verification
git diff --check, compileall, imports, and skill validation passed.The terminal reviewer gate is therefore architect approve + security approve + tests approve. The earlier cleanup-topology blocker was resolved by proving distinct reviewed heads and ordered two-parent PR merges, singleton PR-B contents, exact occurrence/live-PR binding, and cleanup subtraction from the admitted PR-B merge.
Follow-up
The required sequence after this capability PR is reviewed and merged is:
This PR completes only the first step: installation of reviewed code capability in
eanz17/consensus-rnd. It creates no PR-B data, executes no recovery, mutates no GitHub item, and makes no change to the upstream repository.⟦AI:AUTO-LOOP⟧