Skip to content

fix(sidecar): bump vendored contextual-orchestrator pin to fix orchestrator/free retry-stacking - #1951

Merged
seonghobae merged 4 commits into
mainfrom
fix/bump-contextual-orchestrator-pin-1081
Sep 6, 2026
Merged

fix(sidecar): bump vendored contextual-orchestrator pin to fix orchestrator/free retry-stacking#1951
seonghobae merged 4 commits into
mainfrom
fix/bump-contextual-orchestrator-pin-1081

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Root cause

ContextualWisdomLab/contextual-orchestrator PR #1081 (merged 414f22973658c4ddc3d4320fcf7acd9b4e8ba991) fixes a real, confirmed bug: TaskOrchestrator._invoke's own retry-then-failover decision for a retryable 5xx (budgeted 1 + tool_retry_attempts real tries per candidate) was getting multiplied by ModelClient._send_with_retry's independent transient-retry-with-backoff loop underneath it (max_retries + 1 further tries per call) — up to (tool_retry_attempts + 1) × (max_retries + 1) real network attempts (6 at production defaults) against one already-flagged-flaky orchestrator/free agent before _invoke ever tried the next ranked candidate.

This is the confirmed root cause of independently observed incidents in ContextualWisdomLab/.github PRs #1912, #1231, #1503, and #1198, each spending 9–57+ minutes stuck on one escalated route and surfacing that same route's model in its final error — never reaching a cleanly-ready sibling preflight had already found.

Critical follow-up finding: merging that fix upstream has had zero effect in production so far, because scripts/ci/contextual_orchestrator_review_sidecar.sh's ORCHESTRATOR_PIN_SHA is a hardcoded default that does not auto-track contextual-orchestrator's main — every review sidecar (Noema, OpenCode, Strix) was still vendoring 2e414d15ba58f28597751b625a8a2f00fc9fadcf, a commit from 2026-09-04, two days stale relative to the fix.

Verification (done independently before opening this PR)

Changes

  • scripts/ci/contextual_orchestrator_review_sidecar.sh: ORCHESTRATOR_PIN_SHA default advances 2e414d15ba58f28597751b625a8a2f00fc9fadcf414f22973658c4ddc3d4320fcf7acd9b4e8ba991.
  • tests/test_contextual_orchestrator_review_sidecar_contract.py: companion ORCH_PIN_SHA constant bump (contract-tested — this repo's tests pin exact SHA strings in both the script and the ADR).
  • docs/adr/0003-contextual-orchestrator-vendored-free-zdr.md: updated the inline "today" SHA reference and appended a 2026-09-06 amendment documenting this bump, matching the ADR's established per-bump amendment convention.
  • CHANGELOG.md: new entry documenting the pin advance and the fix it carries.

Why this PR's own review may look unusual

This PR's required Noema/OpenCode/Strix review checks run the base branch's trusted copy of the sidecar script per this repo's pull_request_target trust-boundary design — i.e. they will still hit the exact bug this PR fixes, since the base branch doesn't have the bump yet. Expect this PR's own reviews to be slow or flaky for that reason; that is not a defect in the diff, it's the exact chicken-and-egg case this bump exists to resolve for every other PR.


🤖 Generated with Claude Code

https://claude.ai/code/session_01KPmJErfkcHer4UVEgrQxUX


Generated by Claude Code

seonghobae and others added 3 commits September 6, 2026 11:49
Advances ORCHESTRATOR_PIN_SHA from 2e414d15 (2026-09-04) to
414f22973658c4ddc3d4320fcf7acd9b4e8ba991, the commit that merges
contextual-orchestrator#1081 (fixes _invoke's retry-then-failover
decision getting multiplied by ModelClient._send_with_retry's
independent transient-retry-with-backoff underneath it -- up to 6
real network attempts against one flaky orchestrator/free agent
before failover ever ran).

Without this bump the merged fix has zero effect on Noema/OpenCode/
Strix reviews: the pin does not auto-track main, so every review
sidecar was still vendoring pre-fix code two days stale.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KPmJErfkcHer4UVEgrQxUX
Companion to the sidecar script bump -- ORCH_PIN_SHA must match the
new ORCHESTRATOR_PIN_SHA default exactly or
test_sidecar_pins_the_vendored_orchestrator_revision fails.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KPmJErfkcHer4UVEgrQxUX
Updates item 1's inline "today" SHA and appends a 2026-09-06
amendment documenting the contextual-orchestrator#1081 retry-stacking
fix this pin advance carries, matching this ADR's established
per-bump amendment convention.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KPmJErfkcHer4UVEgrQxUX
@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 27 minutes.

Check out review usage here.

View limit details

Limit 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.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: c4a703b9-d7f1-496d-9997-a8bf56f93b36

📥 Commits

Reviewing files that changed from the base of the PR and between fe827e1 and eedda4d.

📒 Files selected for processing (4)
  • CHANGELOG.md
  • docs/adr/0003-contextual-orchestrator-vendored-free-zdr.md
  • scripts/ci/contextual_orchestrator_review_sidecar.sh
  • tests/test_contextual_orchestrator_review_sidecar_contract.py

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Companion to the sidecar/test/ADR updates already on this branch --
documents the contextual-orchestrator#1081 retry-stacking fix this
pin advance carries into Noema/OpenCode/Strix.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KPmJErfkcHer4UVEgrQxUX
@seonghobae
seonghobae marked this pull request as ready for review September 6, 2026 03:01
@seonghobae
seonghobae merged commit efb8926 into main Sep 6, 2026
6 of 44 checks passed
@seonghobae
seonghobae deleted the fix/bump-contextual-orchestrator-pin-1081 branch September 6, 2026 03:01
seonghobae pushed a commit that referenced this pull request Sep 6, 2026
…cause, pin advance, and first post-pin measurement

Extends the 2026-09-05 NIM-routing entry with a dated follow-up: the
_invoke x _send_with_retry retry multiplication (contextual-orchestrator#1081),
the ModelClient.single_attempt_transport() fix, the hard-coded sidecar pin
that kept the fix out of production until #1951, the rule for which runs
count as post-advance evidence, and .github#1661 run 34008191123 as the
first run vendoring 414f2297 (pin live; preflight 0/12 ready, so the fix
is not yet exercised end to end). This PR's CHANGELOG entry gains the same
pointer. Documentation only.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KPmJErfkcHer4UVEgrQxUX
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants