levineuwirth.org/tools
Levi Neuwirth 9f61ce5949 Tooling, manifest, and content polish
- import-photo.sh deletes the copied JPEG when EXIF stripping fails, so
  the auto-commit can never publish GPS/serial metadata (AUDIT §4.11)
- pre-commit-marks hook: tab-aware path parsing, probes the staged blob
  rather than the working tree (§4.11)
- preset-signing-passphrase uses printf; stamp-build-time writes via
  temp + os.replace; archive.py passes -- to pdftotext and verifies the
  vendored monolith binary against its recorded sha256 (mismatch is
  fatal, consistent with the tool's integrity contract); extract-exif
  ./-prefixes relative paths (§4.11)
- blog-post.html: id="similar-links"/"backlinks" each appear once;
  rendered output unchanged (§6.4)
- site.webmanifest: start_url/scope/description added, maskable icon
  purpose restored alongside any (§9.3)
- Frontmatter cleanup: scaffold comments out of scaling_outage,
  dangling null confidence-history keys removed (populated ones kept),
  dead modified: key dropped from colophon (§6.4)
- canto31.jpg: 4.0 MB -> 1.9 MB (2400px, q80, grayscale — the source
  is a monochrome Doré engraving, so single-channel is colorimetrically
  lossless); webp sidecar regenerated (§6.4, prior-audit §6.1)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 11:13:34 -04:00
..
bin Add link archive system: snapshots, backlinks, link-rot 2026-05-23 10:06:33 -04:00
hooks Tooling, manifest, and content polish 2026-06-10 11:13:34 -04:00
add-popup-source.sh major visual changes - dingbats, footer, etc 2026-04-17 12:48:22 -04:00
archive.py Tooling, manifest, and content polish 2026-06-10 11:13:34 -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 Tooling robustness: atomic writes, verified downloads 2026-06-10 09:43:25 -04:00
download-leaflet.sh Tooling robustness: atomic writes, verified downloads 2026-06-10 09:43:25 -04:00
download-model.sh Tooling robustness: atomic writes, verified downloads 2026-06-10 09:43:25 -04:00
download-pdfjs.sh PDF compression 2026-04-22 12:40:22 -04:00
embed.py embed.py: hash-cache the paragraph pass; drop the dead mtime skip 2026-06-10 10:51:01 -04:00
extract-dimensions.py Validate tool inputs and surface tracebacks on errors 2026-05-07 15:09:02 -04:00
extract-exif.py Tooling, manifest, and content polish 2026-06-10 11:13:34 -04:00
extract-palette.py Validate tool inputs and surface tracebacks on errors 2026-05-07 15:09:02 -04:00
import-photo.sh Tooling, manifest, and content polish 2026-06-10 11:13:34 -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 Tooling, manifest, and content polish 2026-06-10 11:13:34 -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
stamp-build-time.py Tooling, manifest, and content polish 2026-06-10 11:13:34 -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