---
{
  "n": 71,
  "title": "Plan 25 in short",
  "abstract": "",
  "refs": [],
  "seen": [
    "agent"
  ],
  "data": {
    "revision": 1,
    "change": "written"
  },
  "created": 1791048961.941678,
  "updated": 1791048961.941678,
  "deleted": 0.0,
  "completed": 0.0,
  "outcome": "",
  "type": "doc"
}
---


## Why Codex fell behind
On Transport Clock, Codex stood still for hours. There were four reasons. It never saw the journal's instructions, because they sat at the end of an AGENTS.md longer than the 32 KB Codex reads. It was told that a background command would wake it, which is not true for Codex. Nothing woke it when every row was blocked. And ending a turn with `[!internal]` stopped it.

## Phase 1: Codex reads the journal's block (done, 2.239.0)
The journal's laws and the rules you inject are now one block at the head of AGENTS.md and CLAUDE.md, right under the title. Three older blocks are folded into it, and the rest of each file stays as it was. A file with merge conflicts, or one the journal cannot safely change, is left alone, and the upgrade names it. When AGENTS.md is longer than Codex reads, the agent is told, so it can tell you. A real Codex run quoted law L3 back from the new block.

## Phase 2: each agent is told what really wakes it
When an agent runs the same check over and over, the journal tells it to wait instead, in words that fit its provider. Claude is told that a background command wakes it when it ends. Codex is told that the journal checks in every five minutes, because a command ending does not wake it.

## Phase 3: no stall goes unseen (you look before phase 4)
- An agent that stops while work is still open is told to carry on.
- A command an agent leaves running is watched.
- A visitor's comment on a share link without a password reaches you.
- The environment shows how long its agent has been standing still.
- When something waits on a person, it becomes a question to that person instead of a silent stop.

## Phase 4: the chat without [!internal]
Codex is no longer taught `[!internal]`. The journal hides a bare acknowledgement by itself. One release after that works, `[!internal]` is retired.

## Phase 5: clear instructions
- One short line in AGENTS.md and CLAUDE.md says the journal's lines come first where they speak.
- A read-only check reports any contradictions between the instruction files.
- One real Codex run replays each of the stalls and checks that something wakes it every time.

## How you will notice
Each phase ships as its own release. The only change in your projects' files is that the journal's block moves to the head of AGENTS.md and CLAUDE.md on their next upgrade.
