# Cache-restore determinism canary (token-identical across a fresh process) Cognition model: a Qwen3.6 MoE (35B-A3B, 8-bit), deterministic decode (temperature 0). ## What it verifies A saved KV cache, restored in a **separate operating-system process** that loads the same model weights with the same seed and same prompt, must produce a **token-identical** continuation versus the original in-memory decode. This underwrites the claim that the on-disk cache is a faithful re-entry point for a running agent: the cache IS the substrate of within-life continuity, not a lossy summary. The check runs as a release gate. ## Test design (two separate processes: this is the point) 1. CREATE (process #1): load the model, build a birth-frame cache, save it to disk, then decode the next N tokens from the live in-memory cache. Record these as the CONTROL tokens. 2. RESTORE (process #2, fresh): load the model, restore the cache from disk, decode the next N tokens, and compare token-id by token-id against CONTROL. Reuse within a single process would round-trip trivially; running the two phases as independent process invocations is what makes the check meaningful. Decode is deterministic (temperature 0). ## Verified measurement Configuration: a Qwen3.6 MoE (35B-A3B, 8-bit); deterministic decode (temperature 0); fixed sampler seed; birth-frame prompt of 435 tokens; cache file ≈ 70 MiB; N = 8 tokens. Result (from the restore report): ```json { "ok": true, "control_tokens": [271, 248068, 198, 760, 1156, 6587, 728, 310], "restored_tokens": [271, 248068, 198, 760, 1156, 6587, 728, 310], "control_text": "\n\n\nThe user wants me to", "restored_text": "\n\n\nThe user wants me to", "restored_finish_reason": "length", "restored_token_count": 8 } ``` Token-id-by-token-id identical across the process boundary. `ok: true`. A corroborating point from the separate cache-disruption replay work: 0-token ("no disruption") control restores reproduced the locked action stream exactly (20/20 identical decoded actions per arm), i.e. the restore path is faithful by default, and only deliberate cache surgery changes the continuation. ## What this does NOT claim - Not stochastic-sampler determinism. Temperature is 0 here; nonzero-temperature restore-equivalence would require explicit sampler-state constraints. - Not trajectory equivalence over long horizons. N=8 exercises the restore path; accumulated numerics diverge over hundreds/thousands of tokens in practice. - Not biographical continuity, autopoiesis, or lineage continuity. This is held-cache substrate fidelity across a process restart, nothing more. ## Reproduction note Two separate process invocations: phase=create, then phase=restore, comparing restored token ids against the saved control token ids. The implementation binds to the project's private model-backend interface (begin → save_state → decode; then restore_state → decode → compare) and is not published here.