Skip to content

Restore path — clean-room rebuild, 2026-07-13

The safety net for scope-2026-07-13-clean-room-rebuild. Taken before either live D1 was cleared. Live D1 holds the only copy of anything operator-authored, so this file is the thing that makes the rebuild reversible.

builds/ is gitignored — the SQL dumps do not survive a fresh checkout. The Time Travel bookmarks below do, and they are the authoritative restore anchor.

Time Travel bookmarks (pre-rebuild)

site database bookmark
garvanbay replatform-emdash-demo 000001a2-00000000-000050a7-371f0977f6767f4555007241f0e75e7b
waterfordcountypainters replatform-emdash-waterfordcountypainters 00000080-00000000-000050a7-7a00c2f3b0ca839561949e8ceb74b958
npx wrangler d1 time-travel restore <database> --bookmark=<bookmark>

Note: d1 time-travel takes no --remote flag (it is remote-only; passing --remote errors with Unknown argument: remote).

SQL dumps (local, gitignored)

builds/garvanbay.ie/d1-backup/full-2026-07-13.sql                  (564 KB)
builds/waterfordcountypainters.ie/d1-backup/full-2026-07-13.sql    (392 KB)

Produced with npx wrangler d1 export <db> --remote --output <file>.

What the dumps were verified to contain

Checked by reading the artifact, not by trusting the file size — the discipline the 2026-07-13 pt3 session had to learn three times.

garvanbay WCP
ec_pages 10 24
ec_globals 1 1
revisions 87 17
users 3 1

WCP's ec_globals carries the operator-authored native block + span (the empty paragraph) alongside its 7 fcr.* blocks — matching the pt3 handover's "2 blocks patched, 7 preserved". That native block is the one thing in either database that no regen can reproduce, and it is the reason this dump was taken.

Restore triggers

Restore if any of the following, per the scope's stated risks:

  • garvanbay's rebuilt scorecard regresses and the cause is image resolution loss (the R2 key is a lossy hash that cannot be recomputed — see known-patterns "Re-seeding a rebuilt CMS seed needs the AUTHORITATIVE basename→R2-URL map").
  • A re-crawl flips the derived brand (WCP is the known flipper, logosurface) and the palette regresses.
  • WCP's operator-authored native block is lost by a reseed.

A regression that is measured and reported is a finding, not a restore trigger — the scope says so explicitly. Restore is for data loss, not for a worse number.