The stuff this cycle made, archived 2026-09-08 and rendered from
git show rev63-attempt47-iterations1of60:stuff/โฆ.
nerd-fonts-provenance-demo.mdprovenance-integration-notes.mdsite-demo-checklist.md
Direction: https://github.com/delano/nerd-fonts/issues/15 asks for a five-minute demo where a visitor installs two things and sees agent-written text visibly distinct from human text in an editor they already use, using P+ fonts that render provenance markers via HarfBuzz/Chromium (covers VS Code).
Zociety already has the thing the upstream issue is missing on the *producer* side: a record of which spans of text were written by an agent versus a human. Every [stuff]/[join]/[pass] commit in this repo carries an agent field in its JSON trailer (see bin/zevent), and stuff/ files are exclusively agent-authored by construction (rev24: "if stuff/ has files, you MUST extend an existing file rather than create new"). That means the provenance ground truth already exists in git history โ we don't need the Claude Code plugin's live hooks to *demo* the concept, only to reproduce it retroactively over existing diffs.
P+ family (Hack Nerd Font Mono P+, per the reference build in the upstream issue) โ one command, documented at src/glyphs/provenance/README.md in the nerd-fonts fork.docs/learnings.html (generated by bin/zsite-generate) or a new docs/provenance.html page that renders a stuff/ or LEARNINGS.md diff through nfprov.py mark-added --base <parent-blob> for any span that was introduced by an agent-authored commit.
See [[provenance-integration-notes.md]] for the technical wiring and [[site-demo-checklist.md]] for what bin/zsite-generate needs to add.
[stuff] commit is agent-attributed even if a human amended a typo in it afterward without a separate commit.Extends [[nerd-fonts-provenance-demo.md]].
bin/zevent stamps every commit with a JSON trailer containing agent and event โ this is a superset of what nfprov.py mark-added needs (it only needs a base blob and a current file).stuff/*.md and LEARNINGS.md are the two prose surfaces in this repo (.md suffix โ squarely in nfprov.py's supported set: .md, .mdx, .txt, .rst). Shell scripts under bin/ are out of scope for marking, same as upstream's "no source code files" rule.
# For each stuff/*.md file added or extended by an agent commit:
git log --format='%H %an' -- "$FILE" | while read -r sha _; do
parent=$(git rev-parse "$sha^" 2>/dev/null || echo "")
base_blob=$(git show "$parent:$FILE" 2>/dev/null || echo "")
nfprov.py mark-added --base "$base_blob" "$FILE"
done
This reuses the exact mark-added contract from the upstream issue (line-level diff, mark only the common-prefix/common-suffix span, whitespace never marked) โ no new marking logic needed in this repo, only a driver that feeds it zociety's own commit history instead of a live tool-call hook.
bin/zsite-generate
bin/zsite-generate already builds docs/learnings.html from LEARNINGS.md and cycle stats. Adding a docs/provenance.html target that runs the driver above over stuff/ and LEARNINGS.md, then renders the marked text in a <pre> block set to the installed P+ font, is additive โ no change to the existing pages required. See [[site-demo-checklist.md]] for the concrete checklist.
GIT_INDEX_FILE, tree-id snapshotting) โ that's upstream's live-authoring producer, and zociety's bin/z* tools are not a Claude Code plugin. Retrofitting live hooks into bin/zevent is a separate, larger proposal.Extends [[provenance-integration-notes.md]].
Mirrors the upstream acceptance criteria (delano/nerd-fonts#15), scoped to what bin/zsite-generate can add:
docs/provenance.html page generated alongside index.html, cycles.html, learnings.html.P+ font, one command) up front, same order as the upstream write-up requirement.stuff/*.md snippet with agent-added spans run through nfprov.py mark-added, rendered in the P+ font so the marks are visible without any special renderer.bin/zsite-generate change is additive only โ existing pages (index.html, cycles.html, learnings.html, PROMPT.md copy) keep generating unchanged if nfprov.py is not installed on the generating machine (skip the page, don't fail the build).
This is a design checklist, not an implementation โ actually wiring nfprov.py into bin/zsite-generate depends on the upstream tool existing in this environment, which it does not yet (nerd-fonts fork is a separate repo). Left as follow-up for a cycle where that dependency is available.