claude-compass — working notes
Notes on my rule-based guard for Claude Code: the hook contract, the Python/Go pair, the shared test set, and the holes I found along the way.
Notes on my rule-based guard for Claude Code: the hook contract, the Python/Go pair, the shared test set, and the holes I found along the way.

Everyone worries that coding with an LLM makes them forget how to code. That’s the wrong thing to worry about. The skill that really degrades is judgment — knowing when to trust the model and when to take the keyboard back.

I gave a second AI read access to the Git repos that define my k3s homelab. The findings were fine — the work was validating each: which to accept, which to recalibrate, and which the scanner was confidently wrong about.

A single model playing scrum master is just one mind doing all the voices. So I gave two models from two different labs the same deliberately vague design brief, let them collide, and watched what each one refused to give up. I wasn’t trying to prove the merge was better — I was trying to prove they were different.

Thirty posts, no covers, and I can’t draw. The fix wasn’t a better prompt — it was picking the right model tier and letting the model read the whole post.

Two birds already read the web for me. The third one reads people — it mines my GitHub graph for humans worth a first message and writes the opening line, but it never sends. The word that changed the whole design was ‘who’, and the trap it had to dodge is that finding people like me is exactly the easy thing embeddings do best.

I gave my second brain two agents that read the outside world and collide it against my notes. A Magpie watches my GitHub stars and only speaks when something hits live work. A Blue Jay reads a handful of RSS feeds and surfaces the distant, not-yet-relevant connection. They share a security spine — and they have deliberately opposite jobs. Here’s why the split is the whole design.

My second brain searches over a vault of markdown using BM25 + vectors + graph expansion. I’d been telling people the graph improved recall. Then I finally benchmarked it, and plain keyword search beat my fancy hybrid — the graph was actively dragging the right answers out of the results. Here’s the scorecard and what it taught me about where graphs actually belong.

Parliamentary roll-call votes are public, machine-readable, and almost completely unread. I built a thing that scrapes them, distills each decision into one plain-language question, shows which party voted which way, and lets you register whether you agree — then puts your answer next to how parliament actually voted. The rule that keeps it honest: the AI writes the summary, but it never decides a fact.

I built a clock that counts down to a form of government that doesn’t exist yet — legitimacy grounded in verified knowledge rather than power, wealth, or whoever shouts loudest. The only reason I’m not embarrassed to have built it: the clock can run backward, the assumption behind it is published in plain sight, and the first concrete brick already ships real parliamentary data. A measurement, not a prophecy.