Skip to content

fix(strix): classify provider tool-contract failures without masking findings #798

Description

@seonghobae

Incident

The exact-head Strix required check for .github PR #791 failed in workflow run 31071120319, job 92519148857, before producing a review report.

The controlled terminal signature was:

agents.exceptions.ModelBehaviorError: Tool execute not found in agent strix

The same log reported Vulnerabilities 0, no report artifact, and no source-level finding. This is a model/tool-contract failure in the read-only reviewer plane, not evidence that PR #791 is unsafe and not a condition that may be converted into a passing finding review without an explicit bounded policy.

Required test-first repair

Add permanent RED regressions before production changes that prove all of the following:

  1. the exact controlled ModelBehaviorError / missing declared tool signature is classified as a distinct finite-cardinality provider-tool-contract outcome;
  2. classification is permitted only when there is no generated vulnerability report, no finding record, and the scanner's controlled vulnerability count is zero;
  3. any finding, partial finding artifact, configuration error, source checkout error, policy violation, malformed evidence, credential failure, or unknown exception remains fail-closed;
  4. arbitrary model text cannot spoof the controlled signature;
  5. bounded diagnostics include the stage and controlled class only, never prompt text, page content, credentials, headers, arbitrary exception text, or model output;
  6. exact-head required-check policy remains explicit: either retry through an independently reviewed provider/model route, or publish a machine-readable review_unavailable result that cannot be treated as approval;
  7. no product PR source is mutated merely to retrigger or conceal reviewer infrastructure failure;
  8. existing reviewer credentials and identity separation remain unchanged.

Provider and credential boundary

  • Do not introduce COPILOT_GITHUB_TOKEN as model authentication.
  • Do not change the established read-only review-agent credential chain in this repair unless a separately reviewed migration is required.
  • Any scheduled or write-capable repair worker must use OpenCode with NVIDIA_NIM_API_KEY; this issue concerns the independent read-only Strix review plane.
  • Never synthesize APPROVED, merge, update branches, release, or weaken branch protection from an unavailable-review classification.

Verification

Require exact-head focused tests, the complete central suite, 100% production statement and branch coverage, 100% public docstrings, shell/Python compilation, Security Scan, Semgrep, CodeQL, secret scanning, and a current-head independent review before integration.

Operator evidence

Record the incident, classification table, retry/escalation path, rollback, non-claims, and APA 7th primary-source references in docs/doctoring/ and CHANGELOG.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions