Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
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
6 changes: 3 additions & 3 deletions .github/workflows/opencode-hourly-loop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ jobs:
cat > ~/.config/opencode/opencode.json <<JSON
{
"\$schema": "https://opencode.ai/config.json",
"model": "contextual_orchestrator_gateway/orchestrator/auto",
"model": "contextual_orchestrator_gateway/orchestrator/free",
"provider": {
"contextual_orchestrator_gateway": {
"npm": "@ai-sdk/openai-compatible",
Expand All @@ -134,7 +134,7 @@ jobs:
"apiKey": "${CONTEXTUAL_ORCHESTRATOR_TOKEN}"
},
"models": {
"orchestrator/auto": { "name": "measured automatic orchestration" }
"orchestrator/free": { "name": "fail-closed zero-cost orchestration" }
}
}
}
Expand All @@ -153,7 +153,7 @@ jobs:
env:
GH_TOKEN: ${{ github.token }}
run: |
./node_modules/.bin/opencode run --model contextual_orchestrator_gateway/orchestrator/auto \
./node_modules/.bin/opencode run --model contextual_orchestrator_gateway/orchestrator/free \
"$(cat .github/opencode/hourly-loop-prompt.md)"

- name: Dump gateway log on failure
Expand Down
5 changes: 3 additions & 2 deletions tests/test_hourly_opencode_loop_contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@
from pathlib import Path


def test_hourly_loop_uses_the_local_auto_orchestrator_without_copilot_token() -> None:
def test_hourly_loop_uses_the_local_free_orchestrator_without_copilot_token() -> None:
"""Keep scheduled agent traffic on the seeded gateway and required key set."""
workflow = Path(".github/workflows/opencode-hourly-loop.yml").read_text()
prompt = Path(".github/opencode/hourly-loop-prompt.md").read_text()

assert 'cron: "23 * * * *"' in workflow
assert "--auto-discover-model-agents" in workflow
assert workflow.count("contextual_orchestrator_gateway/orchestrator/auto") == 2
assert workflow.count("contextual_orchestrator_gateway/orchestrator/free") == 2
assert "contextual_orchestrator_gateway/orchestrator/auto" not in workflow
for credential_name in (
"BYTEZ_API_KEY",
"NVIDIA_NIM_API_KEY",
Expand Down
Loading