swactor/crates/dashboard
Zachery Aaron Shores-Chmielewski ef9e1c98a3 refactor: mvp-system is now a standalone app, myelin
Promote the `mvp-system` workspace library crate to a standalone application at `apps/myelin`, rebranding the MVP system along with its binaries, node image, and spec.

- workspace `Cargo.toml`: swap member `crates/mvp-system` -> `apps/myelin` and drop `apps` from `exclude` so the app joins the workspace
- `apps/myelin/Cargo.toml`: declare package `myelin` with `autobins = false` and explicit `[[bin]]` targets `myelin-worker`, `myelin-orchestrator`, `myelin-chat`
- `apps/myelin/src`: move the whole `mvp-system` source tree and rebrand module surfaces (`chat/mod.rs`, `prompt/mod.rs`); add `bin/chat.rs` (`myelin::run_chat_from_args`) and delete the old `mvp_chat.rs`
- `apps/myelin/node-image`: relocate the worker image assets from `apps/mvp-node/` (Dockerfile, Dockerfile.base, tinygrad_worker.py, entrypoint, e2e script) and rename `MVP_SYSTEM_SPEC.md` -> `MYELIN_SPEC.md`
- `xtask`: rewrite build/reference paths for the rename (~1000-line churn); add `crates/dashboard/ACTOR_PANEL_SPEC.md`

Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
2026-08-01 14:06:10 +04:00
..
src refactor(mvp-system): establish module boundaries 2026-07-28 11:29:31 +04:00
.gitignore feat: stability for deployment and distribution (#44) 2026-02-19 14:39:33 +00:00
ACTOR_PANEL_SPEC.md refactor: mvp-system is now a standalone app, myelin 2026-08-01 14:06:10 +04:00
AGENTS.md refactor(dashboard): rebuild around swactor worker view 2026-06-25 11:29:16 +04:00
Cargo.lock refactor(dashboard): rebuild around swactor worker view 2026-06-25 11:29:16 +04:00
Cargo.toml feat: add mvp provisioning subsystem and datastream transport 2026-06-25 16:30:18 +04:00
README.md feat: rework datastream into catalog events, add gguf metadata 2026-07-12 10:14:34 +04:00

dashboard

Read-only HTML/SSE dashboard over incoming datastream frames.

The crate owns the Axum server, bounded raw frame window, and view registry. Component crates can keep their own view implementations beside their code and register them through DashboardHandle::register_view. The built-in swactor worker page is hosted here because worker/actor/message processing is universal to swactor programs.

Routes

  • GET / — dashboard index
  • GET /events — raw incoming frames as SSE
  • GET /api/frames — recent raw frame window
  • GET /api/views — registered view metadata
  • GET /view/datastream/live — generic live explorer over retained and incoming datastream frames
  • GET /api/view/datastream/live — bounded per-stream/channel explorer snapshot
  • GET /view/fleet — compact fleet overview and focused machine telemetry
  • GET /api/view/fleet — fleet and machine telemetry JSON snapshot
  • GET /view/swactor/workers — built-in worker page
  • GET /api/view/swactor/workers — worker page JSON snapshot

All state is derived from observed frames. The dashboard sends no control signals back to producers.