levineuwirth.org/tools
Levi Neuwirth 154b47a4cb Marks II: broader monogram coverage + audit-marks tool
Extends the Phase-1 monogram mark system to every long-form content
type (essays, blog posts, poems, fiction, music) and introduces a
coverage audit so gaps are visible.

* build/Marks.hs gains hasMonogram (predicate), monogramSvgFieldFor +
  hasMonogramFieldFor (for explicit-path callers like the /build/ and
  /stats/ pages). Contexts.hs exports hasMonogramField as a siteCtx
  boolean so templates can conditionally render the slot without
  emitting an empty <div>.
* essay.html, blog-post.html, reading.html: hoist the frontmatter
  block out of <main id="markdownBody"> so the monogram + epistemic
  marks render as wrapper chrome rather than indexable prose; left
  + right mark slots are now unconditional (CSS handles the empty
  state) so the layout is grid-stable across pieces.
* templates/partials/item-card.html: optional monogram chip on cards
  (item-card--has-monogram modifier), gated on $has-monogram$ so
  monogram-less pieces stay flush.
* build/Stats.hs grows a "Marks coverage" telemetry section: per-type
  pieces / monogram / epistemic-figure counts + a coverage rollup,
  rendered between epistemic and output on /build/.
* tools/audit-marks.py: coverage report (ASCII table) walking
  content/**/*.md, plus a pre-commit hook at
  tools/hooks/pre-commit-marks.sh that runs the same scan against
  newly-staged .md files. New `make audit-marks` runs the report
  manually; the hook gates commits.
* static/css/marks.css: layout for the new frontmatter slots and the
  item-card monogram chip.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 12:05:08 -04:00
..
bin Add link archive system: snapshots, backlinks, link-rot 2026-05-23 10:06:33 -04:00
hooks Marks II: broader monogram coverage + audit-marks tool 2026-05-23 12:05:08 -04:00
add-popup-source.sh major visual changes - dingbats, footer, etc 2026-04-17 12:48:22 -04:00
archive.py Add link archive system: snapshots, backlinks, link-rot 2026-05-23 10:06:33 -04:00
audit-marks.py Marks II: broader monogram coverage + audit-marks tool 2026-05-23 12:05:08 -04:00
compress-assets.sh Validate tool inputs and surface tracebacks on errors 2026-05-07 15:09:02 -04:00
convert-images.sh Spec dilemma 2026-05-01 21:22:01 -04:00
download-leaflet.sh Spec dilemma 2026-05-01 21:22:01 -04:00
download-model.sh audit: tooling, deploy ordering, README, repo hygiene 2026-04-10 17:41:33 -04:00
download-pdfjs.sh PDF compression 2026-04-22 12:40:22 -04:00
embed.py Add link archive system: snapshots, backlinks, link-rot 2026-05-23 10:06:33 -04:00
extract-dimensions.py Validate tool inputs and surface tracebacks on errors 2026-05-07 15:09:02 -04:00
extract-exif.py Validate tool inputs and surface tracebacks on errors 2026-05-07 15:09:02 -04:00
extract-palette.py Validate tool inputs and surface tracebacks on errors 2026-05-07 15:09:02 -04:00
import-photo.sh Validate tool inputs and surface tracebacks on errors 2026-05-07 15:09:02 -04:00
import-poetry.py audit: tooling, deploy ordering, README, repo hygiene 2026-04-10 17:41:33 -04:00
leaflet-checksums.sha256 Spec dilemma 2026-05-01 21:22:01 -04:00
model-checksums.sha256 Pin Hugging Face model revisions for downloader and embed pipeline 2026-05-07 15:08:14 -04:00
monolith-version.txt Add link archive system: snapshots, backlinks, link-rot 2026-05-23 10:06:33 -04:00
pdfjs-checksums.sha256 Fix broken PDF hyperlinks 2026-04-22 12:10:31 -04:00
preset-signing-passphrase.sh GPG signing, embedding pipeline, visualization filter, search timing, sig popups 2026-03-20 20:14:49 -04:00
refreeze.sh affiliation, cabal helper script 2026-03-26 08:14:50 -04:00
sign-site.sh States/Context/Embeddings fixes 2026-04-26 11:22:57 -04:00
subset-fonts.sh initial deploy! whoop 2026-03-17 21:56:14 -04:00
viz_theme.py GPG signing, embedding pipeline, visualization filter, search timing, sig popups 2026-03-20 20:14:49 -04:00