swactor/src
Zachery Aaron Shores-Chmielewski 7627ef3e18 feat: actor direct control via runtime admin
Add a RuntimeAdmin control plane for out-of-band inspection and mutation of live actors, bypassing their normal message handlers.

- src/admin.rs: add RuntimeAdmin + Admin<T> reply handle, the AdminCommand enum (ListActors, InspectActor, GetActorState, ReplaceActorState, StopActor, SuspendActor, ResumeActor), typed result types (ActorSummary/ActorStatus/ActorStateSnapshot/ListActorsResponse), and AdminError (ActorNotFound/AddressMismatch/TypeMismatch/Timeout)
- src/actor.rs: expose type-erased accessors on AnyActor — metadata() returning ActorTypeMetadata plus as_any()/as_any_mut() for downcasting — and Actor::inner()/replace_inner() so admin can snapshot or swap concrete actor state
- src/runtime.rs: wire a per-worker admin channel (admin_txs), expose Runtime::admin(), and implement the RuntimeAdmin ops that resolve an address to its owning worker, send the command, notify that worker, and return an Admin<T> handle; Admin::recv_ticking drives ticks and collects the reply
- src/worker.rs: add an admin_rx receiver and a drain_admin tick phase run before actor handlers, plus ActorPool helpers (actor_summary, get_actor_erased[_mut], suspend/resume/stop_actor_admin) that apply commands on the worker thread; fold admin_rx into the fast-idle has_work/tick_once checks
- tests/runtime_admin.rs: add 608 lines of end-to-end coverage for list/inspect/get/replace/stop/suspend/resume and the type-mismatch and not-found error paths

Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
2026-07-08 19:23:03 +04:00
..
std refactor(dashboard): rebuild around swactor worker view 2026-06-25 11:29:16 +04:00
actor.rs feat: actor direct control via runtime admin 2026-07-08 19:23:03 +04:00
admin.rs feat: actor direct control via runtime admin 2026-07-08 19:23:03 +04:00
channel.rs refactor: drop datastore crate, stale specs, and benches 2026-06-23 19:42:28 +04:00
config.rs feat: guarantees on runtime execution (#53) 2026-03-28 05:08:58 +00:00
delivery.rs refactor: drop datastore crate, stale specs, and benches 2026-06-23 19:42:28 +04:00
error.rs refactor(core): lock-free tick timings, infallible channel push (#28) 2026-02-10 07:35:58 +00:00
extension.rs refactor(core): prune std supervisor and registry surface 2026-06-24 15:04:39 +04:00
lib.rs feat: actor direct control via runtime admin 2026-07-08 19:23:03 +04:00
process_observer.rs refactor(distribution): prune diagnostics subsystem 2026-06-06 21:53:25 +04:00
runtime.rs feat: actor direct control via runtime admin 2026-07-08 19:23:03 +04:00
stats.rs refactor(dashboard): rebuild around swactor worker view 2026-06-25 11:29:16 +04:00
worker.rs feat: actor direct control via runtime admin 2026-07-08 19:23:03 +04:00