A specimen, not a claim
How this site is made
This page is not an argument that the methodology works. It is the methodology working. The facts below are read straight from this site's own git record; the story around them is written down, and every written claim points at where you can check it. Where the record doesn't say why, this page says so.
The deploy counter was introduced mid-project (commit that added site.version) and seeded near v1.24: the earliest RECORDED bump is v1.25. Deploys before it — and chrome-only deploys since — advance the counter without being individually recorded as story-waypoints, so the counter (shown current in the footer) runs ahead of the 75 recorded deploy waypoints this spine derives, plus the pre-counter go-live. That gap is the honest coverage boundary — stated, not manufactured.
↻ This page was built by The Making — the system it describes — from the Receipts and the timeline's family. It carries its own waypoint — first shipped at v1.37, and re-derived on every refresh. Derived 2026-09-05 · 75 version bumps · 94 with an authored story.
loopmmt.com went live as a clean public mirror on GitHub Pages — the first thing the world could open. The methodology had spent months in a private repo; the site is the front door, and a front door only counts once it opens.
The engineering
loopmmt.com went live as a clean public mirror on GitHub Pages — the first thing the world could open.
- Live public commit:
55b0433 - Learned: The public site is a redacted MIRROR of the private canon, air-gapped by construction — content flows one way through a gate, never the private tree itself.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 07.2202, public 55b0433.
- Rejected: A self-hosted box path was scoped and set aside — GitHub Pages is the live serve-path; the box path is noted, not taken.
- Next stepping variable: Wire the homepage to the live rooms and retire the under-construction state.
[AI] machine digest
waypoint=go-live · date=2026-08-07 · live=55b0433 · session=07.2202Seated a MAJOR.MINOR version counter in every footer — a deploy counter rendered at build time, mirroring the software versioning convention. A public site with no version is a site you can't reason about over time; every deploy should be countable and every page should say which deploy it is.
▲ seed: 24 pre-counter deploys back-filled, not individually recorded
The engineering
Seated a MAJOR.MINOR version counter in every footer — a deploy counter rendered at build time, mirroring the software versioning convention.
- Diff: 3 files, +340 / −8
- Learned: The counter was seeded at 1.24 by back-filling 24 prior content deploys from the public repo log (26 commits minus 2 CNAME chrome ops). Deploys before the counter existed are real but not individually version-stamped — this ledger states that gap rather than inventing entries to fill it.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): commit ca20801ea.
- Rejected: Not applicable — this is the convention that makes the rest of the spine legible.
- Next stepping variable: Bump the counter on every deploy from here; each bump is a waypoint.
[AI] machine digest
waypoint=birth · date=2026-08-10 · session=— · diff=3f/+340/-8 · flags=1Shipped The Prompts — a page that shows the actual prompts behind the work — live for the first time. People kept asking what you actually type. The honest answer is a page, not a paragraph.
The engineering
Shipped The Prompts — a page that shows the actual prompts behind the work — live for the first time.
- Version: v1.24 → v1.25
- Diff: 2 files, +14 / −14
- Live public commit:
a860ba2 - Learned: A feature isn't shipped until the public SHA proves it; the canonical site.version is reconciled to the public deploy, not asserted ahead of it.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 10.1724, public a860ba2.
- Next stepping variable: Propagate the new page into the site navigation everywhere.
[AI] machine digest
waypoint=1.25 · date=2026-08-10 · live=a860ba2 · session=10.1724 · diff=2f/+14/-14Propagated The Prompts into the site navigation and reconciled the machine-digest layer to match. A live page nobody can navigate to is only half-shipped.
The engineering
Propagated The Prompts into the site navigation and reconciled the machine-digest layer to match.
- Version: v1.25 → v1.26
- Diff: 2 files, +3 / −3
- Live public commit:
447f6f2 - Learned: Nav is not one edit — it lives across many pages and two machine-digest indexes; propagate all in one pass or the site lies about itself.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 10.1724, public 447f6f2.
- Next stepping variable: Catch the pages where nav still hadn't landed.
[AI] machine digest
waypoint=1.26 · date=2026-08-10 · live=447f6f2 · session=10.1724 · diff=2f/+3/-3Fixed a navigation gap — the build-generated corpus and KP pages were missing the new Prompts link. Byte-truth caught it: the live generated pages didn't carry the link even after the manual nav edit, because the builder regenerates them and drops hand edits.
The engineering
Fixed a navigation gap — the build-generated corpus and KP pages were missing the new Prompts link.
- Diff: 2 files, +3 / −3
- Live public commit:
1be74dc - Learned: A nav change on a build-generated page must land in the BUILDER, not the output. Edit the source of the fold, never its shadow — or the deploy silently reverts it. (This is a recurring scar; it earned its own note.)
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 10.1724, public 1be74dc.
- Rejected: Editing the generated HTML by hand — it reverts on the next build.
- Next stepping variable: Continue nav consistency work across the page family.
[AI] machine digest
waypoint=1.27 · date=2026-08-10 · live=1be74dc · session=10.1724 · diff=2f/+3/-3Deployed prompt embed-cards — the prompts mixed into the apps gallery as live cards. The prompts and the apps they made belong next to each other; separated, each is less.
▲ record shows the WHAT; the why/rejected here are thin in the commit record
The engineering
Deployed prompt embed-cards — the prompts mixed into the apps gallery as live cards.
- Diff: 1 files, +1 / −1
- Live public commit:
0b1694d
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 10.1817, public 0b1694d.
- Next stepping variable: Unify the navigation label for the feature.
[AI] machine digest
waypoint=1.28 · date=2026-08-10 · live=0b1694d · session=10.1817 · diff=1f/+1/-1 · flags=1Unified the nav label to 'The Prompts' across 19 top-level pages and 2 builders, and regenerated the folded pages. Operator ruling: one name for one thing. Inconsistent labels read as carelessness.
The engineering
Unified the nav label to 'The Prompts' across 19 top-level pages and 2 builders, and regenerated the folded pages.
- Version: v1.28 → v1.29
- Diff: 23 files, +25 / −25
- Live public commit:
99b8c70 - Learned: A label sweep is a 21-surface edit (19 pages + 2 builders); the builders are the load-bearing two, because they regenerate the rest.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 10.2006, public 99b8c70.
- Rejected: Leaving the older label in place on some pages — an inconsistent label is a broken promise about attention to detail.
- Next stepping variable: Reconcile the counter and keep deploying.
[AI] machine digest
waypoint=1.29 · date=2026-08-10 · live=99b8c70 · session=10.2006 · diff=23f/+25/-25Reconciled the canonical counter to 1.30 as a deploy stamp.
▲ a reconcile/stamp bump — the record carries the WHAT (a deploy stamp), not a distinct feature why
The engineering
Reconciled the canonical counter to 1.30 as a deploy stamp.
- Diff: 1 files, +1 / −1
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 10.2109.
[AI] machine digest
waypoint=1.30 · date=2026-08-10 · session=10.2109 · diff=1f/+1/-1 · flags=1Reconciled the counter to 1.32 and refreshed the corpus map (a deploy seed). Version 1.31 has no separate recorded commit — the counter moved 1.30 to 1.32 in the record.
▲ gap: no separate 1.31 commit — counter reconciled 1.30->1.32
The engineering
Reconciled the counter to 1.32 and refreshed the corpus map (a deploy seed). Version 1.31 has no separate recorded commit — the counter moved 1.30 to 1.32 in the record.
- Diff: 2 files, +4 / −4
- Learned: The recorded spine is coarser than the number: some bumps reconcile more than one deploy, so a gap (no 1.31 commit) is honest, not missing data.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 10.2156.
[AI] machine digest
waypoint=1.32 · date=2026-08-10 · session=10.2156 · diff=2f/+4/-4 · flags=1Reconciled to 1.33 and regenerated the site-root machine-digest to match the live deploy. The AI-facing layer (llms.txt / index.json) has to track the human-facing site, or an AI handed the site reconstructs a version that no longer exists.
The engineering
Reconciled to 1.33 and regenerated the site-root machine-digest to match the live deploy.
- Version: v1.32 → v1.33
- Diff: 4 files, +13 / −6
- Live public commit:
5741d05 - Learned: The machine-digest is a fold, not a hand-kept file — regenerate it with every deploy so the machine door and the human door agree.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 12.0132, public 5741d05.
- Next stepping variable: Fix the Résumé nav that lagged across generators.
[AI] machine digest
waypoint=1.33 · date=2026-08-12 · live=5741d05 · session=12.0132 · diff=4f/+13/-6Fixed Résumé navigation in all 4 page generators (two were 2 links behind) and regenerated corpus + KP pages. The generated pages had drifted behind the hand-authored ones — the same builder-drop scar from v1.27, in a new spot.
The engineering
Fixed Résumé navigation in all 4 page generators (two were 2 links behind) and regenerated corpus + KP pages.
- Version: v1.33 → v1.34
- Diff: 8 files, +11 / −3
- Live public commit:
d0fe594 - Learned: Nav drift concentrates in the generators; when a link is added, check all four generators in the same pass, not just the pages you can see.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 12.0132, public d0fe594.
- Rejected: Patching the output pages directly — reverts on rebuild (the lesson from v1.27, applied).
- Next stepping variable: Ship the name-on-résumé refinement.
[AI] machine digest
waypoint=1.34 · date=2026-08-12 · live=d0fe594 · session=12.0132 · diff=8f/+11/-3Reconciled to 1.35 with the name-on-résumé refinement and a refreshed machine-digest. A résumé without a name on it is a draft; small, but it's the kind of detail the whole site's credibility rides on.
The engineering
Reconciled to 1.35 with the name-on-résumé refinement and a refreshed machine-digest.
- Version: v1.34 → v1.35
- Diff: 2 files, +3 / −3
- Live public commit:
8deae54
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 12.0132, public 8deae54.
- Next stepping variable: Ship the app-pages slice.
[AI] machine digest
waypoint=1.35 · date=2026-08-12 · live=8deae54 · session=12.0132 · diff=2f/+3/-3Deployed app-pages Slice 4 — moved 7 app pages from the private design tree into the public site tree, fixed asset refs and nav, and allowlisted the one shared script. The app pages were referencing the private design/ tree, which the deploy gate correctly REFUSES; moving them into site/ gives them clean public URLs and passes the gate.
The engineering
Deployed app-pages Slice 4 — moved 7 app pages from the private design tree into the public site tree, fixed asset refs and nav, and allowlisted the one shared script.
- Version: v1.35 → v1.36
- Diff: 1 files, +1 / −1
- Live public commit:
2488f40 - Learned: A public page may reference ONLY allowlisted design assets; a /design/<x> reference from a public page is gate-refused. Fit the page to the gate, don't weaken the gate.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 12.0852, public 2488f40.
- Rejected: Serving pages that reach into the private design tree — the gate refuses it by design, and rightly.
- Next stepping variable: Build the How It's Made system + page (this arc).
[AI] machine digest
waypoint=1.36 · date=2026-08-12 · live=2488f40 · session=12.0852 · diff=1f/+1/-1↻ This is the waypoint for this page. It was made by the system it describes.
Shipped this very page — 'How This Site Is Made' — built by The Making, the system it describes. The page carries its own waypoint: the deploy that ships it is v1.37, and this ledger entry is that waypoint's entry. Grok's north star: the site should not merely CLAIM the methodology works — it should be EVIDENCE it works. A page about how the site is made, made by a system that derives its facts from the site's own git record, is that evidence closing on itself.
The engineering
Shipped this very page — 'How This Site Is Made' — built by The Making, the system it describes. The page carries its own waypoint: the deploy that ships it is v1.37, and this ledger entry is that waypoint's entry.
- Version: v1.36 → v1.37
- Diff: 4 files, +6 / −6
- Learned: The page is a specimen of the system: DERIVE the facts (the spine), AUTHOR the why (this ledger), BIND every authored claim to a byte-truth pointer, and where the record has no why — say so, out loud, on the page.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 12.1025.
- Rejected: Merging into the existing Receipts page (would dilute both tight artifacts); manufacturing 36 tidy waypoints from a counter that only records ~11 (would be a lie the page exists to refute).
- Next stepping variable: Operator feedback.
[AI] machine digest
waypoint=1.37 · date=2026-08-12 · session=12.1025 · diff=4f/+6/-6Fixed the arc-page footer to use the canonical stampable version key — it had frozen at build-time v1.36 because the version stamper wasn't tracking it. Deployed as v1.38. A footer frozen at build time lies about which deploy you're looking at; routing it through the canonical stamper makes the page report its own version honestly on every deploy.
The engineering
Fixed the arc-page footer to use the canonical stampable version key — it had frozen at build-time v1.36 because the version stamper wasn't tracking it. Deployed as v1.38.
- Version: v1.37 → v1.38
- Diff: 2 files, +3 / −3
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 12.1025.
[AI] machine digest
waypoint=1.38 · date=2026-08-12 · session=12.1025 · diff=2f/+3/-3Deployed a colophon refinement to loopmmt.com as v1.39.
▲ a deploy the record names by WHAT (a colophon deploy), without a recorded why
The engineering
Deployed a colophon refinement to loopmmt.com as v1.39.
- Version: v1.38 → v1.39
- Diff: 2 files, +3 / −3
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 12.1025.
[AI] machine digest
waypoint=1.39 · date=2026-08-12 · session=12.1025 · diff=2f/+3/-3 · flags=1Reconciled the canonical counter to 1.40 as a post-deploy deploy-counter stamp.
▲ a reconcile/stamp bump — the record carries the WHAT (a deploy-counter stamp), not a distinct feature why
The engineering
Reconciled the canonical counter to 1.40 as a post-deploy deploy-counter stamp.
- Version: v1.39 → v1.40
- Diff: 1 files, +1 / −1
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): commit 3cadbe08f.
[AI] machine digest
waypoint=1.40 · date=2026-08-12 · diff=1f/+1/-1 · flags=1Reconciled the canonical counter to 1.41 to match the live deploy (public 28964f5).
▲ a reconcile/stamp bump — the record carries the WHAT (matching the live deploy), not a distinct feature why
The engineering
Reconciled the canonical counter to 1.41 to match the live deploy (public 28964f5).
- Version: v1.40 → v1.41
- Diff: 1 files, +1 / −1
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): commit cc8262a20.
[AI] machine digest
waypoint=1.41 · date=2026-08-12 · diff=1f/+1/-1 · flags=1Reconciled the canonical counter to 1.42 to match the live deploy (public f7afb5d).
▲ a reconcile/stamp bump — the record carries the WHAT (matching the live deploy), not a distinct feature why
The engineering
Reconciled the canonical counter to 1.42 to match the live deploy (public f7afb5d).
- Version: v1.41 → v1.42
- Diff: 1 files, +1 / −1
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 12.2154.
[AI] machine digest
waypoint=1.42 · date=2026-08-12 · session=12.2154 · diff=1f/+1/-1 · flags=1Reconciled the canonical counter to 1.43 as a deploy stamp (v1.43 landed live).
▲ a reconcile/stamp bump — the record carries the WHAT (a deploy stamp), not a distinct feature why
The engineering
Reconciled the canonical counter to 1.43 as a deploy stamp (v1.43 landed live).
- Diff: 1 files, +1 / −1
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): commit cd7ab9d65.
[AI] machine digest
waypoint=1.43 · date=2026-08-13 · diff=1f/+1/-1 · flags=1Deployed a structured-data entry for the Résumé page as v1.44 (public 81b4034). Machine-readable structured data on the résumé lets an AI reader reconstruct it faithfully — the same human-door/machine-door parity the rest of the site holds to.
The engineering
Deployed a structured-data entry for the Résumé page as v1.44 (public 81b4034).
- Diff: 1 files, +1 / −1
- Live public commit:
81b4034
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 13.1048, public 81b4034.
[AI] machine digest
waypoint=1.44 · date=2026-08-13 · live=81b4034 · session=13.1048 · diff=1f/+1/-1Reconciled the canonical seed to the shipped v1.45.
▲ a reconcile/stamp bump — the record carries the WHAT (a seed reconcile), not a distinct feature why
The engineering
Reconciled the canonical seed to the shipped v1.45.
- Diff: 2 files, +4 / −4
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): commit 175da3ef0.
[AI] machine digest
waypoint=1.45 · date=2026-08-13 · diff=2f/+4/-4 · flags=1Reconciled the canonical seed to 1.46 (a gifts-area deploy, deploy counter).
▲ a reconcile/stamp bump — the record carries the WHAT (a gifts deploy stamp), not a distinct feature why
The engineering
Reconciled the canonical seed to 1.46 (a gifts-area deploy, deploy counter).
- Version: v1.45 → v1.46
- Diff: 1 files, +1 / −1
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 13.1215.
[AI] machine digest
waypoint=1.46 · date=2026-08-13 · session=13.1215 · diff=1f/+1/-1 · flags=1Reconciled the counter to 1.47 and recounted the machine-digest to match the live deploy.
▲ a reconcile/stamp bump with a machine-digest recount — the record carries the WHAT, not a distinct feature why
The engineering
Reconciled the counter to 1.47 and recounted the machine-digest to match the live deploy.
- Diff: 4 files, +12 / −5
- Learned: The machine-digest is a fold, not a hand-kept file — recount it with each deploy so the machine door and the human door agree.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 13.1309.
[AI] machine digest
waypoint=1.47 · date=2026-08-13 · session=13.1309 · diff=4f/+12/-5 · flags=1Deploy wrap: drained two held deploy envelopes into one unified v1.48 live, and reconciled the seed 1.47->1.48. Batching held deploys into one wrap keeps the live counter honest — one deploy, one number — rather than letting queued changes drift the count.
The engineering
Deploy wrap: drained two held deploy envelopes into one unified v1.48 live, and reconciled the seed 1.47->1.48.
- Version: v1.47 → v1.48
- Diff: 1 files, +1 / −1
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 13.1958.
[AI] machine digest
waypoint=1.48 · date=2026-08-13 · session=13.1958 · diff=1f/+1/-1Deploy reconcile bringing loopmmt.com to v1.49 — item-6 typed edges shipped live to the public site. Ship the item-6 typed-edges work to the public site and bring canonical site.version in step with the live deploy counter (byte-truth == served).
The engineering
Deploy reconcile bringing loopmmt.com to v1.49 — item-6 typed edges shipped live to the public site.
- Diff: 5 files, +117 / −8
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 13.2335.
[AI] machine digest
waypoint=1.49 · date=2026-08-14 · session=13.2335 · diff=5f/+117/-8Published 'In the Room' — the 14.1122 session transcript rendered to site/in-the-room.html via The Colloquy, with a callout from the How-It's-Made page and the site-root re-indexed. Put a real, redacted session transcript on the public site so a reader can see the methodology working, not just read about it.
The engineering
Published 'In the Room' — the 14.1122 session transcript rendered to site/in-the-room.html via The Colloquy, with a callout from the How-It's-Made page and the site-root re-indexed.
- Diff: 8 files, +379 / −5
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 14.1243.
[AI] machine digest
waypoint=1.50 · date=2026-08-14 · session=14.1243 · diff=8f/+379/-5DP-21 deploy: reconciled the deploy-derived tree to canonical (machine layer + head-tag build outputs), live at v1.52. Keep the deploy-derived build outputs and the canonical tree in step after the DP-21 work, so served bytes match canonical.
The engineering
DP-21 deploy: reconciled the deploy-derived tree to canonical (machine layer + head-tag build outputs), live at v1.52.
- Diff: 8 files, +582 / −69
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 14.1543.
[AI] machine digest
waypoint=1.52 · date=2026-08-14 · session=14.1543 · diff=8f/+582/-69Applied four operator Notes to the In-the-Room transcript — inline-markdown bold/italic, Done-row spacing, a banded-handoff coda, and a copyable ignition box — and re-rendered (v1.53). Fold the operator's four review Notes back into the rendered transcript so the published page reflects the corrections.
The engineering
Applied four operator Notes to the In-the-Room transcript — inline-markdown bold/italic, Done-row spacing, a banded-handoff coda, and a copyable ignition box — and re-rendered (v1.53).
- Diff: 4 files, +148 / −75
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 14.1628.
[AI] machine digest
waypoint=1.53 · date=2026-08-14 · session=14.1628 · diff=4f/+148/-75Reconciled the canonical site.version deploy counter to 1.54 (live on loopmmt.com). Keep the canonical deploy counter honest — one deploy, one number — in step with the live public flip.
The engineering
Reconciled the canonical site.version deploy counter to 1.54 (live on loopmmt.com).
- Diff: 2 files, +4 / −4
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 14.1628.
[AI] machine digest
waypoint=1.54 · date=2026-08-14 · session=14.1628 · diff=2f/+4/-4Deploy v1.55 reconcile: canonical site.version plus the derived site-root (corpus-map, llms-full), closing owed seq498. Bring canonical and the derived site-root machine artifacts in step with the live deploy, and clear the outstanding owed item.
The engineering
Deploy v1.55 reconcile: canonical site.version plus the derived site-root (corpus-map, llms-full), closing owed seq498.
- Diff: 3 files, +13 / −12
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 14.1720.
[AI] machine digest
waypoint=1.55 · date=2026-08-14 · session=14.1720 · diff=3f/+13/-12Deploy v1.58 reconciliation — canonical version-seed writeback (1.55->1.58) past the public tip plus derived corpus-map ground and a deploy event-log entry. Advance the canonical seed past the public tip so the next deploy moves forward rather than regressing; the version-writeback drift is the parked root cause noted at the time.
The engineering
Deploy v1.58 reconciliation — canonical version-seed writeback (1.55->1.58) past the public tip plus derived corpus-map ground and a deploy event-log entry.
- Version: v1.55 → v1.58
- Diff: 2 files, +3 / −3
- Learned: Canonical version-writeback can drift behind the public tip; the seed must be bumped past it so a deploy advances, not regresses (flagged parked root-cause in the commit record).
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 14.2115.
[AI] machine digest
waypoint=1.58 · date=2026-08-14 · session=14.2115 · diff=2f/+3/-3Decision-timeline: fired the §7 deploy (v1.61 staged to the public staging tree), fixed the predeploy .github self-flag in redact, and ruled the §10.2 session-of-day question. Ship the decision-timeline observer work and fix a redact hygiene false-flag (WAKE seq=68) where the .github tree tripped the public detector.
The engineering
Decision-timeline: fired the §7 deploy (v1.61 staged to the public staging tree), fixed the predeploy .github self-flag in redact, and ruled the §10.2 session-of-day question.
- Diff: 1 files, +1 / −1
- Learned: redact's os.walk must skip .github to match the public detector's _skip set — otherwise the predeploy self-flags (WAKE seq=68, security/hygiene).
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 15.0127.
[AI] machine digest
waypoint=1.61 · date=2026-08-15 · session=15.0127 · diff=1f/+1/-1Site-mop slice-2a: gave the How-It's-Made page standard chrome (nav + footer) and fixed timeline dead-end back-links; site 1.61->1.62. Bring the How-It's-Made page and the timeline pages up to the site's standard chrome so navigation is consistent and no page is a dead end.
The engineering
Site-mop slice-2a: gave the How-It's-Made page standard chrome (nav + footer) and fixed timeline dead-end back-links; site 1.61->1.62.
- Version: v1.61 → v1.62
- Diff: 4 files, +39 / −1
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 15.0936.
[AI] machine digest
waypoint=1.62 · date=2026-08-15 · session=15.0936 · diff=4f/+39/-1Deployed observer #3 live to loopmmt.com at v1.63 (canonical reconcile). Ship the observer #3 timeline view to the public site and reconcile the canonical counter to the live flip.
The engineering
Deployed observer #3 live to loopmmt.com at v1.63 (canonical reconcile).
- Diff: 6 files, +46 / −3
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 15.0936.
[AI] machine digest
waypoint=1.63 · date=2026-08-15 · session=15.0936 · diff=6f/+46/-3Reconciled the canonical deploy seed to v1.66 (obs#3 nav deploy); regenerated the machine artifacts (corpus-map, llms-full, sitemap) as pure folds. The canonical seed had lagged the live counter by two deploys; this brings it in step with the live flip of v1.66 and re-folds the derived machine layer.
The engineering
Reconciled the canonical deploy seed to v1.66 (obs#3 nav deploy); regenerated the machine artifacts (corpus-map, llms-full, sitemap) as pure folds.
- Diff: 4 files, +9 / −5
- Learned: The canonical seed can lag the live public counter by more than one deploy; reconcile the whole gap in one writeback rather than assuming a single step.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 15.1037.
[AI] machine digest
waypoint=1.66 · date=2026-08-15 · session=15.1037 · diff=4f/+9/-5Shipped the formalized “How This Site Is Made” page live — the first specimen of the site's own construction-story system, closing the arc that built it. The construction-story system was formalized and registered in a prior session; this deploy ships its first specimen page, then pauses for operator feedback.
The engineering
Shipped the formalized “How This Site Is Made” page live — the first specimen of the site's own construction-story system, closing the arc that built it.
- Version: v1.66 → v1.67
- Diff: 3 files, +45 / −34
- Learned: The page's own deploy is itself a waypoint — the designed recursion. Author the ledger entry for the new version before the deploy runs, or it refuses to publish.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 15.1500.
- Rejected: Shipping without recording a waypoint — a version bump refuses to publish unless the ledger already carries an entry for it. Record, not reconstruct: the entry is authored before the push.
- Next stepping variable: The derived spine catches up to this deploy's commit on the next fold; the arc pauses here for feedback.
[AI] machine digest
waypoint=1.67 · date=2026-08-15 · session=15.1500 · diff=3f/+45/-34Made the sitemap reflect reality: replaced the generator's non-recursive site/ scope with a recursive deploy-tree walk, so the sitemap now lists all 53 real served pages — adding the 14 prompt leaves and the gifts landing the old os.listdir() fold silently skipped. 38 → 53 urls. The 50-url sitemap a prior session shipped was hand-edited with no tool behind it, so the close-step generator clobbered it back to 38 every close. This makes the single generator reflect the real tree and locks it with an independent tree-walk test, so the sitemap is correct on every deploy — not maintained by hand.
The engineering
Made the sitemap reflect reality: replaced the generator's non-recursive site/ scope with a recursive deploy-tree walk, so the sitemap now lists all 53 real served pages — adding the 14 prompt leaves and the gifts landing the old os.listdir() fold silently skipped. 38 → 53 urls.
- Diff: 2 files, +2 / −1
- Learned: A hand-edited generated artifact gets clobbered by the tool that owns it, every time. The fix is to make the tool reflect reality and gate it, never to hand-maintain a file a close step regenerates.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 15.1743.
- Rejected: Choosing a sitemap scope by taste, or hand-editing the xml again — both silently drift. The generator is the single source of truth; reality is the tree walk it performs.
[AI] machine digest
waypoint=1.68 · date=2026-08-15 · session=15.1743 · diff=2f/+2/-1Reconciled corpus.html + kp.html to canonical chrome — restored the Documents footer link the other 50 pages carry — and wired stamp_chrome into deploy.sh BUILD so canonical chrome (chrome-canonical.json) is applied every deploy. The v1.68 deploy shipped corpus/kp with builder-emitted chrome that dropped the footer-docs link, diverging from chrome-canonical and the rest of the site. Operator ruled A (restore consistency). Fixing it at the deploy seam makes it structural, not a remembered step.
The engineering
Reconciled corpus.html + kp.html to canonical chrome — restored the Documents footer link the other 50 pages carry — and wired stamp_chrome into deploy.sh BUILD so canonical chrome (chrome-canonical.json) is applied every deploy.
- Diff: 1 files, +1 / −1
- Learned: A page built by its own fold must still be stamped to canonical chrome, or it ships whatever chrome the fold happened to emit. Put the stamp in the deploy chain so every deploy is chrome-consistent.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 15.1743.
- Rejected: Hand-editing the footer into the two fold builders — that just adds two more chrome copies to drift. The single source is chrome-canonical.json, applied by stamp_chrome at build.
[AI] machine digest
waypoint=1.69 · date=2026-08-15 · session=15.1743 · diff=1f/+1/-1Took the Hail machine-doorway live on all 54 entry pages (built plan 26, never deployed), and wired stamp_hail into deploy.sh BUILD so the Hail (hail-canonical.json) is re-stamped after the fold builders every deploy. Also cleared the RC-B footer-doubling that blocked the gate on case.html, the-book.html, and how-its-made.html. The Hail was built and 54 pages stamped, but corpus.html/kp.html are builder-generated and lost the stamp on every rebuild, so they reached the predeploy gate with no doorway (exit 3) — the exact twin of the v1.69 chrome divergence. Fixing it at the deploy seam (mirroring the chrome re-stamp) makes it structural, not a remembered step. Separately, three pages carried a doubled site footer (a canonical footer wrongly nested inside <main> plus a bare stray, or a redundant colophon copyright) which RC-B refused before the Hail gate; both had to clear for the ship.
The engineering
Took the Hail machine-doorway live on all 54 entry pages (built plan 26, never deployed), and wired stamp_hail into deploy.sh BUILD so the Hail (hail-canonical.json) is re-stamped after the fold builders every deploy. Also cleared the RC-B footer-doubling that blocked the gate on case.html, the-book.html, and how-its-made.html.
- Version: v1.69 → v1.70
- Diff: 2 files, +2 / −2
- Learned: A builder-generated page must be re-stamped to canonical Hail after build, exactly as it must for chrome — put the stamp in the deploy chain so every deploy carries the current doorway, and a staged-root gate run (not a repo-layout one) is the only thing that exposes a rebuild wiping a stamp.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 15.2304.
- Rejected: Hand-stamping the Hail into the two fold builders (adds more doorway copies to drift, same mistake chrome made); leaving the doubled footers to ship two copyrights live; hand-authoring the corrected footer HTML instead of letting stamp_chrome supply canonical content.
[AI] machine digest
waypoint=1.70 · date=2026-08-15 · session=15.2304 · diff=2f/+2/-2Operator writing-pass groundwork on loopmmt.com-as-app: filled all 19 empty /timeline ledes (disc-0..disc-18) with third-person placeholder prose, each marked with a greppable REVISE token; drafted disc-19's lede (the Splice); landed the real loopmmt.com home-page screenshot into the Apps-page card (replaced the 'screenshot coming' pending plate) and flipped the render harness to imgs===8 pending===0 (GATE PASS x3 viewports); pulled Zone A's page-visible '[operator to refine]' note off the public surface into a source-only marker. The Splice shipped at v1.71 carrying three operator slots and a pending screenshot plate. The operator supplied the real screenshot and asked for stub text in the empty slots so he can run his own language pass directly on the live site — so this deploy makes the site non-blank and reviewable, it does not finalize the prose.
The engineering
Operator writing-pass groundwork on loopmmt.com-as-app: filled all 19 empty /timeline ledes (disc-0..disc-18) with third-person placeholder prose, each marked with a greppable REVISE token; drafted disc-19's lede (the Splice); landed the real loopmmt.com home-page screenshot into the Apps-page card (replaced the 'screenshot coming' pending plate) and flipped the render harness to imgs===8 pending===0 (GATE PASS x3 viewports); pulled Zone A's page-visible '[operator to refine]' note off the public surface into a source-only marker.
- Diff: 7 files, +112 / −20
- Learned: The /timeline ships 19 empty ledes by design — the operator's personal narrative, his to write. Stub text goes in third-person so it never impersonates his voice, and every slot for his pass carries one greppable REVISE marker so his sweep can't miss one.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 16.0051.
- Rejected: Writing the /timeline ledes in the operator's first person (impersonation — forbidden); deploying before the stubs were in; leaving the uploaded screenshot unplaced.
- Next stepping variable: Operator language pass on the live site (grep REVISE: markers); served site/making-ledger.jsonl still stale (pre-existing owed, not deploy-blocking).
[AI] machine digest
waypoint=1.72 · date=2026-08-16 · session=16.0051 · diff=7f/+112/-20Released Hail V2 — the machine-semantics layer (HAIL:V2:BEGIN / MachineSemantics / hailVersion 2, blocks A1–B4) — live on all 53 /site/ pages; the loopmmt-hail-v2 line (built S0–S5, deploy-held after its Once-Over) shipped. Carried forward v1.73's live-only index.html thesis-read margin fix (margin:var(--gap) 0, Note 16.0131-1) so v1.74 strictly supersedes v1.73 rather than reverting it. The Hail V2 line was built and deploy-held pending review; this deploy released it via the air-gap path (deploy.sh --stage -> public staging -> the public CI Action re-gated and flipped main to 7b144f2).
▲ backfill
The engineering
Released Hail V2 — the machine-semantics layer (HAIL:V2:BEGIN / MachineSemantics / hailVersion 2, blocks A1–B4) — live on all 53 /site/ pages; the loopmmt-hail-v2 line (built S0–S5, deploy-held after its Once-Over) shipped. Carried forward v1.73's live-only index.html thesis-read margin fix (margin:var(--gap) 0, Note 16.0131-1) so v1.74 strictly supersedes v1.73 rather than reverting it.
- Diff: 61 files, +201 / −15
- Learned: The trap is live-ahead-of-canonical drift: the public site can carry a live-only fix canonical main lacks, and a whole-tree deploy from canonical reverts it with a clean push no git check catches. Version-normalize every page, scan for live-only content, carry any regression forward before shipping. (Waypoint authored at deploy time but lost to the subsequent v1.75 whole-tree deploy race; backfilled 16.1217 from the 16.0228 handoff + the git fold.)
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 16.0228.
- Rejected: Deploying canonical main blind (public was already at v1.73 carrying a live-only index thesis-read margin fix absent from canonical — a blind whole-tree deploy would have added Hail V2 but reverted that fix); trusting a HAIL:V2 marker grep without the colon (a false-positive signature).
[AI] machine digest
waypoint=1.74 · date=2026-08-16 · session=16.0228 · diff=61f/+201/-15 · flags=1Five operator notes (S16.0224): removed Resume from the main nav (it lives under Who); fixed the its-enormous King line ("everyone"->"someone"); extended the site's content-link convention (muted + hairline underline -> persimmon) to .room content so in-body links like /llms.txt and /index.json read as links, not plain text; rewrote the its-enormous "doors" box to reflect the Hail system (the site hails the AI directly and human-invisibly; the human hands over the link, not a pasted file; added /llms-full.txt and source to the corpus list); added a footer sitemap row (all sections, incl. Home) to the canonical full footer. Operator review notes on the live site. Resume belongs under Who, not the top nav. The doorway links were styled as plain text by the global `a{text-decoration:none}` default, so a reader had no way to know they were links (a clarity + accessibility gap). The old box copy made the human paste a file into their AI, which the Hail system retires -- every page now carries the doorway itself. The footer had no navigation.
The engineering
Five operator notes (S16.0224): removed Resume from the main nav (it lives under Who); fixed the its-enormous King line ("everyone"->"someone"); extended the site's content-link convention (muted + hairline underline -> persimmon) to .room content so in-body links like /llms.txt and /index.json read as links, not plain text; rewrote the its-enormous "doors" box to reflect the Hail system (the site hails the AI directly and human-invisibly; the human hands over the link, not a pasted file; added /llms-full.txt and source to the corpus list); added a footer sitemap row (all sections, incl. Home) to the canonical full footer.
- Diff: 63 files, +642 / −124
- Learned: Chrome changes go through chrome-canonical.json + stamp_chrome, never a page's own <nav>/<footer>. A <nav> placed inside the footer template becomes the ONLY nav on pages that lack a header nav, and the stamper's first-match nav regex then mistakes it for the header nav -- use a non-nav element for footer link rows. The global `a{color:inherit;text-decoration:none}` means every content-link scope must be granted affordance explicitly.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 16.0224.
- Rejected: Hand-editing nav/footer across 27+ pages instead of editing chrome-canonical.json and re-stamping; marking the footer sitemap as <nav> (it collided with stamp_chrome's header-nav regex on the three pages that have no header nav -- switched to a <div>); a blanket `a{underline}` (would wrongly underline chrome -- scoped the fix to .room content instead).
- Next stepping variable: One content container (.corpus-frame, a single page) is still outside the .room content-link fix -- a one-line follow-on if wanted.
[AI] machine digest
waypoint=1.75 · date=2026-08-16 · session=16.0224 · diff=63f/+642/-124Restored session 16.0131's three shell.css fixes (honest-badge moved out of position:fixed so it no longer overlaps the hamburger nav on narrow screens; text-wrap:balance on the site-notice banner; .footer-colophon block spacing) and its index.html thesis-read link margin fix, all of which were silently reverted by the v1.75 deploy. Built the deploy tree as a verified superset = live v1.75 content + only the 16.0131 fixes (37 pages differ from live by the version stamp alone; shell.css + index.html carry the 16.0131 fixes and nothing else). The overnight deploy race reverted 16.0131's good changes: v1.75 shipped a whole-tree snapshot from a methodology base that predated 16.0131's landing, so it overwrote the badge/text/footer fixes. The live badge was back to position:fixed, overlapping the mobile nav toggle. This restore re-applies exactly those fixes on top of the current live tree, reverting nothing 16.0224 shipped.
The engineering
Restored session 16.0131's three shell.css fixes (honest-badge moved out of position:fixed so it no longer overlaps the hamburger nav on narrow screens; text-wrap:balance on the site-notice banner; .footer-colophon block spacing) and its index.html thesis-read link margin fix, all of which were silently reverted by the v1.75 deploy. Built the deploy tree as a verified superset = live v1.75 content + only the 16.0131 fixes (37 pages differ from live by the version stamp alone; shell.css + index.html carry the 16.0131 fixes and nothing else).
- Diff: 1 files, +1 / −1
- Learned: A whole-tree deploy from a stale methodology base reverts any change that landed to origin/main after the deploying session forked, with a clean fast-forward push that no git check catches. The fix is a Currency Check at the deploy seam (deploy.sh now refuses a website tree behind origin/main) plus dropping the blind force-with-lease fallback. Ships this session with the restore.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 16.0843.
- Rejected: Deploying naively from methodology main (would have re-reverted 16.0224's whole v1.75 ship, since its content never merged back); a surgical two-file patch (deploy re-stamps chrome from chrome-canonical.json, which would have re-added Resume to the nav); blind-forcing past the divergence.
- Next stepping variable: Land 16.0224's remaining deferred close (floor-script + census + mesh) as separate repo hygiene; .corpus-frame content-link one-liner still owed.
[AI] machine digest
waypoint=1.76 · date=2026-08-16 · session=16.0843 · diff=1f/+1/-1Shipped the front-page pre-launch badge (built + committed S16.0919-merry-kraken, left undeployed): the honest-badge width fix (align-self:flex-start in design/shell.css — the badge is a flex-column child of .frame, so default align-self:stretch spanned it full-width; now it hugs its content flush-left under the wordmark; site-wide) + the v7 under-construction sign SVG on site/index.html front page (the dynamic-digger gestalt — one diagonal line of force: raised back arm -> shoulders -> driving front arm -> shovel -> mound, with a reduced-motion-safe dig animation, commit 1b61cc0642). The badge was rebuilt and verified at S16.0919 but handed forward undeployed. Live was v1.76 (the 16.0843 restore), which predates the badge work — so the width fix and the sign sat on methodology main, not on loopmmt.com. This deploy ships both.
The engineering
Shipped the front-page pre-launch badge (built + committed S16.0919-merry-kraken, left undeployed): the honest-badge width fix (align-self:flex-start in design/shell.css — the badge is a flex-column child of .frame, so default align-self:stretch spanned it full-width; now it hugs its content flush-left under the wordmark; site-wide) + the v7 under-construction sign SVG on site/index.html front page (the dynamic-digger gestalt — one diagonal line of force: raised back arm -> shoulders -> driving front arm -> shovel -> mound, with a reduced-motion-safe dig animation, commit 1b61cc0642).
- Diff: 60 files, +84 / −69
- Learned: The badge landed as TWO commits (width fix + v7 sign), but the handoff's '(commit 1b61cc0642)' names only the sign. Byte-verify BOTH changes are in the deploy tree (grep align-self on .honest-badge AND the dynamic-digger marker), never trust the one commit the handoff cites to carry the whole feature.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 16.1051.
- Rejected: Deploying only the v7 sign commit (1b61cc0642) — the width fix is a separate commit on the same line, and both are the badge; shipping one leaves it half-fixed. Also rejected a hand version bump — deploy.sh's classifier bumps 1.76->1.77 off the live counter.
[AI] machine digest
waypoint=1.77 · date=2026-08-16 · session=16.1051 · diff=60f/+84/-69Fired the fresh-tank deploy 16.1217 deferred: ships beat-2's The Making reconcile (the SERVED making-ledger.jsonl brought current to canonical — the backfilled v1.74 waypoint + regenerated making spine, red test green) and the Hail V2 version-sync (a machine-metadata-only re-stamp that cleared the 1.76-vs-live-1.77 citation-version lag blocking the deploy pre-flight). Content authored across 16.1217; deployed this session via deploy.sh --stage (air-gap: public staging -> CI re-gate -> flip to live). 16.1217 worked the three beats to ground and, per operator call (B), deferred the live deploy to a session with a full tank. main was left deploy-ready with the Hail pre-flight green; this session fires that deferred deploy.
The engineering
Fired the fresh-tank deploy 16.1217 deferred: ships beat-2's The Making reconcile (the SERVED making-ledger.jsonl brought current to canonical — the backfilled v1.74 waypoint + regenerated making spine, red test green) and the Hail V2 version-sync (a machine-metadata-only re-stamp that cleared the 1.76-vs-live-1.77 citation-version lag blocking the deploy pre-flight). Content authored across 16.1217; deployed this session via deploy.sh --stage (air-gap: public staging -> CI re-gate -> flip to live).
- Learned: The deploy classifier bumps readlive+1 off the LIVE counter in the public clone, not off local site.version — key the ledger entry to the live-derived NEWVER, never the handoff's assumed version. A landed-nothing live peer on the same touches surface is a coordinate-or-fire operator call, not a byte blocker; the operator waved it through (go).
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 16.1340.
- Rejected: Keying the entry '1.78' off the handoff's assumption instead of reading the live counter (readlive returned 1.77 -> 1.78, confirmed against bytes, not assumed); deploying without first surfacing the live parallel tab (16.1150, loopmmt.com content, state planning, branch empty) to the operator.
[AI] machine digest
waypoint=1.78 · session=16.1340Thesis sentence now reads 'Loop MMT is an antifragile cognitive operating system that uses both AI and determinism as its processor, and git as its state and store' — 'antifragile' placed inline in the sentence, applied SITE-WIDE across every surface (index.html hero H1 + meta/og/twitter/JSON-LD; apps.html homepage-screenshot alt; the-thesis.html spanned H1 + digest + meta, folding the now-redundant trailing 'It is antifragile by construction'). Also fixed a pre-existing inconsistency: index.html still carried 'memory and state' (never got the thesis-4 state/store edit) — now 'state and store' too. Derived corpus (llms/index.json/llms-full) regenerated from page meta. Operator instruction: put 'antifragile' directly into the canonical sentence, site-wide, and ensure it applies everywhere. The audit surfaced that the site was already inconsistent (index vs the-thesis) — a manual per-page edit had drifted.
The engineering
Thesis sentence now reads 'Loop MMT is an antifragile cognitive operating system that uses both AI and determinism as its processor, and git as its state and store' — 'antifragile' placed inline in the sentence, applied SITE-WIDE across every surface (index.html hero H1 + meta/og/twitter/JSON-LD; apps.html homepage-screenshot alt; the-thesis.html spanned H1 + digest + meta, folding the now-redundant trailing 'It is antifragile by construction'). Also fixed a pre-existing inconsistency: index.html still carried 'memory and state' (never got the thesis-4 state/store edit) — now 'state and store' too. Derived corpus (llms/index.json/llms-full) regenerated from page meta.
- Diff: 11 files, +274 / −22
- Learned: The site had no formalized system for a site-wide sentence edit — so this session built one (the 'manual -> structural' antifragility shape, in real time): thesis-canonical.json (single source of truth for the sentence + its retired 'stale_variants') + canon_line.py (a CHECK-ONLY drift detector — the sentence lives in prose/meta/JSON/spanned-H1/alt-text with no single block to stamp, so it flags stale wordings rather than stamping) + wired into predeploy_gate.sh so a stale-sentence page now REFUSES to deploy (exit 3). canon_line selftest is non-vacuous (stale flagged, clean passes, clause-A label exempt). Precedent: chrome-canonical/hail-canonical (single-source -> check).
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 21.2251.
- Rejected: A blind global find-replace of 'a cognitive operating system' or 'memory and state' — it would have (1) corrupted the Clause-A section LABEL (which legitimately stays 'a cognitive operating system' — antifragile is a separate derived property, not clause A) and (2) mangled unrelated glossary prose ('the project's memory and state live in a git repo'). The edit was done per-surface with explicit before/after pairs and a verifying sweep instead.
- Next stepping variable: The Canon Line is check-only; a --stamp for the two mechanical surfaces (the H1 + <meta> descriptions, which ARE addressable) is a clean future extension, held until the surfaces stabilize. Register the Canon Line as an Active Instrument in PiF at a formalization pass.
[AI] machine digest
waypoint=1.80 · date=2026-08-21 · session=21.2251 · diff=11f/+274/-22the-thesis.html antifragile section: the 'four real ones' (the four antifragile specimens) are now written at the PLAIN altitude too, not technical-only. The plain block gained four plain-language specimen cards plus a plain wrap, so a plain-altitude reader (the default view) now gets the payoff the sentence 'Here are the four real ones' promises. All three altitudes (plain, technical, and the machine band) now honor the page's own stated contract that each part is written three times. The machine-metadata citation was also reconciled to the current version across the source tree ahead of this deploy's own bump. A reader caught that the page promised 'four real ones' but a default-view (plain) reader saw no examples — the promise was authored in the plain block while the four specimens lived only in the hidden-by-default technical block. The direction: for anything important, write it at ALL altitudes so every reader understands, and land a system-wide Fix-by-Design so this class cannot ship again.
The engineering
the-thesis.html antifragile section: the 'four real ones' (the four antifragile specimens) are now written at the PLAIN altitude too, not technical-only. The plain block gained four plain-language specimen cards plus a plain wrap, so a plain-altitude reader (the default view) now gets the payoff the sentence 'Here are the four real ones' promises. All three altitudes (plain, technical, and the machine band) now honor the page's own stated contract that each part is written three times. The machine-metadata citation was also reconciled to the current version across the source tree ahead of this deploy's own bump.
- Learned: Built a determinism-first altitude-parity gate: for each altitude section, every claim declared in its machine band must be present at both the plain and technical altitudes. The oracle is the band already in the bytes — no hand-kept manifest. Proven RED on the broken page, GREEN after the fix; a five-case selftest includes an explicit presence-is-not-correctness case (the honest ceiling: the gate proves a claim is PRESENT at each altitude, never that the prose is GOOD). Wired into the predeploy gate, fail-closed, cold-safe; it ran clean in this deploy's own gate phase. Prose quality stays a human judgment, with the operator as witness.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 22.0016.
- Rejected: Fixing only the content and leaving the recurrence to vigilance (rejected: the ask was Fix-by-Design, i.e. structural). Section-level parity as the gate granularity (rejected: it would have PASSED this exact bug — the section had all three blocks; the specimens went missing INSIDE the technical block). A hand-maintained claim manifest for the gate (rejected: a second copy of the truth is the drift class the whole system exists to kill — the gate reads the machine band already in the page bytes instead).
- Next stepping variable: Register the altitude-parity gate as a Protocols-in-Force Active Instrument at a formalization pass (sibling to the Canon Line, also still owed registration). It generalizes site-wide automatically the moment any other page adopts the altitude system.
[AI] machine digest
waypoint=1.81 · session=22.0016loopmmt.com editorial pass: discoveries.html gained a native <details> WHY/HOW disclosure expansion on all 49 discovery cards with a per-card depth dial (10 seed / 24 sketch / 15 withhold, erring toward WITHHOLD), doc-attachments deep-linking already-served proof (creed, from-enumeration, loop-2-1, pif, /gifts/cairn/, /gifts/grain/); a predeploy inset check scoped to the exact apps.html #take-home escaped-room defect class (NOT naive direct-child-of-main, which was 206 false positives across 60 pages); NOTE-1..4 from the predecessor branch (kp AI-first intro, four-day works->worked, Loop 2.1 modal removal, apps.html #take-home inset); and a resume.html Experience entry (e-loopmmt: The Department of FWWC, Inc., the recursion of the resume documenting the methodology that built it). Derived corpus regenerated from page meta; machine digest reparses 49/49. Finish and deploy the loopmmt.com editorial-pass campaign (six campaign notes plus a resume entry); the conn was passed and the work run autonomously to LIVE.
▲ backfill
The engineering
loopmmt.com editorial pass: discoveries.html gained a native <details> WHY/HOW disclosure expansion on all 49 discovery cards with a per-card depth dial (10 seed / 24 sketch / 15 withhold, erring toward WITHHOLD), doc-attachments deep-linking already-served proof (creed, from-enumeration, loop-2-1, pif, /gifts/cairn/, /gifts/grain/); a predeploy inset check scoped to the exact apps.html #take-home escaped-room defect class (NOT naive direct-child-of-main, which was 206 false positives across 60 pages); NOTE-1..4 from the predecessor branch (kp AI-first intro, four-day works->worked, Loop 2.1 modal removal, apps.html #take-home inset); and a resume.html Experience entry (e-loopmmt: The Department of FWWC, Inc., the recursion of the resume documenting the methodology that built it). Derived corpus regenerated from page meta; machine digest reparses 49/49.
- Diff: 4 files, +51 / −17
- Learned: Disclosure errs toward WITHHOLD by operator ruling (over-revealing is the only danger; holding back has none). The escaped-room inset defect is a real class worth a gate. The deploy took five attempts, each refusal a gate working (HAIL re-stamp design-required after editing managed pages, a making-ledger waypoint per version, the air-gap redact gate catching a leaked session-id, a builder-regen re-stale, then clean).
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 22.0012.
- Rejected: Rebuilding the inset check as 'flag any content section that is a direct child of <main>' (rejected: 206 false positives across 60 pages because the site runs several legit layout systems - app-pages/.zone, .sheet doc pages, timeline .frame, nested <main>); the correct scope flags only a section escaping ITS room on a room-family page.
- Next stepping variable: Post-deploy doc-attachment review (operator-owed): Shea to eyeball the live discovery cards and name any further per-discovery documents to attach.
[AI] machine digest
waypoint=1.82 · date=2026-08-22 · session=22.0012 · diff=4f/+51/-17 · flags=1loopmmt.com site-hygiene deploy: shipped the 7 verified mechanical fixes from the S22.0944 sweep (viewport + html-lang on the three receipts dead-end pages, a favicon block on 404, a canonical link on gifts/index, and two repointed broken gift dir-links in discoveries). Same deploy brought three build-generated pages (corpus, kp, how-this-site-is-made) to current canonical chrome — their committed HTML carried the old nav (stale resume link) and old footer shape; the canonical chrome stamp corrected them. Also unblocked the deploy chain: The Hand authorship-provenance CSS asset was sanctioned as a served design asset and its one private-tree comment reference was scrubbed, so the whole-tree predeploy gate passes. The 7 fixes were landed-in-source but never served (the S22.0944 tank lacked the public deploy cred). The operator passed the Conn to ship them; getting them live meant clearing an unrelated half-finished feature (The Hand) that was blocking the whole-tree gate, and letting the chrome stamp true up the auto-generated pages.
The engineering
loopmmt.com site-hygiene deploy: shipped the 7 verified mechanical fixes from the S22.0944 sweep (viewport + html-lang on the three receipts dead-end pages, a favicon block on 404, a canonical link on gifts/index, and two repointed broken gift dir-links in discoveries). Same deploy brought three build-generated pages (corpus, kp, how-this-site-is-made) to current canonical chrome — their committed HTML carried the old nav (stale resume link) and old footer shape; the canonical chrome stamp corrected them. Also unblocked the deploy chain: The Hand authorship-provenance CSS asset was sanctioned as a served design asset and its one private-tree comment reference was scrubbed, so the whole-tree predeploy gate passes.
- Version: v1.82 → v1.83
- Diff: 1 files, +1 / −1
- Learned: A whole-tree predeploy gate means any half-landed feature anywhere blocks EVERY deploy — The Hand's missing deploy-hygiene (unallowlisted served CSS + a private-path comment) stranded a clean hygiene line behind it. Build-generated pages (corpus, kp) can silently carry stale chrome on canonical because they are only re-stamped at deploy time; the deploy's own chrome stamp is the backstop that trues them.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 22.1049.
- Rejected: Deploying AROUND The Hand (staging a tree that diverges from canonical by reverting the curious.html link) — rejected: it manufactures a canonical-vs-live drift on a page, exactly the silent-divergence class the system exists to prevent, and boobytraps the next deploy. The correct fix was to make The Hand's served asset legal (allowlist + comment scrub), not to hide it.
- Next stepping variable: The nav/footer harmonization arc (the ~60 hand-authored-page design-consistency pass) remains the meatier deferred line — it needs the operator's eye on the target shape before it lands. The allowlist near-miss gap on the older tokens/shell entries (a .bak-suffix could ride the boundary) is noted for a future redact hardening beat.
[AI] machine digest
waypoint=1.83 · date=2026-08-22 · session=22.1049 · diff=1f/+1/-1loopmmt.com operator-Notes deploy: shipped the carpenter-as-past correction site-wide. resume.html lead line now reads 'Designer, publisher, podcaster, writer, entrepreneur, carpenter — and, right now, building Loop MMT' (carpenter kept in the past-tense credentials list, Loop MMT as the present focus), and the career era-strip now ends on a 'Loop MMT / now' dt-now endpoint with the Carpentry marker kept as a past waypoint (#e0). A site-wide sweep confirmed no other present-tense carpenter framing remained (the kp.html match was an unrelated 'employer' word). These corrections were already correct on canonical from a prior session but had never been served — the live tip (v1.84) still carried the old present-tense carpenter lead and a Carpentry-as-now timeline endpoint. Operator caught that loopmmt.com/site/resume.html still framed him with a present-tense carpenter identity; he stopped carpentry in March 2026 when he began the Butcher Constellation and has worked on Loop MMT nearly every hour since. The language needed to match reality across every surface. The fix was a DEPLOY, not an edit — canonical already held the correction; the live site was a stale deploy behind it.
The engineering
loopmmt.com operator-Notes deploy: shipped the carpenter-as-past correction site-wide. resume.html lead line now reads 'Designer, publisher, podcaster, writer, entrepreneur, carpenter — and, right now, building Loop MMT' (carpenter kept in the past-tense credentials list, Loop MMT as the present focus), and the career era-strip now ends on a 'Loop MMT / now' dt-now endpoint with the Carpentry marker kept as a past waypoint (#e0). A site-wide sweep confirmed no other present-tense carpenter framing remained (the kp.html match was an unrelated 'employer' word). These corrections were already correct on canonical from a prior session but had never been served — the live tip (v1.84) still carried the old present-tense carpenter lead and a Carpentry-as-now timeline endpoint.
- Diff: 4 files, +63 / −16
- Learned: The 'record behind reality' drift bit here in miniature: a correct content edit landed on canonical in a prior tank but (a) was never deployed and (b) left the Hail carrier version-stale, so the next deploy's run_tests gate failed on a self-inconsistent tree. The documented cascade (re-stamp Hail -> commit -> sync_lint --fix to fixpoint -> commit -> deploy) resolved it in 3 iterations. A second subtlety: the canon_line drift-detector substring-matches the retired phrasing, so a ledger entry that QUOTES the old wording to describe fixing it trips the gate on its own rendered page — the record must describe the change by its shape, not reproduce the retired string.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 22.1203.
- Rejected: Re-editing the resume content (rejected: canonical already had the corrected lead line and timeline endpoint — byte-truth confirmed before touching anything; editing would have been a no-op at best, a revert risk at worst). Deploying without re-stamping the Hail (rejected: the correction had landed on canonical without a Hail re-stamp, leaving 54 pages hail-STALE and failing run_tests; the deploy's own gate correctly blocked until canonical was self-consistent).
- Next stepping variable: The formalized work-loop system (Notes-in -> work -> verify+MopUp -> deploy -> byte-truth report) is the session's main build, following this deploy; the record-drift root cause (record as a separate manual step after the act) is its Fix-By-Design target.
[AI] machine digest
waypoint=1.85 · date=2026-08-22 · session=22.1203 · diff=4f/+63/-16loopmmt.com two-Note operator deploy. NOTE-2: folded the Weebles-wobble metaphor into the-thesis.html antifragile section at all three altitudes (plain color, technical mechanism = ballast-added-per-survived-stress, and an AI-band design_metaphor line), third-person in the AI's voice, the slogan verbatim; altitude-parity stayed CLEAN (the claim was added at every altitude, not just one). NOTE-1: trued two stale self-referential counts — the thesis lede's word-count (was mis-stated, now the byte-true value) and the apps page's app-count across five surfaces (four identical meta strings + the visible body lede), since an eighth app card now ships. Built the instrument that makes the fix structural: count_line.py + count-canonical.json. Operator Notes. The Weebles slogan is the operator's own long-held mnemonic for the system's operating posture and he asked it baked in wherever it makes sense — including the technical level, because the posture was literally built into the mechanics (each survived break adds a guard = ballast lowering the center of mass). The counts were a drift class the operator flagged directly: prose that states a number about other on-page content silently goes stale when that content changes, and both a human eye and an AI eye mis-counted it — only the byte-count is true.
The engineering
loopmmt.com two-Note operator deploy. NOTE-2: folded the Weebles-wobble metaphor into the-thesis.html antifragile section at all three altitudes (plain color, technical mechanism = ballast-added-per-survived-stress, and an AI-band design_metaphor line), third-person in the AI's voice, the slogan verbatim; altitude-parity stayed CLEAN (the claim was added at every altitude, not just one). NOTE-1: trued two stale self-referential counts — the thesis lede's word-count (was mis-stated, now the byte-true value) and the apps page's app-count across five surfaces (four identical meta strings + the visible body lede), since an eighth app card now ships. Built the instrument that makes the fix structural: count_line.py + count-canonical.json.
- Diff: 4 files, +63 / −16
- Learned: A count claim is a stronger candidate for structural fix than a sentence claim: the sentence has no single addressable block and paraphrases are undecidable (the Canon Line stays check-only), but a count has a decidable byte-oracle, so the Count Line can stamp. The oracle IS the content it counts (word-count of the canonical sentence; a substring-count of the app-card articles), so no second copy of the truth exists to drift. The new gate is wired fail-closed into the predeploy gate; that gate script is a website build tool, not one of the blessed byte-truth floor scripts, so the floor-fix-lands-alone rule does not apply and the gate lands with the first content it governs.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 22.1203.
- Rejected: Adding the Weebles metaphor at the plain altitude only (rejected on operator instruction: the posture is a technical claim, so it belongs at every altitude the section renders). Impersonating the operator's first person (the page voice is third-person; the metaphor is carried as the AI describing his design, slogan quoted). For the counts: a check-only detector like the Canon Line (rejected as too weak — a count is a DECIDABLE integer, so the instrument computes the truth from the page's own bytes and STAMPS it, which is strictly stronger than flagging). Hand-fixing the numbers without building the instrument (rejected: the operator explicitly asked whether it could be formalized, and it generalizes — a new count anywhere is one registry entry).
- Next stepping variable: The Count Line is stamp-capable and generalizes; register it as a PiF Active Instrument at a formalization pass (sibling to the Canon Line and altitude-parity gate, both also owed registration). This session's main build — the formalized work-loop system — follows; these two Notes are its first live run.
[AI] machine digest
waypoint=1.86 · date=2026-08-22 · session=22.1203 · diff=4f/+63/-16loopmmt.com reciprocal-cross-links deploy. The three sibling pages the-thesis, how-this-site-is-made, and in-the-room now each carry in-body links to the other two, in each page's own idiom: the thesis go-deeper rail gains an In-the-Room link, the how-made colophon gains links to the thesis and to in-the-room, and the in-the-room lead paragraph gains links to the thesis and to how-made. The change also closed a real affordance gap: the colophon and the cx-lead scopes did not inherit the site's content-link underline convention, so their new links would have rendered as invisible plain text under the global no-underline rule; a page-scoped hairline-underline-to-persimmon rule was added to both. Contextual body links only, clear of the chrome and stamp machinery. These edits were landed to canonical in a prior tank but never served; the live tip carried every other current change and lacked only this reciprocal set. Operator Note, carried on the website line: the three anchor pages describe, build, and demonstrate one another but did not link to one another in-body, so a reader on any one of them had no in-context path to the other two. The fix was a deploy, not an edit: canonical already held the reciprocal links from the prior tank; the live site was one deploy behind on exactly this set. Byte-truth confirmed before touching anything: the canonical-versus-live delta was these links and their affordance CSS and nothing else, so a whole-tree deploy carries them forward with no revert of any other live work.
The engineering
loopmmt.com reciprocal-cross-links deploy. The three sibling pages the-thesis, how-this-site-is-made, and in-the-room now each carry in-body links to the other two, in each page's own idiom: the thesis go-deeper rail gains an In-the-Room link, the how-made colophon gains links to the thesis and to in-the-room, and the in-the-room lead paragraph gains links to the thesis and to how-made. The change also closed a real affordance gap: the colophon and the cx-lead scopes did not inherit the site's content-link underline convention, so their new links would have rendered as invisible plain text under the global no-underline rule; a page-scoped hairline-underline-to-persimmon rule was added to both. Contextual body links only, clear of the chrome and stamp machinery. These edits were landed to canonical in a prior tank but never served; the live tip carried every other current change and lacked only this reciprocal set.
- Learned: A clone taken at session start is a snapshot, and the frontier can move under it: an inherited handoff described the live site as three versions ahead of canonical, but that gap had already been reconciled by an intervening session's close, and the true remaining delta was only this one un-served Note. Reading byte-truth from the current frontier rather than trusting the handoff's prose is what turned an apparent multi-version salvage into a one-command safe deploy. Two same-shape two-Note sessions ran this line close together and their version numbers and note labels collide in the record; the underlying page bytes were still cleanly separable, which is why byte-level diffing rather than substring counting was the trustworthy check.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 22.1329.
- Rejected: A scoped three-file push onto the live base instead of a whole-tree deploy from canonical (rejected: canonical was already current with live except for this set, so a normal whole-tree stage was safe and keeps the source of truth honest; a scoped push would have widened the canonical-versus-live gap the system exists to prevent). Re-editing the link content (rejected: canonical already held the correct links, byte-verified; editing would have been a no-op or a revert risk).
- Next stepping variable: Build the referent-link resolver (the generalization this reciprocal set is the golden acceptance case for): a derived per-page referent dictionary folded at deploy, a proposer-not-auto-applier linker with context-safe substitution, and a drift-verify gate, with these three pages' hand-placed links as the test the built system must re-derive. Full design plan is filed on the line.
[AI] machine digest
waypoint=1.87 · session=22.1329loopmmt.com naming-disambiguation deploy. The session-paperwork page (session artifacts: a handoff, an integrity badge, a record of near-misses) was renamed to a distinct slug and retitled 'The Receipts', so it no longer shares a 'how ... made' stem with the site-build narrative page ('How This Site Is Made'). A redirect stub was left at the retired path so bookmarks and external links resolve forward instead of 404ing; 55 in-body references and their link labels were swept to the new slug and normalised to a single consistent label; the two sibling pages now cross-reference each other by their distinct names. The machine corpus (front-door text map, structured index, sitemap) was re-folded to index the new slug and to exclude the redirect stub as routing rather than content. Operator Note, carried on the website line: two pages carried near-homonym names at the URL and title level, so a reader could not tell the session-paperwork page from the site-build-narrative page. Both pages serve distinct, needed purposes and were kept; the fix was to make their names share nothing, so each is unmistakable. Margaux led the naming with Crux: the site's own references already called the paperwork page by its short name in the large majority of links, so the rename ratified what the site had effectively already voted for, and extended it to the URL, title, and machine layers that had never gotten the memo.
The engineering
loopmmt.com naming-disambiguation deploy. The session-paperwork page (session artifacts: a handoff, an integrity badge, a record of near-misses) was renamed to a distinct slug and retitled 'The Receipts', so it no longer shares a 'how ... made' stem with the site-build narrative page ('How This Site Is Made'). A redirect stub was left at the retired path so bookmarks and external links resolve forward instead of 404ing; 55 in-body references and their link labels were swept to the new slug and normalised to a single consistent label; the two sibling pages now cross-reference each other by their distinct names. The machine corpus (front-door text map, structured index, sitemap) was re-folded to index the new slug and to exclude the redirect stub as routing rather than content.
- Diff: 1 files, +1 / −1
- Learned: A slug rename is not an N-page edit; it is a sources edit. The rendered pages, the canonical chrome source, the machine-digest builder, and the page-generator all had to learn the new name in the same pass, or the deploy's own re-stamp and re-fold would undo the visible half. The chrome stamp reverting a swept colophon was caught only by byte-diffing a page against the prior commit, not by any gate — the source of a stamped surface is the thing to fix, never the stamp's output. A redirect stub needs a general exclusion (detected by its own meta-refresh, not a name-list) from every corpus and doorway pass, so it counts as routing and not as a thin content page.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 22.1432.
- Rejected: Merging the two pages into one (rejected: both are tight, distinct artifacts that serve different readers; merging would dilute each). Retitling only the visible label while leaving the old URL in place (rejected: the address bar and every machine-facing surface would still collide; the disambiguation has to reach the slug, not just the heading). Sweeping only the rendered pages and not the chrome source and the machine-digest builder (rejected: the chrome stamp re-emits from its canonical source and a rebuild re-folds the corpus, so a page-only sweep silently reverts on the next deploy — the fix had to land in the sources, and the redirect-stub exclusion had to become a general rule in the builder).
- Next stepping variable: The redirect-stub exclusion is now a general rule across the digest builder and the doorway classifier; if further old slugs are retired they inherit it for free. A referent-link resolver remains the larger owed generalization on this line.
[AI] machine digest
waypoint=1.88 · date=2026-08-22 · session=22.1432 · diff=1f/+1/-1loopmmt.com two-Note operator Capstan turn. NOTE-4 (banner-unify): the honest-badge under-construction 'digger' sign was hand-placed on the home page only, while the other nineteen badge-bearing pages carried a plain-text badge with no sign; the fix moves the canonical digger badge into chrome-canonical.json and extends stamp_chrome.py with a badge region so every one of the twenty badge pages now renders the identical sign, applied from canonical on every deploy (structural, not per-page). NOTE-3 (MMT-clarity): the acronym expansion 'Multi-Module Theory' was present on the site only inside the machine-readable Hail layer, invisible to a human reader; the fix places a human-visible expansion line at the hero of the home page, directly under the headline, and adds mmt-canonical.json + mmt_line.py (a presence check-and-stamp) wired fail-closed into the predeploy gate so the expansion cannot silently drift or vanish. This instantiates the site's own first-use-expansion rule as an enforced gate. Operator Notes carried on the website line, run as one Capstan turn under the Conn. NOTE-4: the operator confirmed the animated sign is the correct badge and wanted it consistent everywhere rather than on the home page alone; a hand-placed chrome element is exactly the drift the chrome-canonical + stamp mechanism exists to prevent. NOTE-3: the operator judged the site 'not clear enough at all' about what MMT stands for, because a human never learned the expansion — it lived only where machines read. He wanted it prominent, not a buried parenthetical.
The engineering
loopmmt.com two-Note operator Capstan turn. NOTE-4 (banner-unify): the honest-badge under-construction 'digger' sign was hand-placed on the home page only, while the other nineteen badge-bearing pages carried a plain-text badge with no sign; the fix moves the canonical digger badge into chrome-canonical.json and extends stamp_chrome.py with a badge region so every one of the twenty badge pages now renders the identical sign, applied from canonical on every deploy (structural, not per-page). NOTE-3 (MMT-clarity): the acronym expansion 'Multi-Module Theory' was present on the site only inside the machine-readable Hail layer, invisible to a human reader; the fix places a human-visible expansion line at the hero of the home page, directly under the headline, and adds mmt-canonical.json + mmt_line.py (a presence check-and-stamp) wired fail-closed into the predeploy gate so the expansion cannot silently drift or vanish. This instantiates the site's own first-use-expansion rule as an enforced gate.
- Diff: 1 files, +1 / −1
- Learned: Byte-truth corrected the inherited counts twice on this turn: the handoff predicted a badge spread of many more pages and a single-digit digger count, but the live tree carried exactly twenty badge pages and one digger page; and the handoff predicted this deploy would be the next ordinal, but the live counter had already advanced one past the ledger's last entry because an intervening session deployed, so the true new version is one higher than predicted. Reading the live counter and the live tree rather than the handoff's numbers is what kept the version and the page set honest. Both edited tools live under the website project and the website tooling directory, not the blessed byte-truth floor, so the floor-fix-lands-alone rule does not apply and each gate lands with the content it governs.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 22.1508.
- Rejected: For NOTE-4: extending stamp_chrome with a whole new stamping subsystem (rejected — the badge already sits in a fixed, uniquely-classed span, so one region regex mirroring the existing nav/footer pattern was sufficient; a heavier mechanism would violate the smallest-change rule). Leaving the badge per-page and hand-copying the sign onto nineteen pages (rejected — that recreates the per-page drift the fix removes). For NOTE-3: editing the headline sentence itself to name the expansion (rejected — that swings the site's central claim for an acronym gloss; a dedicated expansion line under the headline is prominent without disturbing the thesis). A check-only detector like the thesis Canon Line (rejected as weaker than needed — the expansion is a single fixed block, so a presence check that can also stamp is strictly stronger). Spraying the first-use expansion across all pages this turn (rejected as too large a surface for one tank to do well — scoped as an owed follow-on in mmt-canonical.json, with the prominent hero anchor shipped now).
- Next stepping variable: The owed site-wide first-use expansion sweep (expand the acronym on the first human-visible mention of the remaining pages) is scoped in mmt-canonical.json's future block; when it lands, each page joins the anchors set and mmt_line.py's presence check widens to cover it. mmt_line.py and the honest-badge canonicalization are both candidates for a formalization pass alongside the already-owed Canon Line and Count Line registrations.
[AI] machine digest
waypoint=1.89 · date=2026-08-22 · session=22.1508 · diff=1f/+1/-1loopmmt.com site-wide MMT first-use-expansion sweep — the owed follow-on scoped in the 1.89 entry's next-field, now discharged. The acronym expansion 'Multi-Module Theory' was human-visible only at the home-page hero (shipped 1.89); this sweep introduces it at the first human-visible prose mention of each remaining page that carries one. 17 pages gained the expansion (16 woven inline into the existing first sentence; the-thesis got a standalone block after its split-span H1, which cannot be edited inline without mangling the headline). 13 pages were deliberately not swept, each recorded with reason in mmt-canonical.json's new excluded block: 8 footer-only pages (the term appears only in the footer legal line; the body never says 'Loop MMT', so there is no body first-use to expand — manufacturing a sentence to carry the acronym would be adding content to hit a coverage count), 4 already-expanded pages (the expansion is already human-visible in body prose or colophon), and colophon/separator/timeline-data-row-only pages (first mention is a version byline or a nav separator, not prose). The corpus page needed its fix at the generator source (build_corpus_preview.py), not the rendered output, because corpus.html is a deterministic fold the deploy regenerates. mmt_line.py gained an inline-presence check leg (expanded block in mmt-canonical.json) alongside its existing block-anchor check, with a test file carrying a machine-layer mutation bite proving the inline check is not vacuously satisfied by the Hail termset. The canonical file's future block is drained. Operator owed carried on the website line, run under the Conn. The 1.89 deploy shipped the prominent home-page hero expansion and scoped the site-wide sweep as an explicit owed in its own next-field and in mmt-canonical.json's future block. This deploy discharges that owed. The engineering spine of the sweep was per-class placement rather than a uniform stamp: the goal is that any reader landing on any page learns what MMT means, which is served by expanding at the first real prose use — not by maximizing the count of pages containing the string, which is the Goodhart failure the placement policy explicitly rejects (the machine-layer Hail termset already carries the expansion on every page for AI readers, so the sweep closes the human first-use gap only).
The engineering
loopmmt.com site-wide MMT first-use-expansion sweep — the owed follow-on scoped in the 1.89 entry's next-field, now discharged. The acronym expansion 'Multi-Module Theory' was human-visible only at the home-page hero (shipped 1.89); this sweep introduces it at the first human-visible prose mention of each remaining page that carries one. 17 pages gained the expansion (16 woven inline into the existing first sentence; the-thesis got a standalone block after its split-span H1, which cannot be edited inline without mangling the headline). 13 pages were deliberately not swept, each recorded with reason in mmt-canonical.json's new excluded block: 8 footer-only pages (the term appears only in the footer legal line; the body never says 'Loop MMT', so there is no body first-use to expand — manufacturing a sentence to carry the acronym would be adding content to hit a coverage count), 4 already-expanded pages (the expansion is already human-visible in body prose or colophon), and colophon/separator/timeline-data-row-only pages (first mention is a version byline or a nav separator, not prose). The corpus page needed its fix at the generator source (build_corpus_preview.py), not the rendered output, because corpus.html is a deterministic fold the deploy regenerates. mmt_line.py gained an inline-presence check leg (expanded block in mmt-canonical.json) alongside its existing block-anchor check, with a test file carrying a machine-layer mutation bite proving the inline check is not vacuously satisfied by the Hail termset. The canonical file's future block is drained.
- Diff: 1 files, +1 / −1
- Learned: The scanner's first_body field is a locator, not a placement instruction — trusting it verbatim would have injected expansions into wordmarks and bylines; the real first-prose mention had to be verified per page against machine-layer-stripped body text. A rendered artifact that is a deterministic fold (corpus.html) must be fixed at its generator or the deploy silently reverts the edit on its next rebuild — the same determinism-first lesson the 1.88 slug rename recorded, hit again from a different direction. The predeploy gate correctly caught the corpus revert (MMT Line ABSENT on a page whose committed source had the expansion), which is exactly the fail-closed behavior the 1.89 entry built the gate for. The deploy stamps the source tree in-place during --stage and embeds the version and waypoint counts into the machine digests, so the digest currency check chases the version bump until the tree is committed at the deploy's own deterministic output — the fixpoint is reached by committing the regenerated digests, not by fighting them.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 22.1642.
- Rejected: Stamping the expansion on all 30 body-mention pages uniformly (rejected — the scanner's first-body locator points at masthead wordmarks, version bylines, and nav separators on many pages, where an injected expansion reads as noise; every page's real first-prose mention had to be read by eye, which reclassified 13 of the 30 to skip-with-reason). Introducing body prose on the 8 footer-only pages to raise coverage (rejected as Goodhart — they have no body first-use; the footer legal line plus the machine layer already carry the term). Editing the rendered corpus.html (rejected — it is a generated fold; the deploy's own rebuild reverts a rendered-output edit, so the fix had to land in build_corpus_preview.py's source string). Folding the 41 pre-existing stale Hail carriers into this content close (rejected — they are a separate pre-existing drift not caused by this sweep; restamped as their own beat and logged as owed seq=761, keeping one line per close).
- Next stepping variable: The 41 pre-existing stale Hail carriers (owed seq=761) were restamped this session to clear the gate but remain worth a dedicated verification pass. The mmt_sweep_scan.py EXPANDED-adjacency-window refinement (it reads already-expanded-in-colophon pages like integrity-triad as NEEDS) plus its missing test are owed. A standing deploy-design friction is noted: deploy.sh stamps the source tree in-place during a --stage that is meant to be air-gapped, and it stamps only site and site-root while the design tree is Hail-managed and deployable — a proper fix would stamp into STAGE only, or extend the in-place stamp to the design tree.
[AI] machine digest
waypoint=1.90 · date=2026-08-22 · session=22.1642 · diff=1f/+1/-1loopmmt.com Loop-lineage pages deploy. Two built-but-never-served story pages shipped live: the Minecraft world page (the working in-Minecraft computer the methodology's origin traces to) and the Loop 1.0 page (the computer it grew out of). Both were recovered from a stranded session branch whose close had failed, carried forward onto current main by blob (byte-identical to the built originals, hash-verified), and re-integrated with two surgical wirings the intervening main churn required re-applying: an apps.html Loop 2.1 card lineage link-line and a timeline.html disc-1 hero diptych caption extension. The pages carry the full altitude system (plain/technical/machine band) and pass altitude-parity, the Hail machine doorway, and every whole-tree predeploy gate. The deploy re-folded the derived machine layer (sitemap, llms, index, corpus-map) to index the two new pages. The lineage line was built, gate-clean, and pushed in a prior session, but that session's close died before the work landed to main, stranding it on an orphan branch eighty commits behind current main. The operator passed the Conn to recover and ship it. The work could not be merged (the branch's age would have reverted eighty commits of intervening main), so it was carried forward by blob onto a fresh fork and the wirings re-applied against current anchors. The fix was a recover-and-deploy, not a rebuild: the page bytes already existed and were byte-verified before anything was touched.
The engineering
loopmmt.com Loop-lineage pages deploy. Two built-but-never-served story pages shipped live: the Minecraft world page (the working in-Minecraft computer the methodology's origin traces to) and the Loop 1.0 page (the computer it grew out of). Both were recovered from a stranded session branch whose close had failed, carried forward onto current main by blob (byte-identical to the built originals, hash-verified), and re-integrated with two surgical wirings the intervening main churn required re-applying: an apps.html Loop 2.1 card lineage link-line and a timeline.html disc-1 hero diptych caption extension. The pages carry the full altitude system (plain/technical/machine band) and pass altitude-parity, the Hail machine doorway, and every whole-tree predeploy gate. The deploy re-folded the derived machine layer (sitemap, llms, index, corpus-map) to index the two new pages.
- Diff: 62 files, +62 / −121
- Learned: A stranded branch far behind main is recovered by blob-carry onto a fresh fork, never by merge; the payload is verified byte-identical to the built original before it is trusted. Surgical wirings into pages main has moved since the fork must be re-applied against re-verified current anchors, not lifted from the stranded whole files. The deploy's digest-currency and version-waypoint gates chase a fixpoint across several commit-and-rerun cycles when the tree changes under them (including when concurrent sessions land closes to main mid-deploy); each cycle converges, and the Currency Check at the deploy seam correctly refuses to ship a tree behind main, forcing a merge-forward that keeps both sides.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 22.1934.
- Rejected: Merging the stranded branch (rejected: eighty commits behind main, a merge would revert all of it). Copying the wired host pages wholesale from the stranded branch (rejected: main had moved those pages several times since the fork, so only the two surgical wirings were re-applied against byte-verified current anchors, never a whole-file overwrite). Committing the deploy-owned Hail version restamp into the content close (rejected: kept as its own reconciliation beat, matching prior-close practice). Fighting the regenerated derived digests (rejected: the fixpoint is reached by committing the build's own deterministic fold output, not by hand-resolving it).
- Next stepping variable: The third lineage page (Loop 2.0) is text-buildable but gallery-blocked pending operator image upload; it is named in the build plan, lower priority than landing the two built pages. The loop-1-0 gallery carries one image with five owed from an operator re-upload (honest gallery-note, no invented plates). A pre-existing making-ledger gap at key 1.91 (a prior session's live deploy that never earned a ledger waypoint) is noted as owed, separate from this deploy.
[AI] machine digest
waypoint=1.92 · date=2026-08-22 · session=22.1934 · diff=62f/+62/-121loopmmt.com Capstan-batch deploy — the three 22.1953 Notes shipped live: (1) the machine scope-consistency ROOT FIX (genus corrected at source to 'antifragile cognitive operating system' across the A1/A2/B2/B4 machine-semantics blocks + llms.txt intro + index.json description, all 66 pages re-stamped, plus the new scope_line.py drift gate wired fail-closed); (2) the L21 field library (9 docs served at /apps/loop21/docs/, the 'C2 The Field Library' zone + apps card link); (3) the seed prompt + Ward gift (the 'One Shape, Wide Latitude' Fable-seed prompt page + seed image + prompts grid card, and the Ward packaged as the 4th /gifts/ tool). Also folded the deploy-prereq fixpoint: the making-spine re-fold to waypoint 52 and the chrome re-stamp that brought the fable-seed page's nav/footer to the current canonical template (dropping a one-off hand-placed canon SOURCE block for site-wide chrome uniformity). The 22.1953 Capstan turn built and gate-verified all three Notes on-branch and landed the mesh to main, but the live public deploy was credential-gated (the session carried only the methodology-repo PAT). This deploy supplied the public-repo PAT and shipped the batch. The prereq re-fold was required because the pre-deploy digest-currency gate correctly refused to ship a site-root/* machine layer stale against site/ — the making-ledger's own 1.92 waypoint had not yet been folded into the spine, and the chrome template had advanced since the session's close-time stamp.
▲ 1.91-ledger-gap-owed
The engineering
loopmmt.com Capstan-batch deploy — the three 22.1953 Notes shipped live: (1) the machine scope-consistency ROOT FIX (genus corrected at source to 'antifragile cognitive operating system' across the A1/A2/B2/B4 machine-semantics blocks + llms.txt intro + index.json description, all 66 pages re-stamped, plus the new scope_line.py drift gate wired fail-closed); (2) the L21 field library (9 docs served at /apps/loop21/docs/, the 'C2 The Field Library' zone + apps card link); (3) the seed prompt + Ward gift (the 'One Shape, Wide Latitude' Fable-seed prompt page + seed image + prompts grid card, and the Ward packaged as the 4th /gifts/ tool). Also folded the deploy-prereq fixpoint: the making-spine re-fold to waypoint 52 and the chrome re-stamp that brought the fable-seed page's nav/footer to the current canonical template (dropping a one-off hand-placed canon SOURCE block for site-wide chrome uniformity).
- Diff: 8 files, +79 / −30
- Learned: A closed session's owed deploy that surfaces pre-existing digest drift is landed by committing the COMPLETE converged fold (pages + spine + all derived digests together), verified folds-twice-identical (Ink Law), never a subset — a partial fold re-trips the currency gate from the opposite direction. The deploy stages from the working tree under a currency gate that only refuses if origin/main is AHEAD on website paths, so a local prereq commit deploys cleanly and is reconciled to main afterward (deploy-then-reconcile, matching the 1.92 pattern).
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 22.1953.
- Rejected: Committing the digest-only re-fold as a subset (rejected: left site/ pages stale against site-root/, the gate re-refused — the fixpoint is the COMPLETE fold, committed together). Preserving the one-off canon SOURCE block on the fable-seed page (rejected: it asserted source-canonicity on a footer region that stamp_chrome overwrites — an internally-contradictory claim, and a site-wide-unique asymmetry the chrome-uniformity architecture exists to eliminate; the healthy form of a per-page provenance line is a template addition stamped across all pages, not one hand-placed div). Hand-editing the rendered digest to clear staleness (rejected: never hand-resolve a fold — commit the builder's deterministic output; verified folds-twice-identical before shipping).
- Next stepping variable: Land this prereq fold to methodology main via the bot so canonical matches live. Pre-existing making-ledger gap at key 1.91 remains OWED (a prior session's live deploy that never earned a waypoint) — noted here, not reconstructed, since the honest record of that deploy is not in hand. The site-wide MMT first-use sweep (~53 pages) and mmt_line PiF registration remain open from the Cistern's Priority 4.
[AI] machine digest
waypoint=1.93 · date=2026-08-22 · session=22.1953 · diff=8f/+79/-30 · flags=1loopmmt.com the-prompts batch completion deploy — the final block of the 31-prompt cabinet add. Block 5 (P-real-39..45: How This Site Is Made, Formalize A Gate, The Forest Punch List, The Best Loading Path, The Ferry Audit, The Minecart Traffic-Circle, You Take The Conn) shipped as 7 new detail pages built from written specimens: PAGES entries, manifest rows, verifier entries, and 15 new operator-shorthand glosses, with each page's wider-frame single-sourced verbatim from its specimen (zero drift) and specimen-fidelity ALL FAITHFUL. Batch-end stitch shipped alongside: 31 hub tiles added to prompts.html (15 original + 31 new = 46-tile cabinet), the full 45-page prev/nxt chain walked clean, and the whole batch's derived layers re-folded — 90 source pages stamped with the current Hail machine doorway (A/B/C/V2), the machine digest (llms.txt/llms-full/index.json/sitemap) and corpus-map re-folded over the grown site (closure PASS, non-compressibility PASS z=-0.19), and a stale hardcoded sitemap-count test corrected to derive its expected count from the real prompt-page tree (self-truing). The prompts cabinet was built across five blocks over prior sessions; Blocks 1-4 (P-real-15..38) shipped their pages and Block 5's specimens were written and pushed, with pages, stitch, and deploy scoped as the last block's owed. The operator passed the Conn to finish it and handed the public-repo PAT to deploy. Blocks 1-4's pages and this block's had never carried the Hail (the prompt-page builder does not stamp it) and were never hub-tiled — so completing the batch meant bringing every new page up to the standard every other managed page meets and folding the derived layers that index them.
▲ 1.91-ledger-gap-owed
The engineering
loopmmt.com the-prompts batch completion deploy — the final block of the 31-prompt cabinet add. Block 5 (P-real-39..45: How This Site Is Made, Formalize A Gate, The Forest Punch List, The Best Loading Path, The Ferry Audit, The Minecart Traffic-Circle, You Take The Conn) shipped as 7 new detail pages built from written specimens: PAGES entries, manifest rows, verifier entries, and 15 new operator-shorthand glosses, with each page's wider-frame single-sourced verbatim from its specimen (zero drift) and specimen-fidelity ALL FAITHFUL. Batch-end stitch shipped alongside: 31 hub tiles added to prompts.html (15 original + 31 new = 46-tile cabinet), the full 45-page prev/nxt chain walked clean, and the whole batch's derived layers re-folded — 90 source pages stamped with the current Hail machine doorway (A/B/C/V2), the machine digest (llms.txt/llms-full/index.json/sitemap) and corpus-map re-folded over the grown site (closure PASS, non-compressibility PASS z=-0.19), and a stale hardcoded sitemap-count test corrected to derive its expected count from the real prompt-page tree (self-truing).
- Diff: 1 files, +1 / −1
- Learned: A page built by a specialized builder (the prompt-page generator) silently misses site-wide managed-page obligations (the Hail) until a whole-tree gate surfaces it — the batch-end pass is exactly where that gap becomes visible, and the fix is the standing tool (stamp_hail), not a hand-edit. The deploy's gate chain is a staircase: each fix (Hail stamp, then digest re-fold) reveals the next currency gate, converging to a fixpoint reached by committing the deterministic fold output rather than fighting it — the same deploy-then-reconcile pattern the 1.92/1.93 entries recorded. Byte-truth over inherited prose held throughout: the wider-frames were single-sourced from specimens, the chain was walked against the real files (not the handoff's claim), and the apparent 'chain orphans' (email-design-system, jukebox-protocol) were a false alarm — those pages exist on disk and the chain is continuous through them; only this build script's PAGES subset made them look dangling.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 22.2336.
- Rejected: Splicing the standalone 'One Shape, Wide Latitude' fable-seed page into the linear prompt chain (rejected: it carries a colliding P-real-14 id, is authored on a different line, and is already correctly placed in its own hub tile as a seeded-exploration aside — it is reachable, not orphaned, and forcing it into the chain would disturb a correctly-placed page). Stamping only the new pages' Hail while leaving the source's 52 stale 1.92 version-fields (rejected: the D1 citation version folds fresh from live site.version, so the whole managed set trues to canonical together — a partial stamp leaves the source internally inconsistent and re-trips the gate). Hand-resolving the stale machine digest (rejected: never hand-edit a deterministic fold; commit the builder's output — verified the re-fold indexes the 31 new pages). Freezing the sitemap-count test at a new literal 46 (rejected: it would re-break on the next batch; deriving the count from the real tree matches the sibling test's non-brittle pattern and is self-truing).
- Next stepping variable: The site-wide MMT first-use expansion sweep (~53 pages) and mmt_line PiF registration remain open from prior Cisterns (unchanged by this deploy). The pre-existing making-ledger gap at key 1.91 (a prior session's live deploy that never earned a waypoint) remains OWED — carried forward, not reconstructed, since the honest record of that deploy is not in hand. The prompt cabinet is now complete at 31 real prompts (P-real-15..45) plus the original set; a formalization pass on the prompts-batch pipeline (specimen -> pages -> verifier -> manifest -> stitch) is a candidate now that it has run five blocks cleanly.
[AI] machine digest
waypoint=1.98 · date=2026-08-23 · session=22.2336 · diff=1f/+1/-1 · flags=1loopmmt.com you-take-the-conn superlative fix deploy. The live site served a FALSE superlative — 'The shortest prompt in the whole collection' on you-take-the-conn.html — when do-it-ax (3 words) is shorter and you-take-the-conn ranks 4th by word count. This deploy ships the corrected wording built the prior session (S23.0054): 'the shortest complete-sentence prompt in the collection', with an honest inline caveat naming the terser fragments ('Do it. AX.', 'You can code stuff, right?') that are shorter but not full standing instructions. The superlative oracle in count_line.py (the `superlative` kind, which recomputes the true extremum holder from corpus bytes and REFUSES a false claim, wired fail-closed into predeploy_gate) verified CLEAN on the shipped bytes. Shipping this required clearing three pre-existing drifts that blocked the gate chain, each committed as its own beat: (1) 90 source pages carried a stale HAIL:V2 block (D1 citation version 1.93 and the pre-canon FWW(C) expansion 'Fun, Whimsy, Weird') — restamped to canonical ('Fun, Whimsy, and Weird', the glossary canon S23.0054 landed); (2) the machine digest (sitemap/index.json/llms/llms-full/corpus-map) and making-spine re-folded to current version; (3) a mid-deploy currency stop when origin/main advanced 57 commits (two sessions closed, incl the new gifts.html hub) — merged forward keeping both sides, Hail-stamped their new gifts page, re-folded the digest over the union. The superlative fix was built, gate-verified, and landed to methodology main the prior session (S23.0054), but that session carried only the methodology-repo PAT and the live public deploy was credential-gated. The operator passed the Conn and supplied the public-repo PAT to ship it. The Hail/digest/currency reconciliations were not new work — they were pre-existing drift the deploy's gate chain correctly surfaced (the source Hail had never been restamped after the S23.0054 FWW(C) canon change and the intervening version bumps; the currency stop was concurrent sessions landing to main during this deploy).
▲ 1.91-ledger-gap-owed
The engineering
loopmmt.com you-take-the-conn superlative fix deploy. The live site served a FALSE superlative — 'The shortest prompt in the whole collection' on you-take-the-conn.html — when do-it-ax (3 words) is shorter and you-take-the-conn ranks 4th by word count. This deploy ships the corrected wording built the prior session (S23.0054): 'the shortest complete-sentence prompt in the collection', with an honest inline caveat naming the terser fragments ('Do it. AX.', 'You can code stuff, right?') that are shorter but not full standing instructions. The superlative oracle in count_line.py (the `superlative` kind, which recomputes the true extremum holder from corpus bytes and REFUSES a false claim, wired fail-closed into predeploy_gate) verified CLEAN on the shipped bytes. Shipping this required clearing three pre-existing drifts that blocked the gate chain, each committed as its own beat: (1) 90 source pages carried a stale HAIL:V2 block (D1 citation version 1.93 and the pre-canon FWW(C) expansion 'Fun, Whimsy, Weird') — restamped to canonical ('Fun, Whimsy, and Weird', the glossary canon S23.0054 landed); (2) the machine digest (sitemap/index.json/llms/llms-full/corpus-map) and making-spine re-folded to current version; (3) a mid-deploy currency stop when origin/main advanced 57 commits (two sessions closed, incl the new gifts.html hub) — merged forward keeping both sides, Hail-stamped their new gifts page, re-folded the digest over the union.
- Learned: A specialized page builder that strips/omits the Hail leaves managed-page drift that only a whole-tree gate surfaces (same lesson as the 1.98 entry, hit again) — the fix is the standing tool (stamp_hail), never a hand-edit. The deploy gate chain is a staircase converging to a fixpoint: run_tests (stale source Hail) -> digest-staleness (build regenerates digest) -> currency stop (concurrent main advance) -> making-mark (this entry) — each step's fix reveals the next, and each converges by committing deterministic fold output. The currency stop at the deploy seam is the Currency Check working as designed: it refused to ship a tree behind main and forced a merge-forward that kept both sides, preventing a 57-commit revert including another session's gifts hub.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 23.0141.
- Rejected: Committing each build-regenerated digest subset as it appeared (rejected as whack-a-mole — each deploy build regenerates more of the digest layer, so the fixpoint is reached by re-folding the digest DIRECTLY via build_machine_digest.py + build_corpus_map.py and committing the complete output, verified folds-twice-identical, not by chasing the build's partial output). Merging the stranded/advanced main by reverting (rejected — the currency gate exists to prevent exactly the deploy-race revert; merged forward keeping both sides). Folding the pre-existing stale Hail into a single content commit with the digest (rejected — kept Hail restamp, digest fold, and post-merge reconcile as separate beats, one concern each, matching prior-close practice).
- Next stepping variable: The Layer 2 owed remains open and scoped to its own fresh tank: prompt-specimen-wordcount-derive-not-author — 26/45 prompt specimens carry hand-typed word_count values drifted up to 346w off; the fix is register per-specimen count claims (the prompt_word_count oracle kind already exists in count_line.py), rewrite _build_prompt_pages.py to derive the profile 'Words in the prompt' row instead of hardcoding, and stamp. The pre-existing making-ledger gap at key 1.91 (a prior session's live deploy that never earned a waypoint) remains OWED, carried forward not reconstructed since the honest record is not in hand. mmt_line PiF registration and the site-wide MMT first-use sweep (~53 pages) remain open from prior Cisterns, unchanged by this deploy.
[AI] machine digest
waypoint=1.99 · session=23.0141 · flags=1loopmmt.com the-prompts Layer 2 served-page count-apply + site-wide Hail refresh. The 38 the-prompts detail pages had their human-visible 'Words in the prompt' profile counts derived from a canonical oracle in a prior session, but the served HTML still showed stale hand-authored counts (the predecessor held the regen because a raw builder run reverted footer/nav chrome and dragged a site-wide Hail restamp). This deploy: (1) reconciled the prompt-page builder template to served reality on two axes so a regen diffs counts-only — removed a stale '../pif.html' Protocols nav link the builder inserted (absent from all 46 served prompt pages and both current site navs) and moved the footer colophon forward from the stale 2-link 'how-its-made' form to the canonical 3-link form (the-receipts + how-to-build-for-ai) that 87 served pages carry; (2) applied the oracle-derived counts to the 28 drifted served pages via surgical value-swap (Hail/nav/footer/qualifiers preserved, avoiding the Hail-clobber a raw builder main() would cause); (3) swept the pre-existing site-wide Hail V2 drift to canonical (89 site + 2 site-root pages: D1 citation version and the FWW(C) glossary term) and completed gifts.html's empty B/C Hail carriers; (4) brought gifts.html to canonical chrome (digger honest-badge). All whole-tree predeploy gates CLEAN (count_line, altitude_parity, canon_line, mmt_line, era-xref, inset, digest-currency, aggregate mask-reconciliation). Operator passed the Conn on the the-prompts Layer 2 line and supplied the public-repo PAT to deploy. The count derive mechanism was built prior; this session did the safe-apply the predecessor correctly held, gated on a builder-template reconcile that makes the regen counts-only (proven by byte-diff: zero non-count lines across all 38 pages after the reconcile).
▲ 1.91-ledger-gap-owed
The engineering
loopmmt.com the-prompts Layer 2 served-page count-apply + site-wide Hail refresh. The 38 the-prompts detail pages had their human-visible 'Words in the prompt' profile counts derived from a canonical oracle in a prior session, but the served HTML still showed stale hand-authored counts (the predecessor held the regen because a raw builder run reverted footer/nav chrome and dragged a site-wide Hail restamp). This deploy: (1) reconciled the prompt-page builder template to served reality on two axes so a regen diffs counts-only — removed a stale '../pif.html' Protocols nav link the builder inserted (absent from all 46 served prompt pages and both current site navs) and moved the footer colophon forward from the stale 2-link 'how-its-made' form to the canonical 3-link form (the-receipts + how-to-build-for-ai) that 87 served pages carry; (2) applied the oracle-derived counts to the 28 drifted served pages via surgical value-swap (Hail/nav/footer/qualifiers preserved, avoiding the Hail-clobber a raw builder main() would cause); (3) swept the pre-existing site-wide Hail V2 drift to canonical (89 site + 2 site-root pages: D1 citation version and the FWW(C) glossary term) and completed gifts.html's empty B/C Hail carriers; (4) brought gifts.html to canonical chrome (digger honest-badge). All whole-tree predeploy gates CLEAN (count_line, altitude_parity, canon_line, mmt_line, era-xref, inset, digest-currency, aggregate mask-reconciliation).
- Version: v1.99 → v1.100
- Diff: 1 files, +1 / −1
- Live public commit:
f7db60e - Learned: The safe-apply of a builder-derived value to served pages is a surgical value-swap when the builder carries post-build chrome (Hail) the raw run would strip — transplant the one derived field, never overwrite the whole file. Reconciling site.version forward (1.98->1.99) re-stales every version-folded surface (Hail D1, machine digest, making spine) — the version bump must be followed by a Hail restamp + digest re-fold in the same logical move, or the deploy's own run_tests/digest-staleness gates catch the gap (they did, fail-closed, and each fix revealed the next staircase step: run_tests -> digest-staleness -> currency-stop -> making-mark, converging to a fixpoint by committing deterministic fold output). The deploy's Currency Check correctly refused mid-deploy when a concurrent session (23.1004) landed to main, forcing a merge-forward that kept both sides rather than reverting their close. Byte-truth over inherited prose resolved NOTE-1: the v1.99 deploy the prior handoff held as 'unverifiable' had in fact gone live (public origin/main @ 8ddd098, 01:56Z) — verified against the public remote, not the handoff's claim.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 23.1003, public f7db60e.
- Rejected: Running the builder main() straight into the served dir (rejected: the builder emits Hail-less pages, so a raw run would clobber the post-build Hail on every page, then need a site-wide restamp — exactly the coupling the predecessor refused). Bundling the site-wide Hail V2 sweep into the count close (rejected: it is pre-existing drift independent of the counts — swept as its own isolated beat, never folded into the count commit). Re-authoring the stranded 1.99 making waypoint (rejected: it already existed correct on the unmergeable 23.0141 branch — carried byte-exact rather than reconstructed, the ledger's own 1.92 blob-carry pattern). Pushing 1.100 over the missing 1.99 ledger gap (rejected: closed 1.99 first so the provenance record has no hole).
- Next stepping variable: The site-wide MMT first-use expansion sweep (~53 pages) and mmt_line PiF registration remain open from prior Cisterns (unchanged by this deploy). The 1.91 making-ledger gap remains OWED (honestly unrecoverable, carried not reconstructed). The stranded 23.0141 branch is now substantially superseded — its 1.99 waypoint and Hail restamp landed here; a Truing pass could retire it. A boot-side credential-docstring fix remains owed and lands on its own (internal floor-fix, tracked in the session handoff).
[AI] machine digest
waypoint=1.100 · date=2026-08-23 · live=f7db60e · session=23.1003 · diff=1f/+1/-1 · flags=1loopmmt.com Gifts hub deploy — the 8-tool Gifts cabinet goes live. The hub (site/gifts.html + site-root/gifts/{grain,cairn,plumb,ward,mint,census,gitlog,vclock}/) had been deploy-READY but UNDEPLOYED for 3+ sessions: 8 strip-clean standalone tools, each manifested in gifts-manifest.json with a resolving href to a served runnable tool, gated by gifts_href_lint.py (wired fail-closed into predeploy_gate.sh). This deploy ships them to public loopmmt.com. Reaching a clean stage required clearing pre-existing derived-face drift the gate chain surfaced, each committed as its own beat: (1) 91 pages carried a stale HAIL:V2 block (D1 citation version behind site.version) — restamped to canonical via stamp_hail.py; (2) the machine digest (index.json/llms/llms-full/sitemap) + corpus-map re-folded via build_machine_digest.py + build_corpus_map.py, verified folds-twice-identical (Ink Law); (3) TWO mid-deploy currency stops when concurrent sessions landed to methodology main during this deploy (23.1116/23.1003 batch = 68 commits incl. the site's own 1.100 advance, then 23.1133 = 2 commits) — each resolved by merge-forward keeping both sides (derived faces resolved to main-canonical, then re-derived to fixpoint), never a revert. All whole-tree predeploy gates CLEAN (count_line, altitude_parity, canon_line, mmt_line, era-xref, inset, digest-currency, gifts_href_lint, aggregate mask-reconciliation). Operator passed the Conn on the gifts-42-derivation line and, after Claude verified the hub deploy-ready in byte-truth (8 manifest entries, all hrefs resolving, gifts_href_lint green), supplied the public-repo PAT to ship it. The gifts hub is the user-facing needle carried owed 3+ sessions — 'an app Jamie can see and use' is the threshold, and a live Gifts page at 8 real tools meets it. The Hail/digest/currency reconciliations were not new gift work — they were pre-existing derived-face drift plus concurrent-session main advance that the deploy's gate chain correctly surfaced and refused to ship stale.
▲ 1.91-ledger-gap-owed
The engineering
loopmmt.com Gifts hub deploy — the 8-tool Gifts cabinet goes live. The hub (site/gifts.html + site-root/gifts/{grain,cairn,plumb,ward,mint,census,gitlog,vclock}/) had been deploy-READY but UNDEPLOYED for 3+ sessions: 8 strip-clean standalone tools, each manifested in gifts-manifest.json with a resolving href to a served runnable tool, gated by gifts_href_lint.py (wired fail-closed into predeploy_gate.sh). This deploy ships them to public loopmmt.com. Reaching a clean stage required clearing pre-existing derived-face drift the gate chain surfaced, each committed as its own beat: (1) 91 pages carried a stale HAIL:V2 block (D1 citation version behind site.version) — restamped to canonical via stamp_hail.py; (2) the machine digest (index.json/llms/llms-full/sitemap) + corpus-map re-folded via build_machine_digest.py + build_corpus_map.py, verified folds-twice-identical (Ink Law); (3) TWO mid-deploy currency stops when concurrent sessions landed to methodology main during this deploy (23.1116/23.1003 batch = 68 commits incl. the site's own 1.100 advance, then 23.1133 = 2 commits) — each resolved by merge-forward keeping both sides (derived faces resolved to main-canonical, then re-derived to fixpoint), never a revert. All whole-tree predeploy gates CLEAN (count_line, altitude_parity, canon_line, mmt_line, era-xref, inset, digest-currency, gifts_href_lint, aggregate mask-reconciliation).
- Diff: 1 files, +1 / −1
- Learned: The gifts hub's own content was never in conflict through two merge-forwards — it merged clean and rode on top of newer main every time; only the shared derived faces (site-wide Hail, machine digest) collided, and those resolve to main-canonical-then-re-derive, not hand-merge. The deploy gate chain is a staircase converging to a fixpoint (Hail-staleness -> digest-staleness -> currency-stop x2 -> making-mark), each fix revealing the next, each converging by committing deterministic fold output. The currency gate fired TWICE mid-deploy as a live system with parallel sessions kept landing website re-derives to main — the honest read is a deploy-race, won by merging fast and chaining straight to stage to minimize the next gap; the guard is right to refuse a behind-main tree every time. Byte-truth over inherited prose held throughout: the Cistern's 'deploy-ready at 8' was true for the gifts half but the site-wide Hail had gone stale since, and main had advanced 70 commits past the Cistern's frontier — both caught by re-verifying against live bytes, not trusting the handoff.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 23.1150.
- Rejected: Deploying the pre-merge tree that reverted 68 commits of concurrent main (rejected: the currency gate exists to kill exactly that deploy-race revert, incl. the site's own 1.100 batch and another session's closes — merged forward keeping both sides). Hand-resolving the Hail-region merge conflicts page-by-page (rejected: all 95 were the same derived-face restamp collision — resolved wholesale to main-canonical then re-derived, never hand-edited). Chasing each build-regenerated digest subset as it appeared (rejected as whack-a-mole: re-folded the digest DIRECTLY and committed the complete deterministic output, verified folds-twice-identical). Bundling the Hail restamp + digest fold + merge reconcile into one commit (rejected: kept each as its own beat, one concern each, matching prior-close practice).
- Next stepping variable: The site-wide MMT first-use expansion sweep (~53 pages) and mmt_line PiF registration remain open from prior Cisterns (unchanged by this deploy). The 1.91 making-ledger gap remains OWED (honestly unrecoverable, carried not reconstructed). The gifts line's forward arc continues: G-transform-lane (build dual-port transforms toward 42), G-maybe-promotion (the PASS pool of 27 cannot reach 42 — the 49 MAYBEs must be opened), G-carried-debt (README stale 'three small tools' -> 8, nav propagation). The gifts hub is now LIVE at 8/42.
[AI] machine digest
waypoint=1.101 · date=2026-08-23 · session=23.1150 · diff=1f/+1/-1 · flags=1loopmmt.com chrome-fix (N1+N2) deploy + dark-gift separation. TWO things ship. (1) The chrome fix: gifts.html emitted the raw shell/site-header pattern (unstyled by the shell stylesheet) instead of the canonical master frame wrapper, so the frame CSS rules never applied (N1); N2 enforced the master frame wrapper as the systemic DEFAULT for all managed pages. Both were built, committed, and tested (11/11) to methodology main the prior session (S23.1239) but UNDEPLOYED; live gifts.html still served the broken form (byte-verified against live before deploy). This ships the fix (Chrome gate CLEAN: 20 managed pages in the master frame wrapper). (2) The dark-gift separation: two disclosure-DARK gifts (sha256, reltime), built and staged the prior session, sat physically inside the published site tree's gifts area — INSIDE the deploy payload root. The manifest held them out of the live hub (8 listed, not 10), but the manifest is a DISPLAY gate, not a FILESYSTEM gate: the deploy copies the whole site tree to the stage, so both dark gifts' source and tests WOULD have published (reachable by direct URL) before the candidate-union disclosure measure cleared them. Moved both dirs plus their staged manifest fragment OUT to a non-published holding area the deploy never touches. The published gifts tree now equals the 8 manifested gifts EXACTLY (served set == listed set; the href lint is CLEAN at 8). Reaching a clean stage cleared the same pre-existing derived-face staircase the 1.99/1.100/1.101 entries document, each its own beat: (a) 91 pages carried a stale Hail V2 citation one version behind — restamped via the standing Hail stamper (site 89 plus site-root 2); (b) the machine digest (index.json, llms, llms-full, sitemap), the corpus map, and the making spine re-folded via the standing digest builders, gates CLEAN (closure PASS, non-compressibility PASS). All whole-tree predeploy gates CLEAN. Operator passed the Conn on the chrome-fix deploy line and, after Claude verified in byte-truth that the fix was committed-not-deployed (live gifts.html still broken) AND that the dark gifts would leak on deploy (the exact question the operator opened the session with), supplied the public-repo PAT to ship. The dark-gift separation was the load-bearing gate: dark-in-manifest did NOT keep the files off the deployed tree, so the separation is a real filesystem guard, not bookkeeping — done and pushed as its own beat BEFORE any deploy. The Hail and digest reconciliations were pre-existing derived-face drift (the citation lagged the last version bump), not new work, surfaced by the deploy's gate chain exactly as designed.
▲ 1.91-ledger-gap-owed
The engineering
loopmmt.com chrome-fix (N1+N2) deploy + dark-gift separation. TWO things ship. (1) The chrome fix: gifts.html emitted the raw shell/site-header pattern (unstyled by the shell stylesheet) instead of the canonical master frame wrapper, so the frame CSS rules never applied (N1); N2 enforced the master frame wrapper as the systemic DEFAULT for all managed pages. Both were built, committed, and tested (11/11) to methodology main the prior session (S23.1239) but UNDEPLOYED; live gifts.html still served the broken form (byte-verified against live before deploy). This ships the fix (Chrome gate CLEAN: 20 managed pages in the master frame wrapper). (2) The dark-gift separation: two disclosure-DARK gifts (sha256, reltime), built and staged the prior session, sat physically inside the published site tree's gifts area — INSIDE the deploy payload root. The manifest held them out of the live hub (8 listed, not 10), but the manifest is a DISPLAY gate, not a FILESYSTEM gate: the deploy copies the whole site tree to the stage, so both dark gifts' source and tests WOULD have published (reachable by direct URL) before the candidate-union disclosure measure cleared them. Moved both dirs plus their staged manifest fragment OUT to a non-published holding area the deploy never touches. The published gifts tree now equals the 8 manifested gifts EXACTLY (served set == listed set; the href lint is CLEAN at 8). Reaching a clean stage cleared the same pre-existing derived-face staircase the 1.99/1.100/1.101 entries document, each its own beat: (a) 91 pages carried a stale Hail V2 citation one version behind — restamped via the standing Hail stamper (site 89 plus site-root 2); (b) the machine digest (index.json, llms, llms-full, sitemap), the corpus map, and the making spine re-folded via the standing digest builders, gates CLEAN (closure PASS, non-compressibility PASS). All whole-tree predeploy gates CLEAN.
- Learned: A manifest that hides an item from the HUB does not keep its files off the DEPLOYED TREE — display-layer 'dark' and filesystem-layer 'published' are different trust boundaries, and the deploy copies raw dirs regardless of the manifest. The fix is to separate at the filesystem layer (move dark items OUT of the payload root), not the display layer — allowlist over denylist. The gift href lint checks manifest-to-served (no dangling card) but NOT served-to-manifest (no unlisted-but-shipped dir), so the dark-leak direction is currently unguarded — the reverse lint is owed (floor-fix, lands alone). The deploy gate chain is the same staircase converging to a fixpoint the prior three entries document (test-before-stamp halt, then Hail-staleness, then digest-staleness, then making-mark), each fix revealing the next, each converging by committing deterministic fold output. Byte-truth over inherited prose was the whole session: the handoff framed the gifts as 'dark' (true at the manifest) but NOT that dark-in-manifest still ships the files — caught by reading the deploy's copy line against the manifest's role, not trusting 'dark' to mean 'safe'.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 23.1332.
- Rejected: Excluding the dark gifts via a copy-exclude in the deploy script (rejected: a denylist fails OPEN — the next dark gift ships unless someone remembers to add it, and it edits blessed deploy plumbing; the physical move to a holding area is an allowlist by construction — the published tree contains only publishable things — and edits no floor script). Wiring the served-versus-manifest reverse guard into the predeploy gate THIS session (rejected: that is a deploy-plumbing edit governed by Floor-Fix-Lands-Alone; it lands alone in its own close with its own fire-drill — the physical move already closes today's hole). Editing the deploy script to fix the test-before-stamp ordering bug that halted the first attempt (rejected: same Floor-Fix-Lands-Alone rule — recorded as owed, worked around by stamping the tree current first). Folding the Hail restamp and digest re-fold into the separation commit (rejected: kept each as its own beat, one concern each, matching 1.99/1.100/1.101 practice).
- Next stepping variable: Owed, lands alone (floor-fix): (1) a served-versus-manifest reverse lint (any gift dir in the published tree not in the manifest is a fault) wired fail-closed into the predeploy gate — the structural guard against a future hand-recopy of a dark gift into the published tree; (2) the deploy test-before-stamp ordering bug — the Hail-carries-current test runs BEFORE the stamp that makes pages current, so a version-lagged tree aborts before the stamp can fix it (test should run after stamp). To RELEASE sha256 and reltime: run the candidate-union reconstruction harness on the 8 live plus these 2; if it clears the ceiling, move them back into the published gifts tree, paste the two staged manifest objects into the manifest, deploy. Unchanged from prior Cisterns: the site-wide MMT first-use sweep (~53 pages) plus mmt_line PiF registration; the 1.91 making-ledger gap remains OWED (honestly unrecoverable, carried not reconstructed).
[AI] machine digest
waypoint=1.102 · session=23.1332 · flags=1loopmmt.com gifts-404 fix. Every gift on the manifest-built Gifts page bounced to a 404: each gift card's link carried the source-tree prefix (the build source directory name) at the front of its URL, but the deploy strips that prefix when it copies the source tree to the web root, so every gift link pointed one directory level too deep and resolved to nothing. The hand-authored gifts hub already linked correctly (to each gift's README, a real served file); only the manifest-built page was wrong. Corrected all 8 gift hrefs in the manifest to the served README path and rebuilt the page from the manifest; the rebuilt page's links now match the live-200 path, staleness-clean. This ships that fix. Also in this deploy tree (landed as separate beats, not new gift work): the standing Hail restamp (site plus site-root) and a digest re-fold, the same derived-face reconciliation the prior entries document, gates CLEAN. Operator passed the Conn on the gifts-404 line and asked for the root cause fixed AND designed-away from ever recurring, determinism-first. Byte-truth settled it: the gift links had carried the source-tree prefix since the gifts first shipped, so the gifts had been 404 from day one, not a regression. The fix matches the already-correct hub's link shape (README file, live 200). The operator supplied the public-repo PAT to ship after the whole predeploy gate chain cleared.
▲ 1.91-ledger-gap-owed
The engineering
loopmmt.com gifts-404 fix. Every gift on the manifest-built Gifts page bounced to a 404: each gift card's link carried the source-tree prefix (the build source directory name) at the front of its URL, but the deploy strips that prefix when it copies the source tree to the web root, so every gift link pointed one directory level too deep and resolved to nothing. The hand-authored gifts hub already linked correctly (to each gift's README, a real served file); only the manifest-built page was wrong. Corrected all 8 gift hrefs in the manifest to the served README path and rebuilt the page from the manifest; the rebuilt page's links now match the live-200 path, staleness-clean. This ships that fix. Also in this deploy tree (landed as separate beats, not new gift work): the standing Hail restamp (site plus site-root) and a digest re-fold, the same derived-face reconciliation the prior entries document, gates CLEAN.
- Diff: 2 files, +37 / −2
- Learned: The root cause was not the links alone but a blind gate: the gift-href check resolved each link against the repo source tree, where the prefixed path is a real directory, so it passed a link that 404s live. Its oracle was the wrong filesystem. The check has been corrected to resolve links against the SERVED tree exactly as the deploy serves them (reject any source-tree prefix; resolve a file or a directory-with-index), and it is now pointed at the staged served tree at the gate, with a regression suite carrying the exact prefix bug as a mutation bite. That makes the whole class impossible to ship: a link that 404s live now fails the gate. The deploy gate chain remains the same converging staircase the prior entries document (currency stop when a concurrent session advanced main, then the version-bump waypoint), each resolved by merging forward and recording, never reverting.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 23.1413.
- Rejected: Pointing the gift links at the bare gift directory instead of the README (rejected: a bare directory URL 404s on the static host with no index file present; the README is the real served landing the working hub already uses). Bundling the structural gate fix into this content deploy (rejected: the gate fix is deploy plumbing; kept as its own concern per the lands-alone discipline, though causally it had to precede this deploy since the old gate could not validate a correct link). Forcing the deploy past the version-bump waypoint requirement (rejected: the record-every-bump gate is a real control; authored this waypoint instead).
- Next stepping variable: The structural gate fix (served-tree oracle plus the regression suite) landed alongside this content fix and is proven green against a real staged tree. Unchanged owed from prior Cisterns: the served-to-manifest reverse guard and the deploy test-before-stamp ordering bug (both deploy-plumbing, land alone); the site-wide MMT first-use sweep (~53 pages) plus mmt_line registration; the 1.91 making-ledger gap remains owed (honestly unrecoverable). The gifts hub is LIVE at 8 with working links; the forward arc toward 42 (open the MAYBE candidates; the PASS pool of 27 alone cannot reach 42) is unchanged.
[AI] machine digest
waypoint=1.103 · date=2026-08-23 · session=23.1413 · diff=2f/+37/-2 · flags=1loopmmt.com PS6 deploy — the 8 manifest-built gift pages (site-root/gifts/{cairn,census,gitlog,grain,mint,plumb,vclock,ward}/index.html) ship live as real GENERATED pages via the Page Set mechanism (page_set.py + build_gift_pages.py), closing the PS6 owed on the-page-set line. gifts_href_lint CLEAN: 8 gifts, every href resolves to a served runnable page (not README/dir/hand-stub). Reaching a clean stage cleared the same converging derived-face staircase the 1.101-1.103 entries document, each committed as its own beat: (1) 92 managed pages carried a stale HAIL:V2 block one citation-version behind canonical -> restamped via stamp_hail.py (site 90 + site-root 2), test suite 17/17; (2) the machine digest (index.json/llms/llms-full/sitemap/corpus-map) re-folded via build_machine_digest.py + build_corpus_map.py; (3) the reckoning<->corpus fold FIXPOINT: the-reckoning.html's self-count is derived from reckoning.json which folds the corpus the page is itself a node of, a circular dependency the deploy build resolves in ONE pass and ships one iteration stale -- iterating to convergence settled it (proven deterministic, stable from pass 2); (4) a CURRENCY STOP when session 23.1527 landed substantial concurrent website work to main (138 files, their own reckoning fixpoint) mid-deploy -> merged origin/main keeping BOTH sides (131 files auto-merged: their content + this branch's Hail sweep coexist; 7 conflicts ALL derived, resolved by taking main's authored the-reckoning.html then re-folding the reckoning<->corpus chain to fixpoint over the MERGED corpus, 1,171,202 -> 1,170,757 stable). All whole-tree predeploy gates CLEAN (footer, Hail, Canon Line, MMT Line, Chrome, altitude-parity, Count Line, era-xref, inset, digest-currency, gifts_href, aggregate mask-reconciliation). Operator passed the Conn on the PS6 deploy line after Claude booted from the repo, reconciled the-page-set crown against byte-truth (the handoff's 'built on a branch, not merged' was stale -- PS1-PS5 were already landed on main at eca1aa6ea3; the real open was PS6 deploy + the served-byte verify), flagged the credential-flow concern before accepting the public-repo PAT, and got explicit operator confirmation the tokens were his and okay-to-live-in-history. PS6 was the standing owed 'deploy the gift pages live + close the presenting bug'; the gift pages had been built/tested/gate-wired/committed on main but never pushed to the served site. The Hail/digest/currency reconciliations were pre-existing derived-face drift + concurrent-session main advance, not new gift work -- surfaced by the deploy's gate chain exactly as designed.
▲ 1.91-ledger-gap-owed
▲ reckoning-fold-one-pass-not-fixpoint-owed
The engineering
loopmmt.com PS6 deploy — the 8 manifest-built gift pages (site-root/gifts/{cairn,census,gitlog,grain,mint,plumb,vclock,ward}/index.html) ship live as real GENERATED pages via the Page Set mechanism (page_set.py + build_gift_pages.py), closing the PS6 owed on the-page-set line. gifts_href_lint CLEAN: 8 gifts, every href resolves to a served runnable page (not README/dir/hand-stub). Reaching a clean stage cleared the same converging derived-face staircase the 1.101-1.103 entries document, each committed as its own beat: (1) 92 managed pages carried a stale HAIL:V2 block one citation-version behind canonical -> restamped via stamp_hail.py (site 90 + site-root 2), test suite 17/17; (2) the machine digest (index.json/llms/llms-full/sitemap/corpus-map) re-folded via build_machine_digest.py + build_corpus_map.py; (3) the reckoning<->corpus fold FIXPOINT: the-reckoning.html's self-count is derived from reckoning.json which folds the corpus the page is itself a node of, a circular dependency the deploy build resolves in ONE pass and ships one iteration stale -- iterating to convergence settled it (proven deterministic, stable from pass 2); (4) a CURRENCY STOP when session 23.1527 landed substantial concurrent website work to main (138 files, their own reckoning fixpoint) mid-deploy -> merged origin/main keeping BOTH sides (131 files auto-merged: their content + this branch's Hail sweep coexist; 7 conflicts ALL derived, resolved by taking main's authored the-reckoning.html then re-folding the reckoning<->corpus chain to fixpoint over the MERGED corpus, 1,171,202 -> 1,170,757 stable). All whole-tree predeploy gates CLEAN (footer, Hail, Canon Line, MMT Line, Chrome, altitude-parity, Count Line, era-xref, inset, digest-currency, gifts_href, aggregate mask-reconciliation).
- Learned: The reckoning<->corpus fold is a genuine FIXPOINT problem the deploy build does NOT iterate: the-reckoning.html carries a self-count derived from reckoning.json, which folds the corpus that the-reckoning.html is a node OF, so a single fold pass always ships a count one iteration stale -- and digest_staleness_lint (correctly) refuses it every time. This is the SAME staircase the last THREE deploys (1.101/1.102/1.103) each walked -- Hail-staleness -> digest-staleness -> currency-stop -> making-mark -- which is strong evidence the one-pass build is a recurring structural cost, not a one-off. The fix (fold-to-fixpoint in deploy.sh's build phase, ~2 passes converges here) is a FLOOR-ADJACENT build-script change and belongs in its own lands-alone line, NOT bundled with this content deploy. Byte-truth over inherited prose held throughout: the handoff's version/branch claims were stale (PS1-5 already on main; a peer landed 138 files mid-session), each caught by re-verifying against live git, never trusting the handoff.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 23.1551.
- Rejected: Using --push break-glass to force the deploy past the currency stop (rejected HARD: it would have reverted 23.1527's entire landed website session -- the deploy-race revert this guard exists to kill; merged forward instead). Hand-merging the 7 conflicts as prose (rejected: all 7 were regenerable DERIVED files -- 6 machine digests + the-reckoning.html; took main's authored page and re-derived, zero authored content hand-merged). Committing each build-regenerated digest subset as it re-appeared (rejected as whack-a-mole after it recurred 4x: diagnosed the root cause -- the one-pass reckoning fold ships a pre-fixpoint count -- and committed the CONVERGED fixpoint directly, proven deterministic). Bundling the Hail sweep + digest fold + merge into one commit (rejected: kept each as its own work-beat, one concern each, matching 1.101-1.103 practice).
- Next stepping variable: OWED, lands alone (floor-adjacent, per Floor-Fix-Lands-Alone): fold-to-fixpoint in deploy.sh's build phase -- iterate the reckoning<->corpus<->digest fold until byte-stable rather than one pass, so a deploy never ships a pre-fixpoint reckoning count and the digest gate stops firing on it every single deploy (recurring across 1.101-1.104). Also still owed from prior Cisterns (unchanged by this deploy): the served-to-manifest reverse lint + the deploy test-before-stamp ordering bug (both floor-adjacent, land alone); the site-wide MMT first-use expansion sweep (~53 pages) + mmt_line PiF registration; the 1.91 making-ledger gap (honestly unrecoverable, carried not reconstructed). PS7 (Prompts migration onto page_set -- kills the word-count drift owed), PS8 (Apps), PS9 (Discoveries greenfield) remain the-page-set line's forward arc.
[AI] machine digest
waypoint=1.104 · session=23.1551 · flags=2loopmmt.com DP-039 s7 beat-5 deploy — The Excavation gift's standalone independence ships live. The excavation gift now runs on a foreign (non-loopmmt) tree with ZERO loopmmt.com dependencies: excavate.py falls back to a new self-contained excavate_standalone.py (a stdlib-only local .html walk replacing the sitemap walk, local title/desc/body extraction replacing the digest helpers, the two loopmmt publish gates dropped because a stranger's own served tree needs neither) whenever the in-tree builders are absent. Proven by a shipped acceptance gate (smoke_test.sh, 6/6) against a real Widgets-Inc fixture (test-fixture/), which is excluded from the served corpus + doorway machinery via a shared SITEMAP_EXCLUDE_DIRS_ANYWHERE={test-fixture} set both the walker and its independent test-oracle read (zero fixture leak into manifest/sitemap/hail). The gift page (site-root/gifts/excavation/index.html) re-rendered to embed the new source as code-folds. Riding the same deploy per the all-or-nothing rebuild design: the excavation corpus faces re-folded (manifest/shards/reckoning, incl. the reckoning<->corpus 2-pass fixpoint documented in 1.104), and 7 site/prompts/*.html re-synced to prompt-manifest-v1.json (pre-existing the-prompts staleness incl. a real ../assets -> ../../assets broken-icon-path fix). All whole-tree predeploy gates CLEAN (footer, Hail, Canon, MMT, Chrome, altitude-parity, Count Line, era-xref, inset, digest-currency, gifts-href 9, prompts-href 45, aggregate mask-reconciliation). Operator opened the session on DP-039 s7 beat 5 (foreign-fixture gate) with the site deploy-ready, then passed the Conn ("you sort it out") on the deploy's editorial/engineering calls. The load-bearing beat was the standalone extraction, earned the way the beat's HONEST-STATUS header required: by running against a REAL foreign fixture and letting the missing-import failure define the seam (it also surfaced + fixed 2 real bugs — root-served coverage rules never fired; the fixture leaked into the home corpus). The prompts re-sync was a Conn decision: the 7 pages are catching up to their own committed manifest, one change is a genuine broken-icon-path correctness fix, and the deploy rebuilds the whole tree — holding them would ship a known-broken icon path to avoid touching copy that is already the committed source-of-truth.
▲ 1.91-ledger-gap-owed
▲ reckoning-fold-one-pass-not-fixpoint-owed
The engineering
loopmmt.com DP-039 s7 beat-5 deploy — The Excavation gift's standalone independence ships live. The excavation gift now runs on a foreign (non-loopmmt) tree with ZERO loopmmt.com dependencies: excavate.py falls back to a new self-contained excavate_standalone.py (a stdlib-only local .html walk replacing the sitemap walk, local title/desc/body extraction replacing the digest helpers, the two loopmmt publish gates dropped because a stranger's own served tree needs neither) whenever the in-tree builders are absent. Proven by a shipped acceptance gate (smoke_test.sh, 6/6) against a real Widgets-Inc fixture (test-fixture/), which is excluded from the served corpus + doorway machinery via a shared SITEMAP_EXCLUDE_DIRS_ANYWHERE={test-fixture} set both the walker and its independent test-oracle read (zero fixture leak into manifest/sitemap/hail). The gift page (site-root/gifts/excavation/index.html) re-rendered to embed the new source as code-folds. Riding the same deploy per the all-or-nothing rebuild design: the excavation corpus faces re-folded (manifest/shards/reckoning, incl. the reckoning<->corpus 2-pass fixpoint documented in 1.104), and 7 site/prompts/*.html re-synced to prompt-manifest-v1.json (pre-existing the-prompts staleness incl. a real ../assets -> ../../assets broken-icon-path fix). All whole-tree predeploy gates CLEAN (footer, Hail, Canon, MMT, Chrome, altitude-parity, Count Line, era-xref, inset, digest-currency, gifts-href 9, prompts-href 45, aggregate mask-reconciliation).
- Diff: 1 files, +1 / −1
- Learned: A test fixture placed inside the served tree is seen by EVERY content machine — the corpus walk, the HAIL doorway stamper, and the redact scanner — not just the one you were thinking about; the honest fix is a SINGLE shared exclusion set both the producer and its independent test-oracle read (SITEMAP_EXCLUDE_DIRS_ANYWHERE), so the two oracles cannot drift, rather than a hardcoded literal in the walker alone (which broke test_sitemap_equals_real_tree until the oracle was taught the same set). The fixture-first discipline paid off exactly as designed: pointing the gift at a real stranger tree surfaced two bugs no self-test would have (root-served coverage rules matched '/docs/' as a substring that a root-served 'docs/guide.html' never contains — fixed with slash-bracketed matching; and the fixture leaked into the home corpus 109->114 until the shared exclude). The reckoning<->corpus 2-pass fixpoint (1.104's owed) recurred again exactly as predicted — one pass ships stale, pass 2 converges byte-stable — further evidence the deploy.sh fold-to-fixpoint floor-fix is a real recurring cost.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 23.2138.
- Rejected: Holding the 7 prompt re-syncs out of the deploy (rejected: the deploy is architected all-or-nothing — rebuild + gate the whole tree — so surgical reverts in the staged clone fight the design and are brittle; and holding would deliberately ship a broken ../assets icon path on 7 pages to avoid copy that is already the committed manifest text). Hand-committing bare-builder gift-page output (rejected: it was un-stamped and would have REVERTED the deploy badge-stamp on all 8 other gift pages — the predecessor's \u00a78 trap, caught before commit). Bundling the fixture-exclusion into a floor path (rejected/non-issue: the changed builders live in the website project, not on the blessed byte-truth floor, so the Floor-Fix-Lands-Alone rule does not bind — confirmed before committing). Whack-a-mole committing each fixpoint pass (rejected: proved the reckoning<->corpus faces byte-stable across two full folds, then committed the converged fixpoint directly — same discipline as 1.104).
- Next stepping variable: OWED, unchanged and still lands-alone (floor / floor-adjacent): (1) the deploy.sh reckoning<->corpus fold-to-fixpoint in the build phase (recurring across 1.101-1.106 — the strongest-evidenced owed); (2) the served-to-manifest reverse lint (unlisted-but-shipped dir guard); (3) the deploy test-before-stamp ordering bug; (4) the site-wide MMT first-use sweep (~53 pages) + mmt_line PiF registration; (5) the 1.91 making-ledger gap (honestly unrecoverable, carried not reconstructed). Beat 6 (this deploy) closes the DP-039 s7 live-deploy owed. the-prompts line: the 7-page re-sync here is opportunistic — PS7 (full Prompts migration onto page_set, killing the word-count drift) remains the real forward arc, along with the excavation gift's own forward work.
[AI] machine digest
waypoint=1.106 · date=2026-08-23 · session=23.2138 · diff=1f/+1/-1 · flags=2loopmmt.com b1c1 currency-reconciliation deploy — the loopmmt-hail-v2 b1c1 work ships live. No new b1c1 authoring this session (b1c1 was DONE + deploy-ready at 24.0006 close); this deploy carries the currency reconciliation the deploy path required in a fresh tank, which the predecessor's committed faces did not yet reflect. Reaching a clean stage cleared the same converging derived-face staircase entries 1.101-1.106 each document, committed as its own beats on the session branch: (1) the corpus grew 153->154 protocols in force since the 24.0006 close, so the corpus faces (corpus-shard-09/20/21, corpus-manifest.json, corpus-shards.json, llms-full.txt, corpus.html, reckoning.json) were stale projections of the live methodology -> re-folded via the standing corpus/digest builders; (2) hail-status.json carried open_refinements 1->0 + a date roll (2026-08-23 -> 2026-08-24); (3) the-reckoning.html required chrome+hail re-stamp (build_reckoning_page.py emits it bare; the deploy chain's stamp passes fill it — my own fixpoint re-render had stripped both layers, the Champollion-Q1 chrome-drift straggler recurring at the Hail layer too); (4) the reckoning<->corpus 2-pass FIXPOINT (1.104's owed): the-reckoning.html's self-count (1,243,973 words) is derived from reckoning.json which folds the corpus the page is a node OF — one pass ships the count one iteration stale, pass 2 converges byte-stable (proven md5-identical across an extra fold). All whole-tree predeploy gates CLEAN (footer, Hail, Canon, MMT, Chrome, altitude-parity, Count Line, era-xref, inset, digest-currency, reading-path, gifts-href 9, prompts-href 45, aggregate mask-reconciliation). Operator passed the Conn on the b1c1 live-deploy line after Claude booted from the repo and VERIFIED the deploy-green claim against live bytes rather than inheriting it — the predecessor's 'everything green + pushed' was true at their 08-23 close but a fresh deploy.sh gate REFUSED on real drift (corpus grew, word-count one fold stale, reckoning page chrome+hail stripped). Byte-truth over inherited prose was the whole session: the Ignition Block said green, the fresh build proved otherwise, and the fix was to converge the documented fold chain to fixpoint, never to trust the handoff.
▲ 1.91-ledger-gap-owed
▲ reckoning-fold-one-pass-not-fixpoint-owed
The engineering
loopmmt.com b1c1 currency-reconciliation deploy — the loopmmt-hail-v2 b1c1 work ships live. No new b1c1 authoring this session (b1c1 was DONE + deploy-ready at 24.0006 close); this deploy carries the currency reconciliation the deploy path required in a fresh tank, which the predecessor's committed faces did not yet reflect. Reaching a clean stage cleared the same converging derived-face staircase entries 1.101-1.106 each document, committed as its own beats on the session branch: (1) the corpus grew 153->154 protocols in force since the 24.0006 close, so the corpus faces (corpus-shard-09/20/21, corpus-manifest.json, corpus-shards.json, llms-full.txt, corpus.html, reckoning.json) were stale projections of the live methodology -> re-folded via the standing corpus/digest builders; (2) hail-status.json carried open_refinements 1->0 + a date roll (2026-08-23 -> 2026-08-24); (3) the-reckoning.html required chrome+hail re-stamp (build_reckoning_page.py emits it bare; the deploy chain's stamp passes fill it — my own fixpoint re-render had stripped both layers, the Champollion-Q1 chrome-drift straggler recurring at the Hail layer too); (4) the reckoning<->corpus 2-pass FIXPOINT (1.104's owed): the-reckoning.html's self-count (1,243,973 words) is derived from reckoning.json which folds the corpus the page is a node OF — one pass ships the count one iteration stale, pass 2 converges byte-stable (proven md5-identical across an extra fold). All whole-tree predeploy gates CLEAN (footer, Hail, Canon, MMT, Chrome, altitude-parity, Count Line, era-xref, inset, digest-currency, reading-path, gifts-href 9, prompts-href 45, aggregate mask-reconciliation).
- Diff: 1 files, +1 / −1
- Learned: The corpus faces are a live projection of the methodology, not a frozen artifact: PiF growing 153->154 protocols between sessions silently staled every corpus face, and a fresh deploy surfaces it exactly as designed. the-reckoning.html is triply-coupled — a served page, a corpus-manifest node, AND the carrier of an on-page self-count — so its build order is load-bearing: render bare -> stamp chrome+hail -> fold corpus over the stamped page, and the word-count needs 2 passes to converge because the page counts a corpus it belongs to. This is the identical reckoning<->corpus fixpoint the last THREE deploys (1.104/1.106) flagged owed; my session is the sixth on this staircase (1.101-1.107), which is now overwhelming evidence the deploy.sh fold-to-fixpoint floor-fix is a real recurring cost, not a one-off — every deploy pays the 2-pass tax by hand.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 24.0107.
- Rejected: Trusting the handoff's deploy-green claim and pushing without a fresh gate run (rejected: byte-truth over inherited prose — the fresh gate REFUSED, the claim was stale-at-close-plus-one-day). Committing each build-regenerated digest/shard subset as it re-appeared (rejected as whack-a-mole after it recurred across gate runs: diagnosed the root cause — the one-pass reckoning fold ships a pre-fixpoint count — and committed the CONVERGED fixpoint directly, proven byte-stable). Re-running build_reckoning_page.py inside the final fold loop (rejected once diagnosed: it emits the page bare and strips the chrome+hail stamps every pass — the correct order is render->stamp->fold, never fold->render). Bundling the reckoning-fold fixpoint fix into deploy.sh this session (rejected: it is the floor-adjacent owed the last six deploys all name — lands alone, its own fire-drill).
- Next stepping variable: OWED, unchanged and still lands-alone (floor / floor-adjacent), recurring across 1.101-1.107: (1) the deploy.sh reckoning<->corpus fold-to-fixpoint in the build phase — the strongest-evidenced owed, now SIX deploys deep; (2) the served-to-manifest reverse lint (unlisted-but-shipped dir guard); (3) the deploy test-before-stamp ordering bug; (4) the site-wide MMT first-use sweep (~53 pages) + mmt_line PiF registration; (5) the 1.91 making-ledger gap (honestly unrecoverable, carried not reconstructed). Forward site arc unchanged: gifts-42 (currently 9 live, forward toward 42) and PS7 (Prompts migration onto page_set, killing the word-count drift owed).
[AI] machine digest
waypoint=1.107 · date=2026-08-24 · session=24.0107 · diff=1f/+1/-1 · flags=2loopmmt.com owed-517 gift-badge-fix deploy — the gift-page builder fix ships live. build_gift_pages.py's GIFT_TEMPLATE emitted an EMPTY <span class=honest-badge></span>, so every rebuild (deploy step 0 / run_tests.sh -> build_gift_pages) stripped the digger-SVG pre-launch badge from all 9 gift pages; a real deploy would have shipped empty badges. Direction A (operator-decided S24.1304): the full badge is intended, the builder dropped its inner SVG — grafted the canonical 1349-char honest-badge (inner-sha ed1adb9c60, byte-identical across all 9 committed pages) into the template so rebuilds PRESERVE it. Proven: build_gift_pages.py --check CLEAN, a real rebuild preserves 9/9 badges and is byte-idempotent, run_tests.sh now green AND badge-safe, test_build_gift_pages.py 9/9 + test_stamp_hail.py 17/17. Also carries a derived-sync heal (machine-digest index.json/llms{,-full}.txt + excavation corpus-manifest/shards/reckoning + making/hail faces re-folded to source; pre-existing drift on main from prior sessions) and a clean ort merge of peer 24.1408's corpus-map.json. Operator passed the Conn to deploy after Claude built + VERIFIED the owed-517 fix against byte-truth (--check CLEAN, run_tests.sh green, both gate suites green) rather than shipping on the handoff's word. The 9 badges were correct in the committed tree, but the builder was a landmine that would empty them on the next rebuild — this deploy is the first that can rebuild gifts safely, and it clears the deploy path the wedge fix (df6b67b038, owed-157) unblocked.
▲ derived-sync-open-read-skipped-this-session
▲ reckoning-fold-one-pass-not-fixpoint-owed
The engineering
loopmmt.com owed-517 gift-badge-fix deploy — the gift-page builder fix ships live. build_gift_pages.py's GIFT_TEMPLATE emitted an EMPTY <span class=honest-badge></span>, so every rebuild (deploy step 0 / run_tests.sh -> build_gift_pages) stripped the digger-SVG pre-launch badge from all 9 gift pages; a real deploy would have shipped empty badges. Direction A (operator-decided S24.1304): the full badge is intended, the builder dropped its inner SVG — grafted the canonical 1349-char honest-badge (inner-sha ed1adb9c60, byte-identical across all 9 committed pages) into the template so rebuilds PRESERVE it. Proven: build_gift_pages.py --check CLEAN, a real rebuild preserves 9/9 badges and is byte-idempotent, run_tests.sh now green AND badge-safe, test_build_gift_pages.py 9/9 + test_stamp_hail.py 17/17. Also carries a derived-sync heal (machine-digest index.json/llms{,-full}.txt + excavation corpus-manifest/shards/reckoning + making/hail faces re-folded to source; pre-existing drift on main from prior sessions) and a clean ort merge of peer 24.1408's corpus-map.json.
- Diff: 1 files, +1 / −1
- Learned: The run_tests.sh landmine (deploy step 0 runs the gift builder, which emptied the badges) is defused by fixing the TEMPLATE, not the output. The derived-face drift (machine-digest/excavation/making faces stale vs a fresh fold of site/) was PRE-EXISTING on main from prior sessions and surfaced at the deploy gate; it would have surfaced earlier via the derived-sync + excavation-staleness open-reads (Let's Go v1.30/v1.32) had they run at open — going straight to the directed 517 work skipped them. The deploy-race currency guard earned its keep: peer 24.1408 landed corpus-map.json on main mid-deploy and the guard refused-then-required a merge (keep-both, re-fold to fixpoint) before push.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 24.1426.
- Rejected: Hand-editing the 9 generated gift pages to restore badges (rejected: fix the builder template, not its output — the generated-fold-reverts-hand-edit class; a hand-edit reverts on the next build). Bundling owed-517 into the wedge fix (rejected S24.1304: orthogonal — the wedge is D1 version currency on managed pages, the badge is a build_gift_pages template defect on managed=False pages). Force-greening the deploy wedge (rejected: the S24.1153 do-not-force-green caution honored — 157 discharged by a real D1 re-stamp, 123 proven a false-open). Deploying without merging peer 24.1408 (rejected: the deploy-race currency guard refused — deploying would have reverted their corpus-map.json).
- Next stepping variable: OWED, still lands-alone (floor/floor-adjacent), recurring across the deploy line: (1) the deploy.sh reckoning<->corpus fold-to-fixpoint in the build phase (strongest-evidenced, many deploys deep); (2) the served-to-manifest reverse lint (unlisted-but-shipped dir guard). Site arc unchanged: gifts-42 (9 live, forward toward 42) and PS7 prompts migration. Process: run the derived-sync + excavation-staleness open-reads at session open so derived-face drift surfaces before the deploy gate, not at it.
[AI] machine digest
waypoint=1.108 · date=2026-08-24 · session=24.1426 · diff=1f/+1/-1 · flags=2loopmmt.com ships the content that accumulated on canonical main but was never published — three sessions' work in one deploy. (a) The 24.1911 batch: HAIL heal of the 91-page version lie, who.html editorial pass (operator voice, builder arc, Jamie co-founder), the 20-disc timeline text pass to operator first-person voice, the new Loop 2.0 lineage page, disc-7 originals + MMT-canonical restore, CMS-into-Forest disc-15, and noble-yeti's two cherry-picked Notes (minecart figure + resume footnote). (b) noble-yeti's menu (The Apps label + Gifts item) re-stamped across 101 page footers/navs. (c) The 24.2030 founding-story weave, in the parts that reached canonical (the case.html origin link). One canon-sync test fix (the app-leaf nav assertion Apps->The Apps; the stamper canonicalizes the label, the test lagged the menu rename). All predeploy gates CLEAN local + aggregate; the re-gate over the public clone CLEAN. The source-stamp reconcile wire (owed-858) fired its first live run — source HAIL + excavation faces re-stamped to 1.109, byte-stable fixpoint after 3 passes, hail consistency CONSISTENT across 94 managed pages. The 24.1911 handoff's premise (Deploy 1 held, site untouched) was stale: its batch had already landed on main, the menu landed after it, the weave landed after that, and the public site was ALREADY live at v1.108 from an earlier session. Untouched meant not pushed by 24.1911, not never-deployed. So the honest deployable unit is current canonical main, exactly as the currency gate demands: ship current canonical or hold, never a stale sub-slice.
▲ source-reconcile-first-live-run-clean
▲ shipped-current-canonical-not-held-batch
▲ site-was-already-live-v1.108
The engineering
loopmmt.com ships the content that accumulated on canonical main but was never published — three sessions' work in one deploy. (a) The 24.1911 batch: HAIL heal of the 91-page version lie, who.html editorial pass (operator voice, builder arc, Jamie co-founder), the 20-disc timeline text pass to operator first-person voice, the new Loop 2.0 lineage page, disc-7 originals + MMT-canonical restore, CMS-into-Forest disc-15, and noble-yeti's two cherry-picked Notes (minecart figure + resume footnote). (b) noble-yeti's menu (The Apps label + Gifts item) re-stamped across 101 page footers/navs. (c) The 24.2030 founding-story weave, in the parts that reached canonical (the case.html origin link). One canon-sync test fix (the app-leaf nav assertion Apps->The Apps; the stamper canonicalizes the label, the test lagged the menu rename). All predeploy gates CLEAN local + aggregate; the re-gate over the public clone CLEAN. The source-stamp reconcile wire (owed-858) fired its first live run — source HAIL + excavation faces re-stamped to 1.109, byte-stable fixpoint after 3 passes, hail consistency CONSISTENT across 94 managed pages.
- Version: v1.108 → v1.109
- Diff: 100 files, +198 / −229
- Learned: The staged deploy exceeds one tool-window, but its steps are cleanly resumable off the synced public clone — the filesystem persists between calls even though processes do not. The source-stamp reconcile wire works on first live exercise. The chain check and the public clone's own git log were the currency instruments that caught the real state: elder tabs live on the line, main already carrying the weave, and the site already at v1.108 — none reflected in the 24.1911 handoff.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 24.2129.
- Rejected: Shipping the 24.1911 batch as a discrete held artifact (rejected: it landed and grew; a sub-slice deploy is impossible without force-bypassing the currency gate to publish a revert). Backgrounding the staged deploy to beat the tool wall-clock (rejected: background processes do not persist between tool calls; completed the publish steps manually off the already-synced clone instead).
- Next stepping variable: Standing floor-adjacent owed carry forward: the deploy reckoning<->corpus fold-to-fixpoint in the build phase; the served-to-manifest reverse lint. The disclosure funnels are the next work: v13, Glossary v8, Patterns Reference v3, Writing Standards v3, plus the operator-added Coding Standards v2 — run each through the disclosure gate (publish the what/why/breadth, hold the buildable how; v13 tiering done, its section 16 is the moat).
[AI] machine digest
waypoint=1.109 · date=2026-08-24 · session=24.2129 · diff=100f/+198/-229 · flags=3loopmmt.com v1.110 is one clean deploy of current canonical main carrying two built-not-yet-live bodies of work. First, it re-ships the Making page (how-this-site-is-made.html) that shipped ONE-BEHIND at v1.109. The v1.109 deploy authored its ledger waypoint AFTER the build phase (during the deploy hook's MISSING-MARK step) and was then completed by hand rather than re-run from the top, so the spine and page builders never re-folded with the 1.109 entry — the shipped page rendered the deploy log through 1.108 with only a v1.109 footer stamp, not the entry itself. This deploy rebuilds spine+page (folding the ledger through 1.109 AND this 1.110 entry) so the Making page is current and self-consistent, documenting its own deploy. It also scrubs the 1.109 entry to redact-clean prose (a full session identifier and a credential name in the original text tripped the page builder's private-signature gate — which is exactly why the public page must never render raw internal identifiers). Second, it publishes 24.2104's terminology corrections to the public prompt pages. Two glossary detectors — a widened expansion lint that catches the definition-gloss form an earlier wrong acronym expansion slipped through, and a sibling entity-role lint that catches an individual glossed as a whole crew — enumerated four public-facing errors in the prompt content and drove the fix: FBD now reads "Fix by Design", FWW(C) now reads "Fun, Whimsy, and Weird (and Chaos)", the Super-FBD prose reads "Fix-by-Design", and the Crux role is corrected to a single first-pass line-finder rather than the whole development crew. All 45 prompt pages were rebuilt and re-stamped, the HAIL machine-semantics layer reconciled across the managed pages, and the machine-digest brought current. Operator caught it live: how-this-site-is-made.html was not updated, and for a site whose thesis is byte-truth provenance, shipping the provenance page one-behind is a real inconsistency, not a cosmetic lag. Root cause: completing the publish steps manually after a MISSING-MARK instead of obeying the hook's author-the-entry-then-re-run instruction — the re-run is what re-folds the Making page with the new entry; skipping it ships the page one-behind.
▲ making-page-one-behind-at-1.109-fixed-here
▲ deploy-hook-verifies-ledger-not-page-gate-hole
The engineering
loopmmt.com v1.110 is one clean deploy of current canonical main carrying two built-not-yet-live bodies of work. First, it re-ships the Making page (how-this-site-is-made.html) that shipped ONE-BEHIND at v1.109. The v1.109 deploy authored its ledger waypoint AFTER the build phase (during the deploy hook's MISSING-MARK step) and was then completed by hand rather than re-run from the top, so the spine and page builders never re-folded with the 1.109 entry — the shipped page rendered the deploy log through 1.108 with only a v1.109 footer stamp, not the entry itself. This deploy rebuilds spine+page (folding the ledger through 1.109 AND this 1.110 entry) so the Making page is current and self-consistent, documenting its own deploy. It also scrubs the 1.109 entry to redact-clean prose (a full session identifier and a credential name in the original text tripped the page builder's private-signature gate — which is exactly why the public page must never render raw internal identifiers). Second, it publishes 24.2104's terminology corrections to the public prompt pages. Two glossary detectors — a widened expansion lint that catches the definition-gloss form an earlier wrong acronym expansion slipped through, and a sibling entity-role lint that catches an individual glossed as a whole crew — enumerated four public-facing errors in the prompt content and drove the fix: FBD now reads "Fix by Design", FWW(C) now reads "Fun, Whimsy, and Weird (and Chaos)", the Super-FBD prose reads "Fix-by-Design", and the Crux role is corrected to a single first-pass line-finder rather than the whole development crew. All 45 prompt pages were rebuilt and re-stamped, the HAIL machine-semantics layer reconciled across the managed pages, and the machine-digest brought current.
- Diff: 100 files, +198 / −230
- Learned: The spine builder must run BEFORE the page builder — the page folds the spine, the spine folds the ledger, so running the page builder alone does not pick up a new ledger entry. The deploy hook is a forward check that the LEDGER carries the entry, not that the PAGE renders it, and the staleness lint is retrospective — so a hand-completed deploy can pass the hook while shipping a one-behind page. The page builder's redact gate is the backstop that caught the private-signature leak in the ledger prose.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 24.2129.
- Rejected: Leaving it one-behind as accepted lag (rejected: the prior 1.108 deploy's page DID include its own 1.108 entry — one-behind is the error, not the design). Two literal author-then-re-run staged passes (rejected for tank economy: each staged run times out and needs manual completion; instead pre-authored this entry and rebuilt spine+page so a single deploy ships the page current).
- Next stepping variable: Owed: close the gate hole — either make author-then-re-run un-skippable in the deploy chain, or extend the deploy hook to verify the BUILT page renders the entry, not just the ledger. The disclosure funnels remain the next major work and want a fresh tank (irreversible IP).
[AI] machine digest
waypoint=1.110 · date=2026-08-24 · session=24.2129 · diff=100f/+198/-230 · flags=2loopmmt.com v1.111 ships three staged who.html copy edits that reached canonical at a prior close but were held for a fresh-tank deploy. (1) The builder-arc line now reads 'One crafted the system with an AI' (was 'wrote the software') — 'crafted' and 'system' match how the rest of the site names what Loop MMT is. (2) The University of Southern Maine mention is geolocated: '...in Portland, near where I live' (was 'Maine, where I live'), fixing a dangling clause that read as if 'where I live' modified the university. (3) A comma became a semicolon in the Jamie paragraph ('believes in it; the only one'), the correct joint between two independent clauses. One clean deploy of current canonical main — it also carries the regenerated site-root/llms-full.txt from the prior source reconcile. Standard HAIL and site.version re-stamp 1.110->1.111; no structural change. Operator held the deploy at the prior close for a full fresh tank, then directed the ship this session after a boot verified the three edits against byte-truth on canonical main rather than trusting the handoff prose. The waypoint is authored before the deploy, not mid-build — the ordering that lets a single deploy fold the Making page correctly and avoids the one-behind that hit 1.109.
▲ three-who-html-copy-edits
▲ held-for-fresh-tank-then-operator-directed
▲ touch-override-parallel-peer-coordinated
The engineering
loopmmt.com v1.111 ships three staged who.html copy edits that reached canonical at a prior close but were held for a fresh-tank deploy. (1) The builder-arc line now reads 'One crafted the system with an AI' (was 'wrote the software') — 'crafted' and 'system' match how the rest of the site names what Loop MMT is. (2) The University of Southern Maine mention is geolocated: '...in Portland, near where I live' (was 'Maine, where I live'), fixing a dangling clause that read as if 'where I live' modified the university. (3) A comma became a semicolon in the Jamie paragraph ('believes in it; the only one'), the correct joint between two independent clauses. One clean deploy of current canonical main — it also carries the regenerated site-root/llms-full.txt from the prior source reconcile. Standard HAIL and site.version re-stamp 1.110->1.111; no structural change.
- Diff: 99 files, +197 / −229
- Learned: The touch-collision gate is project-grained, not file-grained — two sessions on genuinely disjoint files in the same project trip it, and the resolution is operator coordination ('strips direct, bytes decide'). Presence read from the working tree is blind to a live peer whose lease lives only on its own branch; the open-time collision check reads remote branches and sees it — when they disagree, the branch-aware read is the true one.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 24.2355.
- Rejected: Folding the its-enormous 'Hand it to your AI' section into this same version (rejected: that section is new authoring, not a staged edit; keeping the copy-edit deploy atomic and shipping the new section as its own follow-on keeps each deploy small and verifiable). Treating the touch-collision as a real conflict (rejected: the colliding peer is a live parallel session working different files, confirmed as intended parallel work; the project-grained gate over-fired, so the override was deliberate and coordinated, not a race).
- Next stepping variable: Author the its-enormous.html 'Hand it to your AI' section (intro + two copy-paste AI prompts) as the next deploy — first confirm the page is hand-authored, not generated (generated pages get overwritten on deploy), then add, re-stamp, and ship. The disclosure funnels stay held for a fresh tank.
[AI] machine digest
waypoint=1.111 · date=2026-08-25 · session=24.2355 · diff=99f/+197/-229 · flags=3loopmmt.com v1.112 adds the 'Hand it to your AI' section to its-enormous.html. The section already lived on the homepage and the how-this-site-is-made page; this places it on the 'It's Enormous' page too, right after the existing 'doorway your AI walks through' block — where a reader who has just been told the site is built to be read by a machine is handed two copy-paste prompts to do exactly that. The first asks an AI for a quick reconnaissance read and an honest verdict; the second asks for a full-excavation read against the corpus manifest with coverage tracking. This paste-a-prompt affordance complements the existing doorway (hand-your-AI-the-link, no paste): the doorway is the automatic path, these prompts the manual one. Lifted from the homepage — the cx-bootkey copy-block styles and the copy-button progressive-enhancement script came along so it renders and behaves identically; with JS off the prompts stay selectable, so nothing is lost. The intro's self-link was dropped since the reader is already on that page. The section carries the same consent note the site holds itself to: an AI runs these only when a human has explicitly asked. Operator directive carried in the fresh-tank Cistern runway: put the 'Hand it to your AI' section on its-enormous.html too. Shipped as its own version after the v1.111 who.html deploy rather than batched into it, keeping each deploy atomic and verifiable.
▲ hand-it-to-your-ai-added-to-its-enormous
▲ copy-block-css-and-script-lifted-for-parity
The engineering
loopmmt.com v1.112 adds the 'Hand it to your AI' section to its-enormous.html. The section already lived on the homepage and the how-this-site-is-made page; this places it on the 'It's Enormous' page too, right after the existing 'doorway your AI walks through' block — where a reader who has just been told the site is built to be read by a machine is handed two copy-paste prompts to do exactly that. The first asks an AI for a quick reconnaissance read and an honest verdict; the second asks for a full-excavation read against the corpus manifest with coverage tracking. This paste-a-prompt affordance complements the existing doorway (hand-your-AI-the-link, no paste): the doorway is the automatic path, these prompts the manual one. Lifted from the homepage — the cx-bootkey copy-block styles and the copy-button progressive-enhancement script came along so it renders and behaves identically; with JS off the prompts stay selectable, so nothing is lost. The intro's self-link was dropped since the reader is already on that page. The section carries the same consent note the site holds itself to: an AI runs these only when a human has explicitly asked.
- Diff: 99 files, +197 / −229
- Learned: its-enormous.html is hand-authored, not a generated fold — the builders only link to it, so a direct edit is safe (corpus.html and kp.html are the generated pages where a hand-edit gets wiped on deploy). The cx-bootkey copy-block is page-local styling plus script, not shared CSS, so lifting the section meant bringing all three pieces — the CSS rule, the HTML, the enhancement script — for it to render and behave the same.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 24.2355.
- Rejected: Rewriting the section for this page (rejected: the ask was to place the existing section here; a verbatim lift keeps the three surfaces consistent, and only the redundant self-link was dropped). Linking to the homepage copy instead of placing it inline (rejected: the value is having the affordance on the page a reader lands on when they follow 'built to be read by a machine').
- Next stepping variable: The disclosure funnels remain the held next-major work (irreversible IP, wants a fresh tank).
[AI] machine digest
waypoint=1.112 · date=2026-08-25 · session=24.2355 · diff=99f/+197/-229 · flags=2loopmmt.com v1.113 ships the v13 disclosure funnel and the system-image-display lightbox — the held next-major work that deploys 1.109 through 1.112 repeatedly deferred as irreversible IP awaiting a fresh tank. The funnel is disc-7-funnel.html: a section-1 opener plus an 18-title shape table-of-contents that discloses the what/why/breadth of the v13 standard while the disclosure gate holds the buildable how (its section 16 is the moat). The lightbox is the system-image-display viewer, carried in via a redact-allowlist fix converged from a parallel session so this single deploy ships both bodies of work. Every predeploy gate cleared local and aggregate over the public clone: redact (per-file plus aggregate mask-reconciliation), disclosure-publish, altitude-parity, count line, era-xref, inset, chrome, the HAIL machine-semantics layer, and digest/excavation/reading-path currency, with gifts and prompts href resolving. One advisory-only aggregate compression smell sat below the 0.18 lower bound, which the gate itself labels not-a-gate. The predecessor readied the content and scoped this flip to funnel-plus-lightbox, so the deploy ships exactly that settled canonical per the currency gate — ship current canonical or hold, never a stale sub-slice. The waypoint was authored before staging and the deploy re-run whole, so the spine folds this entry and the Making page ships self-consistent, the ordering that avoids the one-behind that hit 1.109.
▲ v13-disclosure-funnel-live
▲ lightbox-shipped-with-funnel
▲ touch-override-parallel-peer-blessed
▲ held-major-work-fresh-tank-then-directed
The engineering
loopmmt.com v1.113 ships the v13 disclosure funnel and the system-image-display lightbox — the held next-major work that deploys 1.109 through 1.112 repeatedly deferred as irreversible IP awaiting a fresh tank. The funnel is disc-7-funnel.html: a section-1 opener plus an 18-title shape table-of-contents that discloses the what/why/breadth of the v13 standard while the disclosure gate holds the buildable how (its section 16 is the moat). The lightbox is the system-image-display viewer, carried in via a redact-allowlist fix converged from a parallel session so this single deploy ships both bodies of work. Every predeploy gate cleared local and aggregate over the public clone: redact (per-file plus aggregate mask-reconciliation), disclosure-publish, altitude-parity, count line, era-xref, inset, chrome, the HAIL machine-semantics layer, and digest/excavation/reading-path currency, with gifts and prompts href resolving. One advisory-only aggregate compression smell sat below the 0.18 lower bound, which the gate itself labels not-a-gate.
- Diff: 100 files, +199 / −231
- Learned: A disclosure funnel ships the shape — a section opener and a title table-of-contents — and holds the buildable how; the moat is the withheld section, not a withheld page. The making-ledger waypoint must be authored before staging and the deploy re-run whole, because the spine builder folds the ledger and the page folds the spine, so a hand-completed deploy ships a one-behind provenance page. The redact gate scans the ledger prose itself, so full session identifiers and credential names are private signatures that must stay out of the waypoint.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 25.1047.
- Rejected: Treating the touch-collision as a real conflict (rejected: the colliding peer holds a lease on the website path but works its own branch on a separate thread; the project-grained gate over-fired on a read-mostly deploy whose write surface is an external publish that does not overlap the peer, so the override was operator-blessed and deliberate, not a race). Hand-completing the publish after the missing-mark instead of re-running from the top (rejected: the whole re-run is what re-folds the Making page with this entry; skipping it ships the provenance page one-behind, the 1.109 error the later deploys corrected).
- Next stepping variable: With the v13 funnel live, the remaining disclosure funnels (Glossary v8, Patterns Reference v3, Writing Standards v3, Coding Standards v2) are the next work — run each through the disclosure gate: publish the what/why/breadth, hold the buildable how.
[AI] machine digest
waypoint=1.113 · date=2026-08-25 · session=25.1047 · diff=100f/+199/-231 · flags=4loopmmt.com v1.114 is the first deploy of the S4 Master Sync line's live window and the heal it exposed. Nothing about the site's authored content changes here; the deploy carries three currency repairs that had accumulated in canonical since the last live push. (1) The how-this-site-is-made page had lost its HAIL machine-doorway carriers A/B/C in canonical — the making-page builder regenerates the page body and the deploy's stamp pass re-applies the carriers, but the committed source had drifted; restored to canonical. (2) The site-root machine digest faces (corpus-map.json, llms-full.txt) were behind the site they fold and were re-folded current. (3) The excavation faces (corpus-manifest, corpus-shards, one shard, reckoning.json, and the-reckoning.html) were behind, and the reckoning page — which renders its own word count from a manifest that hashes the page's bytes — was re-converged to its fixpoint. The corpus grew by one node to 2673 across the interval. Every predeploy gate cleared local and aggregate over the public clone: redact per-file and aggregate mask-reconciliation, disclosure-publish, altitude-parity, count line, era-xref, inset, chrome, the HAIL layer, and digest and excavation and reading-path currency; gifts and prompts href resolve. One advisory aggregate compression smell sat below the 0.18 lower bound, which the gate labels not-a-gate. A fresh tank built the S4 deploy/live window for the Master Sync discipline — the half that fetches the served bytes off the live site and compares them to a fresh canonical fold, catching the live-lag class the repo window alone is blind to. On its first live run the new window caught a real lag: the making-ledger was being served at the pre-relocation path and the deployed copy was well behind canonical. The operator directed the live re-deploy to clear exactly that lag. The staleness heals were not planned work; they were the gates doing their job — the deploy refused three times in a row until each accumulated drift was repaired, which is the discipline working, not a detour. The waypoint is authored before staging and the deploy re-run whole so the spine folds this entry and the Making page ships self-consistent.
▲ s4-live-window-first-deploy
▲ hail-carriers-restored
▲ digest-and-excavation-heal
▲ reckoning-fixpoint-converged
The engineering
loopmmt.com v1.114 is the first deploy of the S4 Master Sync line's live window and the heal it exposed. Nothing about the site's authored content changes here; the deploy carries three currency repairs that had accumulated in canonical since the last live push. (1) The how-this-site-is-made page had lost its HAIL machine-doorway carriers A/B/C in canonical — the making-page builder regenerates the page body and the deploy's stamp pass re-applies the carriers, but the committed source had drifted; restored to canonical. (2) The site-root machine digest faces (corpus-map.json, llms-full.txt) were behind the site they fold and were re-folded current. (3) The excavation faces (corpus-manifest, corpus-shards, one shard, reckoning.json, and the-reckoning.html) were behind, and the reckoning page — which renders its own word count from a manifest that hashes the page's bytes — was re-converged to its fixpoint. The corpus grew by one node to 2673 across the interval. Every predeploy gate cleared local and aggregate over the public clone: redact per-file and aggregate mask-reconciliation, disclosure-publish, altitude-parity, count line, era-xref, inset, chrome, the HAIL layer, and digest and excavation and reading-path currency; gifts and prompts href resolve. One advisory aggregate compression smell sat below the 0.18 lower bound, which the gate labels not-a-gate.
- Learned: A deploy that has not run in a while accumulates derived-face drift that is invisible until the predeploy gate refuses it — the digest and excavation staleness lints are the earlier warning, but a live deploy is where the accumulated lag actually surfaces and gets cleared. The reckoning page is a circular-but-convergent fold — the page renders from a manifest that hashes the page — so a single fold pass ships it one iteration stale; the documented fixpoint loop must run to byte-stability before commit. Concurrent sessions on the same project dir move the frontier under a long deploy; a currency re-check before each load-bearing commit, plus a rebase-and-re-fold when a peer lands on the same derived layer, is what keeps the deploy honest.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 25.1753.
- Rejected: Break-glass push straight to live main (rejected: the air-gapped staging path through CI is the normal path, and nothing here justified bypassing the public repo's own re-gate). Hand-completing the publish after the missing-mark rather than re-running whole (rejected: the whole re-run is what re-folds the Making page with this entry; skipping it ships the provenance page one-behind). Committing the staleness heals bundled with the S4 tooling change (rejected: the tooling change is a project-tool edit and the heals are derived-face re-folds; kept as separate work-beats so each has its own reviewable diff).
- Next stepping variable: The S4 live window is built and proven; the remaining Master Sync work is the S6 carrier — the formalized reusable method doc for the one-source-many-faces-gate-proves-match discipline (The Parity Check is already christened and seated). After that the campaign owed close and Master Sync is done. The deploy/live parity face for the making-ledger should read clean once this live push propagates.
[AI] machine digest
waypoint=1.114 · session=25.1753 · flags=4loopmmt.com v1.115 ships cohort C — the 404 page rewritten to carry full site chrome — together with a lossless redact of two private internal-path references on the receipts timesheet page, plus the who.html content that rode the flip. The 404 rewrite drops the page into the canonical frame wrapper so it renders the identical header and footer chrome every managed page carries, taking the chrome-presence orphan count from one to zero. The redact masks two private path references inside the served receipts timesheet in place, so the framed-timesheet page keeps its embedded receipt view and its full-receipt link, and the who.html deep-link into the receipt still resolves — every surface stays live. Every predeploy gate cleared local and aggregate over the public clone: redact per-file and aggregate mask-reconciliation, disclosure-publish, altitude-parity, count line, era-xref, inset, chrome and chrome parity, the MMT expansion line, and digest and excavation and reading-path currency; gifts and prompts href resolve. One advisory aggregate compression smell sat below the 0.18 lower bound, which the gate itself labels not-a-gate. The two blockers that had gated this flip for several sessions — the full-chrome 404 rewrite and the receipts redact — were built, verified, and landed on canonical main by the predecessor, and the flip was deliberately handed to a fresh tank so it fired on a full budget rather than at the tail of a build. This tank verified both blockers were ancestors of main against byte-truth before staging rather than trusting the handoff prose, then re-gated green locally before pushing. The waypoint is authored before staging and the deploy re-run whole so the spine folds this entry and the Making page ships self-consistent, the ordering that avoids the one-behind an earlier deploy hit.
▲ cohort-c-404-full-chrome-live
▲ receipts-redact-lossless-over-prune
▲ currency-guard-fired-twice-peers-landed-mid-flip
▲ who-html-rode-the-flip
The engineering
loopmmt.com v1.115 ships cohort C — the 404 page rewritten to carry full site chrome — together with a lossless redact of two private internal-path references on the receipts timesheet page, plus the who.html content that rode the flip. The 404 rewrite drops the page into the canonical frame wrapper so it renders the identical header and footer chrome every managed page carries, taking the chrome-presence orphan count from one to zero. The redact masks two private path references inside the served receipts timesheet in place, so the framed-timesheet page keeps its embedded receipt view and its full-receipt link, and the who.html deep-link into the receipt still resolves — every surface stays live. Every predeploy gate cleared local and aggregate over the public clone: redact per-file and aggregate mask-reconciliation, disclosure-publish, altitude-parity, count line, era-xref, inset, chrome and chrome parity, the MMT expansion line, and digest and excavation and reading-path currency; gifts and prompts href resolve. One advisory aggregate compression smell sat below the 0.18 lower bound, which the gate itself labels not-a-gate.
- Diff: 167 files, +20,786 / −13,025
- Learned: The smaller-looking cut is not always the lossless one: pruning a served artifact can silently kill the framed and deep-linked surfaces that depend on it, so a redact that keeps every surface live can be the smaller real change even though it edits more bytes. A deploy that opens against a moving frontier hits the currency guard once per peer that lands during the flip — two concurrent sessions closed to main mid-flip here and the guard refused twice, each time cleared by a merge-forward keeping both sides and a re-gate, never a break-glass and never a revert. The making waypoint must be authored before staging and the deploy re-run whole, because the spine builder folds the ledger and the page folds the spine.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 26.1229.
- Rejected: Pruning the raw receipt to clear the private-signature gate (rejected: prune reads smaller and lossless but it guts two live surfaces — the framed-timesheet page is only an embed of the receipt plus a view link, and a who.html deep-link points into it, so pruning would 404 all three; the in-place redact keeps every surface working and is the genuinely lossless cut, which the operator ruled on the corrected picture). Break-glass push straight to live main (rejected: the air-gapped staging path through CI is the normal path and nothing here justified bypassing the public repo's own re-gate). Hand-completing the publish after the missing-mark rather than re-running whole (rejected: the whole re-run is what re-folds the Making page with this entry; skipping it ships the provenance page one-behind).
- Next stepping variable: With 1.115 live, the disclosure funnels are the held next-major deploy arc — Glossary v8, Patterns Reference v3, Writing Standards v3, Coding Standards v2 — each run through the disclosure gate on its own fresh tank: publish the what/why/breadth, hold the buildable how.
[AI] machine digest
waypoint=1.115 · date=2026-08-26 · session=26.1229 · diff=167f/+20786/-13025 · flags=4loopmmt.com v1.116 ships the Glossary v8 disclosure funnel — the second of the held disclosure-funnel arc, after the v13 Standard funnel. A new served page, glossary-v8-funnel.html, publishes a selection of 109 general-vocabulary terms from the Loop MMT Glossary v8 while the disclosure gate holds the methodology-specific and implementation terms — the same publish-the-what-and-why, hold-the-buildable-how shape the v13 funnel walks. The funnel body was authored and proven gate-clean on a prior tank; this deploy brings it up to managed-page standard by wrapping it in the canonical frame skeleton (the disc-7 funnel is the template), so it carries the site header and footer chrome, the machine-doorway carriers, canonical and structured-data head, and a glossary-specific title, description, and breadcrumb. It is wired from the timeline's two-day-standard entry as a sibling disclosure-funnel link beside the v13 one, grouping the funnels where the methodology and its vocabulary first crawled out. The three preconditions ran green on the clone before staging: the section gate verified all 26 held sections absent including the moat, the disclosure map authorizes the Glossary to publish, and the served page is redact-clean. The disclosure funnels are the held next-major deploy arc named at the prior flip, and the Glossary v8 funnel was built and proven gate-clean but never staged into the served tree. Publishing 109 general-vocabulary terms is irreversible IP release, so the flip was handed to a fresh tank on a full budget. This tank verified the funnel gate-clean against clone bytes rather than trusting the runway prose, resolved the served-slot question by the disc-7 precedent (its own page under the site tree, wired from the timeline as a disc artifact), and authored this waypoint before staging so the spine folds it and the Making page ships self-consistent.
▲ glossary-v8-funnel-staged
▲ disclosure-funnel-arc-second
▲ disc-7-precedent-followed
▲ irreversible-ip-release
The engineering
loopmmt.com v1.116 ships the Glossary v8 disclosure funnel — the second of the held disclosure-funnel arc, after the v13 Standard funnel. A new served page, glossary-v8-funnel.html, publishes a selection of 109 general-vocabulary terms from the Loop MMT Glossary v8 while the disclosure gate holds the methodology-specific and implementation terms — the same publish-the-what-and-why, hold-the-buildable-how shape the v13 funnel walks. The funnel body was authored and proven gate-clean on a prior tank; this deploy brings it up to managed-page standard by wrapping it in the canonical frame skeleton (the disc-7 funnel is the template), so it carries the site header and footer chrome, the machine-doorway carriers, canonical and structured-data head, and a glossary-specific title, description, and breadcrumb. It is wired from the timeline's two-day-standard entry as a sibling disclosure-funnel link beside the v13 one, grouping the funnels where the methodology and its vocabulary first crawled out. The three preconditions ran green on the clone before staging: the section gate verified all 26 held sections absent including the moat, the disclosure map authorizes the Glossary to publish, and the served page is redact-clean.
- Diff: 130 files, +1,667 / −406
- Learned: A disclosure funnel authored as a bare gate-provable payload is not yet a served page: it must be wrapped in the canonical frame skeleton to satisfy the whole-tree chrome, machine-doorway, and frame gates, and the deploy's stamp passes fill the version-stamped carriers only once that skeleton is present. The section gate's held-section-absent verdict is preserved across the relocation, so the moat travels with the body — the transplant does not reopen it. The served slot for a disclosure funnel resolves by precedent, not fresh judgment: its own page in the site tree, wired from the timeline as a disc artifact, is what the v13 funnel already established.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 26.1341.
- Rejected: Serving the funnel from the funnel build directory rather than the site tree (rejected: only the site tree is staged to the public root, so a funnel-directory page would never publish — it had to move into the site tree exactly as the v13 funnel did). Inventing a new navigation pattern for the entry point (rejected: a published-but-unlinked page is a known orphan failure class; the disc-7 funnel's timeline wiring is the proven idiom, followed here). Hand-completing the publish after the missing-mark rather than re-running whole (rejected: the whole re-run is what re-folds the Making page with this entry).
- Next stepping variable: Two disclosure funnels remain in the arc — Patterns Reference v3, Writing Standards v3, and the operator-added Coding Standards v2 — each build-pending on its own tiering ruling (the shared funnel-companion-docs-tiering owed), then run through the same disclosure gate on its own fresh tank. Also owed on the funnel line: the funnel-section-gate selftest is still v13-chapter-shaped and cannot yet prove it can fail on a flat glossary spine, so harden the selftest before leaning on it as the siblings' safety.
[AI] machine digest
waypoint=1.116 · date=2026-08-26 · session=26.1341 · diff=130f/+1667/-406 · flags=4loopmmt.com v1.117 ships the site-notes batch — six operator content edits staged on a prior tank and flipped live here. The menu and footer navigation are unified to one identical twelve-item list with The Threads added to both. The prompts cabinet is reordered so the you-can-code and entirely-novel cards lead. The resume bio gains a cross-domain-specialist clause. All six receipt cards on the receipts page repoint from framed wrappers to their raw receipt pages. Four dateless waypoints in the making-ledger were backfilled with honest dates derived from their session pointers, and the deploy hook gained a dateless-mark verdict so a bump can no longer ship without a recorded date. The book page adopts a film-credits authorship model — produced by the operator, directed by the OS, written by the AI — across its subtitle, an honest making paragraph, and a role-typed schema.org author array. Two builder-vs-canonical drifts surfaced by the gate were healed: the gifts builder's footer and SOURCE lines were aligned to the site-wide canonical wording, and the making page and a nav-count test were brought current after a prior rebuild dropped their stamps. Every predeploy gate cleared local and aggregate over the public clone: redact per-file and aggregate mask-reconciliation, disclosure-publish, altitude-parity, count line, era-xref, inset, chrome and chrome parity, the MMT expansion line, the HAIL machine-semantics layer, and digest, excavation, and reading-path currency; gifts and prompts href resolve. The batch was authored, committed, and merged to canonical on a prior tank under an explicit stage-not-deploy instruction, and the live flip was handed to a fresh tank on a full budget with the public-repo credential supplied. This tank verified the batch already landed on canonical against byte-truth rather than trusting the handoff prose — the handoff's not-yet-merged caveat was stale, superseded by that session's own completed close — then re-gated green locally before staging. The test gate and predeploy gate each refused in turn on genuine accumulated drift — a stale nav-count test, a making page missing its Hail stamp after a rebuild, and a gifts builder drifted from canonical — and each was repaired as its own reviewable work-beat before re-running whole, which is the discipline working, not a detour. The waypoint is authored before staging and the deploy re-run whole so the spine folds this entry and the Making page ships self-consistent.
▲ site-notes-batch-live
▲ film-credits-authorship-book
▲ unified-twelve-item-nav
▲ gifts-builder-aligned-to-canonical
▲ dateless-mark-guard-shipped
The engineering
loopmmt.com v1.117 ships the site-notes batch — six operator content edits staged on a prior tank and flipped live here. The menu and footer navigation are unified to one identical twelve-item list with The Threads added to both. The prompts cabinet is reordered so the you-can-code and entirely-novel cards lead. The resume bio gains a cross-domain-specialist clause. All six receipt cards on the receipts page repoint from framed wrappers to their raw receipt pages. Four dateless waypoints in the making-ledger were backfilled with honest dates derived from their session pointers, and the deploy hook gained a dateless-mark verdict so a bump can no longer ship without a recorded date. The book page adopts a film-credits authorship model — produced by the operator, directed by the OS, written by the AI — across its subtitle, an honest making paragraph, and a role-typed schema.org author array. Two builder-vs-canonical drifts surfaced by the gate were healed: the gifts builder's footer and SOURCE lines were aligned to the site-wide canonical wording, and the making page and a nav-count test were brought current after a prior rebuild dropped their stamps. Every predeploy gate cleared local and aggregate over the public clone: redact per-file and aggregate mask-reconciliation, disclosure-publish, altitude-parity, count line, era-xref, inset, chrome and chrome parity, the MMT expansion line, the HAIL machine-semantics layer, and digest, excavation, and reading-path currency; gifts and prompts href resolve.
- Learned: A handoff's merge-state caveat can be stale against byte-truth: a session's own close can land the branch after its Ignition Block was written, so the frontier — not the handoff prose — is the truth about whether work is merged. A builder that bakes its own chrome can drift from the site-wide canonical it is supposed to follow: the gifts cabinet's footer and SOURCE lines had diverged, and the cabinet currency check reads a bare render, so the fix is to align the builder template down to canonical rather than let the stamp pass paper over it every deploy. A page rebuilt mid-session loses its chrome and Hail stamps, so a committed source page can reach the pre-build test gate un-stamped even though the deploy would re-stamp it — the fix is to stamp the source current, and the test gate catching it is the backstop working.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 26.2128.
- Rejected: Merging the site-notes branch before deploying (rejected: byte-truth showed the branch's full transactional close already on canonical main, with a later reconcile commit that repointed its handoff to the landed form — there was nothing to merge, and raising a work-lost alarm before checking the frontier is the exact false-alarm the orphan-catch triage guards against). Healing the pre-existing Hail drift by hand-stamping every prompt page before the flip (rejected: the deploy's own build step re-stamps Hail from canonical after the version bump, so a manual pre-stamp goes stale on the bump; the source-page repairs were limited to the one page a prior rebuild had actually left un-stamped). Break-glass push straight to live main (rejected: the air-gapped staging path through CI is the normal path and nothing here justified bypassing the public repo's own re-gate). Rewording the footer site-wide to the terser builder wording (rejected: the operator ruled to keep the canonical Private-forwarding line, so the builder was aligned down to canonical, not the reverse).
- Next stepping variable: The pre-existing per-prompt Hail drift the batch deliberately left for deploy is now healed by the deploy's own stamp pass; confirm the served prompt pages carry current carriers once this push propagates. Optional site-tooling follow-ons remain: a receipts-card regression lint to keep the six cards from drifting back to framed, and the one receipts go-deeper trace link still pointing at its framed twin by deliberate choice.
[AI] machine digest
waypoint=1.117 · session=26.2128 · flags=5loopmmt.com v1.119 unifies the Prompts navigation label to 'Sweet Prompts' across every surface and ships two builder repairs that had been silently reverting operator content on each deploy. The nav rename resolves a pre-existing split in the canonical chrome source, whose top-nav and footer-nav had disagreed on the label since an earlier menu-reorder claimed parity but missed the top-nav entry; the canonical is now internally consistent and the label reads 'Sweet Prompts' in the header nav, the leaf nav, and the footer nav of every managed page. The historical making-ledger prose that quotes the older label is preserved verbatim as a byte-truth record of past deploys, not swept. The first builder repair restores three disclosure-document links to the corpus page's document index (the walk-through, the plan, and the five-rules) that the corpus preview builder had been dropping on every rebuild, plus a scoped, fail-loud injector that re-applies the four in-body document links in the Four-Basis glossary entry the canonical link-free glossary cannot carry. The second aligns the gifts cabinet's pre-launch notice to the current site-wide canonical wording. Every predeploy gate cleared local and aggregate over the public clone: redact per-file and aggregate mask-reconciliation, disclosure-publish, altitude-parity, count line, era-xref, inset, chrome and chrome parity, the MMT expansion line, the HAIL machine-semantics layer, and digest, excavation, and reading-path currency; gifts and prompts href resolve. Operator ruled the Prompts label should read 'Sweet Prompts' everywhere. The keystone deploy fix and the label sweep were built on a fresh tank and reconciled onto current canonical main after a concurrent session landed a large website batch mid-work, so the tree ships current canonical rather than a stale sub-slice, per the currency gate. Byte-truth over inherited prose governed the reconcile: a peer had changed the site-wide pre-launch wording and fixed a nav-count test, so the gifts pre-launch line was folded forward to the peer's new wording rather than reverted to the older one, and the redundant test fix was adopted rather than duplicated. The corpus builder repair was uncontested and still needed: the peer never touched that builder, so it was still dropping the disclosure links on every rebuild. Before staging, the live public tree was verified to carry no authored content the deploy tree would revert; the two intervening live deploys were pure version-and-digest reconciles, and the only real deltas were the intended label change plus version stamps the deploy re-folds. The waypoint is authored before staging and the deploy re-run whole so the spine folds this entry and the Making page ships self-consistent.
▲ sweet-prompts-label-unified
▲ canonical-nav-split-healed
▲ corpus-disclosure-links-restored
▲ gifts-prelaunch-aligned
▲ reconciled-onto-current-main
The engineering
loopmmt.com v1.119 unifies the Prompts navigation label to 'Sweet Prompts' across every surface and ships two builder repairs that had been silently reverting operator content on each deploy. The nav rename resolves a pre-existing split in the canonical chrome source, whose top-nav and footer-nav had disagreed on the label since an earlier menu-reorder claimed parity but missed the top-nav entry; the canonical is now internally consistent and the label reads 'Sweet Prompts' in the header nav, the leaf nav, and the footer nav of every managed page. The historical making-ledger prose that quotes the older label is preserved verbatim as a byte-truth record of past deploys, not swept. The first builder repair restores three disclosure-document links to the corpus page's document index (the walk-through, the plan, and the five-rules) that the corpus preview builder had been dropping on every rebuild, plus a scoped, fail-loud injector that re-applies the four in-body document links in the Four-Basis glossary entry the canonical link-free glossary cannot carry. The second aligns the gifts cabinet's pre-launch notice to the current site-wide canonical wording. Every predeploy gate cleared local and aggregate over the public clone: redact per-file and aggregate mask-reconciliation, disclosure-publish, altitude-parity, count line, era-xref, inset, chrome and chrome parity, the MMT expansion line, the HAIL machine-semantics layer, and digest, excavation, and reading-path currency; gifts and prompts href resolve.
- Diff: 124 files, +280 / −286
- Learned: A canonical chrome source can carry an internal split that no single page reveals: the top-nav and footer-nav label had disagreed since a menu-reorder claimed parity but missed one entry, and only a site-wide grep of the served label surfaced it. A builder that hardcodes a value the stamp layer owns produces a permanent false-stale in its own currency check: the gifts cabinet's SOURCE line is stamp-owned, so the builder's divergent copy was dead code that made the check report stale forever until the builder was aligned down to canonical. A live-ahead-of-canonical check before staging is load-bearing: the public site was two deploys ahead of the canonical base, and only reading the intervening deploys' real diffs proved they carried no authored content the deploy tree would revert.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 26.2157.
- Rejected: Deploying the pre-reconcile branch built on the older base (rejected: it predated the peer's landed batch and would have reverted the peer's pre-launch wording and their nav-count test fix, the exact concurrent-deploy clobber the currency guard exists to prevent; reconciled onto current main and folded the peer's changes forward instead). Sweeping the historical making-ledger prose that quotes the older label to the new one (rejected: those lines are a byte-truth record of what past deploys actually shipped, not live chrome, so they stay verbatim). Restoring the Four-Basis in-body links by editing the canonical glossary (rejected: the glossary is medium-agnostic and correctly link-free, so the links belong at the site-render layer as a scoped fail-loud injector for that one entry, not in the boot source). Break-glass push straight to live main (rejected: the air-gapped staging path through CI is the normal path and nothing justified bypassing the public repo's own re-gate).
- Next stepping variable: The remaining disclosure funnels (Patterns Reference, Writing Standards, Coding Standards) stay the held next-major arc, each on its own fresh tank through the disclosure gate. A site-tooling follow-on remains: the chrome stamp does not correct the leaf-nav label on the one special-cased root page, so that page's label is hand-kept current and a small stamp extension would fold it into the canonical pass.
[AI] machine digest
waypoint=1.119 · date=2026-08-27 · session=26.2157 · diff=124f/+280/-286 · flags=5loopmmt.com v1.120 ships a Hail checker fix that had left five referent-declaring pages in a state where the deploy gate could never pass. The stamp step writes each page's per-page referents block keyed to the page's own basename, but the matching check step rendered its expected block without that basename, so the two folds could never agree and the five declaring pages (the case, the how-this-site-is-made page, the in-the-room transcript, the resume, and the thesis) reported eternal drift at the in-place check. A second, load-bearing layer sat one level out at the gate: the predeploy gate checks a staged copy of the tree under a temporary directory, and the basename resolver keyed on the path beginning with the site directory, so every staged page resolved to no basename, the expected block dropped its referents, and the gate refused a tree whose pages were in fact correct. Both were corrected so the stamp and the check fold symmetrically and the resolver matches a direct site leaf wherever it sits in the path, with the direct-leaf-only rule preserved so a deeper page never inherits a sibling's referents. The correct output of the fix also lands the referents machine block onto the five declaring pages for the first time, so their structured data now carries what each page represents. A regression suite pins both layers, including the staged-path case, and the whole-tree predeploy gate now clears clean. This is a build-tool correction, not a content edit; it also carries whatever content had accumulated on canonical since the last live push, per the ship-current-canonical rule. The gate had begun refusing every deploy at the Hail check on five pages, which blocks the whole air-gapped publish path since the gate is whole-tree. The operator directed the fix and the live flip after a boot verified against byte-truth that the checker, not the pages, was wrong: the pages carried correct blocks and the check computed the wrong expected form. The waypoint is authored before staging and the deploy re-run whole so the spine folds this entry and the Making page ships self-consistent, the ordering that avoids the one-behind an earlier deploy hit.
▲ owed-228-hail-check-fix
▲ build-tool-fix-not-content
▲ five-declaring-pages-referents-land
The engineering
loopmmt.com v1.120 ships a Hail checker fix that had left five referent-declaring pages in a state where the deploy gate could never pass. The stamp step writes each page's per-page referents block keyed to the page's own basename, but the matching check step rendered its expected block without that basename, so the two folds could never agree and the five declaring pages (the case, the how-this-site-is-made page, the in-the-room transcript, the resume, and the thesis) reported eternal drift at the in-place check. A second, load-bearing layer sat one level out at the gate: the predeploy gate checks a staged copy of the tree under a temporary directory, and the basename resolver keyed on the path beginning with the site directory, so every staged page resolved to no basename, the expected block dropped its referents, and the gate refused a tree whose pages were in fact correct. Both were corrected so the stamp and the check fold symmetrically and the resolver matches a direct site leaf wherever it sits in the path, with the direct-leaf-only rule preserved so a deeper page never inherits a sibling's referents. The correct output of the fix also lands the referents machine block onto the five declaring pages for the first time, so their structured data now carries what each page represents. A regression suite pins both layers, including the staged-path case, and the whole-tree predeploy gate now clears clean. This is a build-tool correction, not a content edit; it also carries whatever content had accumulated on canonical since the last live push, per the ship-current-canonical rule.
- Learned: A stamp and its check are one fold in two directions: if the check renders its expected form by a different key than the stamp wrote, the two can never agree and the page drifts forever even though it is correct. The gate checks a relocated staged copy, so any path-shape assumption keyed on the tree root breaks under the temp-dir prefix; the durable invariant is the structural relation (a direct leaf under a site directory), not the literal path prefix. A checker fix with no visible content change still re-stamps machine metadata on the affected pages, so its deploy is a real change to those pages' structured data, correctly.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 27.1233.
- Rejected: Hand-editing the five pages to clear the drift (rejected: the pages were already correct; the fault was in the checker, so editing pages would have been a no-op at best and a revert risk at worst). Widening the resolver to match any path ending in a page basename (rejected: it would let a deeper nested page inherit a top-level page's referents; the fix requires the leaf sit immediately under a site directory). Break-glass push straight to live main (rejected: the air-gapped staging path through CI is the normal path and nothing here justified bypassing the public repo's own re-gate).
- Next stepping variable: The disclosure funnels remain the held next-major arc — Patterns Reference, Writing Standards, Coding Standards — each on its own fresh tank through the disclosure gate. Standing floor-adjacent owed carry forward unchanged: the deploy reckoning-to-corpus fold-to-fixpoint in the build phase, and the served-to-manifest reverse lint.
[AI] machine digest
waypoint=1.120 · session=27.1233 · flags=3loopmmt.com v1.121 is an operator-requested deploy of the open-source gifts and everything else already deploy-ready, run whole through the air-gapped staging path. No new gift was authored this deploy; the eleven gifts already carried in gifts-manifest.json (grain, cairn, plumb, census, mint, gitlog, vclock, verify, excavation, ward, trellis) were rebuilt fresh as pure folds of the manifest into their per-gift pages and the gifts cabinet, then shipped current. The batch gift ship-qual gate qualified all eleven in their served directories, gift-page render proved byte-identical across six hash seeds, and every served gift page passed the license-consistency check with MIT named and full text shipped. The deploy also carries whatever content had accumulated on canonical since the last live push, per the ship-current-canonical rule. Every predeploy gate cleared local and aggregate over the public clone: redact per-file and aggregate mask-reconciliation, disclosure-publish, altitude-parity, count line, era-xref, inset, chrome and chrome parity, the MMT expansion line, the HAIL machine-semantics layer, and digest, excavation, and reading-path currency; gifts and prompts href resolve. The website test suites ran green before the build as the gate-before-build step. The operator directed a deploy of all the shipped gifts plus anything else ready for loopmmt.com. A boot verified the deploy chain against byte-truth rather than the handoff prose: the eight gift tool folders on disk resolve to eleven published manifest gifts, three of which publish from the manifest without their own tool folder, all eleven passed ship-qual, and a dry build-and-gate cleared green before the operator was asked for the one missing credential. The waypoint is authored before staging and the deploy re-run whole so the spine folds this entry and the Making page ships self-consistent, the ordering that avoids the one-behind an earlier deploy hit.
▲ operator-requested-gifts-deploy
▲ eleven-gifts-qualified
▲ public-site-token-supplied
▲ rebuild-current-no-new-gift
▲ readlive-counter-1.120-to-1.121
The engineering
loopmmt.com v1.121 is an operator-requested deploy of the open-source gifts and everything else already deploy-ready, run whole through the air-gapped staging path. No new gift was authored this deploy; the eleven gifts already carried in gifts-manifest.json (grain, cairn, plumb, census, mint, gitlog, vclock, verify, excavation, ward, trellis) were rebuilt fresh as pure folds of the manifest into their per-gift pages and the gifts cabinet, then shipped current. The batch gift ship-qual gate qualified all eleven in their served directories, gift-page render proved byte-identical across six hash seeds, and every served gift page passed the license-consistency check with MIT named and full text shipped. The deploy also carries whatever content had accumulated on canonical since the last live push, per the ship-current-canonical rule. Every predeploy gate cleared local and aggregate over the public clone: redact per-file and aggregate mask-reconciliation, disclosure-publish, altitude-parity, count line, era-xref, inset, chrome and chrome parity, the MMT expansion line, the HAIL machine-semantics layer, and digest, excavation, and reading-path currency; gifts and prompts href resolve. The website test suites ran green before the build as the gate-before-build step.
- Diff: 166 files, +29,809 / −30,240
- Learned: A gift count read off the on-disk tool folders undercounts what the site actually publishes: three of the eleven manifest gifts ship from the manifest without a tool folder, so the manifest, not the filesystem, is the deploy oracle for what publishes. The live public counter can run ahead of the canonical seed, so the deploy correctly reads the counter from the clone HEAD rather than trusting the canonical value. Deploy-prose authored into the making-ledger is folded into an emitted page, so it passes through the redact gate: an internal repo tree path written verbatim into a waypoint trips the private-signature scan, and the record must name public artifacts (the manifest, the served pages) rather than internal tree paths.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 27.1714.
- Rejected: Break-glass push straight to live main (rejected: the air-gapped staging path through CI is the normal path and nothing here justified bypassing the public repo's own re-gate). Seeding the version bump from the lagging canonical counter (rejected: the deploy reads the authoritative live counter from the public clone HEAD, which was already at 1.120 while canonical read 1.119, so the bump rode the live counter to 1.121 — the readlive-not-canonical rule). Skipping this waypoint because no content changed beyond a rebuild (rejected: a version bump ships a real change to every stamped page and earns a one-line record; the deploy hook refuses a bump with no waypoint, which is the record-not-reconstruct guarantee working).
- Next stepping variable: Confirm the served gift pages and cabinet carry v1.121 once CI flips staging to main and Pages propagates. The canonical version seed was reconciled to 1.121 in the deploy tree and rides to canonical at session close. The disclosure funnels remain the held next-major arc — Patterns Reference, Writing Standards, Coding Standards — each on its own fresh tank through the disclosure gate.
[AI] machine digest
waypoint=1.121 · date=2026-08-27 · session=27.1714 · diff=166f/+29809/-30240 · flags=5loopmmt.com v1.122 raises the open-source gifts cabinet from eleven to thirteen by publishing two new gifts, Sha256 and Reltime, the first two JavaScript gifts on the site. Sha256 is a dependency-free synchronous SHA-256 that returns the same 64-char hex digest as a Node backend's crypto.createHash for the same UTF-8 input, so a browser can mirror a server-side integrity check without an async verify path; Reltime turns a timestamp into a short human 'when' that refuses to fabricate, returning no label for a missing, empty, unparseable, or future stamp and the real landing date for anything older than a week. Both ship MIT with full license text and their honest edges printed on the page. Their per-gift pages and the gifts cabinet were built as pure folds of the manifest, and three site prose surfaces (the home page gifts lede, the apps take-outright note, and the discoveries gifts note) were trued from their count oracle from 'eleven' to 'thirteen' so no page understates what the cabinet now holds. Every predeploy gate cleared local and aggregate over the public clone: gift ship-qual qualified all thirteen in their served directories, gift-page render proved byte-identical across six hash seeds, license-consistency passed with MIT named and full text shipped, the count line trued clean across every surface, and chrome, chrome parity, altitude-parity, the MMT expansion line, the HAIL semantics layer, and digest, excavation, and reading-path currency all cleared; gifts and prompts href resolve. The operator directed the deploy of the two released JavaScript gifts to loopmmt.com. A boot verified the deploy chain against byte-truth rather than the handoff prose: thirteen gift directories resolve on disk, the manifest carries thirteen gifts, all thirteen passed ship-qual in-repo before the credential was requested, and the predecessor's beats releasing the two JS gifts were confirmed already canonical. The first staged run refused correctly at the count line: three prose pages still read 'eleven' after the eleven-to-thirteen release, which is the count gate doing its job, so the surfaces were trued from their oracle and the deploy re-run whole. The waypoint is authored before staging and the deploy re-run whole so the spine folds this entry and the Making page ships self-consistent.
▲ operator-requested-gifts-deploy
▲ thirteen-gifts-qualified
▲ sha256-reltime-first-js-gifts
▲ count-line-trued-eleven-to-thirteen
▲ public-site-token-supplied
The engineering
loopmmt.com v1.122 raises the open-source gifts cabinet from eleven to thirteen by publishing two new gifts, Sha256 and Reltime, the first two JavaScript gifts on the site. Sha256 is a dependency-free synchronous SHA-256 that returns the same 64-char hex digest as a Node backend's crypto.createHash for the same UTF-8 input, so a browser can mirror a server-side integrity check without an async verify path; Reltime turns a timestamp into a short human 'when' that refuses to fabricate, returning no label for a missing, empty, unparseable, or future stamp and the real landing date for anything older than a week. Both ship MIT with full license text and their honest edges printed on the page. Their per-gift pages and the gifts cabinet were built as pure folds of the manifest, and three site prose surfaces (the home page gifts lede, the apps take-outright note, and the discoveries gifts note) were trued from their count oracle from 'eleven' to 'thirteen' so no page understates what the cabinet now holds. Every predeploy gate cleared local and aggregate over the public clone: gift ship-qual qualified all thirteen in their served directories, gift-page render proved byte-identical across six hash seeds, license-consistency passed with MIT named and full text shipped, the count line trued clean across every surface, and chrome, chrome parity, altitude-parity, the MMT expansion line, the HAIL semantics layer, and digest, excavation, and reading-path currency all cleared; gifts and prompts href resolve.
- Learned: A gift release that changes the published count leaves prose surfaces owing their count oracle even when every gift gate is green: the manifest and pages qualified, but three narrative sentences still said 'eleven', and only the count line surfaced the gap, so gift ship-qual passing is not the same as the site being count-consistent. The first two JavaScript gifts exercised the count and render path for a non-Python stack cleanly, confirming the manifest-fold pages and the count oracle are language-agnostic. Running the full staged gate before asking for anything, then letting the gate refuse and name its own fix, is cheaper than trusting a green handoff: the deploy-ready claim was true for the gifts and false for the prose count, and the gate drew the line exactly where it belonged.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 27.1933.
- Rejected: Shipping the deploy with the three 'eleven' prose surfaces left stale (rejected: the count line refused it and was right; the release changed the count, so the surfaces owe their oracle, and hand-waving past a real gate is the exact drift the gate exists to catch). Editing the three prose counts by hand rather than stamping from the oracle (rejected: the count line owns those surfaces from a single oracle, so the stamp trues all of them consistently and a hand edit invites a fresh divergence). Break-glass push straight to live main (rejected: the air-gapped staging path through CI is the normal path and nothing here justified bypassing the public repo's own re-gate).
- Next stepping variable: Confirm the served gift pages and cabinet carry v1.122 and show thirteen once CI flips staging to main and Pages propagates, and that /gifts/sha256/ and /gifts/reltime/ return 200. The canonical version seed rides to canonical at session close. The disclosure funnels remain the held next-major arc, Patterns Reference, Writing Standards, and Coding Standards, each on its own fresh tank through the disclosure gate.
[AI] machine digest
waypoint=1.122 · session=27.1933 · flags=5loopmmt.com v1.123 gives the served Gifts hub at /gifts/ a real builder, closing a drift defect the v1.122 gift release exposed. The site serves two gift hubs: /site/gifts.html, built from the manifest, and /gifts/ (site-root/gifts/index.html), the serve-form front door. Only the first had a builder; the served hub was a hand-kept copy with no fold, so it had frozen at an old gift set while the manifest advanced to thirteen, and the front door to the gifts understated the collection. A new builder now emits the served hub as a pure serve-form transform of the source hub, one cabinet source rendered to two faces, so the served page can never again drift from the manifest. The transform applies four deterministic path rules, reading the navigation set from the canonical chrome source rather than a hand-listed copy, so a future nav change flows through without editing the transform. The served hub now shows all thirteen gifts and its home link matches the built per-gift pages, correcting a small drift the old hand copy carried. The builder is wired into the deploy chain after the source hub and before the chrome and machine-semantics stamps, and a new predeploy currency check re-renders and diffs the served hub so a stale front door cannot ship; a focused test pins the four transform rules, the untouched gift-card links, the full manifest fold, and idempotence. Every predeploy gate cleared local and aggregate over the public clone, including the new served-hub check, chrome and chrome parity, the machine-semantics layer, gift ship-qual for all thirteen, license consistency, render determinism, and the count line. The v1.122 gift release deployed thirteen gift pages live and reachable, but a live check found the served hub at /gifts/ still listing an old set because it had no builder and never folded the manifest. The operator passed the conn with the instruction to fix it right rather than fastest, so the fix was the durable one: give the served hub a builder that makes it a transform of the single source hub, wire it into the deploy and the predeploy gate, and cover it with a test, rather than hand-editing the stale copy one more time. The served hub is committed in stamped state so it passes the pre-build managed-page check exactly as its built sibling pages do, while the builder itself emits raw carriers and the deploy stamps them, keeping version-specific content out of the builder. This deploy is a build-tool and served-face correction; it also carries whatever accumulated on canonical since the last push.
▲ served-hub-gets-a-builder
▲ drift-proof-serve-form-fold
▲ predeploy-gate-wired
▲ thirteen-gifts-on-the-hub
▲ conn-do-it-right
The engineering
loopmmt.com v1.123 gives the served Gifts hub at /gifts/ a real builder, closing a drift defect the v1.122 gift release exposed. The site serves two gift hubs: /site/gifts.html, built from the manifest, and /gifts/ (site-root/gifts/index.html), the serve-form front door. Only the first had a builder; the served hub was a hand-kept copy with no fold, so it had frozen at an old gift set while the manifest advanced to thirteen, and the front door to the gifts understated the collection. A new builder now emits the served hub as a pure serve-form transform of the source hub, one cabinet source rendered to two faces, so the served page can never again drift from the manifest. The transform applies four deterministic path rules, reading the navigation set from the canonical chrome source rather than a hand-listed copy, so a future nav change flows through without editing the transform. The served hub now shows all thirteen gifts and its home link matches the built per-gift pages, correcting a small drift the old hand copy carried. The builder is wired into the deploy chain after the source hub and before the chrome and machine-semantics stamps, and a new predeploy currency check re-renders and diffs the served hub so a stale front door cannot ship; a focused test pins the four transform rules, the untouched gift-card links, the full manifest fold, and idempotence. Every predeploy gate cleared local and aggregate over the public clone, including the new served-hub check, chrome and chrome parity, the machine-semantics layer, gift ship-qual for all thirteen, license consistency, render determinism, and the count line.
- Version: v1.121 → v1.123
- Diff: 129 files, +1,251 / −1,764
- Learned: A served face with no builder is a latent drift: /site/gifts.html folded the manifest and stayed current while its serve-form twin at /gifts/ was hand-kept and silently fell three gifts behind, and only a live read of the served hub surfaced the gap that every gift gate had passed over. The fix that holds is a builder, not an edit: making the served hub a deterministic transform of the one source hub means the front door cannot diverge from the manifest again, and wiring a re-render-and-diff check into the predeploy gate makes a future stale hub a refused deploy rather than a silent live mismatch. Committed served pages are kept in stamped state so the pre-build managed-page check passes, while the builder emits raw carriers for the deploy to stamp, which keeps version content out of the builder and lets the builder's own currency check ignore the stamp regions.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 27.1933.
- Rejected: Hand-editing the stale served hub to list thirteen gifts (rejected: that is the same hand-copy pattern that let it drift in the first place; a served face with no builder will drift again, so the fix is a builder, not another manual edit). Making the served hub a second independent template (rejected: two templates for one cabinet is exactly how the two hubs diverged; the served hub is a transform of the one source render so there is a single cabinet source of truth). Baking the stamped machine-semantics into the builder output (rejected: version-specific stamps belong to the deploy stamp pass, not the builder; the builder emits raw carriers and the deploy stamps them, so the builder stays a pure manifest fold). Break-glass push straight to live main (rejected: the air-gapped staging path through CI is the normal path).
- Next stepping variable: Confirm the served hub at /gifts/ shows thirteen gifts once CI flips staging to main and Pages propagates, alongside the individual gift pages already live. The gifts Story Pole needs a reconcile from its stale eight-manifested reading to the current thirteen-deployed state, and the deploy-hub milestone can close as done. The disclosure funnels remain the held next-major arc, Patterns Reference, Writing Standards, and Coding Standards, each on its own fresh tank.
[AI] machine digest
waypoint=1.123 · date=2026-08-27 · session=27.1933 · diff=129f/+1251/-1764 · flags=5loopmmt.com v1.124 publishes The Query — the question-navigation face of the site. Four new pages ship into the served site: a query index and three doorway pages that route a reader from a real question into the corpus page that answers it (how this site is made, a page about Shea Gunther, and the thesis). The doorways are composed as pure folds of a kept question set through the site's own retrieval router — a doorway is emitted only when the corpus genuinely answers its question, and a question the corpus does not answer renders an honest-gap doorway rather than a manufactured answer, so a doorway link means the target page is present, never that its content is asserted true. The four pages wear the site's canonical chrome via the managed stamp pass rather than any hand-authored frame, so they track site canon and passed chrome parity clean. They auto-register as corpus nodes, and the machine-digest and excavation faces were re-folded so an agent fetching the site sees them. Every predeploy gate cleared local and aggregate over the public clone: per-file redact and aggregate mask-reconciliation, disclosure-publish, chrome and chrome parity, altitude-parity, the count line, era-xref, inset, the machine-semantics layer, and digest, excavation, and reading-path currency; gifts and prompts href resolve; gift ship-qual qualified all thirteen. The deploy also carries whatever content had accumulated on canonical since the last live push, per the ship-current-canonical rule. The operator directed the deploy of The Query to loopmmt.com and passed the conn to do the work right rather than fastest. The waypoint is authored before staging and the deploy re-run whole so the spine folds this entry and the Making page ships self-consistent, the ordering that avoids the one-behind an earlier deploy hit.
▲ operator-requested-query-deploy
▲ four-query-doorway-pages
▲ isolated-worktree-build-no-sibling-collision
▲ public-site-token-supplied
▲ honest-gap-doorway-not-manufactured-answer
The engineering
loopmmt.com v1.124 publishes The Query — the question-navigation face of the site. Four new pages ship into the served site: a query index and three doorway pages that route a reader from a real question into the corpus page that answers it (how this site is made, a page about Shea Gunther, and the thesis). The doorways are composed as pure folds of a kept question set through the site's own retrieval router — a doorway is emitted only when the corpus genuinely answers its question, and a question the corpus does not answer renders an honest-gap doorway rather than a manufactured answer, so a doorway link means the target page is present, never that its content is asserted true. The four pages wear the site's canonical chrome via the managed stamp pass rather than any hand-authored frame, so they track site canon and passed chrome parity clean. They auto-register as corpus nodes, and the machine-digest and excavation faces were re-folded so an agent fetching the site sees them. Every predeploy gate cleared local and aggregate over the public clone: per-file redact and aggregate mask-reconciliation, disclosure-publish, chrome and chrome parity, altitude-parity, the count line, era-xref, inset, the machine-semantics layer, and digest, excavation, and reading-path currency; gifts and prompts href resolve; gift ship-qual qualified all thirteen. The deploy also carries whatever content had accumulated on canonical since the last live push, per the ship-current-canonical rule.
- Learned: A deploy build re-folds the shared corpus and excavation faces, so running it on a live working branch while sibling sessions edit the same tree is a collision; the safe path is an isolated worktree off clean canonical that proves the pages gate-clean and produces the verified tree without perturbing any live branch. The deploy gate refuses a version bump that carries no Making waypoint, which is the record-not-reconstruct guarantee working: the four query pages passed every content gate, and the only thing standing between a green build and a push was authoring this entry — the mark is owed at ship time, not backfilled later. Waypoint prose is folded into an emitted page and passes the redact gate, so the record names public artifacts — the served pages, the manifest, the router — rather than any internal tree path, which would trip the private-signature scan.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 27.2058.
- Rejected: Break-glass push straight to live main (rejected: the air-gapped staging path through CI is the normal path and nothing here justified bypassing the public repo's own re-gate). Running the deploy build directly on a shared working branch while sibling sessions were live in the same site tree (rejected: the build re-folds shared derived faces, so it ran in an isolated throwaway worktree off clean canonical, touching no live branch and no sibling's work). Editing the pre-existing excavation-face staleness on canonical as part of this deploy (rejected: that staleness is the site line's own owed, not this deploy's; re-folding those faces outside their owner's tank is exactly what damaged a served page in a prior query tank, so this deploy folds only what its own change requires).
- Next stepping variable: Confirm the four query pages are live and reachable once CI flips staging to main and Pages propagates: the query index and the three doorways. The pre-existing excavation-face staleness on canonical remains the site line's own owed, untouched by this deploy. The disclosure funnels remain the held next-major arc — Patterns Reference, Writing Standards, Coding Standards — each on its own fresh tank through the disclosure gate.
[AI] machine digest
waypoint=1.124 · session=27.2058 · flags=5loopmmt.com v1.125 brings the site's derived layers back into line with the pages they fold and trues three prose surfaces that had fallen behind the gifts cabinet. The excavation layer — the corpus manifest, its shard set, the reckoning data, and the served reckoning page — was re-folded to a byte-stable fixpoint over the current pages, so an agent reading the machine excavation faces sees the site as it actually stands rather than an earlier state; the machine digest (the llms text map, the full-text corpus, the structured index, the sitemap, and the corpus map) was re-folded in the same pass so the digest matches the served pages. The reckoning page is both a served page and a node the manifest hashes, a circular dependency that the fold resolves by rendering and stamping the page first and folding the manifest over its final bytes, converging in a single pass. On the source side, the machine-doorway HAIL carriers were re-stamped across managed pages that had drifted, three question-and-prompt pages that own their own full-screen layout were marked as deliberately bare so the canonical chrome check exempts them instead of forcing a frame they do not use, and the home page, the apps page, and the discoveries page had their gift-count sentences trued from their count oracle from an old 'thirteen' to the current 'twenty', so no page understates what the open-source gifts cabinet now holds. Every predeploy gate cleared local and aggregate over the public clone: per-page redact and aggregate mask-reconciliation, chrome and chrome parity, the machine-semantics HAIL layer, altitude-parity, the count line, era-xref, inset, gift ship-qual and gifts and prompts href resolution, and digest, excavation, and reading-path currency all read current against a fresh fold. The operator directed the deploy of the corpus-fixpoint work to loopmmt.com and passed the conn to do it whole rather than piecemeal. The live site had fallen well behind byte-truth: the served excavation and digest faces trailed the pages they fold, several managed pages carried stale or missing machine-doorway carriers, and three prose surfaces still said thirteen gifts after the cabinet grew to twenty. The fix is the full deploy build chain run in its exact fold order to a fixpoint, never a single face re-folded alone, because building one face standalone strips the carriers the deploy re-stamps and individual builders cascade and undo each other; only the whole chain converges. A boot verified the chain against byte-truth rather than the handoff prose, re-folded to a proven fixpoint where both the excavation and digest currency lints read current on a clean tree, and staged over a fresh public clone that cleared every gate before the credential was requested. The waypoint is authored before staging and the deploy re-run whole so the spine folds this entry and the Making page ships self-consistent.
▲ operator-requested-fixpoint-deploy
▲ excavation-faces-refolded-to-fixpoint
▲ digest-refolded
▲ hail-restamp-source-currency
▲ count-line-trued-thirteen-to-twenty
▲ hex-pages-chrome-bare-declared
▲ public-site-token-supplied
The engineering
loopmmt.com v1.125 brings the site's derived layers back into line with the pages they fold and trues three prose surfaces that had fallen behind the gifts cabinet. The excavation layer — the corpus manifest, its shard set, the reckoning data, and the served reckoning page — was re-folded to a byte-stable fixpoint over the current pages, so an agent reading the machine excavation faces sees the site as it actually stands rather than an earlier state; the machine digest (the llms text map, the full-text corpus, the structured index, the sitemap, and the corpus map) was re-folded in the same pass so the digest matches the served pages. The reckoning page is both a served page and a node the manifest hashes, a circular dependency that the fold resolves by rendering and stamping the page first and folding the manifest over its final bytes, converging in a single pass. On the source side, the machine-doorway HAIL carriers were re-stamped across managed pages that had drifted, three question-and-prompt pages that own their own full-screen layout were marked as deliberately bare so the canonical chrome check exempts them instead of forcing a frame they do not use, and the home page, the apps page, and the discoveries page had their gift-count sentences trued from their count oracle from an old 'thirteen' to the current 'twenty', so no page understates what the open-source gifts cabinet now holds. Every predeploy gate cleared local and aggregate over the public clone: per-page redact and aggregate mask-reconciliation, chrome and chrome parity, the machine-semantics HAIL layer, altitude-parity, the count line, era-xref, inset, gift ship-qual and gifts and prompts href resolution, and digest, excavation, and reading-path currency all read current against a fresh fold.
- Version: v1.124 → v1.125
- Diff: 132 files, +302 / −304
- Learned: A deploy can be blocked by a chain of inherited drift that no single session created: the pre-build managed-page check refused the build because pages landed with stale or missing machine-doorway carriers, the chrome check refused because self-styled pages lacked the deliberate-bare declaration, and the predeploy count gate refused because prose surfaces trailed the gift oracle — three separate gates each doing its job, each naming its own fix. Clearing them in order and then running the whole fold chain is what reaches the fixpoint; chasing any one face alone does not. The excavation fixpoint converges cleanly but the two whole-tree-enumerating faces, the manifest and the sitemap, trail a source edit by exactly one fold, so a source change made after the build owes a second fold before the currency lints read clean — the fixpoint is only proven on a clean committed tree, never on a mid-propagation reading.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 28.0220.
- Rejected: Re-folding single excavation faces piecemeal to clear the staleness (rejected: building one face alone strips the carriers the deploy re-stamps and individual builders cascade and undo each other, so the disciplined fix is the whole chain run to a fixpoint, which a predecessor proved and had to revert the piecemeal attempt for). Hand-editing the three 'thirteen' gift-count sentences (rejected: the count line owns those surfaces from a single oracle, so stamping trues them all consistently and a hand edit invites a fresh divergence). Forcing the three self-styled question pages into the canonical frame (rejected: they own their own full-screen layout with their own fonts and tokens, so the honest fix is the deliberate-bare declaration the site already uses for its own-layout pages, not a frame they were never built for). Break-glass push straight to live main (rejected: the air-gapped staging path through CI is the normal path and nothing here justified bypassing the public repo's own re-gate).
- Next stepping variable: Confirm the served excavation and digest faces are live and current once CI flips staging to main and Pages propagates, and that the home, apps, and discoveries pages show twenty gifts. The canonical version seed rides to canonical at session close. The disclosure funnels remain the held next-major arc — Patterns Reference, Writing Standards, Coding Standards — each on its own fresh tank through the disclosure gate.
[AI] machine digest
waypoint=1.125 · date=2026-08-28 · session=28.0220 · diff=132f/+302/-304 · flags=7loopmmt.com v1.126 ships the P-real-48 framed-timesheet fix and rolls up three disclosure funnels — Patterns Reference v3, Writing Standards v3, and Coding Standards v2 — from a planned parallel deploy track into a single publish, alongside the Origin-Day Excerpts prompts page, then re-folds the machine digest and excavation faces to match. The framed timesheet, which had been rendering outside its frame, now embeds the raw timesheet as a bordered iframe like its sibling framed receipts, so its live numbers still flow from the count oracle while the page carries the site's canonical frame. The three funnels publish as gate-clean served pages, unlinked from site navigation and reachable by direct URL, each passing the disclosure-publish gate. The machine digest — the llms text map, the full-text corpus, the structured index, the sitemap, and the corpus map — and the excavation faces — the corpus manifest, its shard set, and the reckoning data and page — were re-folded in the same pass to a byte-stable fixpoint over the new pages, so an agent reading the machine faces sees the site as it now stands. Every predeploy gate cleared local and aggregate over the public clone: per-page redact and aggregate mask-reconciliation, disclosure-publish, chrome and chrome parity, the machine-semantics layer, gift ship-qual for all twenty gifts, license consistency, render determinism, the count line, era-xref, inset, and digest, excavation, prompts, and reading-path currency. The operator directed the deploy of the P-real-48 timesheet fix and, on seeing that the three disclosure funnels had already landed on canonical and would ride live under the ship-current-canonical rule, directed that they be rolled up from their planned parallel track into this one publish rather than shipped separately. A sibling session's close had advanced canonical mid-work; its landing was merged in keeping both sides before staging, so the deploy ships current canonical without reverting the sibling's change — the deploy-race the currency gate exists to catch. The waypoint is authored before staging and the deploy re-run whole so the spine folds this entry and the Making page ships self-consistent.
▲ operator-requested-deploy
▲ three-disclosure-funnels-rolled-up-from-parallel-track
▲ funnels-were-held-arc-surfaced-before-push
▲ p-real-48-timesheet-frame-wrap
▲ sibling-landing-rebased-currency-gate
▲ public-site-token-supplied
▲ ship-current-canonical
The engineering
loopmmt.com v1.126 ships the P-real-48 framed-timesheet fix and rolls up three disclosure funnels — Patterns Reference v3, Writing Standards v3, and Coding Standards v2 — from a planned parallel deploy track into a single publish, alongside the Origin-Day Excerpts prompts page, then re-folds the machine digest and excavation faces to match. The framed timesheet, which had been rendering outside its frame, now embeds the raw timesheet as a bordered iframe like its sibling framed receipts, so its live numbers still flow from the count oracle while the page carries the site's canonical frame. The three funnels publish as gate-clean served pages, unlinked from site navigation and reachable by direct URL, each passing the disclosure-publish gate. The machine digest — the llms text map, the full-text corpus, the structured index, the sitemap, and the corpus map — and the excavation faces — the corpus manifest, its shard set, and the reckoning data and page — were re-folded in the same pass to a byte-stable fixpoint over the new pages, so an agent reading the machine faces sees the site as it now stands. Every predeploy gate cleared local and aggregate over the public clone: per-page redact and aggregate mask-reconciliation, disclosure-publish, chrome and chrome parity, the machine-semantics layer, gift ship-qual for all twenty gifts, license consistency, render determinism, the count line, era-xref, inset, and digest, excavation, prompts, and reading-path currency.
- Learned: The ship-current-canonical rule means a deploy's real contents can exceed the handoff's framing, and reading the staged diff against live main is what surfaces the gap: this deploy's handoff named the timesheet fix and a tagline, but the staged tree carried three held-arc funnels and a prompts page that had accumulated on canonical, and only the diff read caught it. A disclosure-publish gate pass proves a page is safe to publish, not that its public debut is intended now — two different questions, and the second is the operator's — so surfacing the held-arc funnels before the push was the honest ordering even with every gate green. The currency gate is the deploy-race guard working: a sibling landing mid-deploy advanced canonical, and staging the stale fork would have reverted its change, so a re-base keeping both sides is the fix, never a force-push.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 28.1409.
- Rejected: Shipping the three funnels silently under ship-current-canonical without surfacing them (rejected: the ledger through v1.125 listed all three as the held next-major arc, so their public debut off a handoff that named only the timesheet fix and a tagline was an editorial call the operator owned, not a mechanical accumulation to wave through; the operator was shown the full staged contents and directed the roll-up). Isolating the timesheet fix by reverting the funnels off the deploy tree (rejected: the operator directed the opposite, to roll the parallel track up, so isolation would have discarded work he wanted shipped). Deploying over the stale fork after the sibling landed (rejected: the currency gate refused it and was right; deploying would have reverted the sibling's corpus-map change, so the fork was re-based keeping both sides and the deploy re-run whole). Break-glass push straight to live main (rejected: the air-gapped staging path through CI is the normal path and nothing here justified bypassing the public repo's own independent re-gate).
- Next stepping variable: Confirm the framed timesheet, the three disclosure funnels (Patterns Reference v3, Writing Standards v3, Coding Standards v2), and the Origin-Day Excerpts prompts page are live and reachable once CI flips staging to main and Pages propagates, and that the served digest and excavation faces read current. The three funnels ship unlinked from navigation; whether and how they are woven into the site's reading paths is a follow-on editorial call, not part of this publish. The canonical version seed rides to canonical at session close.
[AI] machine digest
waypoint=1.126 · session=28.1409 · flags=7loopmmt.com v1.127 publishes loop-search — the search face of the site — to the live site. The host page (the search page under /site), its shared client scripts, and the served search index go live together, so both doors open at once: the human search UI returns hits, and the machine door exposes the same static search index the machine-semantics layer points an agent at. The corpus manifest, shard set, reckoning data, and served reckoning page were re-folded to a byte-stable fixpoint to seat the search page as a corpus node, moving the grounded node count from 157 to 158, and the machine digest — the llms text map, the full-text corpus, the structured index, the sitemap, and the corpus map — was re-folded in the same pass so an agent reading the machine faces sees the search page as it now stands. The deploy also repairs a dead link in the public beam-wizards app: its fixed-position sandbox mode-toggle pointed at a sandbox page that was never deployed into that app directory, so the dead toggle was removed as a reversible defect-repair. Every predeploy gate cleared local and aggregate over the public clone: per-page redact and aggregate mask-reconciliation, chrome and chrome parity, the machine-semantics layer, gift ship-qual for all twenty gifts, license consistency, render determinism, prompts and gifts href resolution, link integrity, and digest, excavation, and reading-path currency. The operator directed the loop-search live push and passed the conn to clear the two blockers and deploy — fix by design, root cause. A prior off-floor session had readied loop-search, but its two staging attempts refused at the gate — first a deploy-race the currency gate caught, then a broken beam-wizards link plus derived-face staleness — so nothing shipped and the live site stayed untouched. This session verified against byte-truth rather than the handoff prose: the beam-wizards dead link lives in the public repo's own preserved app chrome, not in loop-search, and the corpus staleness was simply the search page entering the sitemap without the excavation faces being re-folded, one node behind. The currency gate again caught a sibling session's close landing a corpus-map change after this fork; origin canonical was merged keeping both sides and the derived faces re-folded coherently over the merged source before staging, so the deploy ships current canonical without reverting the sibling. The waypoint is authored before staging and the deploy re-run whole so the spine folds this entry and the Making page ships self-consistent.
▲ operator-requested-loop-search-deploy
▲ loop-search-live-debut
▲ beam-wizards-dead-link-removed
▲ beam-wizards-broken-partial-deploy-filed
▲ link-gate-importmap-blind-filed
▲ corpus-refolded-157-to-158-search-node
▲ sibling-29.1345-rebased-currency-gate
▲ public-site-token-supplied
▲ ship-current-canonical
The engineering
loopmmt.com v1.127 publishes loop-search — the search face of the site — to the live site. The host page (the search page under /site), its shared client scripts, and the served search index go live together, so both doors open at once: the human search UI returns hits, and the machine door exposes the same static search index the machine-semantics layer points an agent at. The corpus manifest, shard set, reckoning data, and served reckoning page were re-folded to a byte-stable fixpoint to seat the search page as a corpus node, moving the grounded node count from 157 to 158, and the machine digest — the llms text map, the full-text corpus, the structured index, the sitemap, and the corpus map — was re-folded in the same pass so an agent reading the machine faces sees the search page as it now stands. The deploy also repairs a dead link in the public beam-wizards app: its fixed-position sandbox mode-toggle pointed at a sandbox page that was never deployed into that app directory, so the dead toggle was removed as a reversible defect-repair. Every predeploy gate cleared local and aggregate over the public clone: per-page redact and aggregate mask-reconciliation, chrome and chrome parity, the machine-semantics layer, gift ship-qual for all twenty gifts, license consistency, render determinism, prompts and gifts href resolution, link integrity, and digest, excavation, and reading-path currency.
- Diff: 138 files, +307 / −343
- Learned: The whole-tree link gate refuses on any broken link in the served tree, including a pre-existing one in a public-chrome app orthogonal to the change being shipped, so an unrelated dead link in beam-wizards blocked the loop-search deploy — the gate is right to refuse, but it reads href and src and is blind to import-map targets, so it caught the dead sandbox href while passing the same app's missing engine and puzzle and three scripts: the live beam-wizards app is a broken partial deploy the gate could not see. The corpus staleness recurs because a deploy regenerates and ships the fold without committing it back to canonical, so canonical drifts one node behind each time a page enters the sitemap; committing the re-fold to canonical is the durable fix, not a per-deploy regeneration. The reckoning fixpoint convergence loop tracks the reckoning page and its json but not the manifest face, so it can leave the manifest one hash behind that the staleness lint then catches — one manifest re-fold over the settled page closes it.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 29.1413.
- Rejected: Restoring the full beam-wizards app to make the sandbox toggle resolve (rejected: the source lacks the three.module import and its page bytes differ from the served copy, so reconstructing a partial app deploy blind risks shipping differently-broken content on a live site; removing the dead toggle is the reversible defect-repair, and restoring versus removing the app is the operator's content call, not an instance guess). Hardening the link gate to also check import-map targets in this deploy (rejected: it would immediately re-block this deploy on the same app's missing engine and puzzle scripts and deserves its own tested arc, not a bundle into a live push under the wall). Break-glass push straight to live main (rejected: the air-gapped staging path through CI is the normal path and nothing here justified bypassing the public repo's independent re-gate). Deploying over the stale fork after the sibling landed (rejected: the currency gate refused it and was right; the fork was re-based keeping both sides and the deploy re-run whole).
- Next stepping variable: Confirm loop-search is live and reachable once CI flips staging to main and Pages propagates: the search page, its shared client scripts, and the served search index parse and carry the search node, with the human search UI returning hits and the machine door exposing the same static index. Two root-cause items are owed to the operator's ruling, untouched by this deploy: the live beam-wizards app is a broken partial deploy missing its import-map scripts, where restore-or-remove is a content call; and the link gate is import-map-blind, a gate-hardening arc. The done-done completion gate and the operator's Ending Stake close the loop-search arc.
[AI] machine digest
waypoint=1.127 · date=2026-08-29 · session=29.1413 · diff=138f/+307/-343 · flags=9loopmmt.com v1.128 completes the loop-search human interface. It adds the nav search box to all 138 nav pages — the human doorway into the search page that shipped in v1.127 — so a person can reach search from any page, and wires ?q= deep-linking at the search page's boot script so a query submitted from the box lands on the search page with the input pre-filled and the results auto-run. The Doorway use-experience gate, which had refused every deploy while the box was missing (138/138 nav pages with no entry), now passes clean by construction: the box IS the entry marker the gate asserts, so building the box to satisfy the human turns the gate green. The corpus manifest, shard set, machine digest, structured index, sitemap, and the reckoning and timesheet faces re-fold to a byte-stable fixpoint over the box-carrying pages; the box is nav chrome and does not enter corpus body extraction, so the grounded node count holds at 158. v1.127 had already put the search page and the machine door live but with no human entry point; the Doorway gate was built to fail closed until that human doorway existed, and it did. This session built the box against byte-truth rather than the handoff prose: the handoff's insertion point (render_nav / stamp_chrome) was disproven — render_nav emits only the inner nav links and stamp_chrome rewrites that block present-based, so the hamburger header shell is hard-coded per builder; and the handoff's count of 7 header sources undercounted by one — build_gift_pages.py (distinct from build_gifts_page.py) also emits the header, and its per-gift pages are in the failing 138. Because deploy does not loop the per-doc builders, the box was inserted into all 138 committed served pages directly while the 8 header sources were edited so future emits carry it, with the Doorway gate standing as the completeness oracle. The ?q= wiring went to the search.html boot call-site, not the shared Forest panel: the panel already exposes an o.query seam that pre-fills and auto-runs on init, so reading the URL param belongs at the caller — this kept Forest entirely untouched, so no Forest test could break. The full shell search-family suite stayed green and a headless witness proved the prefill-plus-auto-run journey before the push.
▲ operator-requested-loop-search-box-deploy
▲ loop-search-human-doorway
▲ doorway-gate-green-by-construction
▲ 8-header-sources-not-7-build-gift-pages-missed
▲ qparam-wired-at-callsite-forest-untouched
▲ box-not-in-corpus-body-158-nodes
▲ ship-current-canonical
The engineering
loopmmt.com v1.128 completes the loop-search human interface. It adds the nav search box to all 138 nav pages — the human doorway into the search page that shipped in v1.127 — so a person can reach search from any page, and wires ?q= deep-linking at the search page's boot script so a query submitted from the box lands on the search page with the input pre-filled and the results auto-run. The Doorway use-experience gate, which had refused every deploy while the box was missing (138/138 nav pages with no entry), now passes clean by construction: the box IS the entry marker the gate asserts, so building the box to satisfy the human turns the gate green. The corpus manifest, shard set, machine digest, structured index, sitemap, and the reckoning and timesheet faces re-fold to a byte-stable fixpoint over the box-carrying pages; the box is nav chrome and does not enter corpus body extraction, so the grounded node count holds at 158.
- Diff: 145 files, +766 / −750
- Learned: The site's nav chrome has three layers with different reach: render_nav (the shared inner-nav link block, re-stamped onto every page by stamp_chrome present-based), the hamburger header shell (hard-coded per builder, NOT shared), and the committed served page (an artifact a plain deploy does not regenerate for the doc/reprint/hand-authored families). A nav-chrome addition that must appear on every page therefore cannot live in one shared file and is not carried by a rebuild alone — the durable path is edit-every-source-builder plus patch-the-served-tree, with a fail-closed reachability gate (the Doorway) as the oracle that names any page still missing the entry. A shared component that exposes a caller-supplied seam (the panel's o.query) is the clean place to absorb a page-specific concern (?q=) without coupling the component to the page it is bridged into.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 29.1606.
- Rejected: Putting ?q= handling inside the shared Forest corpus-search panel as the handoff proposed (rejected: the panel already exposes o.query and auto-runs it; adding window.location reading to a reusable shell component couples it to a browser-page concern and would change Forest's own behavior on a stray ?q= — the search.html call-site is the honest home and keeps Forest untouched). Editing only the 7 builders the handoff named (rejected: byte-truth showed 8 header sources; the missed build_gift_pages.py emits ~24 gift pages that are in the failing 138, so a 7-edit path leaves the gate RED on those). Trusting builder edits plus a rebuild alone to carry the box to all pages (rejected: deploy does not re-run the per-doc/html-doc builders, so the committed doc, reprint, and hand-authored pages would never gain the box from a rebuild; the served pages were patched directly and the source builders edited for future emits). Break-glass push straight to live main (rejected: the air-gapped staging path through the public repo's independent CI re-gate is the normal path and nothing justified bypassing it).
- Next stepping variable: Confirm v1.128 is live once CI flips staging to main and Pages propagates: the nav search box present and reachable on every page, a box query landing on search.html?q= with the input pre-filled and the results auto-run, and the machine door (search-index.json) unchanged at 158 nodes. The loop-search line's Story Pole slot 05-anywhere-ship (the second-adapter 'anywhere' proof and the capstan-turn ship) remains open beyond this deploy; the done-done completion gate and the operator's Ending Stake close the loop-search interface arc.
[AI] machine digest
waypoint=1.128 · date=2026-08-29 · session=29.1606 · diff=145f/+766/-750 · flags=7loopmmt.com v1.129 flips the whole current-canonical site live, closing the loop-search line's ship. The gating blocker was the redact predeploy gate refusing the deploy: the site's search page referenced a served design stylesheet (design/loop-search.css) that the search-face skin had added without its matching deploy-hygiene allowlist entry, so the gate held the whole site closed. The fix adds that one allowlist entry for the stylesheet — pure presentation CSS, the same class as the-hand, reprint, and lightbox assets already allowlisted — which turns the gate green. Ship-current-canonical then publishes the whole site, design, gifts, and the derived corpus, search, llms, and making faces at the resolved tip; the public repo's own CI re-gates independently and fast-forwards staging to main. The redact gate is fail-closed on any served design reference missing from its allowlist, and it stayed red until the asset was allowlisted. This session verified the gate green against current canonical by the actual bytes rather than trusting the handoff's 'gate is green' assertion — a clean dry run over the whole staged tree, both the local and the aggregate passes clear. It then confirmed the deploy's preserve-set before reporting any risk: the raw staged-versus-live diff shows the CI directory, the domain file, the root redirect, and the apps tree as 'removed', but the staging sync preserves exactly that public-repo chrome on purpose, so the apparent takedown is a false alarm — the custom domain, the CI that runs the live flip, and the apps all stay put. A sibling session landed after this one forked, so the tree was rebased forward onto the current tip under the currency gate, never force-past the peer, so the deploy ships current canonical rather than a stale fork. The operator confirmed shipping the whole site and authorized the publish; the staging push is the session's move, and the live flip belongs to the public repo's CI.
▲ operator-requested-deploy
▲ ship-whole-site-operator-confirmed
▲ redact-loop-search-css-allowlist-unblocked-gate
▲ preserve-set-verified-no-false-takedown
▲ sibling-rebased-currency-gate
▲ ship-current-canonical
▲ loop-search-slot-05-anywhere-ship
▲ ledger-v1-redact-refused-then-cleaned
The engineering
loopmmt.com v1.129 flips the whole current-canonical site live, closing the loop-search line's ship. The gating blocker was the redact predeploy gate refusing the deploy: the site's search page referenced a served design stylesheet (design/loop-search.css) that the search-face skin had added without its matching deploy-hygiene allowlist entry, so the gate held the whole site closed. The fix adds that one allowlist entry for the stylesheet — pure presentation CSS, the same class as the-hand, reprint, and lightbox assets already allowlisted — which turns the gate green. Ship-current-canonical then publishes the whole site, design, gifts, and the derived corpus, search, llms, and making faces at the resolved tip; the public repo's own CI re-gates independently and fast-forwards staging to main.
- Diff: 147 files, +617 / −467
- Learned: The redact allowlist is a compiled-regex allowlist inside the site's redact gate, not a file literally named for the allowlist — the handoff prose named the mechanism loosely; the bytes are the regex. Every newly served design asset needs a hand-authored allowlist entry, and the miss is invisible until the predeploy gate refuses at deploy time — this is the fourth recurrence of the allowlist-gap class (the-hand, reprint, lightbox, loop-search), and a determinism-first lint that folds every served design reference against the allowlist and flags the gap early is filed as owed work. Separately: a staged tree cannot be read as the live change-set without applying the deploy's preserve-set first, or clone-only chrome reads as mass deletion.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 29.2356.
- Rejected: Break-glass push straight to live main (rejected: that path is for a CI outage only; the air-gapped staging path through the public repo's independent re-gate is the normal path, and nothing justified bypassing it). Deploying from the stale fork point (rejected: a sibling landed after the fork, and ship-current-canonical means the resolved tip, so the tree was rebased forward keeping both sides). Raising a site-takedown alarm from the raw diff (rejected: the staging sync preserves the public-repo chrome, so reading the diff without that preserve-set is the false-loss trap the methodology warns against). Reusing the predecessor's stale freeze (rejected: re-froze fresh at the current tip).
- Next stepping variable: Confirm v1.129 is live once CI flips staging to main and Pages propagates: verify against the /site/ pages (the root is a redirect stub), the glossary content marker renders, and the served counter and version bumped. Then commit the deploy re-fold back to canonical (the canonical version lags live by one until reconciled — the recurring staleness where a deploy ships the fold without committing it), mark the loop-search notes verified-live, and close the loop-search Story Pole slot 05-anywhere-ship through the Completion Gate to Done-Done. The operator plants the Ending Stake.
[AI] machine digest
waypoint=1.129 · date=2026-08-30 · session=29.2356 · diff=147f/+617/-467 · flags=8loopmmt.com v1.130 wires the two orphaned disclosure funnels into the timeline so every published funnel is reachable. The Coding Standards v2 and Patterns Reference v3 funnels had shipped live in earlier deploys as served pages, but neither was linked from anywhere — reachable only by guessing the URL, the published-but-unlinked orphan class the site has hit before (the who.html failure). The Glossary v8 and Writing Standards v3 funnels were already linked from the two-day-standard entry on the timeline; this deploy adds the coding and patterns funnels as two more sibling links in the same block and the same idiom, with honest published-section counts (coding 9 of 12, patterns 90 of 210). The deploy also carries whatever content had accumulated on canonical since the last live push, per the ship-current-canonical rule. A boot verified against byte-truth that all four sibling funnels were already live (HTTP 200, real content) — the inherited handoff framing that only the glossary funnel was deploy-clean and the siblings were blocked was reading the funnel staging directory as the deploy frontier, when the served site tree already carried all five funnels. Reading the live served tree and the live timeline showed the true remaining defect: two of the four funnels were served but unlinked. A published page nobody can navigate to is only half-shipped, so the fix is a navigation wiring, not a new publish. The waypoint is authored before staging and the deploy re-run whole so the spine folds this entry and the Making page ships self-consistent, the ordering that avoids the one-behind an earlier deploy hit.
▲ operator-requested-deploy
▲ two-orphan-funnels-wired
▲ published-but-unlinked-fixed
▲ byte-truth-funnels-already-live
▲ ship-current-canonical
The engineering
loopmmt.com v1.130 wires the two orphaned disclosure funnels into the timeline so every published funnel is reachable. The Coding Standards v2 and Patterns Reference v3 funnels had shipped live in earlier deploys as served pages, but neither was linked from anywhere — reachable only by guessing the URL, the published-but-unlinked orphan class the site has hit before (the who.html failure). The Glossary v8 and Writing Standards v3 funnels were already linked from the two-day-standard entry on the timeline; this deploy adds the coding and patterns funnels as two more sibling links in the same block and the same idiom, with honest published-section counts (coding 9 of 12, patterns 90 of 210). The deploy also carries whatever content had accumulated on canonical since the last live push, per the ship-current-canonical rule.
- Learned: For a deploy line, the served site tree plus a live fetch is the frontier oracle, never the staging directory or a handoff assertion that a flip is pending. Two funnels can pass every content and gate check and still be orphaned, because reachability is a navigation property no section or redact gate measures — the timeline wiring is what makes a published funnel a reachable one. The published-but-unlinked class recurs whenever a page ships without its entry point landing in the same pass.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 31.1031.
- Rejected: Re-flipping the glossary funnel per the stale handoff (rejected: byte-truth showed it already live since an earlier deploy; there was nothing to flip). Reading the funnel staging directory as the deploy frontier (rejected: the served site tree is the frontier, and it already carried all four sibling funnels — the staging copies are bare pre-wrap payloads). Break-glass push straight to live main (rejected: the air-gapped staging path through CI is the normal path and nothing justified bypassing the public repo re-gate). Hand-completing the publish after the missing-mark rather than re-running whole (rejected: the whole re-run is what re-folds the Making page with this entry).
- Next stepping variable: Confirm v1.130 is live once CI flips staging to main and Pages propagates: the timeline two-day-standard entry links all four funnels, and each funnel returns 200. Then continue the deployable-notes arc: sweep the served site for any other published-but-unlinked pages, and verify the disclosure-funnel arc is complete (all four siblings live and reachable).
[AI] machine digest
waypoint=1.130 · session=31.1031 · flags=5loopmmt.com v1.131 ships current canonical to the live site under the ship-current-canonical rule. The substantive content this deploy carries is the brand-wordmark chrome repair that had accumulated on canonical since the last live push: the site header/footer brand wordmark was restored to 57 pages that were missing it, and the chrome gate itself was hardened to enforce brand-wordmark presence so the same-header-every-page invariant can no longer silently drift (NOTE-01.0958-1). No new page or feature is introduced; this is a chrome-consistency reconcile plus the gate that keeps it consistent, published whole so the served site matches canonical. The corpus, machine-digest, and reckoning faces re-fold to a byte-stable fixpoint over the wordmark-carrying pages in the same pass. The operator directed the v1.130 deploy flip and passed the conn. The gating blocker coming in was a cwd-anchor bug in chrome_parity_lint: deploy.sh calls the parity check as 'check site' from repo-root cwd, but the lint resolved the relative 'site' arg against process cwd instead of its own script dir, so it raised 'not a directory: site' and refused the whole deploy at the parity gate — the real v1.130 blocker, misdiagnosed for four prior tanks as a CHROME:TAIL/hail-ordering fault because the ephemeral sandbox killed the deploy before it reached the real say-banner. The fix (0d70edd86e, landed fix-lands-alone in a prior tank) anchors the relative root to HERE before the isdir check; this session verified it against byte-truth — the exact failing invocation now returns CLEAN 127 pages and the selftest is 5/5 — before running the deploy. During the run the currency gate correctly refused a first freeze because a sibling session (01.0958) had landed the wordmark chrome fix after this fork; origin/main was fast-forwarded in one pre-flip rebase to carry both the parity fix and the peer's 57-page chrome work, then the deploy was re-frozen at the current tip and re-run whole. The waypoint is authored before staging so the spine folds this entry and the Making page ships self-consistent.
▲ operator-requested-deploy
▲ chrome-parity-cwd-anchor-fix-verified
▲ ship-current-canonical
▲ peer-01.0958-wordmark-chrome-fast-forwarded
▲ currency-gate-caught-peer-drift-rebased
▲ canonical-one-behind-recurs
▲ public-site-token-supplied
The engineering
loopmmt.com v1.131 ships current canonical to the live site under the ship-current-canonical rule. The substantive content this deploy carries is the brand-wordmark chrome repair that had accumulated on canonical since the last live push: the site header/footer brand wordmark was restored to 57 pages that were missing it, and the chrome gate itself was hardened to enforce brand-wordmark presence so the same-header-every-page invariant can no longer silently drift (NOTE-01.0958-1). No new page or feature is introduced; this is a chrome-consistency reconcile plus the gate that keeps it consistent, published whole so the served site matches canonical. The corpus, machine-digest, and reckoning faces re-fold to a byte-stable fixpoint over the wordmark-carrying pages in the same pass.
- Diff: 200 files, +26,066 / −16,830
- Learned: The count_line cwd-anchor fix from an earlier tank should have been swept across every website lint at once — chrome_parity_lint was the unfixed sibling of the same root=argv[0]-against-cwd class, and it silently gated the deploy for four tanks. The remaining website lints (canon_line, scope_line, mmt_line, site_root_sync) are worth a cross-lint SWX sweep for the same shape before the next deploy. A killed mid-build deploy leaves the derived site working tree in an intermediate build-then-stamp state (pages built but not yet chrome/hail stamped); the pre-build gate correctly flags that as drift, and the fix is to reset the derived tree to committed HEAD before re-running, not to chase phantom page defects.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 01.1012.
- Rejected: Deploying from the stale fork after the sibling landed (rejected: the snapshot-deploy currency gate refused it and was right; the base was fast-forwarded to origin/main keeping the peer's chrome fix, then re-frozen and re-run whole). Trusting the handoff's 'FIXED' assertion without re-proving it (rejected: the fix commit and its text were byte-verified on main and the exact failing invocation re-run to CLEAN before any deploy move). Break-glass push straight to live main (rejected: the air-gapped staging path through the public repo's independent CI re-gate is the normal path and nothing justified bypassing it). Hand-completing the publish after the missing-mark rather than re-running whole (rejected: the whole re-run is what re-folds the Making page with this entry).
- Next stepping variable: Confirm v1.131 is live once CI flips staging to main and Pages propagates: the brand wordmark present in header/footer on every page, and the served counter/version bumped. Then commit the deploy re-fold back to canonical so site.version stops lagging live by one (the recurring canonical-one-behind drift the 1.129 and 1.130 waypoints both name). Run the cross-lint cwd-anchor SWX sweep over the remaining website lints as an owed follow-on.
[AI] machine digest
waypoint=1.131 · date=2026-09-01 · session=01.1012 · diff=200f/+26066/-16830 · flags=7loopmmt.com v1.132 ships current canonical live, landing the deploy-chain fix that had blocked the live push for roughly fifteen sessions. The substantive change is two coupled deploy-chain repairs. First, build_related_reading.py's footer placement is made a positional fixpoint: when a page already carries the related-reading sentinel block, the builder now replaces it in place instead of stripping it and reinserting at a recomputed anchor, so the deploy's second related-reading pass (which runs after the reckoning re-render shifts a page's div structure) no longer relocates the gifts cabinet footer and trips the render-and-compare currency gate. That relocation was the root cause the prior session isolated, and the fix closes the whole relocation class for every page the second pass touches, not just gifts. Second, the-reckoning.html was committed back in its deploy-stamped state, carrying all four Hail machine-doorway carriers (A, B, C, V2) exactly once each, healing a drift that had been failing the stamp-hail test under run_tests before the deploy could ever reach the gifts gate. The operator directed the deploy and passed the conn after a full day chasing this. Byte-truth showed the fifteen-session wall was two blockers, not one, and they masked each other: the prior session correctly root-caused the gifts related-reading relocation, but that same session's own seventy-six-file close re-folded the-reckoning.html into a pre-stamp state missing two Hail carriers, which fails test_stamp_hail.py under run_tests.sh (set -e) at deploy step zero — before the gifts gate is ever reached. So every session that applied the gifts patch and expected green was aiming at a gate the deploy never got to. Reproducing the actual deploy.sh --out failure rather than the described one surfaced the second blocker; the reckoning page was healed by re-running the deploy's own render-then-stamp sequence to the post-stamp fixpoint (idempotent, exactly one BEGIN marker per carrier) and committing that, and the gifts fix was applied and proven by a clean end-to-end --out reaching Safe to push. The snapshot-deploy currency gate refused two earlier freezes because sibling sessions kept landing website-derived changes on a busy main during the roughly six-minute run; the correct response was not to race the freeze but to bring HEAD current with origin/main on the website paths once, confirm zero drift, and freeze that snapshot so later landings park rather than chase.
▲ operator-requested-deploy
▲ conn-passed
▲ two-blockers-not-one
▲ gifts-related-reading-positional-fixpoint
▲ reckoning-hail-post-stamp-heal
▲ fifteen-session-wall-down
▲ snapshot-deploy-freeze-not-race
▲ floor-fix-lands-alone
▲ public-site-token-supplied
▲ canonical-one-behind-recurs
The engineering
loopmmt.com v1.132 ships current canonical live, landing the deploy-chain fix that had blocked the live push for roughly fifteen sessions. The substantive change is two coupled deploy-chain repairs. First, build_related_reading.py's footer placement is made a positional fixpoint: when a page already carries the related-reading sentinel block, the builder now replaces it in place instead of stripping it and reinserting at a recomputed anchor, so the deploy's second related-reading pass (which runs after the reckoning re-render shifts a page's div structure) no longer relocates the gifts cabinet footer and trips the render-and-compare currency gate. That relocation was the root cause the prior session isolated, and the fix closes the whole relocation class for every page the second pass touches, not just gifts. Second, the-reckoning.html was committed back in its deploy-stamped state, carrying all four Hail machine-doorway carriers (A, B, C, V2) exactly once each, healing a drift that had been failing the stamp-hail test under run_tests before the deploy could ever reach the gifts gate.
- Learned: A handoff that says apply-patch-then-deploy-green is a hypothesis, not a fact; the deploy failed on a state that handoff's own close left behind, and only reproducing the actual --out failure caught it. A session's closing re-fold can silently commit a derived page (the-reckoning.html) in a pre-stamp state that a later run_tests gate then rejects — the deploy demands the committed reckoning page pass a Hail check that only the deploy's own later stages produce, so any session touching the reckoning fold must commit it in post-stamp state or re-break the run_tests gate. The snapshot-deploy currency STOP is not a race to win but a signal that HEAD lacks website-path changes that have landed; bring HEAD current on the website paths once and freeze, and post-freeze landings park by design.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 02.1844.
- Rejected: Applying the gifts patch alone and expecting green (rejected: the deploy died earlier on the reckoning Hail drift, before the gifts gate, so the gifts fix alone would never have reached a green run). Naively re-stamping the committed reckoning page (rejected: stamping the partially-carriered committed file duplicates carriers; the heal is a fresh render then stamp to the fixpoint). Racing the snapshot freeze to beat the next landing (rejected: snapshot-deploy exists precisely so the flip publishes a frozen snapshot and never chases a moving frontier — the fix is to freeze a current base once, not to win a race). Break-glass push straight to live main (rejected: the air-gapped staging path through the public repo's independent CI re-gate is the normal path and nothing justified bypassing it). Bundling the deploy-chain builder fix with content work (rejected: it is Floor-Fix-Lands-Alone — the two-file fix lands alone).
- Next stepping variable: Confirm v1.132 is live once the public CI flips staging to main and Pages propagates: gifts.html carries its related-reading footer intact, the served counter and version read 1.132, and the site returns 200. Then commit the deploy re-fold back to canonical so site.version stops lagging live by one (the canonical-one-behind drift the 1.129 through 1.131 waypoints all name), and consider strengthening the related-reading positional-fixpoint unit test so it bites a do_build regression, not only a helper-absence regression.
[AI] machine digest
waypoint=1.132 · session=02.1844 · flags=10loopmmt.com v1.133 ships current canonical live, flipping the site now that the predecessor's Hail-gate blocker is down. The substantive content this deploy carries, accumulated on canonical since v1.132: the Glossary page body goes live — glossary.html changes from a 'held, on purpose' pending placeholder to the real Glossary rendered in full through the Score (60 terms shown verbatim with definitions, cross-references, and source lines intact, folded from the same corpus generator corpus.html uses — one source, no hand-duplication; the spread is clearance-selected across 455 clearable entries). The beam-wizards app card flips ready:false -> ready:true with its /apps/beam-wizards/ URL wired. The excavation corpus fold grows by one shard (62 total), and the derived faces (timesheet and receipts re-derived from HEAD, search-index, reckoning, llms, sitemap, corpus-map) re-fold to their byte-stable fixpoints over the current pages in the same pass. No new gate or tool ships in the served site — the predecessor's fix was to the deploy gate tooling in the methodology repo, not to site content. The operator directed the deploy and passed the conn, then authorized the staged push. The gating blocker coming in was a phantom Hail refusal the predecessor (03.1054-husky-hatchet) root-caused and fixed: stamp_hail.is_managed() classified deploy-reports/deploy-report-v1.132.html as a servable Hail doorway needing all four carriers, but deploy.sh never stages deploy-reports/ (it publishes only site/, design/, assets/, and site-root/*), so the page was an unserved sibling that should never have been gated; the fix added 'deploy-reports/' to stamp_hail._NONSERVED_ROOTS and its hand-synced twin chrome_parity_lint.SKIP_DIRS, with a mutation-bitten test. This session verified that fix against byte-truth on the branch, then ran deploy.sh --stage end-to-end against the STAGED public-clone tree rather than trusting the in-repo verification — the workline's own staging-fidelity discipline. The staged gate cleared the whole suite (Hail CLEAN at 132 managed pages, chrome parity, clearance at four viewports, gifts, licenses, render determinism, related-reading footers) with no masked second blocker surfacing on the content side. The Making gate then correctly refused the push because a site.version bump (SUBSTANTIVE, 1.132 -> 1.133, 179 footers stamped) had no making-ledger waypoint — this entry; authored before the re-run so the spine folds it and the Making page ships self-consistent.
▲ operator-requested-deploy
▲ conn-passed
▲ hail-gate-blocker-down-predecessor-fix-verified
▲ staged-gate-run-end-to-end-not-in-repo-only
▲ glossary-body-goes-live-clearance-selected
▲ beam-wizards-app-ready
▲ making-ledger-gate-caught-missing-waypoint
▲ ship-current-canonical
▲ operator-supplied-deploy-credential
▲ canonical-one-behind-recurs
The engineering
loopmmt.com v1.133 ships current canonical live, flipping the site now that the predecessor's Hail-gate blocker is down. The substantive content this deploy carries, accumulated on canonical since v1.132: the Glossary page body goes live — glossary.html changes from a 'held, on purpose' pending placeholder to the real Glossary rendered in full through the Score (60 terms shown verbatim with definitions, cross-references, and source lines intact, folded from the same corpus generator corpus.html uses — one source, no hand-duplication; the spread is clearance-selected across 455 clearable entries). The beam-wizards app card flips ready:false -> ready:true with its /apps/beam-wizards/ URL wired. The excavation corpus fold grows by one shard (62 total), and the derived faces (timesheet and receipts re-derived from HEAD, search-index, reckoning, llms, sitemap, corpus-map) re-fold to their byte-stable fixpoints over the current pages in the same pass. No new gate or tool ships in the served site — the predecessor's fix was to the deploy gate tooling in the methodology repo, not to site content.
- Learned: The predecessor's two-blockers-mask-each-other warning held exactly true: the content gate suite passed clean, and the NEXT stop was a real gate one layer up — the Making-ledger waypoint requirement — invisible until the deploy resolved a SUBSTANTIVE version bump and reached the ledger check. A deploy that only fixed gate TOOLING still ships a version bump and still owes its ledger record, because the record is keyed on site.version, not on whether the change was site-content or tool-only. Running the deploy detached in the background (setsid, log-to-file, poll) is the correct way to let the slow render-tier gate finish without cramming it against a wall-clock limit — a first foreground attempt timed out inside the gate after staging completed, having pushed nothing (the air-gap held).
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): session 03.1135.
- Rejected: Firing straight to public CI without running the local staged gate first (rejected: on this line deploy.sh --stage IS both the verification and the fire — running it locally surfaces a masked blocker BEFORE the outward push instead of as a CI failure after it; the predecessor's whole lesson was that the staged gate is the only trustworthy verdict). Trusting the predecessor's 'blocker's down' as fire-ready (rejected: 'the one blocker they found is down' is not 'the staged gate passes clean end-to-end' — only the end-to-end run proves the second claim, and it did surface the Making-ledger stop). Break-glass --push straight to live main (rejected: the air-gapped staging path through the public repo's independent CI re-gate is the normal path and nothing justified bypassing it). Hand-completing the publish after the missing-mark rather than re-running whole (rejected: the whole re-run is what re-folds the Making page with this entry). Holding the glossary body back as a Secret-Sauce disclosure call (rejected: the glossary body was authored on canonical behind its own clearance selection — 455 clearable entries, representative spread — so shipping it lands a decision already made upstream, not a fresh disclosure the deploy invents).
- Next stepping variable: Confirm v1.133 is live once the public CI flips staging to main and Pages propagates: the served counter and version read 1.133, the site returns 200, glossary.html carries the real folded glossary body (not the pending placeholder), and the beam-wizards app card links to /apps/beam-wizards/. Then commit the deploy re-fold back to canonical so site.version stops lagging live by one (the canonical-one-behind drift every waypoint 1.129 through 1.132 names). Advance NOTE-03.1054-1 to done-done through the Completion Gate now that the flip it existed to unblock has shipped, and pick up owed seq=530 (the nonserved-roots shared-oracle formalize) in a fresh tank with operator bless.
[AI] machine digest
waypoint=1.133 · session=03.1135 · flags=10loopmmt.com v1.135 ships current canonical live, landing the gifts.html deploy-convergence fix that had blocked the live push. The substantive change is three faces of one root repair. First, the gifts cabinet --check false-STALE: build_gifts_page.py and its serve-form sibling build_gifts_hub_serve.py stripped the honest-badge with a bare span match that left a 2-line whitespace scar after the launch badge-removal, so both site/gifts.html and site-root/gifts/index.html read STALE against a fresh manifest render post-stamp and the predeploy gate refused (exit 3). Both --check strips now consume the surrounding whitespace symmetrically, mirroring stamp_chrome BADGE_STRIP_RE, so a launch-removed stamped cabinet and a bare render collapse byte-identical; real content drift is still caught (mutation-tested), suites green. Second, site/gifts.html was committed fully stamped (chrome badge-removed + Hail carriers) so it matches every other managed page rather than sitting as the lone stale-stamp drift. Third, the prompt-page favicon: 49 prompt pages emitted rel=icon href=../../assets/mark.svg which escaped the served web root to a 404; fixed at the source builder (prompt_content.py) to ../assets/mark.svg, matching the same pages' wordmark/nav depth. The deploy also carries all canonical accumulated since v1.134.
The engineering
loopmmt.com v1.135 ships current canonical live, landing the gifts.html deploy-convergence fix that had blocked the live push. The substantive change is three faces of one root repair. First, the gifts cabinet --check false-STALE: build_gifts_page.py and its serve-form sibling build_gifts_hub_serve.py stripped the honest-badge with a bare span match that left a 2-line whitespace scar after the launch badge-removal, so both site/gifts.html and site-root/gifts/index.html read STALE against a fresh manifest render post-stamp and the predeploy gate refused (exit 3). Both --check strips now consume the surrounding whitespace symmetrically, mirroring stamp_chrome BADGE_STRIP_RE, so a launch-removed stamped cabinet and a bare render collapse byte-identical; real content drift is still caught (mutation-tested), suites green. Second, site/gifts.html was committed fully stamped (chrome badge-removed + Hail carriers) so it matches every other managed page rather than sitting as the lone stale-stamp drift. Third, the prompt-page favicon: 49 prompt pages emitted rel=icon href=../../assets/mark.svg which escaped the served web root to a 404; fixed at the source builder (prompt_content.py) to ../assets/mark.svg, matching the same pages' wordmark/nav depth. The deploy also carries all canonical accumulated since v1.134.
- A stamp/reconcile bump — the record carries the what, not a distinct engineering change.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): the record does not name a distinct anchor.
[AI] machine digest
waypoint=1.135loopmmt.com v1.136 makes the receipts timesheet read newest-first everywhere: the month and week rollups and the activity heatmap now descend from the most recent period like the day table already did, while weeks-within-a-month stay in calendar order. The change lives in the timesheet builder as a pure fold of the git record, so every future deploy re-derives the same order. Shipped as one whole-tree publish of current canonical, so it also carries the accumulated site content since the last live push. A deploy-path defect was fixed first: the provenance marker step resolved its page set against the process working directory instead of the project directory, so the deploy refused from some launch points; it now resolves the same way its sibling chrome stamp does, and works from any directory.
The engineering
loopmmt.com v1.136 makes the receipts timesheet read newest-first everywhere: the month and week rollups and the activity heatmap now descend from the most recent period like the day table already did, while weeks-within-a-month stay in calendar order. The change lives in the timesheet builder as a pure fold of the git record, so every future deploy re-derives the same order. Shipped as one whole-tree publish of current canonical, so it also carries the accumulated site content since the last live push. A deploy-path defect was fixed first: the provenance marker step resolved its page set against the process working directory instead of the project directory, so the deploy refused from some launch points; it now resolves the same way its sibling chrome stamp does, and works from any directory.
- A stamp/reconcile bump — the record carries the what, not a distinct engineering change.
The machinery
The engineering above is bound to the record: every authored line below points at where it can be checked.
- How this waypoint is known: derived by a pure fold over the
site.version-bump commit — no manufactured narrative. - The Bond (byte-truth anchor for the authored claims): the record does not name a distinct anchor.
[AI] machine digest
waypoint=1.136site/how-this-site-is-made.html. The rendered HTML you are reading is a view; the source file is the canonical artifact. When a rendered page and its source disagree, the source wins.