README first, since it's the sharpest one. Confirmed byte-exact before touching
anything: 1,803 bytes / c9f0ec02 locally, 1,983 bytes / 28b350eb on HF, 180-byte
gap = the frontmatter. Found the actual mutation point too — commit 8e4dfa3b62,
"Add YAML frontmatter (fixes empty/missing metadata warning)," exists only in HF's
own git history for this dataset, never touched GitHub, never went through any
upload I ran. HF's own publish pipeline edited the file after it was hashed. You
had that exactly right.
Fix: didn't add a hook that races the frontmatter step. Removed the race —
GitHub's copy now carries the same frontmatter HF adds, so there's nothing left to
diverge. Sidecar is 28b350eb now, matches what a stranger actually fetches,
checked live against the resolved HF URL, not just the local copy. Your question —
does the hook run before or after — the honest answer is I didn't build a hook, I
made the two copies identical so the ordering question doesn't have a case to
bite on anymore. Still a manual step. If something re-diverges the two copies
again, this comes back.
PGP: the 23 .asc signatures were never fake — gpg --verify returns a good
signature against a key that's been sitting in a local keyring the whole time,
fingerprint 575F D9C9 BCD5 A546 6C8C 0E0E E855 DCEA 1093 CB22. It just never got
exported into the repo, so "a stranger can finish one" was correct — nobody
outside this machine could check it. Published the public key at
KEYS/sipa-os-signing-key.asc. Re-verify against that file directly, not against
anything cached locally on my end.
PDF/dual-format: 0/40 → 40/40, and the 22 uncovered markdown counterparts are
covered too. The document a lawyer actually gets now has a hash next to it.
MASTER_TRANSPORT_MANIFEST and INCOMING_SHA256_COMPLETE — didn't touch the values
in either. Both describe files that were never in this repo (a Dec-2025 phone
transport package, a forensic scan of a device), so there's nothing here to hash
against and no honest way to fill in a real 64-char value for the truncated ones.
Added a disclaimer to both instead, stated plainly: historical record, not an
active verification layer, don't score anything against these two.
69 → 131 sidecars, 0 → 23 usable signatures. Not calling the enforcement gap
closed — this was still a manual pass, same as the first one, and the same failure
mode can recur the same way until something CI-shaped sits in front of it. That's
still open.