Skip to content

fix(strix): scope direct OpenAI tool fallback effort - #1353

Merged
seonghobae merged 6 commits into
mainfrom
fix/strix-openai-tool-effort
Aug 26, 2026
Merged

fix(strix): scope direct OpenAI tool fallback effort#1353
seonghobae merged 6 commits into
mainfrom
fix/strix-openai-tool-effort

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Root cause evidence

Contextual-orchestrator PR #881 run 32967361853 exhausted NVIDIA with 429/410 responses, then reached openai-direct/gpt-5.4 and deterministically failed HTTP 400 because function tools were combined with non-none reasoning effort.

Verification

  • bash scripts/ci/test_strix_quick_gate.sh — PASS
  • focused Strix Python contracts — 33 passed
  • bash -n — pass
  • actionlint — pass (existing SC2016 informational rule excluded)
  • git diff --check — pass

This does not change review-agent credentials, severity thresholds, fail-closed behavior, or protected gates.


Open in Devin Review

Summary by CodeRabbit

  • 개선 사항

    • OpenAI 기본 엔드포인트에서 함수 도구 사용 시 추론 강도가 자동으로 적절히 설정됩니다.
    • NVIDIA 및 사용자 지정 OpenAI 호환 엔드포인트에서는 기존 추론 강도 설정이 유지됩니다.
  • 버그 수정

    • 엔드포인트 유형에 따라 잘못된 추론 강도가 적용되던 문제를 수정했습니다.
    • 함수 도구 사용 시 표시되는 오류 메시지를 더 정확하게 개선했습니다.
  • 테스트

    • 직접 OpenAI 및 사용자 지정 호환 엔드포인트의 추론 강도 동작 검증을 추가했습니다.

@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Review Change Stack

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 5a985505-e35f-481f-9c1d-8bdea050d53d

📝 Walkthrough

Walkthrough

직접 OpenAI fallback은 네이티브 endpoint에서만 reasoning_effort=none을 사용합니다. 사용자 지정 OpenAI 호환 endpoint와 기타 provider는 기존 설정을 유지합니다. 테스트는 이 라우팅과 자식 프로세스 환경 전달을 검증합니다.

Changes

OpenAI fallback reasoning effort 라우팅

Layer / File(s) Summary
Endpoint 기반 reasoning effort 라우팅
scripts/ci/strix_quick_gate.sh
run_strix_once가 명시적 OpenAI 모델과 API base를 기준으로 child_reasoning_effort를 계산합니다. 계산된 값은 STRIX_REASONING_EFFORT로 자식 Python 프로세스에 전달됩니다.
Endpoint별 동작 검증
docs/doctoring/strix-openai-fallback-api-base-routing.md, scripts/ci/test_strix_quick_gate.sh
네이티브 OpenAI endpoint에는 none을 적용하고, 사용자 지정 호환 endpoint에는 minimal을 유지하는 검증을 추가합니다. function-tools 관련 오류 메시지와 문서를 갱신합니다.

Estimated code review effort: 2 (Simple) | ~15 minutes

Merge Risk: 🔵 Low · up to 6a869

The production fallback behavior is narrowly scoped, but the regression test may inherit an environment variable that makes it validate the wrong API base or fail unexpectedly. The PR is mergeable with explicit owner awareness to unset that variable during the test.

Sequence Diagram(s)

sequenceDiagram
  participant run_strix_once
  participant ChildStrixProcess
  participant OpenAIEndpoint
  run_strix_once->>run_strix_once: API base와 모델 유형 확인
  run_strix_once->>ChildStrixProcess: STRIX_REASONING_EFFORT 전달
  ChildStrixProcess->>OpenAIEndpoint: function-tools 요청 전송
Loading
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 direct OpenAI tool fallback의 reasoning effort 범위를 조정하는 주요 변경 사항을 정확하고 간결하게 설명합니다.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (2 skipped: 1 …
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (2 skipped: 1 unsupported, 1 too large.)

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/strix-openai-tool-effort

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.

@seonghobae
seonghobae enabled auto-merge (squash) August 26, 2026 14:10
@seonghobae

Copy link
Copy Markdown
Contributor Author

Additional exact evidence: contextual-orchestrator PR #869 Strix run 32970806931 reached the same final openai-direct/gpt-5.4 fallback and failed the identical HTTP 400 function-tools + non-none reasoning_effort contract. This confirms the owning workflow boundary rather than either application diff.

devin-ai-integration[bot]

This comment was marked as resolved.

# Conflicts:
#	docs/doctoring/strix-openai-fallback-api-base-routing.md
#	scripts/ci/test_strix_quick_gate.sh
devin-ai-integration[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

@seonghobae
seonghobae merged commit 874f47b into main Aug 26, 2026
47 of 48 checks passed
@seonghobae
seonghobae deleted the fix/strix-openai-tool-effort branch August 26, 2026 18:26
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.

1 participant