5 posts
We had been working around four problems at once with the single-writer assumption. The current tool drops the assumption, the counter, the in-place mutation, and the committed graph in a single architectural shift.
Dogfooding surfaced five cracks in the tracker. We went through them one at a time: search became ranking, the graph got a single home, and affected files started coming from git.
We used the tracker to track its own development. The search silently missed things, rebuild rewrote every file, and the missing tests hid real bugs.
How the project tracker grew from a schema into a queryable graph, a single agent-readable file, and a package with a real CLI.
Addressing complaints and turning a simple script to a full blown python package