DevLog
Building in Public with Claude Code
Daily dispatches from the build floor. Real projects, real problems, real solutions — all built with AI-assisted development.
Newsletter unsubscribe links broken by missing HMAC token
How missing HMAC tokens and a write-only database column broke every newsletter unsubscribe link ever sent.
When a blocking pre-push check passes, the count is correct
A blocking pre-push check that passes is evidence the count was correct, so a disputed figure should be settled by the push result.
Fixing UNSEALED cover and tracking down zero newsletter signups
Deployed the corrected UNSEALED cover and investigated zero newsletter signups by ruling out server-side causes and census-ing real traffic.
Two-column CSS grid for desk-mode HUD panels
How I turned each desk monitor into a 2-slot CSS grid and fixed renderers to size content to itself instead of the panel edge.
Holding a commit because its cross-link target documents a live auth bypass
Why I held an uncommitted doc rescope that cross-linked a file documenting a live auth bypass on a public repo.
Releasing memstack-skill-loader 4.16.0
How I released memstack-skill-loader 4.16.0, including exit-code versioning decisions and false-premise verification catches.
Two plugin delivery paths diverge in memstack
How free skills and Pro skills ship through two independent delivery paths with no shared version signal in memstack.
Documenting unreleased features creates stranded content
Updating documentation for unreleased features strands users when the installed version does not match what the docs describe.
Shipping a secrets rule through a session hook, not a paste
Moving a secrets output rule into the session-start hook so it loads automatically instead of requiring a manual config paste.
Plugin release blocked until loader ships
How a plugin release blocked on the loader shipping first to avoid documenting output the installed version never produces.