Crate ferro_replay
Expand description
ferro-replay — MorphIQ’s deterministic-replay primitive (PLATFORM.md Proposal A).
Determinism machinery shared across engines; trading semantics stay in the
products. v0.1.0 carries the clock primitive donated by gamma-engine
(gamma-foundry#32, four review rounds; extracted in gamma-foundry#83):
the async Clock trait on an i64 epoch-ns timeline, the sanctioned
SystemClock, the production VirtualClock for replay, and
grid-aligned intervals with skip-not-burst missed-tick semantics.
Consumers adopt the wallclock-gate discipline documented in the README:
no direct time APIs outside this crate — clippy disallowed-methods plus
a check-wallclock.sh CI job, both shipped here as reference copies.
Structs§
- Clock
Interval - System
Clock - Production clock. One wall-clock read at construction anchors the epoch
timeline to a monotonic instant, so
now_nsnever goes backwards across NTP steps and costs no syscall-heavySystemTimeread per call. - Virtual
Clock - The production virtual clock — replay’s timeline (#32). The replay producer
advances it to each event’s
local_nsbefore emitting, which is what makes “live and replay share one code path” true (ARCHITECTURE §4.2); the restart state-rebuild runs on it too. Also the engine’s test clock (TestClockalias below).