5e154fa152
store_scan_nodes/store_scan_edges deduplicated emitted records by their 64-bit id_hash (FNV-1a-64) rather than the full id string. Two distinct ids that collide under id_hash emitted only the first; the second was durably on a live page and findable by store_get_node (which disambiguates by strcmp), yet silently dropped from the resident boot-load. After any store reopen that node was unretrievable by id, absent from lexical search, and missing from the recent list — the reported memory-integrity gap. Replace the hash-keyed U64Set with a StrSet: bucket by id_hash for O(1) probing but compare full ids by strcmp, mirroring the primary B+-tree readers. Same change for edges. Adds test_scan_collision.c (real FNV-1a-64 colliding ids).