The Bits That Stayed Useful - September 2026
Aight! September newsletter time!
Six posts this month, a new tool for searching old coding agent sessions, and an Ubuntu setup that reminded me copying settings isnāt the same as installing the things those settings need. š
A lot of Septemberās writing was looking back at work Iād already done. Which tools do I actually use? Can I find the decisions from an old session? Do the checks I put in a codebase still help once Iām no longer working on it?
The Checks Survived the Handover
Back in June I wrote about the checks I use to stop coding agents drifting in production codebases. This month I went back to see what happened after Iād moved on from the project.
The useful bit wasnāt just that the checks were still there. The team had made them stricter.
Custom checks stopped 8 of 38 failed UAT deploys. In every case, the team fixed the code rather than disabling the check. They added rules, reduced exceptions and put the same gate on production deploys.
The agent instructions stayed with the agency. The checks went with the code to the client, and kept working without those instructions.
Thatās the outcome I wanted. Not a setup that needs me watching every agent session, but something the next person can use and improve.
One Archive Instead of Three
I had ccrecall for Claude Code, pirecall for Pi, and then ocrecall for Codex. All useful, but finding an old conversation
meant remembering which agent Iād had it with first.
So I made omnirecall.
It brings all three into one local SQLite archive. No account, nothing hosted. I can ask whichever coding agent Iām using to search the history, read the surrounding messages and check what actually happened.
The Ubuntu move was a good example. I planned the install with Codex, then wrote about it with Pi. One search found both conversations.
Imported sessions also stay in the archive after the original agent deletes its copies. It only knows about sessions Iāve synced, though. It isnāt quietly collecting things in the background.
Blog Posts
Six this time, after just one in August:
- Moving my development setup from EndeavourOS to Ubuntu. An encrypted work setup on a Framework expansion card, with the old installation still available. Fonts, shell tools and editor extensions all needed more than a settings file.
- I built 21 MCP tools. These are the 2 I still use.
mcp-omnisearchandmcp-sqlite-toolsare still daily tools. Most of the rest were experiments, and most of my newer tools are CLIs. - Give coding agents your project docs with node:sqlite and FTS5. A small docs search CLI, with a working example. Return the relevant section and its neighbours instead of loading the whole docs folder.
- Copy buttons and line numbers in mdsvex with twinkleplop. The blog finally has copy buttons, working line highlights and a line-number setting that survives a page reload.
- omnirecall: search your Claude Code, Codex and Pi sessions in one place. How the archive works and how I use it from inside an agent session.
- What happened to my coding agent guardrails after I left. The follow-up to Juneās post, with the handover evidence.
Other Open Source Bits
my-pi got opt-in hold-to-talk
dictation. Hold Space, speak, then release it to put the transcript in
the editor. It doesnāt submit the prompt for you. It currently needs
Linux, PipeWire and a Deepgram API key.
nopeek tightened credential
handling to prevent session-wide secret injection and disable global
credential auto-loading. Give the command the credentials it needs,
not every command in the session.
Fin
Building a tool and keeping it are different decisions. That came up in the MCP post, but it applies to most of this monthās work. The useful bits are the ones I still reach for, or that other people can keep using without me.
Thanks for reading. Come say hi on Bluesky.