How I build software with coding agents
Coding agents are my main workflow: over 2,600 AI-assisted commits on a production ERP alone. The agent writes a lot of the code. I own the decisions, and this process is what makes that safe.
The process
Start from the project's rules
Every repo has a short file that says how to install it, how to test it and what not to touch. The agent reads it first, then checks the branch and any uncommitted work. Here is a real one.
Plan before risky work
Anything large, or anything touching payments, production, tax documents or personal data, gets a written plan that I approve before a single file changes.
Build in small, verifiable steps
Each block of work is small enough to check, and the tests run after each one. On some projects a hook runs type checks and unit tests automatically whenever the agent finishes.
Test without touching anything real
Tests use no real network, credentials or data. The ERP's critical flows are backed by about 180 test files, plus PostgreSQL invariants that block inconsistent data.
$ uv run pytest -q10 passed in 0.16s$ gh run list -R Ssebv/odoo-rag -L 1 --json conclusion,status -q '.[0]'{"conclusion":"success","status":"completed"}Replay of real commands.

Continuous integration on the public repo. Measure what tests can't
A passing test does not tell you whether an AI answer is good. For that I build evaluations and compare options on the same questions. In Odoo RAG, that is how I learned translation mattered more than hybrid search.
Review, and check claims against the code
Changes get a code review before they are committed, and a security review if they touch authentication, payments or personal data. It applies to what I write about my work too: a review found that my own article said a monitor ran every six hours, while the code said daily. I corrected the article.
Ship in stages
Changes go through staging before production, and production deploys avoid business hours. For the ERP migration, I compared the result against a pre-upgrade baseline: invoices, orders and deliveries were identical.
Watch it in production
A daily health check runs over 40 detectors, with urgent alerts every 30 minutes. I wrote about what it found, including the detector of mine that was confidently wrong.
What the agent can't do alone
- Push to the ERP's production or staging branches.
- Send email: it only writes drafts.
- Read secret files or force-push: those commands are blocked by rule.
- Make the calls that are hard to undo: those stay with me.