Repository navigation
fix(pi): separate promotion validation phases - #941
Conversation
Run runtime-bearing contracts against the reviewed baseline before applying candidate support. Rebuild and validate prospective source afterward, without executing the pending candidate. Keep the broker close proof valid when the peer reports ECONNRESET while still requiring actual connection closure. CHANGELOG: Fix Pi promotion validation ordering and shutdown test resets. Ref: ADR-0035
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review. 📝 WalkthroughWalkthroughThe PI promotion workflow now runs baseline runtime checks before candidate application and prospective checks afterward. The inference broker shutdown test now covers both ordinary close and peer reset. ChangesPI promotion validation
Inference broker shutdown test
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to No merge-blocking issue is identified in the supplied changes. Merge remains subject to the required exact-head checks. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)✅ Passed checks (4 passed)Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 2 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What and why
Pi promotion applied support for candidate 1.1.0, then ran live contracts using the reviewed 1.0.2 runtime. Run 37876454844 failed on all three platforms because that runtime correctly refused the prospective policy.
The workflow now runs every existing runtime-bearing contract against the reviewed baseline before apply, then rebuilds and validates the proposed source. The broker shutdown fixture accepts ECONNRESET only when the peer actually closes; unexpected errors and a surviving connection still fail.
This repairs validation phase ordering and the broker reset fixture in the existing Pi promotion group, following #937 and #940. The pending candidate remains uninstalled and unexecuted under ADR-0035. Candidate dependency review and live qualification remain separate.
Validation
The Python coverage exemption is declared in
.codearbiter/tech-stack.md: “There is no coverage tooling for the Python hooks or build tools (core/pysrc/*.py,plugins/*/hooks/*.py,.github/scripts/*.py,tools/*.py).” The TypeScript change is test-only; no new numeric production coverage claim is made. Exact-head hosted checks passed before merge: 32 successful checks and 22 skips on9286ddbe1998a2ecef272ddc01ae2e9cf829ee31.Delivery scope
Three files, with no shipped payload change or version bump. Existing permissions, failure receipts, candidate admission and generated-PR staging are preserved.
Commit gate passed for
9286ddbe1998a2ecef272ddc01ae2e9cf829ee31, based onbafe761bac1881438c6deed781668eb8f853ed70. This PR merged by squash ascbb43911de59896db3502307f5d3104f526f3a19on 2026-10-09.Postmerge CI 37880413103 passed 50 jobs with 19 skips, including all six native targets and 18 cold-package cells. CodeQL 37880413504 passed all five jobs. Docs deployment was not selected. Automatic release 37883071932 succeeded as a no-op: all four targets were ineligible and nothing was published.
The third live promotion run 37880457662, from that exact merge, passed Linux and macOS validation. Windows failed the unchanged baseline package contract because the shared Git hook invoked
cutandtrunder deliberately restricted PATH; the draft-PR job was skipped. The bounded hook repair is open in PR942 at0343a03405abb267584dda6ac60bb44d71637eea, with CI pending at this update. The candidate remainsPENDING_REVIEW, uninstalled and unexecuted. Successful automated draft creation and installed-host qualification remain unverified.Summary by CodeRabbit