Commit graph

9 commits

Author SHA1 Message Date
Developer
669599a9e7 feat: cluster registry — gossip-propagated naming via LWW-Register CRDT
Add a ClusterRegistry that maps human-readable names to (ActorAddress, NodeId)
pairs, replicated across the cluster via SWIM gossip piggyback. Uses
last-writer-wins semantics with timestamp > generation > node_id tie-breaking,
and tombstone-based unregistration with configurable GC.

Key design: DistributedNode intercepts piggyback bytes on all outgoing/incoming
SWIM messages, wrapping them in a PiggybackPayload that carries both membership
updates and registry entries. SwimNode and DisseminationQueue remain untouched.

- New: crates/distribution/src/registry.rs (ClusterRegistry, pack/unpack helpers)
- Modified: node.rs (register_name/unregister_name/resolve_name API, piggyback
  interception, node death tombstoning)
- Modified: snapshot.rs (RegistryEntryInfo in DistributionNodeSnapshot)
- 12 behavioral tests in crates/distribution/tests/registry.rs
- Remove CLAUDE/ from git tracking, add to .gitignore

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
2026-02-13 07:34:44 +00:00
Developer
bf79d63be4 feat: command interface — frontend-agnostic dispatch crate
Add swactor-command crate that decouples command dispatch from the
dashboard, enabling the same commands from REPL, REST, TUI, or any
future frontend.

- CommandRouter with dispatch(), CommandHandler trait, CommandMeta
- CommandRequest/CommandResponse (serde-serializable JSON protocol)
- CommandContext with Arc<Runtime> + optional StatsEnricher trait
- 9 built-in commands extracted from investigate.rs:
  help, overview, workers, worker, actors, actor, hot, phases, diff,
  shutdown
- REPL line parser (parse_line) with positional arg mapping
- REST adapter (from_query_params) for HTTP query parameters
- Dashboard integration: StatsEnricher impl for StatsCollector,
  investigate.rs refactored to thin CommandRouter wrapper,
  server.rs updated to share CommandRouter across handler threads
- 18 behavioral tests in crates/command/tests/command_api.rs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 07:25:50 +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
845132ff18 feat: mt benchmark (#25) 2026-02-09 14:02:40 +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