Add Router<M> actor that manages a pool of identical workers and
distributes incoming messages via configurable routing strategies:
RoundRobin, Random, and Broadcast. Workers are monitored and
auto-replaced on failure with meltdown protection.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add coordinated restart strategies to the Supervisor actor. OneForAll
restarts all children when one fails; RestForOne restarts the failed
child and all children after it in spec order. Uses a SupervisorPhase
state machine to coordinate stop signals and Down confirmations.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add three features to enable Erlang-style supervision:
1. ActorInterface::handle_down() — callback for monitored actor deaths,
allowing actors to react to Down messages without making Down their
Incoming type. Backward-compatible: actors with Incoming=Down still
receive through handle().
2. ctx.stop_actor(addr) — send graceful stop to another actor from
handler context using PoisonPill semantics.
3. Supervisor actor — manages child actors with configurable restart
policies (Permanent/Transient/Temporary), OneForOne strategy, and
meltdown detection (max_restarts). Built entirely on existing
primitives (monitor, spawn, Down, lifecycle hooks).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reflect current state of tick_once (8 phases), TickContext (3 new
registries + stats_hook + worker_threads), TimerWheel, lifecycle
hooks, cleanup_dead with StopReason/Down notifications/registry
cleanup, and expanded Ctx/Runtime public API.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>