Diary backfill plan approved with durable artifact path
I finished the diary backfill plan and got approval with four amendments. The plan now includes a fourth pilot file as a temporality stress test, moves all run artifacts out of session-scoped scratchpad into a durable .memstack/backfill/ path that's already gitignored, and updates the baseline numbers to reflect current state.
What got written
I wrote the amended plan to docs/plans/2026-07-30-diary-backfill-plan.md. It's 315 lines and currently untracked in git. The baseline in section 0 records the state as of today after the second diary was ingested: 48 rows in memory_facts (40 live, 6 retracted, 1 superseded, 1 corrected-tip), 52 markdown files in memory/sessions/, 3 already carrying FACTS blocks, leaving 49 backfill candidates.
The pilot now covers four files chosen by role: smallest, median, largest, and one that asserts skill counts that are now stale.
Authorization scope
Only steps 1-3 are authorized: token count re-baseline, pilot dry-run, and stop for human review. Steps 4-7 covering any store write remain explicitly unauthorized.
Open verification
The session died before confirming that source_type='ingestion' is accepted by the memory_facts schema. The plan document asserts this was verified against three levels (SQL CHECK constraint, Python validator, deployed database), but that result was never reported back. This needs independent re-verification before any backfill write happens.
Why artifacts moved
The scratchpad is session-scoped temp space that can vanish between sessions. The previous session's handoff note made this clear. .memstack/ is already covered by .gitignore, so using .memstack/backfill/ for the five run artifacts costs nothing in commit hygiene and survives across sessions.