Bound Strix required workflow self-test#83
Conversation
There was a problem hiding this comment.
Pull request overview
This PR introduces a bounded smoke test to validate the Strix required-workflow contract, and updates the required workflow path to run this fast contract check instead of the full long-form Strix gate harness, while keeping the full harness available for non-required/manual use.
Changes:
- Add
scripts/ci/strix_required_workflow_smoke.shto validate key invariants of.github/workflows/strix.ymland the central Strix gate script. - Update the Strix workflow to export and run the new bounded smoke script with a shorter timeout.
- Update the existing Strix quick-gate harness assertions to require the smoke script and to ensure the full harness is not executed on the required path.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| scripts/ci/test_strix_quick_gate.sh | Updates workflow-contract assertions to expect the bounded smoke script and forbid executing the full harness on the required path. |
| scripts/ci/strix_required_workflow_smoke.sh | Adds a new bounded contract smoke test for the required workflow path. |
| .github/workflows/strix.yml | Switches the required-path self-test step to run the bounded smoke script (short timeout) and exports its path. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
OpenCode Review Overview
Pull request overviewOpenCode reviewed the current-head bounded evidence and found no blocking issues. FindingsNo blocking findings. SummaryInspected changed files and verified no critical issues. Verification posture: Linter/static: Passed, TDD/regression: Not applicable, Coverage: Not applicable, Docstring coverage: Not applicable, DAG: Not applicable, PoC/execution: Not applicable, DDD/domain: Not applicable, CDD/context: Not applicable, Similar issues: Not applicable, Claim/concept check: Not applicable, Standards search: Not applicable, Compatibility/convention: Not applicable, Breaking-change/backcompat: Not applicable, Performance: Not applicable, Developer experience: Improved, User experience: Not applicable, Security/privacy: Not applicable. Verification posture: CodeGraph evidence was initialized and bounded current-head evidence reviewed for changed-file evidence including .github/workflows/strix.yml, scripts/ci/strix_required_workflow_smoke.sh, scripts/ci/test_strix_quick_gate.sh.
Change Flow DAGflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: strix.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: strix.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["CI script (2 files)"]
S2 --> I2["review and security gate shell path"]
I2 --> R2["Review risk: CI script (2 files)"]
R2 --> V2["bash -n plus Strix self-test"]
|
There was a problem hiding this comment.
Pull request overview
OpenCode reviewed the current-head evidence but found unresolved human review threads before approval.
Findings
1. HIGH .github/workflows/opencode-review.yml:1 - Unresolved human review thread blocks automated approval
- Problem: OpenCode reached an APPROVE control result, but the approval step found unresolved, non-outdated human review thread evidence on the current pull request.
- Root cause: Human review feedback can arrive after bounded model evidence is prepared, so the approval step must re-query GitHub immediately before publishing an approval.
- Fix: Address or resolve the listed human review thread(s), then re-run OpenCode on the current head.
- Regression test: Keep the approval gate querying reviewThreads(first: 100) after model output and before create_pull_review APPROVE.
Review thread evidence
Latest unresolved human review thread evidence
scripts/ci/strix_required_workflow_smoke.sh line 52
-
Latest human comment: @copilot-pull-request-reviewer at 2026-06-26T10:48:49Z
-
Comment URL: #83 (comment)
-
Comment excerpt: With
set -e, thecheckout_count="$(grep -Fc ...)"assignment will cause the script to exit immediately when the pattern is missing (grep exits 1), bypassingrecord_failureand skipping the remaining assertions. If the goal is to aggregate failures and emit a clear message, the grep exit status should be neutralized for the no-matches case. -
Result: REQUEST_CHANGES
-
Reason: unresolved human review thread(s) were present before approval.
-
Head SHA:
0ac8efa4d09eaae245723c10239ddc9806b585a5 -
Workflow run: 28233382082
-
Workflow attempt: 1
There was a problem hiding this comment.
Pull request overview
OpenCode reviewed the current-head bounded evidence and found no blocking issues.
Findings
No blocking findings.
Summary
Inspected changed files and verified no critical issues. Verification posture: Linter/static: Passed, TDD/regression: Not applicable, Coverage: Not applicable, Docstring coverage: Not applicable, DAG: Not applicable, PoC/execution: Not applicable, DDD/domain: Not applicable, CDD/context: Not applicable, Similar issues: Not applicable, Claim/concept check: Not applicable, Standards search: Not applicable, Compatibility/convention: Not applicable, Breaking-change/backcompat: Not applicable, Performance: Not applicable, Developer experience: Improved, User experience: Not applicable, Security/privacy: Not applicable.
Verification posture: CodeGraph evidence was initialized and bounded current-head evidence reviewed for changed-file evidence including .github/workflows/strix.yml, scripts/ci/strix_required_workflow_smoke.sh, scripts/ci/test_strix_quick_gate.sh.
Linter/static: workflow/static review evidence is bounded by the current-head GitHub Checks gate and changed-file evidence.
TDD/regression: coverage execution evidence and focused changed hunks were reviewed from bounded-review-evidence.md.
Coverage: coverage execution evidence proves 100% test coverage.
Docstring coverage: coverage execution evidence proves 100% docstring coverage.
DAG: Change Flow DAG maps .github/workflows/strix.yml through bounded evidence, review risk, and required checks.
PoC/execution: coverage-evidence job executed on the current head and reported PASS.
DDD/domain: workflow and repository-governance invariants were reviewed against changed files in bounded evidence.
CDD/context: CodeGraph evidence, changed-file history, and focused hunks were reviewed from bounded-review-evidence.md.
Similar issues: changed-file history evidence was reviewed for comparable local precedents.
Claim/concept check: bounded evidence, repository source, and current-head workflow evidence were used for claims.
Standards search: standards and external-source checks are delegated to configured OpenCode web_search/Context7/DeepWiki sources when applicable; no evidence-backed standards blocker is present in bounded evidence.
Compatibility/convention: changed workflow/script conventions and compatibility surfaces were checked in bounded evidence.
Breaking-change/backcompat: deployment evidence and changed-file history were checked for backward-compatibility risk.
Performance: changed surfaces were checked for performance risk in bounded evidence.
Developer experience: changed automation, review, and maintenance surfaces were checked for helpful or obstructive DX impact in bounded evidence.
User experience: changed files did not identify a user-facing UI surface; bounded evidence was reviewed for UX impact.
Security/privacy: workflow-token, review-gate, and repository-automation security/privacy boundaries were checked in bounded evidence.
- Result: APPROVE
- Reason: No blockers found
- Head SHA:
98b3c594ad1bbb96da1523e1db14a082977bf8cb - Workflow run: 28233818564
- Workflow attempt: 1
Summary
Verification