mirror of
https://github.com/garrytan/gbrain.git
synced 2026-07-28 06:23:01 +00:00
A page write is not 'done' until it is readable back. After the import transaction commits, verify the page resolves via getPage and its content_hash matches what was just written. On mismatch or miss, fail LOUDLY instead of reporting success, and record the failure in ingest_log (best-effort) so it is durable and agent-inspectable rather than a transient stderr message. This catches the silent-desync class: the page file exists on disk (or the git commit landed) but the DB index never picked the write up — the operation previously reported success while the page stayed invisible to every read path (get_page, search, query) until someone noticed the gap manually. Guard applies to both importFromContent (markdown) and importCodeFile. Tests: new write-verify-guard suite (hermetic PGLite) covering the happy path, index-miss, stale-hash, ingest_log record, and the put_page operation surface; import-file.test.ts mock upgraded to simulate a readable DB (writes are read-backable), matching the new guard. PRJ-2026-032 Co-authored-by: merlin-drizzyenterprises[bot] <144527811+merlin-drizzyenterprises[bot]@users.noreply.github.com>