{"version":"2.1.108","anchor":"repl-replay-and-drift-detection","canonical_anchor":"repl-replay-and-drift-detection","heading":"REPL Replay and Drift Detection","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.108\/e\/repl-replay-and-drift-detection","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.108","markdown":"### REPL Replay and Drift Detection\n\n**What**\n\nInfrastructure for replaying REPL code blocks after compaction to validate that execution produces consistent results.\n\n**Details**\n\n- Extracts code blocks and tool calls from conversation history for replay\n- Caches tool call results to replay against\n- Detects nondeterminism: \"likely nondeterminism (Date.now, Math.random) took a different branch\"\n- Throws `ReplayCacheExhausted` when replayed code makes more tool calls than the original\n- Reports replay status: \"N blocks replayed cleanly\"\n\n**Evidence**\n\nReplay infrastructure (search for `\"REPL replay\"` and `\"ReplayCacheExhausted\"`)"}