Skip to content

Allow long OpenCode reviews#279

Open
seonghobae wants to merge 2 commits into
mainfrom
codex/opencode-review-long-timeout
Open

Allow long OpenCode reviews#279
seonghobae wants to merge 2 commits into
mainfrom
codex/opencode-review-long-timeout

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Summary

  • restore the required OpenCode review job cap to GitHub's six-hour ceiling
  • give the model-pool review step and opencode run a five-hour budget for large repositories
  • keep the single nano model candidate and one attempt, so this changes patience rather than review breadth/cost

Verification

  • py -3 -m pytest tests/test_opencode_agent_contract.py tests/test_opencode_workflow_shell_syntax.py tests/test_review_execution_contracts.py -q
  • git diff --check -- .github/workflows/opencode-review.yml tests/test_opencode_agent_contract.py

Copilot AI review requested due to automatic review settings July 1, 2026 09:26
@seonghobae seonghobae enabled auto-merge July 1, 2026 09:26

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR increases the allowed wall-clock time for the OpenCode PR review workflow to support large repositories by raising the job timeout to GitHub Actions’ 6-hour ceiling and extending the model-pool step/runtime budgets accordingly.

Changes:

  • Increase the opencode-review-target job timeout from 75 minutes to 360 minutes.
  • Increase the “Run OpenCode PR Review model pool” step timeout to 330 minutes and extend OpenCode runtime/retry budgets to 5 hours (18000 seconds).
  • Update the OpenCode workflow contract test to assert the new timeout values.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
tests/test_opencode_agent_contract.py Updates workflow contract assertions to match the new OpenCode job/step/runtime timeout budgets.
.github/workflows/opencode-review.yml Raises job/step timeouts and increases opencode run / retry-budget environment values to allow longer review runs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 2249 to +2254
NO_COLOR: "1"
OPENCODE_MODEL_CANDIDATES: "github-models/openai/gpt-5-nano"
OPENCODE_MODEL_ATTEMPTS: "1"
OPENCODE_RUN_TIMEOUT_SECONDS: "240"
OPENCODE_RUN_TIMEOUT_SECONDS: "18000"
OPENCODE_EXPORT_TIMEOUT_SECONDS: "120"
OPENCODE_TOTAL_RETRY_BUDGET_SECONDS: "360"
OPENCODE_TOTAL_RETRY_BUDGET_SECONDS: "18000"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in commit 4ede35e. The test_strix_quick_gate.sh assertions now use "18000" for both OPENCODE_RUN_TIMEOUT_SECONDS and OPENCODE_TOTAL_RETRY_BUDGET_SECONDS, matching the updated workflow values. All contract tests pass.

Comment thread .github/workflows/opencode-review.yml
@opencode-agent opencode-agent Bot disabled auto-merge July 1, 2026 09:34

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

OpenCode reviewed the current-head evidence but found unresolved reviewer or review-agent threads before approval.

Findings

1. HIGH .github/workflows/opencode-review.yml:1 - Unresolved reviewer thread blocks automated approval

  • Problem: OpenCode reached an APPROVE control result, but the approval step found unresolved, non-outdated human or review-agent thread evidence on the current pull request.
  • Root cause: Reviewer and review-agent 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 reviewer 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, including bot review agents other than OpenCode itself.

Review thread evidence

Latest unresolved reviewer thread evidence

.github/workflows/opencode-review.yml line 2254

  • Latest reviewer comment: @copilot-pull-request-reviewer at 2026-07-01T09:31:44Z

  • Comment URL: #279 (comment)

  • Comment excerpt: The Strix quick-gate regression script still hard-codes the previous OpenCode model-pool timeout settings (e.g., it asserts 'OPENCODE_RUN_TIMEOUT_SECONDS: "600"' and 'OPENCODE_TOTAL_RETRY_BUDGET_SECONDS: "3600"'). With these workflow values changed to 18000, 'scripts/ci/test_strix_quick_gate.sh' will fail when Strix runs its self-tests, blocking required checks.

  • Result: REQUEST_CHANGES

  • Reason: unresolved reviewer or review-agent thread(s) were present before approval.

  • Head SHA: 5e2aee94ece7571f1b44a3dd9b40e3d751c58b05

  • Workflow run: 28507529260

  • Workflow attempt: 1

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Workflow: opencode-review.yml"]
  S1 --> I1["GitHub Actions review job"]
  I1 --> R1["Review risk: Workflow: opencode-review.yml"]
  R1 --> V1["actionlint plus required checks"]
  Evidence --> S2["Test: test_opencode_agent_contract.py"]
  S2 --> I2["regression suite"]
  I2 --> R2["Review risk: Test: test_opencode_agent_contract.py"]
  R2 --> V2["targeted test run"]
Loading

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 4ede35e2b0bc0fab81faeddf2a8fb76a18a53906
  • Workflow run: 28511481675
  • Workflow attempt: 2
  • Gate result: REQUEST_CHANGES (approval step)

Pull request overview

OpenCode reviewed the current-head evidence but found unresolved reviewer or review-agent threads before approval.

Findings

1. HIGH .github/workflows/opencode-review.yml:1 - Unresolved reviewer thread blocks automated approval

  • Problem: OpenCode reached an APPROVE control result, but the approval step found unresolved, non-outdated human or review-agent thread evidence on the current pull request.
  • Root cause: Reviewer and review-agent 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 reviewer 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, including bot review agents other than OpenCode itself.

Review thread evidence

Latest unresolved reviewer thread evidence

.github/workflows/opencode-review.yml line 2254

  • Latest reviewer comment: @copilot-pull-request-reviewer at 2026-07-01T09:31:44Z

  • Comment URL: Allow long OpenCode reviews #279 (comment)

  • Comment excerpt: The Strix quick-gate regression script still hard-codes the previous OpenCode model-pool timeout settings (e.g., it asserts 'OPENCODE_RUN_TIMEOUT_SECONDS: "600"' and 'OPENCODE_TOTAL_RETRY_BUDGET_SECONDS: "3600"'). With these workflow values changed to 18000, 'scripts/ci/test_strix_quick_gate.sh' will fail when Strix runs its self-tests, blocking required checks.

  • Result: REQUEST_CHANGES

  • Reason: unresolved reviewer or review-agent thread(s) were present before approval.

  • Head SHA: 4ede35e2b0bc0fab81faeddf2a8fb76a18a53906

  • Workflow run: 28511481675

  • Workflow attempt: 2

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Workflow: opencode-review.yml"]
  S1 --> I1["GitHub Actions review job"]
  I1 --> R1["Review risk: Workflow: opencode-review.yml"]
  R1 --> V1["actionlint plus required checks"]
  Evidence --> S2["CI script: test_strix_quick_gate.sh"]
  S2 --> I2["review and security gate shell path"]
  I2 --> R2["Review risk: CI script: test_strix_quick_gate.sh"]
  R2 --> V2["bash -n plus Strix self-test"]
  Evidence --> S3["Test: test_opencode_agent_contract.py"]
  S3 --> I3["regression suite"]
  I3 --> R3["Review risk: Test: test_opencode_agent_contract.py"]
  R3 --> V3["targeted test run"]
Loading

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

OpenCode reviewed the current-head evidence but found unresolved reviewer or review-agent threads before approval.

Findings

1. HIGH .github/workflows/opencode-review.yml:1 - Unresolved reviewer thread blocks automated approval

  • Problem: OpenCode reached an APPROVE control result, but the approval step found unresolved, non-outdated human or review-agent thread evidence on the current pull request.
  • Root cause: Reviewer and review-agent 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 reviewer 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, including bot review agents other than OpenCode itself.

Review thread evidence

Latest unresolved reviewer thread evidence

.github/workflows/opencode-review.yml line 2254

  • Latest reviewer comment: @copilot-pull-request-reviewer at 2026-07-01T09:31:44Z

  • Comment URL: #279 (comment)

  • Comment excerpt: The Strix quick-gate regression script still hard-codes the previous OpenCode model-pool timeout settings (e.g., it asserts 'OPENCODE_RUN_TIMEOUT_SECONDS: "600"' and 'OPENCODE_TOTAL_RETRY_BUDGET_SECONDS: "3600"'). With these workflow values changed to 18000, 'scripts/ci/test_strix_quick_gate.sh' will fail when Strix runs its self-tests, blocking required checks.

  • Result: REQUEST_CHANGES

  • Reason: unresolved reviewer or review-agent thread(s) were present before approval.

  • Head SHA: 4ede35e2b0bc0fab81faeddf2a8fb76a18a53906

  • Workflow run: 28511481675

  • Workflow attempt: 2

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Workflow: opencode-review.yml"]
  S1 --> I1["GitHub Actions review job"]
  I1 --> R1["Review risk: Workflow: opencode-review.yml"]
  R1 --> V1["actionlint plus required checks"]
  Evidence --> S2["CI script: test_strix_quick_gate.sh"]
  S2 --> I2["review and security gate shell path"]
  I2 --> R2["Review risk: CI script: test_strix_quick_gate.sh"]
  R2 --> V2["bash -n plus Strix self-test"]
  Evidence --> S3["Test: test_opencode_agent_contract.py"]
  S3 --> I3["regression suite"]
  I3 --> R3["Review risk: Test: test_opencode_agent_contract.py"]
  R3 --> V3["targeted test run"]
Loading

@seonghobae

Copy link
Copy Markdown
Contributor Author

Pull request overview

OpenCode reviewed the current-head evidence but found unresolved reviewer or review-agent threads before approval.

Findings

1. HIGH .github/workflows/opencode-review.yml:1 - Unresolved reviewer thread blocks automated approval

  • Problem: OpenCode reached an APPROVE control result, but the approval step found unresolved, non-outdated human or review-agent thread evidence on the current pull request.
  • Root cause: Reviewer and review-agent 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 reviewer 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, including bot review agents other than OpenCode itself.

Review thread evidence

Latest unresolved reviewer thread evidence

.github/workflows/opencode-review.yml line 2254

  • Latest reviewer comment: @copilot-pull-request-reviewer at 2026-07-01T09:31:44Z

  • Comment URL: Allow long OpenCode reviews #279 (comment)

  • Comment excerpt: The Strix quick-gate regression script still hard-codes the previous OpenCode model-pool timeout settings (e.g., it asserts 'OPENCODE_RUN_TIMEOUT_SECONDS: "600"' and 'OPENCODE_TOTAL_RETRY_BUDGET_SECONDS: "3600"'). With these workflow values changed to 18000, 'scripts/ci/test_strix_quick_gate.sh' will fail when Strix runs its self-tests, blocking required checks.

  • Result: REQUEST_CHANGES

  • Reason: unresolved reviewer or review-agent thread(s) were present before approval.

  • Head SHA: 4ede35e2b0bc0fab81faeddf2a8fb76a18a53906

  • Workflow run: 28511481675

  • Workflow attempt: 2

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Workflow: opencode-review.yml"]
  S1 --> I1["GitHub Actions review job"]
  I1 --> R1["Review risk: Workflow: opencode-review.yml"]
  R1 --> V1["actionlint plus required checks"]
  Evidence --> S2["CI script: test_strix_quick_gate.sh"]
  S2 --> I2["review and security gate shell path"]
  I2 --> R2["Review risk: CI script: test_strix_quick_gate.sh"]
  R2 --> V2["bash -n plus Strix self-test"]
  Evidence --> S3["Test: test_opencode_agent_contract.py"]
  S3 --> I3["regression suite"]
  I3 --> R3["Review risk: Test: test_opencode_agent_contract.py"]
  R3 --> V3["targeted test run"]
Loading

@copilot 고칩시다

Copilot AI commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Pull request overview

OpenCode reviewed the current-head evidence but found unresolved reviewer or review-agent threads before approval....

해당 지적은 커밋 4ede35e에서 반영했습니다. scripts/ci/test_strix_quick_gate.sh의 검증값을 워크플로우와 동일하게 OPENCODE_RUN_TIMEOUT_SECONDS: "18000", OPENCODE_TOTAL_RETRY_BUDGET_SECONDS: "18000"로 맞췄습니다.

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.

3 participants