Close the dormant holes from the post-merge review - #112
Conversation
Three fixes, each pinned by a new test: - Credential guard now holds at the loader's source: the test suite sets GM_BENCH_DISABLE_ENV_FILES, which load_environment_files honours directly, instead of patching one importer's reference. This covers subprocess-driven CLI tests (the child inherits the variable) and the route-evidence collector's own load call, neither of which the old in-process patch reached. - _enforce_operator_ceiling fails closed when the protocol file is corrupt or missing. An unreadable protocol may hide a committed cap, so it now raises like every other malformed input to the gate instead of silently disabling the ceiling. - v3_route_acceptance_issues resolves a relative evidence_artifact path against the repo root rather than the CWD, so acceptance no longer depends on where the caller happened to run.
|
Warning Review limit reached
Next review available in: 59 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 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 |
Follow-up to the post-merge review of #110/#111. Three dormant-but-real holes, each now pinned by a test:
Credential guard held only in-process
The
block_real_provider_credentialsfixture patchedpublication_runner.load_environment_files— one importer's reference. Subprocess-driven CLI tests re-import everything in the child and re-read.env.local, andscripts/collect_sota_v3_route_evidence.pyhas its own call site the patch never touched. The guard now works viaGM_BENCH_DISABLE_ENV_FILES, checked insideload_environment_filesitself, so it covers every importer and crosses the process boundary (children inherit it). New tests pin both the in-process no-op and the subprocess inheritance.Operator ceiling failed open on an unreadable protocol
_enforce_operator_ceilingreturned silently onOSError/JSONDecodeError, so a corrupt or missing protocol file disabled the ceiling — the one fail-open path in a gate that otherwise raises on every malformed input. It now fails closed with an explicit error.Evidence artifact resolved from the CWD
v3_route_acceptance_issuesreadevidence_artifactrelative to the current directory, which only worked because pytest and the runner both start at the repo root. Relative paths now anchor to the repo root; a new test runs the check from a foreign CWD.None of the touched files are in
_CONTRACT_SOURCES, so the contract fingerprint is unchanged.Verification (all zero-spend)
run_sota_v3_smoke_from_keychain.py --max-spend-usd 150 --dry-run: Keychain record found, execution hash and hiding commitment both verified, all 10 cells render with pinned routesroute-preflight --contract sota-v3: all 10 routes pass zero-completion preflight; gpt-5.6-luna and glm-5.2 live rates dropped below their reservations (favorable)