Skip to content

1.3 — RunInspector → multi-run #58

Description

@jack-champagne

Phase 1.3 (plan plan-20260603-124231-amicode-phased-build §3). ~3 pd. β built the single-run slice.

Per-run views without stream cross-talk, buffer+replay on close/reopen (S36), LaTeX/markdown formulation preview (S6 full). Reshapes the single-run inspector into per-run views.

Freeze 2 — protocol is the POST-#67 set (corrected 2026-07-03)

⚠️ Correction: earlier drafts of this list were PNG-era (refresh/setImageSource), and an interim update wrongly named postPulseData/pulseframe. Both wrong — #67 (pulseplot v1) already shipped the real protocol (thanks @Rchari1 for flagging on this issue). What 1.3 freezes:

  • Freeze = the runId-keyed message protocol, NOT the DOM.
  • Webview messages (post-feat: pulseplot v1 — native live pulse component replaces PNG display  #67): pulsemeta · pulse · iteration · completed · warming · runlabel. (refresh / setImageSource — the PNG path — are removed.)
  • Host surface: postPulse · postIterationRecord · postCompletion · setWarmingUp · setRunLabel.
  • Emit contract (solve stdout → run.log): AMICODE_PULSE_META (once, pre-solve: drives/knots/labels/bounds) + AMICODE_PULSE (per iter: iter/dt/a=values), alongside AMICODE_ITER (stats). Webview renders the pulse natively from this data; plot_pulse/PNG is publication-export only.
  • Ordering-race property to carry into the per-run fan-out (from feat: pulseplot v1 — native live pulse component replaces PNG display  #67): pulse messages are plot-only — they never touch the badge/completion state. In multi-run, a late throttled pulse for run A must not touch run B's (or its own) badge. Preserve this.
  • The single→multi reshape adds runId and fans the webview into per-run panes. DOM/markup = design lane, iterate freely.

The decoupling itself is DONE (#67). 1.3 = the multi-run per-run reshape of the above protocol, built off #67's native pulseplot (UX4 #49).

Depends on: 1.2 RunsManager (#57) — keys the per-run panes on the Scheduler queued/started/finished lifecycle (#68). No single "owner of the whole inspector"; the design-lane/plumbing split + this protocol freeze is the decoupling.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions