Repository navigation
Fix MCP Runner invocation and close-chain settlement - #218
Merged
Merged
Conversation
KimGLee
marked this pull request as ready for review
September 9, 2026 06:00
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.
Owner Issue
Closes #217
Change
Restore the complete MCP → Runner → Tool → evidence/publication → authoritative read-back chain without adding governance rules.
inherited_recordsrather than keeping an alias.run_taskactions through close. Keep its existing Terminal Proof scenario; remove redundant correction replay and unused E2E branches.No Kernel, Profile, Card, Read Set, CI policy or actual adopter runtime changes. No compatibility chain, new persisted Receipt format or automatic retry/recovery protocol.
Verification
make checkandgit diff --check: passed.closed, then the existing real MCP Terminal Proof chain completed the Task. All 68 batch actions usedrun_task; the scenario made 81 real MCP calls, including 71 Runner calls and one semantic withdrawal. No direct-leaf batch bypass.next_actionobjects and changed no files. Full capability validations fell from 112 to 32 and producer registrations from 170 to 18; profiled time was 1.913 / 1.138 seconds. These compare modes of the new implementation, not an end-to-end CI speedup claim.Test ownership remains 134 files and three E2E scenarios (1,290 → 1,298 cases). All new cases live in existing owner files; the former single-snapshot test was subsumed and removed. No local
fullor repeated cache-state full suite was run. Required CI retains its existing fail-closed impact selection.CI follow-up
The first CI run detected stale generated checkpoint dependencies following the last shared-schema source change. Runtime validity alone did not establish that pre-merge evidence remained current; a hash-only refresh was rejected by the actual Queue consumer tests and was not retained. All eight checkpoint bundles were regenerated through their existing scenario owners against the frozen final source and replaced completely, including retired generated paths, followed by the bounded consumer verification above. No validator, acceptance predicate or test assertion was relaxed.
The Tool guide was shortened to satisfy its existing navigation-size budget, not by relaxing the budget test. Its 11 owner tests passed in 0.400 seconds; all eight checkpoint dependency hashes remained unchanged.
The first Py3.14 real Runner E2E passed in 657.456 seconds. Its Py3.10 counterpart reached the existing 15-minute job limit without a completion result; this is not reported as a pass.
Earlier protected CI, at
21bd88884dc1c19d3f2d6f39d311e01a203d6486, passed 21 jobs but reached the existing 15-minute limit in the real Runner E2E on both Python versions. Those cancelled runs are not counted as passes. The subsequent bounded diagnosis identified repeated registry validation and producer-chain reconstruction inside a single decision, leading to the owner-scoped consolidation above. All eight checkpoint bundles were regenerated again after source freeze and validated by actual adjacent consumers. Publication still requires the new head's protected CI; no previous/local result substitutes for it.The next CI exposed one missed test-only consumer of the retired
document=argument. AST inspection covered all 27 related call sites and found that single residue in the existing action-entrypoint closure test. It now usesCapabilityLookup, removes its private ID map, and retains all route/entrypoint/consumer assertions. The existing file's 14 cases pass; the remaining 26 query calls have no retired argument. No production source, fixture, acceptance contract or E2E changed in this correction, and no additional local lifecycle replay was run.Final protected result
CI 34334517116 passed all 24 jobs at head
6f0ad6d4b289aa718251a21e2f7686b4776675bd;ci-requiredsucceeded. Both Python 3.10.21 and 3.14.7 passed all 1,298 tests across 134 files, with no duplicate methods/files between shards in either matrix. The unchanged real MCP E2E retained 81 calls and 68 Runner actions in both versions. Its module time was 840.096 seconds on Python 3.10 and 574.490 seconds on Python 3.14; total job time was 14m19s / 9m50s, within the unchanged 15-minute limit. Python 3.10 still has limited budget margin; this is not a claim that all performance cost has disappeared.Merged normally as
150f3d985a88e295e09777756636d4edea460b73, closing #217. No protection bypass, timeout increase or selection reduction was used.