Separate Strix full-scan model contract - #304
Conversation
📝 WalkthroughWalkthroughThis PR implements conditional Strix model selection based on GitHub event type and workflow inputs. Protected-branch scans (push, schedule, non-PR manual runs) use ChangesStrix Conditional Model Selection
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/strix.yml (1)
103-103: ⚡ Quick winCentralize
STRIX_MODELselection to one workflow-level env to prevent policy drift.The same governance-critical expression is duplicated in two steps; a future one-sided edit can silently desync gate behavior vs runtime model file generation.
♻️ Suggested refactor
jobs: strix: timeout-minutes: 90 runs-on: ubuntu-latest + env: + STRIX_MODEL: ${{ (github.event_name == 'push' || github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.pr_number == '')) && 'vertex_ai/gemini-2.5-flash' || secrets.STRIX_LLM || 'vertex_ai/gemini-3.1-pro-preview-customtools' }} steps: @@ - name: Gate Strix secrets id: gate env: - STRIX_MODEL: ${{ (github.event_name == 'push' || github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.pr_number == '')) && 'vertex_ai/gemini-2.5-flash' || secrets.STRIX_LLM || 'vertex_ai/gemini-3.1-pro-preview-customtools' }} STRIX_OPENAI_API_KEY: ${{ secrets.STRIX_OPENAI_API_KEY }} STRIX_VERTEX_CREDENTIALS: ${{ secrets.GCP_SA_KEY }} @@ - name: Prepare Strix model input file if: steps.gate.outputs.enabled == 'true' - env: - STRIX_MODEL: ${{ (github.event_name == 'push' || github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.pr_number == '')) && 'vertex_ai/gemini-2.5-flash' || secrets.STRIX_LLM || 'vertex_ai/gemini-3.1-pro-preview-customtools' }} run: |Based on learnings: Keep Strix architecture docs and reusable gate tests aligned with LLM provider rules so stale GitHub Models, OpenAI-only, unavailable-model, blanket-warning, or generic-key examples cannot re-enter copied workflow guidance.
Also applies to: 206-206
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/strix.yml at line 103, The STRIX_MODEL selection expression is duplicated across steps; centralize it by defining a single workflow-level environment variable named STRIX_MODEL with the existing conditional expression and change all step-level usages to reference that workflow env (use ${{ env.STRIX_MODEL }} wherever the duplicated expression appears) so the governance rule is maintained in one place and cannot drift between step definitions.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In @.github/workflows/strix.yml:
- Line 103: The STRIX_MODEL selection expression is duplicated across steps;
centralize it by defining a single workflow-level environment variable named
STRIX_MODEL with the existing conditional expression and change all step-level
usages to reference that workflow env (use ${{ env.STRIX_MODEL }} wherever the
duplicated expression appears) so the governance rule is maintained in one place
and cannot drift between step definitions.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: df20b0a2-5669-45bf-9750-9db974df015f
📒 Files selected for processing (6)
.github/workflows/strix.ymlAGENTS.mdREADME.mdbackend/tests/test_release_governance.pydocs/plans/2026-05-29-strix-full-scan-operational-model.mdscripts/ci/test_strix_quick_gate.sh
Summary
STRIX_LLMroute sovertex_ai/gemini-3.1-pro-preview-customtoolsremains available after secret visibility correctionpush,schedule, and manual non-PR workflow_dispatch) to the exact stable Vertex modelvertex_ai/gemini-2.5-flashEvidence
c3d454872ec1c15e51b8c45f669e1ff4b0dd15be.26635699207startedRun Strix (quick)at2026-05-29T11:56:22Zand remained in progress past the intended 40-minute process budget, which is not acceptable under the no Timeout/Fatal/Warn/Denied policy.Verification
PYTHONDONTWRITEBYTECODE=1 python3 -m pytest backend/tests/test_release_governance.py -qbash scripts/ci/test_strix_quick_gate.shgit diff --checkNotes
Summary by CodeRabbit