From f96227ea26f2b21f1e792e1c9ae39b89340a4ad1 Mon Sep 17 00:00:00 2001 From: "russell@unturf.com" Date: Thu, 28 May 2026 19:21:01 -0400 Subject: [PATCH] CLAUDE.md: note zebra-report page integrity stamp + re-stamp flow --- CLAUDE.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 3b3e47c..83968bd 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -62,3 +62,11 @@ Living · Material · Financial · Intellectual · Experiential · Social · Cul Before shipping: does this drain a workaholic to feed a glutton? Does it route away from a food desert? Does it grow financial capital at the expense of living capital? If yes — stop. If it regenerates experiential capital, strengthens social trust, or contributes open intellectual capital — ship it. Platform tax = O(N²) friction in our exchange layer. Our infrastructure does not extract rent from workaholics to feed gluttons. That is our obligation as permacomputer stewards. Full ledger: `~/git/unsandbox.com/blackops/BLACKOPS.md`. + +## zebra-report pages carry an integrity stamp + +`zebra-report/index.html` (a copy of `chat.html`), `zebra-report/zebra-audio.html`, & `zebra-report/how-it-works.html` come from `~/git/zebra-report/web/`. Each ends with a footer holding a build date plus its own MD5 & SHA-256. + +Never hand edit those hashes. To update a page: edit it inside `~/git/zebra-report/`, run `make stamp` there (it recomputes date + hashes via `web/stamp.js`), then copy a stamped file here (`web/chat.html` becomes `zebra-report/index.html`) & commit. + +Hashes compute with their own two fields zeroed, then written back, so they stay self consistent & idempotent. Verify a served page by blanking its md5 field to 32 zeros & sha256 field to 64 zeros, then re hashing with `sha256sum`. Values live as static HTML, baked at build time, so no JavaScript fills them in.