launchers: default LOOP_TIER to 'go' — zen endpoint dead server-side, silently ate the 2026-09-18 weekly report
This commit is contained in:
@@ -13,7 +13,8 @@ Usage:
|
||||
launch-report.py status show session state
|
||||
|
||||
Env: REPORT_BACKEND (default opencode), REPORT_MODEL (default tracks tier),
|
||||
LOOP_TIER / REPORT_TIER (default 'zen'; 'go' or 'zen'; only for opencode),
|
||||
LOOP_TIER / REPORT_TIER (default 'go' — the only tier with a key on this host; ZEN
|
||||
models are dead here; 'go' or 'zen'; only for opencode),
|
||||
OPENCODE_SHARE (1=attach web server + public --share link), REPORT_SESSION, REPORT_DIR.
|
||||
"""
|
||||
import os, subprocess, sys, time
|
||||
@@ -24,9 +25,9 @@ SESSION = os.environ.get("REPORT_SESSION", "cc-ci-report")
|
||||
WORKDIR = os.environ.get("REPORT_DIR", "/srv/cc-ci")
|
||||
LOG_DIR = os.environ.get("LOG_DIR", "/srv/cc-ci/.cc-ci-logs")
|
||||
BACKEND = os.environ.get("REPORT_BACKEND", "opencode")
|
||||
TIER = os.environ.get("LOOP_TIER", os.environ.get("REPORT_TIER", "zen"))
|
||||
TIER = os.environ.get("LOOP_TIER", os.environ.get("REPORT_TIER", "go"))
|
||||
_TIER_MODEL = {"go": "opencode-go/glm-5.2", "zen": "opencode/glm-5.2"}
|
||||
_DEFAULT_MODEL = _TIER_MODEL.get(TIER, _TIER_MODEL["zen"]) if BACKEND == "opencode" else "opus"
|
||||
_DEFAULT_MODEL = _TIER_MODEL.get(TIER, _TIER_MODEL["go"]) if BACKEND == "opencode" else "opus"
|
||||
MODEL = os.environ.get("REPORT_MODEL", _DEFAULT_MODEL)
|
||||
CLAUDE_BIN = os.environ.get("CLAUDE_BIN", "claude")
|
||||
CLAUDE_FLAGS = os.environ.get("CLAUDE_FLAGS", "--dangerously-skip-permissions")
|
||||
|
||||
@@ -44,11 +44,13 @@ WORKDIR = os.environ.get("UPGRADER_DIR", "/srv/cc-ci")
|
||||
LOG_DIR = os.environ.get("LOG_DIR", "/srv/cc-ci/.cc-ci-logs")
|
||||
|
||||
# LOOP_BACKEND / LOOP_MODEL take precedence (unified control from the operator).
|
||||
# LOOP_TIER selects the OpenCode subscription: "zen" (default) or "go". Go hit a monthly
|
||||
# usage limit; ZEN is the working alternative. Set LOOP_TIER=go when the Go limit resets.
|
||||
# LOOP_TIER selects the OpenCode subscription: "go" (DEFAULT — the only tier with a key on
|
||||
# this host) or "zen" (opt-in on a host that has a ZEN key). ZEN models are DEAD here — the
|
||||
# endpoint errors server-side, and env loss in the tmux→agent→launch-report chain is exactly
|
||||
# how it silently ate the 2026-09-18 weekly report. Never default back to zen.
|
||||
# Only affects the opencode backend; claude ignores the tier.
|
||||
BACKEND = os.environ.get("LOOP_BACKEND", os.environ.get("UPGRADER_BACKEND", "opencode"))
|
||||
TIER = os.environ.get("LOOP_TIER", os.environ.get("UPGRADER_TIER", "zen"))
|
||||
TIER = os.environ.get("LOOP_TIER", os.environ.get("UPGRADER_TIER", "go"))
|
||||
_TIER_CFG = {
|
||||
"go": {"model": "opencode-go/glm-5.2", "endpoint": "https://opencode.ai/zen/go/v1/chat/completions",
|
||||
"auth": "opencode-go", "label": "OpenCode Go"},
|
||||
@@ -58,7 +60,7 @@ _TIER_CFG = {
|
||||
if BACKEND == "opencode" and TIER not in _TIER_CFG:
|
||||
print(f"[upgrader] ERROR: unknown LOOP_TIER '{TIER}' — use 'go' or 'zen'", flush=True)
|
||||
sys.exit(1)
|
||||
_tier = _TIER_CFG.get(TIER, _TIER_CFG["zen"])
|
||||
_tier = _TIER_CFG.get(TIER, _TIER_CFG["go"])
|
||||
_DEFAULT_MODEL = _tier["model"] if BACKEND == "opencode" else "sonnet"
|
||||
MODEL = os.environ.get("LOOP_MODEL", os.environ.get("UPGRADER_MODEL", _DEFAULT_MODEL))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user