Articles
Written properly
Longer pieces on vibecoding, AI slop and building the apps on m7kni.io. Finished when they publish. Shorter working notes live in notes.
- Order
- Newest first
- Count
- 12articles
- Feed
- RSS
- 01
The rules my agents run with
The global rules every Claude Code and Codex session starts with: how they are written, what stays out of them, what the main ones say and how they reach this site.
- 02
Running Claude Code with OpenAI models through LiteLLM
Claude Code can keep its tools and hooks while using OpenAI models. The difficult parts are effort routing, prompt caching, parallel-agent affinity and features the gateway cannot supply.
- 03
Jev as a decision layer
TypeSafe's Jev answers typed questions with probabilities instead of writing text. Where it earned a place in my agent setup, what the evaluations showed, and the gateway route that never worked.
- 04
Bounding a model request on pi
A reasoning model that streams for an hour isn't an error, so nothing in pi stops it. How loop-pi bounds each request by inactivity and total time, and what happens once one fails.
- 05
Setting up Backlog.md for agents
How I set up Backlog.md boards for coding agents: the settings that can't change later, the config I hand-edit, the CLI flags that destroy another session's writes, and upstream's traps.
- 06
Building an agent-transcript indexer
How agent-history loads Claude Code, Codex and pi transcripts into one ParadeDB catalogue, what it can answer, where it stops, and the smallest version you could build yourself.
- 07
Why I don't use Codex for long-running agent loops
A Codex loop root can re-read its cached context every few seconds instead of every 19 minutes. pi is my default for OpenAI-model loops; the historical comparison explains why.
- 08
One agent context is not enough
Why I run Claude Code, Codex and pi as separate homes in each of two contexts, and publish their rules, hooks and settings from one source repository.
- 09
The agent loop protocol
How I run long agent loops on pi, Codex and Claude Code: a short frozen charter, a living queue from the board, lanes that hand back uncommitted candidates and a root that alone pushes.
- 10
The hot and cold conversation archive
How my agent conversations move from each home into a 90-day hot tier and a permanent cold tier, and why message text never reaches a metric.
- 11
The machinery around the loop
The small tools that keep a long agent loop honest: a linter for the charter and queue, Stop hooks, a watchdog, a reconcile step, a verifier, the pi extensions and a closeout audit.
- 12
Retiring long-lived GitHub PATs for a per-job mint
Replacing standing GitHub PATs across three GitHub owners with GitHub OIDC brokered through OpenBao into hour-lived App installation tokens, and the traps that arrangement produced.