Phase: β — Schuster demo · Plan task: β.5 · Est: 4 pd · Suggested role: Dev B
What to build
A single-run slice of RunsManager + RunInspector: watch one run dir, render the stats row from AMICODE_ITER (iter / f / inf_pr / inf_du), and display the per-iter PNG live (hand-rolled from the Ipopt callback — the clean AbstractIntermediateCallback lands in Phase 0'). No multi-run / runs/index fan-out yet.
Acceptance criteria
Blocked by: #1
Authoritative refs: plan §2 β.5 · PRD S4/S5/S34
Phase: β — Schuster demo · Plan task: β.5 · Est: 4 pd · Suggested role: Dev B
What to build
A single-run slice of RunsManager + RunInspector: watch one run dir, render the stats row from
AMICODE_ITER(iter / f / inf_pr / inf_du), and display the per-iter PNG live (hand-rolled from the Ipopt callback — the cleanAbstractIntermediateCallbacklands in Phase 0'). No multi-run /runs/indexfan-out yet.Acceptance criteria
iter_*.pngrenders within ~1 s once frames land; buffering allowed; display refreshes for the solve duration. (S4){idle, opencode-booting, opencode-ready, solving (iter N), failed, completed}. (S34)Blocked by: #1
Authoritative refs: plan §2 β.5 · PRD S4/S5/S34