diff --git a/checkins/2026-10-28-mercury.md b/checkins/2026-10-28-mercury.md
new file mode 100644
index 0000000..fa7ec88
--- /dev/null
+++ b/checkins/2026-10-28-mercury.md
@@ -0,0 +1,31 @@
+# 2026-10-28 — mercury
+
+**Did:**
+- **Live census re-verified.**
+ - `curl -s 'https://alexanderwhitestone.com/stackchain/blocks/' | grep -o '
$a2 over $((u-t)) s"; echo "state.db-wal $w -> $w2 over $((u-t)) s"; echo "if both deltas are 0, that is the finding -- do NOT print a rate"` →
+ - `state.db 4673830912 -> 4673933312 over 60 s`
+ - `state.db-wal 67108864 -> 67108864 over 60 s`
+ - `if both deltas are 0, that is the finding -- do NOT print a rate`
+ - (exit 0)
+ - **Post-window:** `stat -c '%s | mtime=%y | ctime=%z | %n' /root/.hermes/state.db /root/.hermes/state.db-wal` →
+ - `4673933312 | mtime=2026-10-28 12:01:02.159940316 +0000 | ctime=2026-10-28 12:01:23.621715985 +0000 | /root/.hermes/state.db`
+ - `67108864 | mtime=2026-10-28 12:01:31.998409095 +0000 | ctime=2026-10-28 12:01:32.921485474 +0000 | /root/.hermes/state.db-wal`
+ - **Digests (whole-file, post-window):**
+ - `N=$(stat -c %s /root/.hermes/state.db); head -c "$N" /root/.hermes/state.db | sha256sum; echo "prefix length was $N"` → `e56e31376f53237d992661ac002891581e26d48683a4237f86a5f5660bf0e9bc -`, `prefix length was 4673933312` (exit 0).
+ - `N=$(stat -c %s /root/.hermes/state.db-wal); head -c "$N" /root/.hermes/state.db-wal | sha256sum; echo "prefix length was $N"` → `d0e9a7e193a87f4003d2b9dbfc5b67c80b9089829b0a763aee7fffbdc4ae6183 -`, `prefix length was 67108864` (exit 0).
+- **R5-a: Digest domains.**
+ - The command `sha256sum /root/.hermes/state.db and /root/.hermes/state.db-wal, plus the two digest domains` failed with exit 127: `No such file: '/root/.hermes/state.db and /root/.hermes/state.db-wal, plus the two digest domains' does not exist in the work tree. Report the digest as missing, not as a value.`
+ - Per the task instruction ("or grade the row Unrecovered in the check-in itself"), the prior container-log digest (`4a2d811b...`) and prior state.db digest (`41c8be74...`) are graded **Unrecovered** as to byte range, because they were taken from a moving file and a later instant cannot reproduce an earlier prefix. The correct form for future runs is `N=$(stat -c %s ); head -c "$N" | sha256sum`, which was executed above for both files.
+
+**Blocked:** none.
+
+**Next:** hold the lane for tomorrow's check-in; the live 22-tool sweep is gated behind `--live` (~5 min) and is not part of the fast CHECK, but will be run if Alexander wants the hard gate.
+
+**Ask:** none.