loop: model fallback chain and foreground launches #243

Closed
opened 2026-09-04 03:20:11 +00:00 by logan · 1 comment
Collaborator

Two findings from the #31 tick, both of which would strand an unattended run:

  1. Model quota is a leg-level failure, and the fallback chain was undocumented. The worker (pinned qwen/deepseek-v4-pro-0813) hit the qwen weekly 429 mid-tick. The obvious fallback deepseek/deepseek-v4-pro is wrong: the deepseek provider has no models, only catalog overrides, and fails silently (empty artifact, no session). The model actually lives on the go gateway as go/deepseek-v4-pro (PAYG, what the orchestrator session itself runs on); go/glm-5.3-flash is the next rung down and is what completed the tick. The skill must state: qwen 429 → go/deepseek-v4-progo/glm-5.3-flash, with the substitution journaled, and the T3 escalation model never spent on a quota substitution.
  2. Foreground subagent launches are the reliable mode here. The async runner died once without persisting a child session (nothing to resume), and emitted spurious "needs attention" nudges on runs that were already complete. The skill should say: launch legs in the foreground; a worker that dies mid-leg leaves uncommitted work, so recover by inspecting the tree and relaunching to complete, never to re-implement.
Two findings from the #31 tick, both of which would strand an unattended run: 1. **Model quota is a leg-level failure, and the fallback chain was undocumented.** The worker (pinned `qwen/deepseek-v4-pro-0813`) hit the qwen weekly 429 mid-tick. The obvious fallback `deepseek/deepseek-v4-pro` is wrong: the `deepseek` provider has no models, only catalog overrides, and fails silently (empty artifact, no session). The model actually lives on the `go` gateway as `go/deepseek-v4-pro` (PAYG, what the orchestrator session itself runs on); `go/glm-5.3-flash` is the next rung down and is what completed the tick. The skill must state: qwen 429 → `go/deepseek-v4-pro` → `go/glm-5.3-flash`, with the substitution journaled, and the T3 escalation model never spent on a quota substitution. 2. **Foreground subagent launches are the reliable mode here.** The async runner died once without persisting a child session (nothing to resume), and emitted spurious "needs attention" nudges on runs that were already complete. The skill should say: launch legs in the foreground; a worker that dies mid-leg leaves uncommitted work, so recover by inspecting the tree and relaunching to *complete*, never to re-implement.
logan added the Kind/Bug
Priority
Low
4
labels 2026-09-04 03:20:11 +00:00
logan self-assigned this 2026-09-04 03:20:17 +00:00
logan added the
Status
In Progress
label 2026-09-04 03:20:17 +00:00
Author
Collaborator

⟦loop⟧ P1 finding, taking immediately. Branch fix/243-model-fallback.

Approach: two notes in .pi/skills/yj-loop/SKILL.md — a model fallback chain under the legs table, and a foreground-launch rule. No code.

⟦loop⟧ P1 finding, taking immediately. Branch `fix/243-model-fallback`. Approach: two notes in `.pi/skills/yj-loop/SKILL.md` — a model fallback chain under the legs table, and a foreground-launch rule. No code.
logan closed this issue 2026-09-04 03:37:29 +00:00
gitea-actions bot removed the
Status
In Progress
label 2026-09-04 03:37:40 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: yonlu/yellowjacket#243