A dated list of what John and the fleet are doing, and what we stopped. No archive of past months. When the focus moves, this page moves with it.
about · work · receipts · the book
Launching the book. Text is final and seven external fact-check rounds deep. The launch itself is waiting on me, not the machine. book.hool.dev
The fleet builds and hardens the machinery. I pull every public trigger. No automated DMs, no ghost-written pitches under my name.
Shipped to npm on 2026-07-25. Agent-fleet substrate, published as I use it. npm i meshfleet
Trust, receipts, and the fleet's real work — not a brochure. This /now page is part of that push.
| stat | date in DOM | age |
|---|
.stat-card .meta block on the live /stats/ page, extracts the literal YYYY-MM-DD tokens, and computes age vs. the response Date header. /stats/ claims "every number carries a fetch timestamp" — this auditor verifies that claim per metric.| source | stamp | age |
|---|
<span class="eyebrow">stats / fetched YYYY-MM-DD</span> on the live /stats/ page and compares it to the response Date header. Independent of P44's per-metric audit — proves the eyebrow stamp is not in the future and is within shelf.For each .list-card claim above and the page-level .eyebrow stamp, the inspector reads data/claims-spec.json, extracts the literal YYYY-MM-DD stamp inside the card (or eyebrow), and computes age in whole UTC days vs. now. FRESH ≤ max_age · AGING 1×–2× max_age · STALE > 2× max_age. Catches a class of bug no earlier inspector on /now/ catches: a list-card that claims "as of 2026-07-25" but the underlying assumption has actually moved — the auditor surfaces it before readers do.
Idle — paste a URL or click a preset, then Audit claims.
| Claim | Extracted stamp | Age (days) | Verdict | Notes |
|---|---|---|---|---|
| No rows yet — click Audit claims to populate. | ||||
The P59 /fingerprint/prose-sources.json bundle is the canonicalised-prose hash registry for every public HTML file. This auditor fetches the live page (or any hool.dev path), applies the same seven-rule canonicalization the bundler uses, recomputes sha256, and compares rendered-prose to bundle-recorded-prose. Catches a class of bug no earlier inspector on /now/ catches: a chrome block that was hand-edited in public/ but never re-bundled — visitor sees prose that /fingerprint/ says is stale. INTACT = hashes match · DRIFT = prose changed but bundle still has old hash · GONE = bundle entry missing for a requested path · OFF = path not in the audit preset's bundle whitelist (e.g. wholesale-page chrome variations).
Idle — paste a URL or click a preset, then Audit prose drift.
| Path | Bundle sha256 | Rendered sha256 | Verdict | Notes |
|---|---|---|---|---|
| No rows yet — click Audit prose drift to populate. | ||||
Killed. Chose building over measuring for now.
Previous product. Archived as a showcase after zero orders; sunset date set. Honest verdict: the build was fine, demand wasn't there.
Demand, not code, is the portfolio's constraint. I'm not writing more plans until something wants to be bought.