swactor/crates/dashboard/AGENTS.md
Zachery Aaron Shores-Chmielewski 2bf11e0fdb feat: actor view panels for the dashboard
Add read-only actor overview and per-actor dossier pages to the dashboard, fed by enriched per-actor runtime snapshots.

- `dashboard/swactor/actor_view`: new `ActorPanelView`, a tolerant frame consumer over `runtime.actors`/`runtime.stats` that folds per-actor snapshots and serves `/view/swactor/actor-overview` (roster) and `/view/swactor/actor-dossier` (per-actor detail), each backed by an embedded HTML template (`actor_overview.html`, `actor_dossier.html`)
- `dashboard`: register both views in `DashboardHandle` and export `actor_overview_view()`/`actor_dossier_view()` from the swactor module
- `swactor` core: enrich `ActorSnapshot` with `actor_type` and `message_type` (populated from `slot.actor.metadata()` in `ActorPool`) and add `ActorAddress::to_full_hex()` for untruncated display
- `myelin/orchestration`: publish actor stats to the dashboard via a `runtime.actors` channel producer (`stats_hook_on`) threaded through the distribution stack, and carry the orchestrator actor address into readiness signaling
- workspace `Cargo.toml`: add `default-members` for native iteration and a centralized `[workspace.dependencies] tokio` so members share one feature set; `dashboard/Cargo.toml` switches to `tokio.workspace = true`

Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
2026-08-03 14:18:24 +04:00

693 B

Dashboard crate contract

Keep this crate read-only with respect to observed programs.

  • It may ingest datastream frames.
  • It may retain bounded raw-frame and view state for HTML/API rendering.
  • It may host universal swactor runtime views.
  • It must not send control signals to observed runtimes.
  • It must not require changes outside crates/dashboard for dashboard-only work.

Main built-in views: /view/swactor/workers (worker-centric) and /view/swactor/actor-overview + /view/swactor/actor-dossier (actor-centric), all backed by runtime.stats, runtime.workers, and runtime.actors frames when present. Actor views are pure frame consumers and tolerant of publisher shape.