Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .github/workflows/opencode-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2848,7 +2848,6 @@ jobs:
"mode": "primary",
"prompt": "{file:./ci-review-prompt.md}",
"steps": 100,
"reasoningEffort": "high",
"permission": {
"edit": "deny",
"bash": "allow",
Expand All @@ -2868,7 +2867,6 @@ jobs:
"mode": "primary",
"prompt": "{file:./ci-review-prompt.md}",
"steps": 150,
"reasoningEffort": "high",
"permission": {
"edit": "deny",
"bash": "allow",
Expand All @@ -2889,7 +2887,6 @@ jobs:
"prompt": "{file:./code-reviewer-prompt.md}",
"steps": 100,
"color": "#7c3aed",
"reasoningEffort": "high",
"permission": {
"edit": "deny",
"read": "allow",
Expand Down
3 changes: 0 additions & 3 deletions opencode.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@
"mode": "primary",
"prompt": "{file:./ci-review-prompt.md}",
"steps": 4,
"reasoningEffort": "high",
"permission": {
"edit": "deny",
"bash": "allow",
Expand All @@ -76,7 +75,6 @@
"mode": "primary",
"prompt": "{file:./ci-review-prompt.md}",
"steps": 12,
"reasoningEffort": "high",
"permission": {
"edit": "deny",
"bash": "allow",
Expand All @@ -97,7 +95,6 @@
"prompt": "{file:./code-reviewer-prompt.md}",
"steps": 16,
"color": "#7c3aed",
"reasoningEffort": "high",
"permission": {
"edit": "deny",
"read": "allow",
Expand Down
12 changes: 10 additions & 2 deletions tests/test_opencode_agent_contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,12 @@ def test_code_reviewer_subagent_contract_is_configured():
assert reviewer["prompt"] == "{file:./code-reviewer-prompt.md}"
assert reviewer["steps"] == 16
assert reviewer["color"] == "#7c3aed"
assert reviewer["reasoningEffort"] == "high"
# Reasoning effort is model-level only (see the model configs below and the
# ci-autofix agent). An agent-level reasoningEffort is applied to every
# candidate the agent runs, including non-reasoning models like
# github-models/openai/gpt-4.1, whose OpenAI backend rejects the
# reasoning_effort request argument outright.
assert "reasoningEffort" not in reviewer
assert "model" not in reviewer
assert "Reviews only; never edits code" in reviewer["description"]

Expand All @@ -36,7 +41,10 @@ def test_code_reviewer_subagent_contract_is_configured():
assert permission["lsp"] == "deny"

for primary_agent in ("ci-review", "ci-review-fallback"):
assert agents[primary_agent]["reasoningEffort"] == "high"
# Reasoning effort must NOT be set at the agent level: it would be sent
# to every pool candidate, and non-reasoning models (gpt-4.1) reject the
# reasoning_effort argument. Reasoning models carry it per-model instead.
assert "reasoningEffort" not in agents[primary_agent]
permission = agents[primary_agent]["permission"]
assert permission["bash"] == "allow"
assert permission["task"] == "allow"
Expand Down
Loading