Repository navigation
Reduce repeated Tool execution and enforce CI budget - #222
Conversation
Complete MCP timing diagnosis — not CI acceptanceRan only the existing Diagnostic run 34481068588, attempt 1:
Both retain 73 Runner actions, 48 MCP calls, all 34 M atoms, one M withdrawal/reproduction, S natural revision/reproduction, both batch closes and Terminal Proof/Task completion. No unrelated tests ran; no repeat samples were used. Nonoverlapping wall-clock phases (approximate progress boundaries): initialization 23.52/22.75s; B1 240.10/252.32s; inter-batch checks 1.77/2.05s; B2 177.03/186.43s; Terminal and cleanup 21.11/21.80s. Parent/child inclusive timings are not added together. At 360s, 3.10 was completing revised S review; 3.14 was in revised rendering verification. Both still had evidence reproduction, publishing, merge/close and Terminal work remaining. The shared Runner/producer path is the main cost boundary. MCP request waiting accounts for the called production chain, not transport overhead alone. Removing even the entire measured M-review cost would still leave the 3.14 command above 360s before CI preparation. Next optimization must address common contract parsing/query, decision projection and repeated mechanical work within existing owners, without weakening separate producer admission, lock currentness, immutable history or resulting-state validation. Internal hotspot proportions are not inferred from these coarse RPC measurements. The one-off diagnostic controller was added on this same PR branch in |
|
Remote diagnosis and receipt-necessity review update:
Both batches, M withdrawal/replacement, S input changes/reproduction, stage handoff, Terminal Proof and Task completion were preserved. Counts remain 73 Runner actions and 48 MCP requests; lower outer invocation counts do not prove a sensible persisted-object granularity. Parent/child inclusive costs are not added together. The temporary diagnostic controller/job has been retired in Receipt production changes are paused pending the necessity review. The review distinguishes necessary independent facts/history from shared computation and duplicate durable wrappers. Main candidates are plan-bound raw evidence versus AuditReceipt, common context repeated per M atom, and repeated close attestation/global/aggregate payloads. Removing independent AuditReceipt, per-item publication, or global-review correction identities requires explicit review of Kernel evidence, transaction, and withdrawal guarantees; no such guarantee or production object was changed here. Diagnostic report types with no governance acceptance consumer are a separate retirement candidate, not a reason to remove useful error details. This PR remains a draft. Functional completion of these diagnostics does not meet the 360s requirement and does not authorize merging. |
Problem
Rapid fixes made the existing MCP lifecycle pay repeatedly for the same contract parsing, evidence interpretation and publication preparation. Some facts were also copied into a second complete receipt before their consumers would accept them. Tests and fixtures kept those obsolete layers alive. More shards could not shorten the long lifecycle method.
Closes #221
Changes and ownership
reviewscollection once to the original producer, sharing frozen material and preparation. Each independent fact retains its guarded append and exact readback; later refusal preserves the confirmed prefix. Retire scalar review flags, caller-supplied evidence references and the Runner's duplicate per-item dispatch loop. No new bulk capability, aggregate receipt or all-or-none transaction.No audit requirement, accepted quality threshold or Profile policy is relaxed. The approved Kernel changes concern evidence representation and acceptance placement, not a Tool-created governance exception. The user explicitly brought SML report section 7 into this existing branch before further micro-optimization; this is now included in the same lifecycle change.
Verification status
Protected run 34567059696 on
d27fd7dbf4dfb1a57ff1e959779f6a7b565f699bpassed all 24 required jobs. Both original full MCP scenarios naturally completed both batches, correction, revision and Terminal. Final required-workflow budget: 357 seconds through the last required job; GitHub final status update: 358 seconds from creation. The 360-second limit passes; the 300-second target is not met and margin remains small.Earlier run
34565846581on26af8936closed both batches on both Python versions, then failed at an overlooked Terminal projection rule that rejected one common N/A fact covering multiple obligations. Its 252.279 / 230.501 seconds are failed-scenario durations, not complete lifecycle timings. The Terminal projection now excludes covered N/A children from actually-executed dimension coverage, retaining the primary fact and unique real dimension evidence. Frozen-stage owners still reject unauthorized coverage; no new wrapper or weakened Proof contract is introduced. The preceding run34508730027passed functional checks but failed the whole-attempt budget.make checkpasses, including source-derived contracts, links, Profile structure, Card/Read Set stamps and catalog consistency.Performance acceptance
The completed pre-change diagnostic
34490686533on source6b7ce7c13710e2f9b14021188c87bb7d38046967took 440.65 seconds on Python 3.10 and 444.26 seconds on Python 3.14 for the scenario command. Both exceeded budget.The preceding source
604a5b0e237c7859bc2c5e9667088f1cb731dca7was tested by run34508730027(PR merge tree7a17a02da5373db373873c053fa1f2823f258393). Its original MCP scenario naturally completed successfully on both versions: test-cost report 353.91 / 374.81 seconds; GitHub test step 362 / 383 seconds; full MCP job 374 / 395 seconds. All other required test and contract jobs passed. The required gate correctly rejected the whole attempt at 423.09 seconds; final workflow elapsed was 424 seconds. No interrupted duration is presented as completion, and no nested scope durations are added together.The saved catalog-observation change
1b7cfec9, SML lifecycle consolidation26af8936and Terminal handoff correctiond27fd7dbare submitted together. The original Terminal owner test now covers shared N/A facts and rejects duplicate actually-executed evidence; 42 related owner tests and 8 Proof tests pass. All eight regenerated checkpoints andmake checkpass. The original GitHub MCP scenes will measure actual correctness and cost; no new local full replay, reduced scenario, unchanged retry or budget relaxation is used to obtain a pass.Final run
34567059696: scenario reports 254.759 / 273.501 seconds; full MCP jobs 273 / 294 seconds. Both use the same Ubuntu image, Python versions and dependency lists as the preceding complete run. Same-page review collection spans are 30.710 / 32.042 seconds (4 collections, including correction/revision), compared with 111.128 / 115.241 (5 collections). These spans contain nested MCP calls and are not added to them. The comparison combines saved observation reuse and SML consolidation, not an isolated receipt-count experiment. The Python 3.14 job's 37-second scheduling wait remains included in the workflow budget.Target 300 seconds, maximum 360 seconds for the whole required workflow attempt, including preparation and final gate. The independent 1,800-second safety bound permits diagnostic completion but does not turn an over-budget run into acceptance. This run passes the limit, not the target; no unchanged retry is used to select a better timing. Report natural completion, stage costs and whole-attempt time separately; do not add nested durations or extrapolate from receipt counts.