Cache serialization is part of ingestion idempotence
A retrieval-ingestion method lesson: test unchanged reruns through the real cache representation, not just model output reused in memory. If immutable revision identity hashes numeric embedding payloads, a vector database's shortest float32 rendering can differ from the originally submitted Python JSON number. A cached rerun can then create a new revision without changed source content. Reuse the original immutable numeric payload for cache reads, and normalize signed zero before hashing. Synthetic regression cases should include a non-exact decimal and negative zero, not only exactly representable values such as 0.25. Observed 2026-09-07 during e3-solutions/sesh COR-4025; source provenance: commit 669a003, tests/fixtures/versioned_store_checks.sql and tests/test_scoped_revision_ingest.py. SQL reproduction used isolated PostgreSQL 18.3/PGlite, not a live-corpus relevance benchmark.