journal: 2026-08-07 run finished; supervisor-gate, report-pin, and subagent-model bugs fixed

This commit is contained in:
autonomic-bot
2026-08-10 15:57:25 +00:00
parent 80008da80d
commit 8f85a238cc
+28
View File
@@ -842,3 +842,31 @@ session cc-ci-orchestrator-stale can be killed; recipe-mirrors org still private
- Debug gitea tokens minted for the drone triggers all deleted (ids 55-57); the two 401s during
verification were transient git.autonomic.zone blips (sops bridge token verified valid, 200).
- Operator review queue: keycloak #5, mailu #6, discourse #6 all green + reflected.
## 2026-08-10 — 2026-08-07 weekly run FINISHED + three real bugs fixed
- The 2026-08-07 run did all 18 per-recipe upgrades then died at the summary step on the provider's
monthly cap (05:26 UTC) — and then sat unfinished and UNREPORTED for 3 days. Operator raised the
cap; a finish-run wrote upgrade-all-2026-08-07.md and published week-2026-08-07.html
(privacy-linted; only false positive is Ghost's own "billing search" changelog text).
Result: 17 surveyed, 14 GREEN, 0 new failures, 2 up-to-date, 1 long-standing cross-major hold.
- BUG 1 (3-day silence) — supervisor progress gate. _run_pids() substring-matched the WHOLE cmdline
for the session name, and an agent's kickoff PROMPT is an argv element: the supervisor's own
billing-hung agent contained "cc-ci-upgrader" and matched as a live upgrader run. It read its own
corpse as health ~60 times. Now matches FLAG VALUES (--title/-s) only, AND progress requires the
SESSION TREE to have advanced — a live-but-idle proc is not progress (that proc spun 3 days
emitting nothing). Billing-walled runs are REPORTED, never killed (operator policy): they may
resume when the wall lifts. Commit d441c6c.
- BUG 2 (my regression from the 2026-08-04 pinning work) — launch-report.py never cleared/re-pinned
its session id, so the shared watchdog resolved a PREVIOUS report session that already carried
RECIPE REPORT COMPLETE, declared "run completed" and exited in 3 min, leaving the live report
unwatched. start() now archives titles, clears the pin, and re-pins after launch (same contract
as the upgrader). Commit 242a6d9.
- BUG 3 — the deepseek subagent config never bound; the entire 2026-08-07 run billed as glm (17/17
subagents). Root cause is PLACEMENT, not the .jsonc extension (that parsed fine): launcher-started
sessions pass no --dir so they inherit the opencode SERVE process's project
(/srv/cc-ci-orch/cc-ci), and task-tool subagents inherit their parent session's directory. The
config now lives in the cc-ci repo at that path. VERIFIED end-to-end with the launcher's exact
invocation: parent=glm-5.2, subagent=deepseek-v4-pro read back from the session DB.
LESSON: `opencode debug config` proves resolution, NOT binding — only a live subagent's recorded
modelID proves binding. First attempt was a false pass because the probe passed --dir (unlike the
real launcher) and landed in a different project.