You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds named simulation profiles (baseline, swarm, replay, and performance) that expand into run metadata, simulator options, and explicit
runtime-control application. The replicated-register swarm now uses the
shared profile and reports the expanded profile values in traces and failure
summaries.
Adds a durable-broadcast bug-search test that finds the planted
broadcast-before-sync bug under probabilistic crash-loss faults while keeping
the deterministic single-seed failure for readable traces.
Adds scheduler-backed Io.Group async/concurrent/await/cancel behavior with
deterministic task ownership, reuse, and process-kill cleanup.
Adds the simulated directory operations needed by ordinary storage engines:
absolute and handle-relative paths, create/open/access/stat, iteration,
directory syncing through File.sync, and process-coordinated blocking and
non-blocking advisory file locks. Directory namespace state now lives in SimDisk, so processes share it and crash metadata faults apply to it.
Adds a pinned lazy Ochi validation that starts the unmodified store, ingests
a line, flushes index/data tables, queries the line, crashes and reopens the
store, and verifies the same line through recovery.
Fixes a same-directory SimDisk.rename metadata allocation leak.
Fixes sector read-modify-write handling so short std.Io writes retain their
logical file length across crashes, and atomic rename discards pending writes
belonging to the replaced destination.
Fixes cross-process file-lock rekeying on rename so open lock holders release
the renamed path and source/destination waiters are preserved.
Adds process-scoped simulation std.Io backends with stable per-node
identity, shared listener/connection registration, and process-local futex
namespaces.
Adds logical process lifecycle controls: killProcess, registered process
initializers, and restart semantics that discard volatile state while
preserving durable disk state.
Fixes cross-process async closure cleanup so awaits release task closures
through the owning backend.
Requires callers to pass an allocator to Production.init, removing the
production default to std.heap.smp_allocator.
Retires completed scheduler task records after completion while preserving
stable task counts.
Narrows the public/internal module boundary so backend coordinators, task
runtimes, process runtimes, and teardown hooks are kept under explicit
internal roots.
Adds a release-symbol readiness check that verifies simulation-only symbols
are absent from release binaries.
Adds a contributor-facing repository layout guide.