Who Owns This Service? Auditing Backstage’s catalog-info.yaml Against the Org Chart Before Incidents Do

An incident page names a service. The catalog says owner: artist-relations-team. The on-call rotation for that team was dissolved six months ago. The page is stale, the rotation is empty, and the first person to notice is whoever is holding the pager when the alert fires. This is not a Backstage bug. Backstage’s catalog is …

Why `git commit` Takes 90 Seconds: A Time Budget for Pre-Commit Hooks and What Moves to CI

A 90-second git commit is not a mystery. It is a budget you never wrote down. Somewhere between the first hook and the last, your commit path accumulated work that has nothing to do with committing: type checking, unit tests, secret scanning, dependency resolution, and a linter that re-reads the entire repository because nobody scoped …

Why Your Runbook Fails at 3 AM: Narrative Debt in Internal Tooling Docs

Last October we shipped a deprecation notice for an internal CLI — chagctl deploy-legacy — that eleven teams still depended on. The notice was technically complete: the command being removed, the replacement, the removal date, a migration example. Sixty days later, on the removal date, three teams paged us within ninety minutes of each other. …