Skip to content
codee3.dev/guides/decision-log-for-ai-agents

A decision log for AI coding agents: the format, and how to wire it in

Keep one short file of what was decided and why, so Claude Code, Codex and Gemini CLI stop undoing choices you already made.

Guide5 min readUpdated 2026-10-21decisionsadragents.md
THE SHORT ANSWER

Keep one DECISIONS.md in the repository: one entry per decision, each with an id, what was decided, the date and why. Name it in every agent’s instructions file (AGENTS.md, CLAUDE.md, GEMINI.md), tell agents to ask before breaking a decision, and replace old decisions with new entries instead of deleting them.

What is a decision log for AI agents?

A decision log is a short file of what’s been decided on a project and why, one entry each, with an id that never changes. People have kept them for years as architecture decision records (ADRs). Coding agents need one more than people do, because every new session starts knowing nothing about yesterday. With a log, you can start fresh without losing context.

An ADR is usually one long document per decision, written for a person to read once. An agent reads its instructions at the start of every session, so its log should be the opposite: one file, short entries, newest choices clearly in force. Keep your ADRs if you have them and link each entry to its ADR.

1. Make one file the repository tracks

Create DECISIONS.md at the top of the repository and commit it. Because Git tracks it, every branch and every worktree has the same copy, and a change to it shows up in review like any other change.

2. One decision per entry: what, why, when

Give each entry an id, one line saying what was decided, a date, and the reason. The reason matters most: it’s what stops an agent “improving” the decision away. Log a choice when an agent could reasonably undo it: a library you picked, a rule about your business, something you ruled out.

DECISIONS.md
# Decisions
Read this before you change anything. If a change would break one, ask first.
 
## D-014 Bookings close at 5pm
2026-10-14 · Staff leave at 5:30 and need time to confirm.
 
## D-015 No card payments online
2026-10-14 · Customers pay in the shop.
 
## D-016 Deposits go through Polar
2026-10-16 · Replaces D-012 (Stripe). Polar handles the tax.

3. Point every agent at it

Each agent reads its own instructions file at the start of a session. Name the log in each one, so whichever agent you open finds it:

  • Codex reads AGENTS.md. Add: “Read DECISIONS.md before you change anything.”
  • Claude Code reads CLAUDE.md. Add the line @DECISIONS.md and it reads the log too.
  • Gemini CLI reads GEMINI.md, which imports a file the same way: @DECISIONS.md.

Using more than one agent on a project, or several at once? The Claude Code and Codex guide shows how to keep their rules in one file as well.

4. Ask before breaking one

Add one rule to the instructions: if a change would go against a decision, stop and ask. An agent that asks costs you a minute. An agent that quietly swaps Polar back to Stripe costs you an afternoon, and you may not notice until later.

Let agents suggest new entries, but read each one before it goes in. A decision is a choice you made; an agent’s guess written down as a decision is how drift gets in. More on that in stopping agents drifting.

5. Replace decisions, never delete them

When you change your mind, add a new entry that says which one it replaces, and mark the old one replaced. Keep the old text. An agent that finds D-012 still saying “Stripe” with nothing next to it will believe it; one that reads “Replaced by D-016” won’t.

In Codee3 Free, the project brain keeps this log for you, in .ai/DECISIONS-LEDGER.md. Open the command palette and choose Keep a decision: say what is decided, what it settles, why, and when it applies, then press Keep. Codee3 gives it the next id and commits it, and every agent is told to read the decisions in force before it starts.
With Founder, agents can propose a decision themselves, and it waits in Needs you for you to keep, reword or set aside. The brain’s checks run before a helper’s work lands, and if they fail, it doesn’t land.
A decision log every agent reads.The project brain is in the free IDE. Founder adds its checks.Download for Windows