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
23 changes: 22 additions & 1 deletion .github/workflows/opencode-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2995,6 +2995,23 @@ jobs:
"apiKey": "{env:OPENAI_API_KEY}"
},
"models": {
"gpt-5.6-luna": {
"name": "OpenAI GPT-5.6 Luna (direct)",
"tool_call": true,
"reasoning": true,
"options": {
"reasoningEffort": "high"
},
"variants": {
"high": {
"reasoningEffort": "high"
}
},
"limit": {
"context": 1000000,
"output": 128000
}
},
"gpt-5": {
"name": "OpenAI GPT-5 (direct)",
"tool_call": true,
Expand Down Expand Up @@ -3253,7 +3270,11 @@ jobs:
# High-sensitivity review candidates only. DeepSeek V3 has been the
# most reliable first-pass reviewer in the org queue, then the pool
# falls through to full-size GPT/o3 and reasoning-capable fallbacks.
OPENCODE_MODEL_CANDIDATES: "github-models/deepseek/deepseek-v3-0324 openai/gpt-5 github-models/openai/gpt-5 github-models/openai/gpt-5-chat github-models/openai/o3 github-models/deepseek/deepseek-r1-0528 github-models/deepseek/deepseek-r1"
# The direct-OpenAI slot runs GPT-5.6 Luna: the newest family's
# cost-efficient tier, cheaper than the legacy gpt-5 it replaced
# ($1/$6 vs $1.25/$10 per 1M tokens) so the org OpenAI budget
# stretches further between top-ups.
OPENCODE_MODEL_CANDIDATES: "github-models/deepseek/deepseek-v3-0324 openai/gpt-5.6-luna github-models/openai/gpt-5 github-models/openai/gpt-5-chat github-models/openai/o3 github-models/deepseek/deepseek-r1-0528 github-models/deepseek/deepseek-r1"
# One attempt per model, then fall through to the next model. Retrying
# the SAME model 5x let a rate-limited/hung leader consume the whole
# step, so the pool never reached a healthy fallback model.
Expand Down
8 changes: 4 additions & 4 deletions tests/test_opencode_agent_contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,14 @@ def test_opencode_model_pool_sets_high_effort_for_capable_candidates():
assert candidate_pairs
assert candidate_pairs == [
["github-models", "deepseek/deepseek-v3-0324"],
["openai", "gpt-5"],
["openai", "gpt-5.6-luna"],
["github-models", "openai/gpt-5"],
["github-models", "openai/gpt-5-chat"],
["github-models", "openai/o3"],
["github-models", "deepseek/deepseek-r1-0528"],
["github-models", "deepseek/deepseek-r1"],
]
assert direct_openai_models == ["gpt-5"]
assert direct_openai_models == ["gpt-5.6-luna"]
assert set(github_candidate_models).issubset(set(github_models))
assert github_candidate_models == [
"deepseek/deepseek-v3-0324",
Expand Down Expand Up @@ -681,7 +681,7 @@ def test_workflow_provisions_sandbox_tool_and_reviewer_agent():
assert "Skipping publish-step failed-check OpenCode diagnosis for central review-process self-repair" in workflow
assert (
'OPENCODE_MODEL_CANDIDATES: "github-models/deepseek/deepseek-v3-0324 '
"openai/gpt-5 "
"openai/gpt-5.6-luna "
"github-models/openai/gpt-5 "
"github-models/openai/gpt-5-chat "
"github-models/openai/o3 "
Expand Down Expand Up @@ -767,7 +767,7 @@ def test_workflow_provisions_sandbox_tool_and_reviewer_agent():
assert 'OPENCODE_MODEL_CANDIDATES: "github-models/openai/gpt-5-nano"' not in workflow
assert (
'OPENCODE_MODEL_CANDIDATES: "github-models/deepseek/deepseek-v3-0324 '
"openai/gpt-5 "
"openai/gpt-5.6-luna "
"github-models/openai/gpt-5 "
"github-models/openai/gpt-5-chat "
"github-models/openai/o3 "
Expand Down
Loading