You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Closes the 9-item live-WS gap audit:
L37 LossChart now drives off liveTrainEvents — sparkline grows as
events arrive, not only on pipeline.run resolve.
L38 overflowSteps prop on LossChart renders red dashed bars at the
exact x positions of overflow events on the live curve.
L39 LiveTrainPanel polls Date.now() per second while in-flight;
when (now - last.ts) > stallSeconds (default 8s) it surfaces
'⚠ stalled X.Xs' so a hung backend is visible.
L40 finish:'ok' frame raises a one-shot toast 'train done' with
a dismiss button.
L41 useLiveTrainStream hook reconnects with capped exponential
backoff (500ms..5s) on unexpected socket close; tracks attempts
so the UI shows '↻ reconnect #N'. Skipped after the finish frame.
L42 stage_train per-step publish now carries grad_norms dict
(per-brick L2 norms via _safe_per_brick_grads).
L43 mem_mb on each event from mx.metal.get_peak_memory().
L44 expert_load array on each event when an MoE module is present
(last_router_output.load).
L45 /ws/verify/{spec_hash} WS endpoint + verify_event_bus + phase
publishes inside verify() (start → graph_built → resolve_shapes
→ memory_estimated → done). spec_hash helper sha256s canonical
VerifyParams JSON.
- tests/v4/test_verify_event_bus.py (4 cases): stable hash, phase
emit, no-subscriber no-op, route presence.
- tests/v5/test_train_event_bus_payload.py: per-step payload has
grad_norms/mem_mb/expert_load/ts fields.
- e2e 89: real pipeline.run + WS sparkline visible, finish toast,
overflow path on fp16. page.on('console') capture annotated into
test.info() so flaky runs leave diagnostic frames in the report.
0 commit comments