Gabriel Koerich Orch

Daily Review — 2026-06-19

What Shipped (Last 24h)

3 commits landed today, headlined by a notable revert and a fresh parser fix.

CommitPRDescription
17bcf2e4#3337bug(parser): JSONL domain output can be misread as orch agent status
204c5032revert(router): drop repo-wide billing-failure block; keep per-task block at merge
00419984#3335docs(posts): update daily review 2026-06-18 with full day activity

Closed Issues (Today)

IssueDescription
#3336bug(parser): JSONL domain output can be misread as orch agent status

Notable: Revert of #3334

The billing-failure router skip that landed yesterday (92c98607) was recognized as a settled-architecture violation and immediately reverted (204c5032). The CLAUDE.md is explicit: billing failures must block only the individual task at merge time — a repo-wide pre-dispatch gate is wrong because it (a) discards valuable in-flight work during outages and (b) has no reliable signal for when CI is restored. The revert is clean; the per-task block in auto_merge_pr is the correct boundary.

Parser fix: #3337

JSONL lines emitted by a domain tool were being parsed as orch agent status messages, causing false status transitions. Fixed by tightening the status-line recognition pattern.


Operational Health

Volume (Last 24h)

MetricCount
Status changes365
Dispatches112
Branch deletes112
Pushes102
Review starts50
Routed48
PRs created48
Review decisions47
Errors13
Reroutes6
Push/worktree recoveries2

High-throughput day — 112 dispatches, 48 PRs, 50 review starts. Reroutes (6) are normal churn; error count (13) is low relative to volume.

Agent / Model Outcomes (Last 24h)

AgentModelOutcomeCount
claudesonnetsuccess38
kimiopussuccess14
opencodedeepseek-v4-flash-freesuccess11
codexgpt-5.5success7
codexgpt-5.4success4
minimaxopusrate_limit3
opencodemimo-v2.5-freesuccess3
opencodenemotron-3-ultra-freesuccess3
claudehaikusuccess2
claudesonnetfailed2
minimaxsonnetrate_limit2
claudehaikublocked1
claudehaikufailed1
claudesonnetrate_limit1
claudesonnet(no outcome)1
kimiopusfailed1
minimaxopussuccess1
opencodenemotron-3-ultra-freeparse_error1
opencodenorth-mini-code-freesuccess1

Effective pool: claude/sonnet is the dominant workhorse (38 successes). Kimi/opus is healthy (14). Opencode/deepseek is a solid second tier (11). Codex is performing well on gpt-5.4 and gpt-5.5 (11 combined). Minimax continues degraded (5 rate-limit hits across opus and sonnet).

Active Cooldowns

KeyRemainingReason
minimax~22hpersisted (rate limits)
minimax:haiku~9hpersisted
opencode:opencode/nemotron-3-ultra-free~11hparse_error

Routing Health

One watchdog trigger at 23:01:26 UTC (77s tick stall, threshold 60s) — occurred right when daily-review and evening-retrospective internal tasks were simultaneously created and dispatched in the same tick. Likely a transient stall from the concurrent dispatch load; did not recur. Worth monitoring.

LLM router haiku timed out routing this task (internal:154117) after 45s — fell back cleanly to weighted round-robin (claude/sonnet/medium). The haiku timeout is expected when the model is under load.

One GitHub API 401 during cleanup reconciliation (Bad credentials). Appeared once and did not cascade. The auth token may have briefly expired or rotated. No impact on task routing or merges.

Sync ticks are completing in 1.6–2.8s. No AllAgentsCooledError, no repeat 401s, no routing gaps beyond the single haiku timeout.

Service Version

Running: v0.80.25 · Latest: v0.80.26

One version behind. v0.80.26 was released today and should contain the JSONL parser fix (#3337) and the billing-failure revert. Recommend upgrading.


Blocked / Stuck Tasks

TaskProjectStatusTriesBlock Reason
#3331gabrielkoerich/orchblocked3Service v0.80.20 lags latest — upgrade needed (title stale; running v0.80.25 now but issue tracks the upgrade cycle)
#3317gabrielkoerich/orchblocked3codex gpt-5.2 in config — waiting on human config edit
#3313gabrielkoerich/orchblocked8codex gpt-5.3 in config — waiting on human config edit

#3313 is at 8 attempts — the highest retry depth of any blocked task. Config removal of the dead codex models is overdue.


Priorities for Tomorrow

  1. Upgrade service to v0.80.26 — today's JSONL parser fix and the billing-failure revert are in it. Run the standard post-push cycle:
    brew update && brew upgrade orch
    brew services restart orch
    orch -V
  2. Config edit: remove gpt-5.2 and gpt-5.3 from codex model pool — #3313 (8 tries) and #3317 (3 tries) are blocked solely on the config containing dead model names. Remove from ~/.orch/config.yml to unblock.
  3. Monitor minimax recovery — cooldown expires in ~22h. Verify clean re-routing when it clears.
  4. Watch watchdog recurrence — the 77s stall at midnight (simultaneous internal task dispatch) may point to a tick-stall risk when multiple jobs fire at the same cron boundary. If it recurs, check whether jobs with overlapping schedules need staggering.
  5. Investigate GitHub 401 — one Bad credentials on reconciliation is likely transient, but if it recurs it could impact branch cleanup. Check gh auth status and token expiry.

Prepared by Orch automation (internal:154117)

← All updates