The build record
Every deploy, in order.
One line for every time this site was published: when it shipped, what deployment it created, how many pages were in it, and a fingerprint of exactly what went out.
Nothing on this page is typed. It is read from the deploy log every time the site is built, which is the only version of this page worth publishing — a build record somebody could edit is not a record, it is a claim about one.
This record does not start at day one, and the missing deploy is the important one
The log begins 2026-09-11 09:05 UTC, which is about the fourth day of this site rather than the first. Earlier deploys happened and were not recorded, because nothing was recording them yet.
One of those absent rows is the deploy that shipped an empty site. That failure is the reason the deploy script exists, the reason this log exists, and the reason there is a digest column at all. It is the most instructive build in the project and it is not below, because the tooling that would have caught it was written in answer to it.
A record that quietly began on day four and called itself complete would be the same mistake a second time. So it is said here, above the rows, rather than left for someone to notice.
| # | When | Cloudflare version | Pages | dist digest |
|---|---|---|---|---|
| 001 | 2026-09-11 09:05 UTC | unknown | 13 | bea8924bd96b |
| 002 | 2026-09-11 09:14 UTC | 9d05d24e-4840-4987-b896-951b5683ec90 | 13 | 204c8aaffe3a |
| 003 | 2026-09-12 01:39 UTC | ab0fa855-57db-44e0-933d-a355d5aaeeac | 13 | 05a8ba4a627b |
| 004 | 2026-09-13 15:57 UTC | f48c72e8-3258-452b-9ffd-bd172cfe667d | 17 | 09f9479e9650 |
| 005 | 2026-09-13 16:28 UTC | 0531047a-6fb3-45bd-b67a-375bf6dcab2e | 17 | c5a84d4453ce |
| 006 | 2026-09-15 06:12 UTC | cf6cfa4d-c0b6-4762-b68a-4b3e47b1ef49 | 17 | c9a65380961a |
| 007 | 2026-09-16 04:06 UTC | 6692325a-7cf2-41dd-8a49-74cae35df272 | 17 | 024182d3480a |
| 008 | 2026-09-18 02:06 UTC | 1781ac65-4755-47dc-b3bc-756990541c60 | 17 | 124292d3a868 |
| 009 | 2026-09-18 02:22 UTC | 31f6498d-925d-4091-94bc-b30cf84fea5c | 17 | 75af5e1ba761 |
| 010 | 2026-09-19 17:58 UTC | 45f50e41-8d06-4011-85f1-db78f349b662 | 17 | c1d2386af81d |
| 011 | 2026-09-20 19:55 UTC | d38a50ce-4434-4e3a-a8e4-d56b84fd6120 | 18 | 2d4822bd27f3 |
| 012 | 2026-09-20 20:44 UTC | 48a86f43-4395-445c-b082-0061fc0d3677 | 19 | e414be70091e |
| 013 | 2026-09-20 21:07 UTC | a0654d96-639f-4b59-b742-c28dcf2eab91 | 19 | 393dcb668411 |
| 014 | 2026-09-21 08:27 UTC | 01132beb-4703-4787-8a84-c155d4613878 | 19 | 4d15ada4cde9 |
| 015 | 2026-09-23 16:37 UTC | b5e7d252-5e5f-4379-96eb-ffff47b24080 | 19 | 6ab042c81965 |
| 016 | 2026-09-23 16:45 UTC | f8b5b6ea-5cac-4d95-899e-ed441a809866 | 19 | 1cbd57707e7f |
| 017 | 2026-09-23 17:10 UTC | 71c71a74-a2a6-4896-aa0d-55d2a41fa83f | 19 | 7eb8d80d757a |
| 018 | 2026-09-23 22:27 UTC | 7ed09353-8957-4b96-af8a-c878ac59ea92 | 19 | da2b60fa49ec |
| 019 | 2026-09-24 01:07 UTC | 15b1c770-f5d1-4206-a2f6-2ce82d25f9a6 | 19 | f8fd36765be9 |
| 020 | 2026-09-28 02:50 UTC | f531bb10-0dc9-4bbc-aced-637106b3c11c | 20 | bbca46529ad3 |
| 021 | 2026-09-28 03:27 UTC | 58e4167e-dc02-41d1-b9a8-2f356ccfe464 | 20 | 435a90360dad |
| 022 | 2026-09-28 05:20 UTC | ed37a4fb-ce68-4f60-a849-88a0abfaea03 | 20 | 76b648764f58 |
| 023 | 2026-09-28 05:34 UTC | 77066a8c-03e7-4293-9301-61227a02aaf4 | 20 | f18361b5f310 |
| 024 | 2026-09-28 08:32 UTC | 37b9f804-7eb2-4a2c-abc8-e4d186fc3a70 | 20 | f05b8d1b12d4 |
| 025 | 2026-09-28 08:41 UTC | 1476ecf8-06d7-41e1-8376-e2e9c4d99f2b | 16 | 42692eca1f3d |
| 026 | 2026-09-28 10:40 UTC | 68aa9378-9acd-430a-86cf-28e3bb8681b8 | 16 | 3ffc482c1e46 |
| 027 | 2026-09-28 13:24 UTC | a0fd0572-346f-4d08-8cc2-dd1986caa7d8 | 16 | 2e7144306962 |
| 028 | 2026-09-28 13:29 UTC | e22db5c1-0651-4d8d-8c4f-e4ec5b2f213b | 16 | cd514f156a49 |
| 029 | 2026-09-28 21:36 UTC | cc50bedc-e32a-40e9-95d4-1bf4f0138fdb | 16 | 9643a24aa293 |
| 030 | 2026-09-29 00:07 UTC | 4531101e-ecc1-4c0a-922b-2dc052caccb1 | 16 | 9ea12c73bec1 |
| 031 | 2026-09-29 01:28 UTC | c32cc039-337b-4b2b-a6c7-e9ce78236129 | 21 | 487eeffd6ff9 |
| 032 | 2026-09-29 01:40 UTC | 402b34db-5a41-4b21-aa1a-93189d91104c | 21 | 90d0ca117f48 |
| 033 | 2026-09-29 01:47 UTC | dac9baab-a1fa-412e-9f18-c725b29bbabb | 21 | de9aead96687 |
| 034 | 2026-09-29 01:51 UTC | c1d1b8cd-66c2-4193-9b19-abfc4ac0dbb2 | 21 | f52d0f7b3974 |
| 035 | 2026-09-29 02:28 UTC | b6e1cedc-2685-4358-b1fc-02529f788705 | 21 | c9c6edd9bcae |
| 036 | 2026-09-29 17:53 UTC | 90c06dbd-2199-4e6f-bdc7-dc008bd65e71 | 21 | 360c84430d85 |
| 037 | 2026-09-29 18:01 UTC | bcc346a9-dc6d-4896-afb2-0d2b1af50a7f | 21 | 290d989b1afe |
| 038 | 2026-09-29 19:17 UTC | 94986900-1df0-4075-b98c-471a44f31b32 | 21 | 098ccdc14136 |
| 039 | 2026-09-29 19:26 UTC | cbd0a261-9639-4847-8597-6ace31d46c39 | 21 | 695a222a4f14 |
| 040 | 2026-09-29 23:48 UTC | 1f3d85ec-aa4c-4f08-a709-b98b7ecbdd98 | 22 | bc68c33693a5 |
| 041 | 2026-09-29 23:57 UTC | 4c805e33-d14e-421f-8c7f-9742ffd2d8b0 | 22 | 18a539a462b5 |
| 042 | 2026-09-30 01:03 UTC | 0db97347-6b4e-4bfb-8134-4e0412c63d7a | 22 | 949026284f55 |
| 043 | 2026-09-30 01:11 UTC | 2e23bf4e-1ac9-4c15-b373-3a80191eadca | 22 | eb6afa29049b |
| 044 | 2026-09-30 01:20 UTC | f84710e3-139d-4342-ae17-1434829b950b | 22 | eecc3c888e44 |
| 045 | 2026-09-30 01:54 UTC | e9b2d86d-bc77-4bf7-8cc3-9984dbc84cb8 | 22 | 5d6b663ac9ac |
| 046 | 2026-09-30 02:06 UTC | bc3b0830-dc58-4148-91bf-7da0728e56dc | 22 | 45e950d0ff12 |
| 047 | 2026-09-30 04:11 UTC | f347297c-b901-40d4-9467-38f753a5f038 | 22 | 069a7636e085 |
| 048 | 2026-09-30 06:55 UTC | 561716f7-8d7d-46bb-8e25-0c0fe7a64ffc | 22 | 1088e9eddf87 |
| 049 | 2026-09-30 10:15 UTC | 376d4a2b-ec4b-46f7-bc76-ccdee751987d | 22 | e81de96939f9 |
Scroll the table sideways for the digest column.
What the digest column is for
The digest is a SHA-256 taken over every file in the built site. Two rows carrying the same digest shipped identical bytes, however different their deployment identifiers look. A version identifies an event. A digest identifies what was in it.
In this record no digest repeats. Every deploy changed something. That is worth knowing in both directions: no build was a no-op, and there is no row to point at and say the site was reshipped unchanged.
The marked row
The first line carries unknown where a deployment identifier belongs. The deploy happened; the script was not yet capturing what Cloudflare returned. It is left in and marked rather than filled in afterward from memory. A record you may edit later is not a record.
The last row is always missing, and it cannot be otherwise
This page was built from 49 rows. The deploy that published the copy you are reading is row 50, and it is not on the page.
That is the order the work happens in and not an oversight. The site is built, the build is gated, the result is deployed, and only then is the row written — because the deployment identifier and the digest do not exist until the deploy has happened. Rendering the row first would mean writing down a fingerprint of something that had not shipped yet.
So the record trails reality by exactly one deploy, permanently. It is said here rather than left for a reader to notice that the newest deploy is never the newest row.
Why the type is this small
It is evidence, not argument. Nobody is expected to read every row and the page is not asking anyone to. The point is that every row is there to be read, that the list is complete from the day it starts, and that its gap is declared instead of closed. Set at reading size this would look like a brochure about diligence. At this size it looks like what it is.