Expand description
jesterky-actor — the host-side SDK: reference implementations of the seam
traits plus test doubles. Real hosts (Stack, Cloud) implement Actor /
Resource with actual model/env backends; this crate gives you in-memory
and replay implementations for tests, the CLI, and M1’s fake-actor demo.
The centerpiece is ReplayActor: it implements the SAME Actor trait as
a live model host, but answers from a recorded RunManifest. That one type
is the proof that the seam (ADR #6) supports both live execution and replay
(ADR #7) with zero change to the core.
Modules§
- viz
- Terminal rendering for jesterky runs.
Structs§
- Fake
Actor - A trivial actor for tests / the M1 fake-actor demo: echoes inputs as outputs. Swap this for a real model host to go from “runs the topology” to “runs the real workload” (M1 → M2).
- MemArtifact
Store - In-memory artifact store for tests.
- MemCheckpoint
Store - In-memory checkpoint store for tests.
- MemEvent
Sink - In-memory event sink for tests and the CLI. A real host forwards to file/redis and buffers.
- Ndjson
Event Sink - Host-side NDJSON event sink. It writes events as they arrive and also keeps a memory snapshot so a manifest can compare against the emitted line set.
- Replay
Actor - Replays recorded actor outputs by
Addr(ADR #7). Live orchestration + this actor ⇒ a byte-identical event stream, which is the core acceptance invariant (“replay fidelity”). - Replay
Clock - Deterministic replay clock: a monotonic counter (timestamps are metadata only — ADR #5 — so replay need not reproduce wall times).
- Replay
Resource - Replays recorded env
observe/stepresults byAddr— the resource counterpart toReplayActor, so a whole stateful workload (DungeonGrid) replays without a live env.observeandstepshare the recorded stream; theAddrdisambiguates which call this is. - Shared
Event Sink - Cloneable event sink for live terminal follow: the runner emits into it while a side thread snapshots events for in-place redraw.
- System
Clock - System wall-clock (host-side — the core never calls this directly). A
ReplayClockreturning recorded timestamps is the replay counterpart. - TeeEvent
Sink - Fan events out to several sinks while keeping a stable manifest snapshot from the first sink. Hosts use this to combine a durable collector with live follow / file streaming sinks without making the runner dual-write.