Commit graph

24 commits

Author SHA1 Message Date
Claude
c7a0bd2523 feat(dashboard): per-actor logging with tracing integration (Stage 7)
Add actor-level tracing span in worker tick_all to propagate actor_addr
to user log events. DashboardLayer now extracts actor_addr from both
span extensions and event fields. EventStore gains read_for_actor() for
filtered log queries.

Web actor detail page gets a live-updating log panel with per-level
filter buttons (ERR/WARN/INFO/DBG/TRC) and auto-scroll. TUI actor
detail view adds scrollable log panel with j/k navigation and 1-5 keys
for level toggling. REST endpoint at /api/logs?actor=<hex>&limit=N&level=L.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:20:23 +07:00
Claude
991b212191 feat: message flow topology visualization (Stage 6)
Add worker-level message flow topology with force-directed graph
visualization on a dedicated /topology web page.

- topology.rs: worker_topology() derives graph from cross_sends/local_sends
  stats (TopologyNode, TopologyEdge, TopologySnapshot)
- /topology page with interactive force-directed graph layout:
  - Nodes sized by actor count, colored by worker
  - Edges show local sends (green self-loops) and cross-worker sends (blue)
  - Edge thickness proportional to message volume
  - Physics simulation with repulsion, attraction, and gravity
- SSE "topology" event emitted every ~1s (every 5th stats tick)
- /api/topology REST endpoint for on-demand snapshot

Infrastructure ready for future per-actor topology with core instrumentation.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:20:23 +07:00
Claude
70555c2daf feat: warning/anomaly detection system (Stage 5)
Add automated detection of 6 runtime anomaly types with severity levels:

- PoisonedActor (critical): actor panicked
- StalledActor (high): no message processing while mailbox > 0
- GrowingMailbox (medium): consecutive increases in mailbox depth
- MailboxOverflow (medium): messages dropped (backpressure triggered)
- WorkerImbalance (low): one worker has >2x average actor count
- EmptyWorker (low): worker has 0 actors while others have many

Configurable thresholds with sensible defaults. 7 scenario tests covering
all warning types, threshold behavior, and streak reset logic.

Web: warning banner at top of overview page with severity-colored alerts
TUI: warning count in summary bar (yellow when active)
SSE: new "warnings" event sent with each stats tick

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:20:23 +07:00
Claude
6cfafa04b7 feat: per-worker utilization visualization with phase bars (Stage 4)
Replace the basic canvas bar chart on the web overview with rich worker
cards showing:
- Stacked phase-timing bars (processing/delivery/spawns/overhead)
- Load percentage derived from tick timing active ratio
- Inline sparklines from history (message rate trends)
- Actor count, messages processed, mailbox depth stats
- Color legend for phase identification

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:20:23 +07:00
Claude
41930ef8f4 feat: search and filter for actor tables (Stage 3)
TUI:
- Press / to enter search mode (vim-style), type to filter actors in
  real-time by address, message type, or worker ID
- Enter locks the filter, Esc clears it
- Navigation bounds respect filtered results

Web (actors page):
- Worker dropdown filter (dynamically populated from live data)
- Status filter (All / Healthy / Poisoned)
- Mailbox depth threshold filter (min depth)
- Text search now also matches message type names

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:20:23 +07:00
Claude
5e3a779cba feat: actor detail drill-down view (Stage 2)
Add dedicated actor detail page accessible from both web and TUI surfaces.

Web:
- /actor/<hex> page with live-updating stats, sparkline charts for message
  rate and mailbox depth, status badge, worker assignment
- Actor addresses in overview and actors pages now link to detail page
- Actors page detail panel links to dedicated detail page

TUI:
- ViewMode::ActorDetail with per-actor sparklines (rate + mailbox)
- Enter on actor row opens detail, Esc returns to previous view
- Per-actor ring buffer history (60 samples) tracked in App state

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:20:23 +07:00
Claude
144b4ca5ef feat: time-series history infrastructure with sparklines (Stage 1)
Add in-process ring buffer history for per-worker and per-actor stats,
with sparkline rendering on both web (SVG) and TUI (ratatui) surfaces.

- history.rs: DashboardHistory with bounded VecDeque ring buffers, LRU
  actor eviction, thread-safe RwLock, 4 unit tests
- SSE producer records stats every tick, sends initial history snapshot
- /api/history REST endpoint for on-demand history JSON
- Web: inline SVG sparklines in worker detail headers (rates + mailbox)
- TUI: per-worker Sparkline widgets in overview layout

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 21:20:23 +07:00
29b4f53d69 feat: extended features and testing for the WASM runtime actor prototype (#36) 2026-02-13 14:11:39 +00:00
b4312676a6 feat: skeleton for in browser swactor engine (#35)
Skeleton up for a web browser swactor engine that is capable of connecting with a cluster.
2026-02-13 13:27:34 +00:00
cd1816e398 feat: distribution simulation tests (#34)
Test cluster behavior in simulation.
2026-02-13 13:18:38 +00:00
a7124cb3d4 distribution realization (#33)
Write tests for docker integration, as docker is how we will initially handle distribution on heterogeneous hardware.
2026-02-13 07:55:12 +00:00
78cbd80803 skeleton of wasm runner actors (#32) 2026-02-13 07:42:44 +00:00
f4f26c9f41 major feature update
Improve the runtime, increase test coverage, add new actor types for monitoring and supervision to an `std` crate.
2026-02-13 07:11:24 +00:00
d817ad952f feat: distributed runtime (#30)
Major feature addition. For full details read `./docs/development_history/DISTRIBUTION.md`
2026-02-12 09:13:50 +00:00
076f1194bf feat: tui, agent interface, stats hook (#29)
Runtime dashboard now features a TUI option and an interface for LLM tool use. Removed some bloat from stats collecting and replaced with a hook function to dump runtime stats into.
2026-02-11 15:23:26 +00:00
2da9198ee9 fix: stats datatypes and refactor channel signature (#28) 2026-02-10 07:35:58 +00:00
ef08d3e7a5 feat: transport protocol (#27)
Address actors via ID, send messages over transport (TCP, QUIC, etc)
2026-02-09 19:05:37 +00:00
bc70d5fd89 feat: data parallel mnist example (#26) 2026-02-09 14:42:25 +00:00
845132ff18 feat: mt benchmark (#25) 2026-02-09 14:02:40 +00:00
d61ea50414 fix: gossip dashboard (#24)
Better, but still imperfect, performance in replay for large simulation sizes.
2026-02-09 09:07:38 +00:00
1a64f421bf feat: runtime dashboard and docs (#23)
Live and replay demo for a runtime dashboard. Added docs with svg files.
2026-02-09 09:04:57 +00:00
09504d0b67 cfuzz (#22) 2026-02-09 07:24:16 +00:00
9beca6c5dc feat: gossip simulation (#21)
Simulate a simple push-pull epidemic broadcast.
2026-02-08 16:18:39 +00:00
75aefa0c49 refactor: repack external bindings into their own crates (#19) 2026-02-07 17:39:02 +00:00