Expand description
ATM Daemon - Session registry and broadcast server
This crate provides the core infrastructure for the ATM daemon:
registry- Session registry actor for tracking Claude Code sessionsserver- Unix socket server for client connectionsmonitor- Process monitoring for CPU/memory tracking
§Architecture
┌─────────────────────────────────────────────────────────────┐
│ atmd daemon │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────────────────┐ │
│ │ DaemonServer │────▶│ RegistryActor │ │
│ │ (Unix Socket) │ │ (session state owner) │ │
│ └────────┬────────┘ └──────────────┬──────────────┘ │
│ │ │ │
│ │ connections │ events │
│ ▼ ▼ │
│ ┌─────────────────┐ ┌─────────────────────────────┐ │
│ │ConnectionHandler│ │ broadcast::Sender │ │
│ │ (per client) │ │ (event distribution) │ │
│ └─────────────────┘ └─────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘§Panic-Free Guarantees
All production code in this crate follows the panic-free policy from CLAUDE.md:
- No
.unwrap(),.expect(),panic!(),unreachable!(),todo!() - All fallible operations return
ResultorOption - Channel operations handle closure gracefully