Skip to content

fix(strix): fail closed on incomplete provider scans - #1153

Open
seonghobae wants to merge 25 commits into
mainfrom
codex/pr1138-current-main-successor
Open

fix(strix): fail closed on incomplete provider scans#1153
seonghobae wants to merge 25 commits into
mainfrom
codex/pr1138-current-main-successor

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Outcome

Strix provider/backend exhaustion and scanner ModelBehaviorError now produce typed STRIX_PROVIDER_UNAVAILABLE evidence while preserving the scanner's nonzero result. An incomplete scan can no longer satisfy the required check; genuine complete no-finding scans still pass, and reported findings remain fail-closed.

Causal repair

  • The outer workflow still recognizes bounded provider signals only for diagnosis.
  • When no vulnerability finding is present, a recognized provider failure emits a GitHub error annotation titled STRIX_PROVIDER_UNAVAILABLE and exits with the original nonzero Strix result.
  • Vulnerabilities [1-9] or a severity: finding continues through the security-finding failure path.
  • Documentation and changelog no longer describe provider failure as a neutral skip.
  • GitHub Models HTTP 410 fallback now requires one physical provider-error line containing an anchored LiteLLM/OpenAI exception, GitHub Models context, and a complete HTTP 410 token. Target-output prefixes, missing factors, 4100, 4104, and standalone retirement-brownout phrases cannot mark the provider family unavailable.
  • A Strix-owned Caido bootstrap failure (loginAsGuest, bounded retries, curl exit 7, exact loopback port 48080) is typed as unavailable infrastructure only when no vulnerability finding exists; any genuine finding remains blocking.
  • Scanner-created strix_runs state is isolated in a private working directory outside the canonical absolute scan target, then preserved only as gate evidence. PR scopes live under the gate-owned runtime directory, and PostgreSQL introspection security helpers are included when that package exists.

TDD evidence

  • Exact test-only RED 85523e166f03b0552f6dfa0b0f65df10874d4e60: run 32333482589, job 96318479338, failed exactly the two new non-pass assertions; 1234 passed, 16 subtests passed.
  • Residual-contract RED a06e6e7c6e6debd8a2a61e98cf15fc49ae7ca6b2: run 32333666263, job 96318958629, exposed one stale neutral-wording assertion; 1235 passed, 16 subtests passed.
  • HTTP-410 focused RED before the classifier repair: the authenticated same-line case exited 1, made only the primary-model call, and did not enter bounded fallback.
  • HTTP-410 focused GREEN: the authenticated same-line case falls back once; six negative cases (missing HTTP token, missing provider error, 4100, 4104, target-output spoof, and standalone brownout phrase) fail closed without fallback.
  • Caido focused RED on predecessor b3ce110714016b13d02292884ca2088e3e32b17e with the tests only: the no-finding bootstrap outage was not classified (1 failed, 14 passed); the real-finding negative control remained blocking.
  • Caido focused GREEN on exact head e21951d73fbe05a3b9dda871b18c7480f1fe3e41: all 15 focused outer-workflow classification tests pass.
  • Exact-head GREEN e21951d73fbe05a3b9dda871b18c7480f1fe3e41: Strix Changed Path Quality CI run 32352471689, job 96374420561, checked out the exact head, passed 1238 tests plus 16 subtests, and completed test_strix_quick_gate: PASS.
  • Exact-head organization policy run 32352471604, job 96374420153, checked out the same head, passed 34 tests, and proved 100% statement/branch coverage for the governed policy module.
  • Scan-boundary RED: applying the new test contract to predecessor e21951d73fbe05a3b9dda871b18c7480f1fe3e41 produced 8 expected failures, including target-as-cwd and missing canonical absolute target; the behavioral fixture exited 81 because the scanner inherited the untrusted scan target as cwd.
  • Scan-boundary GREEN on exact head 2e8e78271481a5ac0d7c6502973aa9ee8cfbc206: the focused scan-working-directory-isolated case, shell syntax checks, git diff --check, and the complete local Strix harness pass.
  • Hosted exact-head GREEN: Strix Quality run 32358562547, job 96392998076, checked out 2e8e78271481a5ac0d7c6502973aa9ee8cfbc206, passed 1238 tests plus 16 subtests, and completed test_strix_quick_gate: PASS; Organization Quality run 32358562748, job 96392998558, checked out the same head, passed 34 tests, and measured the policy module at 100% statement/branch coverage.

Protected-main integration remains required before unchanged consumer acceptance. No predecessor, queued, status-only, or provider-incomplete evidence is merge authority.

Summary by CodeRabbit

  • 버그 수정

    • 백엔드 장애나 불완전한 스캔을 더 이상 중립적 성공으로 처리하지 않습니다.
    • 모델 동작 오류, provider 소진, 로컬 연결 실패 및 HTTP 410 오류를 provider 사용 불가로 정확히 분류합니다.
    • 취약점이 보고된 경우에도 결과를 fail-closed 방식으로 처리하고 원래 실패 코드로 종료합니다.
    • 인증된 GitHub Models HTTP 410 오류 발생 시 지원되는 대체 모델로 전환합니다.
    • 스캔 작업과 결과를 안전하게 격리하고 PR 기준 커밋의 컨텍스트를 정확히 사용합니다.
  • 문서

    • 새로운 장애 분류와 대응 방법, 스캔 범위 및 격리 정책을 문서화했습니다.

Open in Devin Review

Latest provider-exhaustion fail-closed correction

  • Current exact head: 9ddda5bfaa59907120c01b55d13fa731a69bcba9, non-destructively merged with protected main@55a8b576725451dfe0a21a57d36a2f1a41619b24.
  • Compared with previously verified repair head 9a4d1e1439bbafa8781971fbf22ab695ae126271, the two added commits are only the protected-main integration and its release: attest exact sealed SBOM evidence #797 exact-artifact SBOM control-plane files; the Strix repair remains unchanged.
  • Causal RED on predecessor 956ae2b8db7acdda333c76537425ab8cb85c82f2: exhausted providers after an unchanged-baseline finding returned exit 0; the new contract failed both the required nonzero result and typed-message assertions.
  • Narrow repair: remove the baseline-only provider-exhaustion success shortcut and return explicit non-passing STRIX_PROVIDER_UNAVAILABLE. Observed baseline attribution cannot prove completeness after provider exhaustion.
  • Focused GREEN: provider exhaustion, changed-finding control, authenticated HTTP 410 fallback, missing factors, 4100, 4104, target-output spoofing, and standalone brownout controls all pass.
  • Hosted exact-head GREEN: Strix Changed Path Quality CI run 32419957269, job 96589601993, checked out 9ddda5bfaa59907120c01b55d13fa731a69bcba9, passed 1287 tests plus 16 subtests, and completed test_strix_quick_gate: PASS.
  • The same exact head's Organization Commercial Readiness Loop Quality CI run 32419957067, job 96589601448, passed 34 tests and measured the governed policy module at 380/380 statements and 88/88 branches.
  • Protected-main integration and fresh unchanged-consumer acceptance remain required. Pending security/SBOM jobs, COMMENTED/model-only review evidence, provider-incomplete evidence, and predecessor results are non-passing.

Latest exact-head diagnostic disclosure repair

  • Current exact head: a82b8012be5d57f99c1a2b029f08837d4d10d564.
  • Strix reported a real Medium information-disclosure finding because an untrusted HTTP method value could be echoed in GitHubClient diagnostics. The current head keeps the allowlisted HTTP method names and emits [REDACTED_METHOD] for any other diagnostic value.
  • Focused local evidence: 66 tests passed; Python compilation and git diff --check passed.
  • Hosted Strix Changed Path Quality CI run 32429764838, job 96618858687, checked out the exact head, passed 1,288 tests plus 16 subtests, and completed test_strix_quick_gate: PASS.
  • Hosted Organization Commercial Readiness Loop Quality CI run 32429764736, job 96618858361, checked out the same head, passed 34 tests, and measured 382 statements / 88 branches at 100%.
  • Hosted Exact Artifact SBOM Attestation Quality run 32429764771, job 96618858955, checked out the same head, passed 49 contracts, and measured 226 statements / 82 branches at 100%.
  • Remaining queued security/SBOM jobs and absent exact-head formal verdict are non-passing; no approval or merge is implied.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Current-main successor for #1138: head 27abd83821081a48a2de4e196a8ad3f50ac4de88 is based on main bbedc1a51ec1a2421f129955c629b3cd0507a4ec. Fresh local evidence: Strix fallback/required-queue tests 63 passed; actionlint, compileall, and diff-check pass. Protected current-head checks and review-thread resolution remain required.

@coderabbitai

coderabbitai Bot commented Aug 19, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@seonghobae, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 40 minutes

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.

How can I continue?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c089370c-22a4-43e0-9c54-d4c8a1768acc

📥 Commits

Reviewing files that changed from the base of the PR and between ab0f179 and 782d0fc.

📒 Files selected for processing (5)
  • CHANGELOG.md
  • docs/doctoring/strix-modelbehaviorerror-classifier.md
  • docs/doctoring/strix-pr-head-context-boundary.md
  • scripts/ci/strix_quick_gate.sh
  • scripts/ci/test_strix_quick_gate.sh

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 200cca1d-362e-47c8-9bd9-03c4a7e9d753

📥 Commits

Reviewing files that changed from the base of the PR and between e21951d and ab0f179.

📒 Files selected for processing (10)
  • .github/workflows/strix.yml
  • CHANGELOG.md
  • docs/doctoring/strix-nvidia-nim-not-found-fallback.md
  • docs/doctoring/strix-pr-head-context-boundary.md
  • docs/doctoring/strix-scan-working-boundary.md
  • organization_commercial_readiness_fixtures.py
  • scripts/ci/organization_commercial_readiness_loop.py
  • scripts/ci/strix_quick_gate.sh
  • scripts/ci/test_strix_quick_gate.sh
  • tests/test_required_workflow_queue_contract.py
🚧 Files skipped from review as they are similar to previous changes (2)
  • .github/workflows/strix.yml
  • CHANGELOG.md

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

Strix에 PR-head 컨텍스트 수집과 격리된 작업 디렉터리 실행이 추가되었습니다. ModelBehaviorError, 로컬 연결 실패, 검증된 HTTP 410 신호가 분류됩니다. 불완전한 스캔과 provider 고갈은 STRIX_PROVIDER_UNAVAILABLE 오류와 실패 코드로 처리됩니다.

Changes

Strix 스캔 경계와 컨텍스트

Layer / File(s) Summary
PR-head 컨텍스트와 격리 실행
scripts/ci/strix_quick_gate.sh, scripts/ci/test_strix_quick_gate.sh, docs/doctoring/strix-pr-head-context-boundary.md, docs/doctoring/strix-scan-working-boundary.md
backend/app, contextual_orchestrator, PostgreSQL introspection 컨텍스트를 PR-head에서 수집합니다. Strix는 별도 작업 디렉터리에서 절대 경로 대상을 스캔합니다.
Provider 장애 및 fallback 판정
.github/workflows/strix.yml, scripts/ci/strix_quick_gate.sh, tests/test_strix_nvidia_nim_not_found_fallback.py
ModelBehaviorError, 로컬 연결 실패, NVIDIA 404를 취약점 결과와 함께 판정합니다. 검증된 GitHub Models HTTP 410만 fallback을 허용합니다.
회귀 계약 검증
scripts/ci/test_strix_quick_gate.sh, tests/test_required_workflow_queue_contract.py
취약점이 있는 provider 오류와 잘못된 오류 신호를 provider 장애로 분류하지 않습니다. fallback 고갈과 불완전한 스캔은 비통과로 검증합니다.
진단 정제와 문서 갱신
scripts/ci/organization_commercial_readiness_loop.py, CHANGELOG.md, organization_commercial_readiness_fixtures.py, docs/doctoring/*
허용되지 않은 HTTP 메서드를 [REDACTED_METHOD]로 표시합니다. Strix 동작과 관련 보안 경계를 문서화합니다.

Estimated code review effort: 4 (Complex) | ~60 minutes

Merge Risk: ⚪ Minimal · up to ab0f1

The change is merge-ready after normal checks and review; no actionable merge-blocking risk remains.

🚥 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 제목은 불완전한 provider 스캔을 fail-closed로 처리하는 PR의 핵심 변경을 정확하고 간결하게 설명합니다.
Docstring Coverage ✅ Passed Docstring coverage is 85.71% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 56 functions across 5 files. (6 skipped: 5 unsupported, 1 too large.)
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.
✨ 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 codex/pr1138-current-main-successor

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

Copy link
Copy Markdown
Contributor Author

Current-head review request for PR #1153:

  • Exact head: 27abd83821081a48a2de4e196a8ad3f50ac4de88.
  • The Strix outer gate now recognizes the qualified agents.exceptions.ModelBehaviorError: backend-failure signal only when no numbered vulnerability or severity: finding is present; findings remain fail-closed.
  • The doctoring note and changelog document the operational boundary, and regression tests cover the qualified signal, unqualified signal, zero findings, and reported findings.
  • Local evidence: focused Strix/required-workflow tests 63 passed; actionlint .github/workflows/strix.yml, compileall, and diff-check passed.

Please provide a fresh independent review for this exact head. Protected current-head checks and qualifying approval remain required before merge.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Current-head verification for 6d34e457 against live main@c47bee59: Strix model-behavior-error fallback tests and required-workflow contracts passed (63 passed); compile and diff checks passed. The fallback remains fail-closed for any Vulnerabilities [1-9] evidence and neutralizes only the qualified provider exception; review this exact head only.

@seonghobae

Copy link
Copy Markdown
Contributor Author

@opencode-agent Review exact current head 6d34e457 against main@c47bee59. Inspect Strix NVIDIA NIM/ModelBehaviorError classification, positive vulnerability preservation, workflow regex boundaries, and hosted checks. Do not reuse predecessor evidence.

Keep Vulnerabilities [1-9] fail-closed. A scanner-model error without a
numbered finding is infrastructure noise, not a security result.
@seonghobae
seonghobae force-pushed the codex/pr1138-current-main-successor branch from 998ad7b to 51c3815 Compare August 20, 2026 04:06
@seonghobae

Copy link
Copy Markdown
Contributor Author

@opencode-agent Review exact current head 51c3815 against main@2cce96f8. Rebased the Strix ModelBehaviorError classifier onto current main; only a qualified exception with no numbered vulnerability/severity finding neutralizes a backend flake, while real findings remain fail-closed. Verified: 63 focused Strix/queue tests, actionlint, compileall, and git diff --check passed.

Copy link
Copy Markdown
Contributor Author

Exact-head control-plane contradiction on 51c38152a1950f6b815b36b5e37bb804f4ef1475: this diff adds agents\.exceptions\.ModelBehaviorError to backend_unavailable_signal, and the outer workflow then exits neutral-success when no numbered finding was emitted.

A scanner turn that terminated with ModelBehaviorError did not produce authoritative complete-scan evidence; Vulnerabilities 0 is not equivalent to a completed no-finding scan. Neutralizing it recreates the required-check false-green where backend failure is reported but GitHub concludes success.

Deterministic counter-evidence is preserved at commit 998ad7ba5cc301c029852fb8d8138ce87a23c8ca, workflow run 32330527041, job 96310140066: the exact contract suite failed only on test_strix_provider_outage_without_findings_is_neutralized (1 failed, 1235 passed, 16 subtests passed) when the regression asserted that ModelBehaviorError must not enter the neutral classifier.

Please keep this PR unmerged unless incomplete provider/model execution returns an explicit typed non-passing result. A genuine complete zero-finding scan can still pass; actual findings remain independently fail-closed.

@seonghobae seonghobae changed the title fix(strix): treat ModelBehaviorError with zero findings as backend flake fix(strix): fail closed on incomplete provider scans Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

@opencode-agent Review exact current head 86c262cd9385bc9b39cf9b93fabb081f3f07bbc5 against protected main@2cce96f8671bfde7e354effef931c14a5928c23b. Verify that provider exhaustion and agents.exceptions.ModelBehaviorError emit typed STRIX_PROVIDER_UNAVAILABLE evidence and preserve a nonzero required result; complete no-finding scans must still pass and genuine findings must remain fail-closed. Hosted exact-head GREEN: run 32333811954, job 96319358533, 1236 passed, 16 subtests passed, test_strix_quick_gate: PASS. Do not reuse predecessor verdicts.

Copy link
Copy Markdown
Contributor Author

@opencode-agent Review current exact head 86c262cd9385bc9b39cf9b93fabb081f3f07bbc5. Verify that the bounded provider classifier is diagnostic only: exact agents.exceptions.ModelBehaviorError: and existing provider-exhaustion signals may emit STRIX_PROVIDER_UNAVAILABLE only when no Vulnerabilities [1-9] or finding-severity evidence exists, and the original nonzero scanner result must remain the required-check exit. Confirm complete no-finding scans still pass, genuine findings and all incomplete scans remain fail-closed, target-source text cannot spoof the qualified exception family, and no neutral-skip wording or behavior survives. Reacquire exact-head Strix quality, full tests, security, SAST, CodeQL/Python, SBOM and docstring evidence, then submit the formal review. Do not alter or merge the branch.

@seonghobae
seonghobae enabled auto-merge (squash) August 20, 2026 05:09
@seonghobae

Copy link
Copy Markdown
Contributor Author

@opencode-agent Review exact current head SHA 86c262c. Confirm the typed STRIX_PROVIDER_UNAVAILABLE evidence, nonzero required result, current checks, and test/coverage evidence. Return a formal structured current-head verdict.

Copy link
Copy Markdown
Contributor Author

@opencode-agent Review the current exact head as the sole current-main successor to #1138. Verify the classifier only treats trusted Strix-process ModelBehaviorError evidence as backend unavailable when the same bounded evidence reports zero vulnerabilities; numbered vulnerabilities, severity evidence, incomplete artifacts, and unrelated target text must remain fail-closed. Reacquire exact-head quality, security, CodeQL, SAST, dependency/SBOM, and formal review evidence. Do not alter the branch or bypass protection.

Copy link
Copy Markdown
Contributor Author

@opencode-agent review exact current head 86c262cd9385bc9b39cf9b93fabb081f3f07bbc5 against independently resolved protected main@2cce96f8671bfde7e354effef931c14a5928c23b. Validate the fail-closed provider result contract: only a complete authoritative no-finding scan may pass; governed provider exhaustion, backend unavailability, malformed/incomplete evidence, or failed fallback must remain typed non-passing without fabricated source findings. The exact-head RED/GREEN lineage in the PR body is test evidence only; required acceptance is a substantive formal Reviews API verdict bound to this SHA.

@opencode-agent
opencode-agent Bot disabled auto-merge August 20, 2026 07:28
@seonghobae

Copy link
Copy Markdown
Contributor Author

Integrated current main normally and restored the unrelated main-document merge artifacts; current PR diff is scoped to the Strix workflow, doctoring, changelog, and two contract-test files at 119d563. Focused Strix/queue suite passed (77 tests, 16 subtests), actionlint, ruff, and diff checks passed. Re-review this exact HEAD.

@OpenCode review this exact HEAD and report only current-head findings.

@seonghobae

Copy link
Copy Markdown
Contributor Author

@opencode-agent review this exact current HEAD. Use the current commit SHA, current Checks, and current diff; do not reuse prior approvals or prior-head evidence.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Exact current head a82b8012be5d57f99c1a2b029f08837d4d10d564 passed review-only inspection with no actionable issue. Please run the Noema review contract against this exact SHA; do not reuse predecessor evidence or merge while required Checks remain non-terminal: @cwl-noema-review

@seonghobae

Copy link
Copy Markdown
Contributor Author

Already queued @cwl-noema-review on this exact request for PR #1153 at head a82b8012be5d57f99c1a2b029f08837d4d10d564. Central exact-name Actions artifacts are the durable dispatch ledger; existing review workflows remain authoritative for the final verdict and failure evidence.

Copy link
Copy Markdown
Contributor Author

Exact-head formal review requested for a82b8012be5d57f99c1a2b029f08837d4d10d564. Hosted evidence now binds the actual checkout to Strix run 32429764838 (1,288 tests + 16 subtests and quick-gate PASS), organization policy run 32429764736 (34 tests, 382/88 at 100%), and exact-artifact run 32429764771 (49 contracts, 226/82 at 100%). This is review-only; queued required security checks remain non-passing.

Copy link
Copy Markdown
Contributor Author

Current-head review of a82b8012be5d57f99c1a2b029f08837d4d10d564 found no additional source defect.

  • Verified the provider-incomplete scan gate, ModelBehaviorError/Caido outage classifications, and credential-redaction paths against their callers and regression contracts.
  • Focused current-tree validation: 69 passed, 16 subtests passed; Strix actionlint, shell syntax, compileall, and git diff --check passed.
  • Zero unresolved threads and no independent approval. Required security Checks are queued on this exact head; merge remains protected-gate governed.

@opencode-agent
opencode-agent Bot disabled auto-merge August 21, 2026 01:37

Copy link
Copy Markdown
Contributor Author

Current-head validation for a82b8012be5d57f99c1a2b029f08837d4d10d564:

  • Focused Strix/provider fallback and required-workflow contract tests: 66 passed.
  • bash -n, git diff --check, and actionlint .github/workflows/strix.yml: passed.
  • The full local shell harness was not counted as passing: it exceeded the 90-second bounded run without a source error log.
  • Hosted current-head checks: Commercial Readiness, Exact Artifact SBOM, Strix Changed Path, Security Scan, Scorecard, Secret Scan, OSV, SAST, and SBOM are successful; CodeQL PR and Python Security are queued.
  • No unresolved review threads and no independent APPROVED review are present.

Copy link
Copy Markdown
Contributor Author

Exact-head Strix dependency-context update: 945d5d56ff826b8642c634e6cf0d14a8ec9be38a (tree 4b8eca940e0b784347dc30366d3b62d9c4553b96).

  • Absorbs duplicate fix(strix): include backend app dependency context #1191 into this canonical owner PR.
  • A realistic RED fixture reproduced the missing unchanged backend/app/post_eligibility.py dependency when changed backend/app/knowledge_graph.py was scanned.
  • The trusted resolver now trims and validates PR_HEAD_SHA, enumerates the exact-head backend/app tree with NUL delimiters, validates each path, copies unchanged context from the trusted base, and retains the original changed-file attribution boundary.
  • Complete local GREEN on this exact tree: test_strix_quick_gate: PASS; 18 related Python contracts; full central 1288 passed, 16 subtests passed; bash -n, compileall, and git diff --check pass.
  • All four remote blob SHAs and the complete remote tree match the locally verified commit exactly.

Hosted Organization Quality run 32448124166 is successful. Strix/SBOM are still running and eight security workflows are queued, so none of that nonterminal evidence is counted as passing merge authority.

@opencode-agent review-only exact head 945d5d56ff826b8642c634e6cf0d14a8ec9be38a; please submit a formal Reviews API verdict and do not mutate branch or merge state.

Copy link
Copy Markdown
Contributor Author

Exact-head Strix package-context convergence

Current exact head: ab0f179ddf0623a92fc597b7be0f080991fd5a5c (tree 13d7f7acd71cc708674be4773c44e015016aadbe, parent 945d5d56ff826b8642c634e6cf0d14a8ec9be38a).

This head absorbs the valid contextual_orchestrator/*.py sibling-import contract from the now-closed stacked duplicate #1192 into the canonical Strix owner lane. Together with the preceding backend/app/*.py repair, the gate now enumerates exact-head package context via NUL-delimited Git tree output, validates every path, reads unchanged context from the trusted base, preserves changed-file attribution, and fails closed when required exact-head evidence is absent or malformed.

Fresh verification on the exact local tree published above:

  • behavioral RED reproduced missing unchanged contextual_orchestrator/cost_ledger.py for changed __main__.py;
  • complete scripts/ci/test_strix_quick_gate.sh: PASS;
  • focused Strix contracts: 29 passed, 16 subtests passed;
  • full central suite: 1,288 passed, 16 subtests passed;
  • shell syntax, Python compilation, and git diff --check: pass;
  • all four remote blob SHAs and remote tree match the verified local tree exactly.

Hosted checks and an independent exact-current-head Reviews API verdict remain required; predecessor evidence is not inherited.

@opencode-agent review-only

Please provide a substantive formal verdict for exact head ab0f179ddf0623a92fc597b7be0f080991fd5a5c without mutating branch or merge state.

@seonghobae
seonghobae enabled auto-merge (squash) August 21, 2026 05:04

Copy link
Copy Markdown
Contributor Author

Final exact-head single-writer convergence

Current exact head: 035343c8a68e880a4abf27f7c947bfed9dbaafcf (tree 61b979fc475adf85e750961167c6ae027aeef292, parent ab0f179ddf0623a92fc597b7be0f080991fd5a5c).

This head additionally absorbs the valid Rust workspace scope from now-closed competing writer #1173. Rust .rs files and Cargo manifests/locks are governed inputs; workflow-scoped root workspaces receive trusted Cargo, toolchain, and deny.toml context. A behavioral fixture now proves the materialized target contains trusted context rather than relying only on source-string assertions.

Fresh exact-tree verification:

  • RED: workflow-scoped Rust target lacked Cargo/toolchain/policy context;
  • filtered Rust behavioral GREEN;
  • complete scripts/ci/test_strix_quick_gate.sh: PASS;
  • focused Strix contracts: 29 passed, 16 subtests passed;
  • full central suite: 1,288 passed, 16 subtests passed;
  • shell syntax, Python compilation, and git diff --check: pass;
  • four remote blobs and remote tree exactly match the verified local tree.

Hosted exact-head jobs and an independent exact-current-head formal verdict remain required. No predecessor check or review is inherited.

@opencode-agent review-only

Please submit a substantive Reviews API verdict for exact head 035343c8a68e880a4abf27f7c947bfed9dbaafcf without mutating branch or merge state.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Current canonical head ab0f179ddf0623a92fc597b7be0f080991fd5a5c includes the contextual_orchestrator sibling-context repair. Local exact-head evidence: bash scripts/ci/test_strix_quick_gate.sh -> PASS; shell syntax and git diff --check pass. The older duplicate follow-up #1192 is being closed; this PR remains the single owner.

Copy link
Copy Markdown
Contributor Author

Hosted exact-head Strix evidence

Final exact head 035343c8a68e880a4abf27f7c947bfed9dbaafcf now has completed hosted Strix evidence:

  • Strix Changed Path Quality CI run 32450201943, job 96677161058;
  • job fetched and checked out exact SHA 035343c8a68e880a4abf27f7c947bfed9dbaafcf;
  • full central suite: 1,288 passed, 16 subtests passed;
  • complete test_strix_quick_gate: PASS.

The same exact head also has successful organization-policy run 32450201969 (34 tests) and exact-artifact SBOM contract run 32450201983 (49 tests, 100% coverage). Remaining queued security workflows and absent exact-head formal Reviews API verdict remain non-passing and are not inherited from predecessors.

@seonghobae

Copy link
Copy Markdown
Contributor Author

@OpenCode review current head 035343c. Validate the Strix infrastructure-unavailable fail-closed repair.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Exact-head repair receipt

  • Head: affc1309d20b51a137a657ae429e1730d3ecd520
  • Root cause: Strix provider rate-limit/infrastructure evidence can exist only in structured report logs; the retry classifier previously inspected child stdout only and did not try configured fallback models.
  • Fix: classify only explicit report-level provider failure markers as retryable, evaluate the newest attempt report independently, preserve fail-closed behavior for generic warnings/fatal/denied signals, and retain prior failed reports for audit.
  • Proof: full test_strix_quick_gate: PASS on the preceding synchronized tree; current-head targeted provider-report fallback, provider-fatal, provider-warning, and PR-head dependency-context cases passed; 66 Python contract tests passed; bash -n and git diff --check passed.

@cwl-noema-review @opencode-agent Please review this exact head only. Approve only if the current head and current required checks support it; do not treat provider-rate-limit evidence as a source vulnerability.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Exact-head documentation follow-up

  • Head: 782d0fc9f12d43b2cfb3f73a92ae1ec6e71a9148
  • Updated docs/doctoring/strix-modelbehaviorerror-classifier.md with the explicit report-log provider-marker boundary, newest-attempt evaluation, fallback behavior, and fail-closed generic warning behavior.
  • Please refresh independent review and required checks for this exact head.

@cwl-noema-review @opencode-agent review 782d0fc9f12d43b2cfb3f73a92ae1ec6e71a9148 only.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Correction: the exact current head is 782d0fcb6d8c8ea6f8309e6a749946314eafe81e. The previous follow-up comment contained a mistyped SHA; use this SHA for review and check evidence.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant