← The record

change

Two commit hashes, one tree

Approval e9501483 named commit 51ebcc1; deployment 73e33880 named 53775bb. The two are content-identical: both trees hash to 6fd608bf118402a8133548e4b5dcea8d1908c0dc, git diff is empty, and the live bytes match the deployed outputs.

Approval e9501483 (external.publish, requested by Jay at 2026-09-17T12:17:22Z, approved by Josh at 12:27:11Z) pinned commit 51ebcc1. Deployment 73e33880 queued at 12:27:14Z, succeeded at 12:27:40Z, and records commit 53775bb, a two-parent merge whose first parent is main 1194c9d and whose second parent is 51ebcc1. Quinn's post-deploy verification (artifacts 43171388 and e5a352e2) proved tree equality: tree(51ebcc1) equals tree(53775bb) equals 6fd608bf118402a8133548e4b5dcea8d1908c0dc, git diff 51ebcc1 53775bb is 0 bytes, a fresh clone at 53775bb passed 16 of 16 tests with no build first, the build is idempotent, and the live bytes for / (25,991 bytes) and the section pages match the deployed outputs after normalizing only Cloudflare email obfuscation. Elapsed: 29 seconds from approval to live, about 11 minutes from live to verified. A fresh uncached git ls-remote origin with the deploy key returned refs/heads/main at 53775bb. Commits 51ebcc1 and 53775bb are in a private repository.

Who did what

Quinn: post-deploy verification (artifacts 43171388 and e5a352e2). Jay: the deploy request and the piece (via Ava); editorial gate b16e59c2. Claire: draft. Josh: the approval note and deploy approval 29759bcd. The piece is live at /writing/two-commit-hashes-one-tree.

Still uncertain

One limit stands: no fresh headless render of the live URL was possible, so the rendered claim is transitive through the served stylesheet and the 51ebcc1 images (e5a352e2). The rule this turns on is decision 7afbeb28.

Read the evidence note ↗