mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-11-10 20:57:49 +08:00
The projection-cache writer preserves lossless JSON, including own keys named __proto__. The z.json reader rebuilds objects and drops those keys, so opening the same stored checkpoint can produce state different from Session replay. This affects embedded result metadata and opaque extension payloads as well as other projection state. Validate with the existing isJsonValue predicate used by the writer's snapshotJsonValue rules. It rejects non-JSON and lossy values without rebuilding valid borrowed records. Keep the stored representation and domain version unchanged: this is a reader correction, not a new cache format. Exercise a fixture captured through the actual pre-fix writer with a real StorageDomain open, rewrite, close and reopen. Preserve nested prototype-named keys and retain negative coverage for invalid JSON values. Document why this validation matches the storage-domain immutable borrowed-value contract. Use neutral arbitrary JSON in the new opaque-state fixture so this reader regression stays independent of Session message representation. Its own prototype-named keys and nested arrays are unchanged in purpose. Confirm the fixture matches the pre-fix StorageDomain writer output and that the old z.json reader fails its key-preservation assertion. No released Session recordings or historical cache fixtures are edited.