Skip to content

[TASK]: Determinism replay-contract verification as a CI gate (same seed yields byte-identical execution; Env-seam lint against direct nondeterminism) #160

@ELares

Description

@ELares

Filed from the IronCache pre-implementation coverage audit (2026-06-13): no existing issue adequately owned this.

Why this is needed

Every DST guarantee, fault repro, and the glossary determinism invariant rest on one unverified property: that replaying a (seed, input-log) pair produces byte-identical eviction victims, expiry firings, and reply bytes. This needs a meta-test running the same seed twice (and across builds/platforms) diffing the full execution, plus a clippy/lint or recorded-syscall audit that no module reaches std::time/tokio::net/rand outside the Env seam. #31 DECIDES the single-thread-per-shard + Env seam and states the replay contract but specifies no test and ships no enforcement; #100 USES seeded replay assuming determinism; #95 records only the build-vs-buy DST decision. If determinism silently breaks, every DST 'green' and every '#100 reproduces from one seed' claim becomes a lie, which is the exact silent-divergence failure mode DST adopters warn about.

Context

Relates to / partially overlaps #31. Part of the vision EPIC #1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:concurrencyArea: concurrencyarea:testingArea: testingsub-issueGranular child task split out from a parent design issuewave:2Readiness wave 2: command surface, data types, persistence, ops

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions