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
Deterministic UUID Generation: Added Rng.uuid() and SimEnv.uuid(), generating RFC 4122 v4 UUIDs deterministically from the seeded PRNG.
Settle Outcome Visibility: Simulator.settle() now returns Promise<SchedulerRunResult>, reporting { completed: boolean, steps: number } so scenarios can verify whether the event heap reached quiescence.
Active Network Configuration Seam: Added getConfig() method to SimNetworkLike, BasicNetwork, and SimNetwork, and exposed config inside NetworkContext.
Fixed
In-Flight Partition Drops: SimNetwork and BasicNetwork now check partition status at delivery time as well as send time, ensuring in-flight packets are dropped if a partition began while the packet was in transit.
Post-Settlement Invariant Evaluation: expectInvariant now evaluates immediately against sim.getWorld() when registered after the event queue has already drained, eliminating silent false-positives.
Failure Capsule Configuration Accuracy: Simulator.configSnapshot() now extracts the active network configuration from net.getConfig?.(), ensuring that custom drop/duplicate probabilities are accurately captured in failure capsules.
Scheduler Past-Time Event Guards: Scheduler.schedule() throws early if an event timestamp is in the past (time < clock.now()), naming the offending timestamp and preventing heap ordering corruption.
Async Continuation Rejection Handling: Scheduler.run() captures asynchronous Promise rejections in continuations, draining microtasks and surfacing errors cleanly through the simulation loop rather than triggering process-level unhandled rejections.
PRNG Zero-State Validation: Rng.setState() validates that at least one state word is non-zero, preventing xoshiro256** from collapsing into an absorbing zero state.
CRDT Harness Anti-Entropy Convergence: Added partition heal anti-entropy synchronization in examples/crdt/harness.ts to ensure eventual consistency verification runs cleanly.
CLI Sweep Input Validation: chronos sweep validates that --seeds is a positive integer, rejecting negative or non-numeric arguments with a descriptive error.