Repository navigation
Releases
Releases · sx4im/chronos
v0.3.0
Added
- Deterministic UUID Generation: Added
Rng.uuid()andSimEnv.uuid(), generating RFC 4122 v4 UUIDs deterministically from the seeded PRNG. - Settle Outcome Visibility:
Simulator.settle()now returnsPromise<SchedulerRunResult>, reporting{ completed: boolean, steps: number }so scenarios can verify whether the event heap reached quiescence. - Active Network Configuration Seam: Added
getConfig()method toSimNetworkLike,BasicNetwork, andSimNetwork, and exposedconfiginsideNetworkContext.
Fixed
- In-Flight Partition Drops:
SimNetworkandBasicNetworknow 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:
expectInvariantnow evaluates immediately againstsim.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 fromnet.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, preventingxoshiro256**from collapsing into an absorbing zero state. - CRDT Harness Anti-Entropy Convergence: Added partition heal anti-entropy synchronization in
examples/crdt/harness.tsto ensure eventual consistency verification runs cleanly. - CLI Sweep Input Validation:
chronos sweepvalidates that--seedsis a positive integer, rejecting negative or non-numeric arguments with a descriptive error.