fix(review): pin gateway with 429 recovery for review sidecar - #2369
seonghobae wants to merge 2 commits into
Conversation
|
Warning Review limit reachedNext included review available in 30 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (5)
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 |
|
CO pin compatibility check for exact |
|
CO owner dependency handoff for this PR's current head The proposed pin Treat #2369 as the historical partial-recovery candidate already described in its body. A complete Noema 429 consumer pin requires CO's combined behavior on protected main, an immutable reviewed release, then a fresh exact-head .github pin and hosted Noema/OpenCode evidence. This comment neither advances the pin nor claims either CO PR is merge-ready. No workflow rerun or merge is requested. |
|
CO owner handoff for fast-mlsirm #2157 Noema job, with its sanitized sidecar artifact. This job used CO CO #1249 changes The Noema parser at trusted .github |
|
CO owner exact-head parser handoff (2026-09-25 17:11 UTC): CO #1253 is Ready at At this PR's exact head |
There was a problem hiding this comment.
Pull request overview
OpenCode reviewed the current-head product diff. Coverage is a separate gate.
Changed files
docs/adr/0003-contextual-orchestrator-vendored-free-zdr.md— operator or user guidancescripts/ci/contextual_orchestrator_review_sidecar.sh— review and security gate shell pathscripts/ci/noema_review_gate.py— review and security gate shell pathtests/test_contextual_orchestrator_review_sidecar_contract.py— regression suitetests/test_noema_review_gate.py— regression suite
Changed behavior
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Docs: 0003-contextual-orchestrator-vendored-free-zdr.md"]
S1 --> I1["operator or user guidance"]
I1 --> R1["Review risk: Docs: 0003-contextual-orchestrator-vendored-free-zdr.md"]
R1 --> V1["docs review"]
Evidence --> S2["CI script: contextual_orchestrator_review_sidecar.sh"]
S2 --> I2["review and security gate shell path"]
I2 --> R2["Review risk: CI script: contextual_orchestrator_review_sidecar.sh"]
R2 --> V2["bash -n plus Strix self-test"]
Evidence --> S3["CI script: noema_review_gate.py"]
S3 --> I3["review and security gate shell path"]
I3 --> R3["Review risk: CI script: noema_review_gate.py"]
R3 --> V3["bash -n plus Strix self-test"]
Evidence --> S4["Test: test_contextual_orchestrator_review_sidecar_contract.py (2 files)"]
S4 --> I4["regression suite"]
I4 --> R4["Review risk: Test: test_contextual_orchestrator_review_sidecar_contract.py (2 files)"]
R4 --> V4["targeted test run"]
Findings
No source-backed product finding is synthesized from the coverage gate. A coverage miss belongs in the status comment.
- Head SHA:
7bcd7048293c732d4de2c84a9fe9ef611a3a534f - Workflow run: 36201032472
- Workflow attempt: 1
- Coverage gate:
failure
Review outcome
Coverage is a gate, not the review. This body reviews the changed product files.
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Docs: 0003-contextual-orchestrator-vendored-free-zdr.md"]
S1 --> I1["operator or user guidance"]
I1 --> R1["Review risk: Docs: 0003-contextual-orchestrator-vendored-free-zdr.md"]
R1 --> V1["docs review"]
Evidence --> S2["CI script: contextual_orchestrator_review_sidecar.sh"]
S2 --> I2["review and security gate shell path"]
I2 --> R2["Review risk: CI script: contextual_orchestrator_review_sidecar.sh"]
R2 --> V2["bash -n plus Strix self-test"]
Evidence --> S3["CI script: noema_review_gate.py"]
S3 --> I3["review and security gate shell path"]
I3 --> R3["Review risk: CI script: noema_review_gate.py"]
R3 --> V3["bash -n plus Strix self-test"]
Evidence --> S4["Test: test_contextual_orchestrator_review_sidecar_contract.py (2 files)"]
S4 --> I4["regression suite"]
I4 --> R4["Review risk: Test: test_contextual_orchestrator_review_sidecar_contract.py (2 files)"]
R4 --> V4["targeted test run"]
OpenCode Review Overview
Coverage evidence did not pass, so approval is blocked. The formal pull-request review is the source-backed diff review, not this status comment. |
Admission correction — exact head
|
Observed failure
Noema run 36024200990 provisioned the review sidecar at
767e67fbc6b881a452761f32abb69b9971b9b03band ended with HTTP 429 after one caller request and 1288 seconds. The caller count does not establish how many provider candidates the gateway tried.That pin predates the gateway's rate-limit-aware virtual-pool admission path. The merged
contextual-orchestratormain commit5665b0ad1e07ffb5e9f8c59e44b6b2a785298013includes cooldown and candidate recovery fororchestrator/free. This PR advances only the exact sidecar pin, its contract assertion, and ADR evidence.Local verification
3394 passed, 3 skipped, 40 subtests passedfromuv run --no-sync python -m pytest -q testsafter installing the CI hash-locked review dependencies into the project.venv.225 passed;GITHUB_ACTIONS=truecontract subset:33 passed.tests/test_rate_limit_aware_admission.py:23 passed.bash -n scripts/ci/contextual_orchestrator_review_sidecar.shandgit diff --checkpassed.Acceptance boundary
This is a reviewed pin proposal, not proof that the live free pool can recover every 429. The pinned source commit's push checks currently include failures, and the organization PR still needs its own exact-head checks, human review, and a fresh hosted Noema/OpenCode verdict. No review approval or released gateway artifact is claimed here.
Newly verified structured-output dependency
Noema's JSON-schema request also uses the gateway's final structured-synthesis path. The pinned
5665b0adsource covers conduct and passthrough cooldown recovery but still exhausts an all-429 final-synthesis round. Owner PR contextual-orchestrator#1251 reproduces and repairs that path; it is stacked on #1209 and has not reached protected main or an immutable release. This pin therefore remains a partial source update. Before accepting this consumer migration as a Noema 429 repair, update the pin to the eventual protected released revision and obtain a fresh hosted review verdict.Parser preparation; CO pin/live revalidation HOLD
7bcd7048293c732d4de2c84a9fe9ef611a3a534fonly adds bounded Noema parsing for the CO feat(opencode): audit ScopeWeave calendar stack after #506 merge #1253 structured failure receipt (error.detail.route.stageand.attempted) plus positive/rejection tests. The existing sidecar pin and ADR are unchanged by this commit.GITHUB_ACTIONS=trueenvironments;git diff --checkpassed. This is parser preparation, not proof of live Noema recovery.