drums
Sign up

Notes from building self-healing software

Things we got wrong, verified against live systems, written down so the next person does not have to find them the same way.

REVOKE ALL FROM PUBLIC did not do what we thought, and it left an API open

A SECURITY DEFINER function we believed was locked down could be called by anyone with the publishable key. Postgres role grants, Supabase defaults, and why the comment was true and the code was not.

2026-08-01 · 6 min read

A Next.js env bug that passes every server test and breaks every browser

process.env[name] is invisible to Next's build-time substitution. The server keeps working, so every route handler and curl check passes while the page is broken for every human.

2026-08-01 · 4 min read

An AI fix you cannot reproduce is a guess with a diff attached

Coding agents are good at producing plausible patches. Reproduction is what separates a repair that works from one that merely looks right — and it is the step most autonomous-fix tooling skips.

2026-08-01 · 5 min read

© 2026 Drums Labs, Inc. · drums.sh · Docs · Privacy