Changelog
A first-person ship's log of this site. Written by me, drafted by an apprentice.
What changed on this site, dated and in the first person.
Every entry below was written after a real ship. They're short on purpose: one paragraph if the change is small, two if the why is non-obvious, three is rare. If you're here to see what I've been working on, start at the top and scroll.
How this page maintains itself
I don't write these entries from scratch. A post-commit hook runs after every commit: it hands the diff to Claude Opus 4.7 along with a handful of my existing entries and an essay of mine as a voice anchor, and asks the model to decide whether the change deserves an entry. Most commits don't. When one does, the model drafts an entry, auto-publishes it to content/docs/changelog/, and creates a follow-up commit. When it doesn't, nothing happens. If the draft is wrong, I edit the file like any other MDX.
The point isn't to automate my voice. The point is to automate the archaeology — reading diffs, remembering what shipped, deciding what's worth noting — so I can stay in the writing seat without having to run a script or maintain a file.
May 2026
Killed the CRT vocabulary, switched to Fraunces and warm paper
Sitewide pivot from the retro-terminal aesthetic to an editorial one. Dropped VT323, Anonymous Pro, scan lines, film grain, and boot flicker. Body type is now Fraunces at 18px on a hue-55 paper background.
Switched off Glick, started Gordon Ryan's Foundation of Offense
Brian Glick's Only Way Out wasn't granular enough to embody. Moved to Gordon Ryan's Foundation of Offense V01 — added a verbatim transcript, a new principle, and a new skill to the Mat.
April 2026
Wired Volume 02 into the Mat
Brian Glick's Only Way Out Volume 02 transcribed verbatim, plus the first 12 moves wired into the graph as edges across 6 positions and a new principle.
Graceful fallback on /api/chat when the Gateway is down
When the AI Gateway is down or the request is malformed, /api/chat now returns a 503 JSON envelope pointing agents to /llms-full.txt, /api/mcp, and /.well-known/mcp.json instead of a bare 500.
Deleted the eight legacy top-level routes; 308s now guarded by a spec
Deleted the eight pre-Fardin-Docs top-level routes — about, work, blog, contact, uses, failures, for-ai, interview — 2,298 lines gone. The 308 redirects in next.config.ts cover every legacy URL, and a Playwright spec asserts they still land on the right /docs/* target.
Turned the MDX-never-reads-data rule into a pre-commit failure
Added a pre-commit hook that fails the commit if any MDX file imports from @/data/*, imports @/lib/data-registry, or string-references a content/data/*.jsonl path. Closes F10 from the concept audit.
Killed the last three metaphor fields in the frontmatter schema
Renamed the three surviving metaphor fields — wing→section, affectTone→mood, exhibit→homeSlot — across 143 MDX files and the whole schema layer. A codemod did the migration in one pass.
Tightened the frontmatter contract across 142 pages
Deleted `domain`, required `wing` + `genre`, renamed `growthStage` to `stability` and gated it to the genres where it means something. 142 files migrated by codemod in one pass.
Started a lift log
Lifts area launched under the Body wing. Same rule as the Mat — only sessions that actually happened, no programmed-but-skipped, no future plans.
Rebuilt the education page as a docs-native sourced reference
Rewrote /docs/about/education from a flat course list into a sourced reference. Every course expands to the official SBU Undergraduate Bulletin entry. 38 courses, 14 departments, grades color-coded without shame.
Cleaned up sidebar redundancy sitewide
Every folder in the docs used to render twice in the sidebar — once as the parent, once as the index child. Fixed it everywhere at once.
Shipped the changelog apprentice
A post-commit hook hands every commit to Claude Opus 4.7. Most get skipped. The ones that ship write themselves into five surfaces.
Shipped the Mat
BJJ documentation area under the Body wing. Volume 01 of Brian Glick's "Only Way Out" transcribed verbatim. Graph-native schema — positions as nodes, moves as edges.
Migrated the site to Fardin Docs
Everything now lives under /docs/*. 24 projects, 50 interview Q&A, and 7 essays imported as MDX.
Built the AI-native skeleton
llms.txt variants, MCP server, knowledge graph, JSON Feed, profile API, AI discovery manifest, JSON-LD schemas. The infrastructure underneath everything that came after.
Redesigned the whole site
Design system with primitive tokens, Instrument typography, the Explore component, command palette, global search, Interview page. The same day as the AI infrastructure push, I rebuilt the interface on top of it.
Dropped seven essays
25,000 words of long-form writing in a single push, including the Axioms piece that later became a voice anchor for the whole site.
Elevated the portfolio
Full redesign. Agentic DX touches, radio, mobile-first responsive, cleaned-out features that weren't earning their keep.