Published: 2026-08-12

Progressive context shaping: steering agent runs that last ten hours

Chapters / key moments (click to jump — plays here on the page)

Three OpenAI engineers shipped an internal product across roughly 1,500 pull requests and a codebase over a million lines, with individual Codex runs going six hours or more at a stretch. Nate B Jones uses that project, plus Anthropic's long-running scientific-computing work and a failure case from Arise, to extract one shared pattern: a giant instruction file crowds out the task and decays into what the OpenAI team called a graveyard of stale rules, so the winning move is a small, actively-maintained current state that outranks the whole transcript behind it. He calls the practice progressive context shaping, and it is tool-agnostic — the same thing works in Claude Code, Codex, or an ordinary chat thread.

Source video

"Three OpenAI Engineers Shipped A Million Lines. Your Ten-Hour Agent Run Starts Here." by Nate B Jones — Watch on YouTube →

Key Takeaways

  • Replace the manual with a map. OpenAI swapped their giant instruction file for a short document pointing at active execution plans, decision logs, design documents, an architecture map, and quality grades for each part of the codebase being touched. Those materials changed as the work progressed, so the map stayed an accurate picture of current state instead of an archive of past instructions.
  • Anthropic's version is a progress file as portable memory. In long-running scientific computing work, Claude Code keeps a file recording current state, completed work, known limitations, and failed approaches with the reason each failed. A fresh session reads it, picks up the next task, and avoids re-entering the same dead end. The same pattern — progress file, structured handoffs, version history — appears in their long-running coding harness.
  • Arise's fix: move the plan out of the conversation entirely. Their agent Alex once spent 27 model calls almost entirely reorganising its own to-do list, because the original request had been buried under tool output and intermediate results. They didn't solve it by adding a firmer sentence at the top of the prompt — they stored the plan on disk, and on every model call rebuilt a short plan message from the latest state and placed it in front of the noisy history.
  • Separate transcript from current context. That is the load-bearing idea. The transcript still holds real information, but the maintained plan carries more authority than the pile of events. The agent gets an updated answer to the only question that matters at each step: given everything that has happened, what should I be doing now?
  • The mechanism is ordinary — a current.md file. Not a Claude or Codex feature; you and the agent just have to agree to keep it current. In Claude Code, CLAUDE.md can instruct Claude to read it at the start of the job and update it after every consequential decision. In Codex, AGENTS.md or the task itself carries the same instruction. In a plain chat, paste or attach the state when you open a new conversation. Jones has run the same practice through a markdown file, a plan, a JSON record, and an issue tracker — the container matters far less than whether the next action sees updated state.
  • A rule for what belongs in state versus history. Save a change only when it affects the target, the goal, or the definition of done. His test: if you would be annoyed when a fresh agent misses a decision, it belongs in project state. If it only explains how you got there, leave it in the history.
  • Write approval gates into the opening prompt. Alongside the result you want, the materials the agent may use and a sensible first move, name the actions that require sign-off — publication, spending, deletion, or contact with another person.
  • Long runs amplify wrong directions as much as right ones. His own benchmark project discovered 339 sources, generated over a thousand questions and produced 250 verified answers, then got stuck re-triggering itself during package synchronisation — still active, no longer adding value. The original "keep stress testing" instruction had been correct early and became wrong later. He stopped the run, recorded a checkpoint that prohibited resuming the unbounded loop, and redirected the next pass to deepen evidence on the 50 highest-value answers and stop. All completed work stayed available under the new direction.

The Four Kinds of Context to Separate

Rather than one file, Jones splits what the agent needs into four categories — and argues most people maintain the first and fourth while skipping the second, which is the one that actually governs the next decision.

  1. Project rules. The durable constraints: what actions require approval, and what standards must hold throughout. Written once, changed rarely.
  2. Current project state. What the project is trying to accomplish, which decisions currently govern the work, which questions remain open, what should happen next, and what condition should make the agent stop or come back to you. This is the layer he says most people skip.
  3. The map. What material exists and where it lives — how the agent gets a reliable way to find the piece that matters for the next decision, rather than being handed everything.
  4. History. What happened before, what changed, and why. Transcripts and decision logs are useful history, but history should be available for the agent to consult rather than pushed in front of it.

He calls the pruning that follows helpful forgetting: a failed approach is still recorded, but it no longer occupies the same position as the active one, so a fresh session doesn't relive the failure to learn from it.

How to Structure the Opening Ask

Start with one project whose path is uncertain but whose outcome matters, and don't request the whole thing in a single shot. Give the agent four things at the start:

  • The outcome you want.
  • The relevant source material it may use.
  • The action boundaries — what it can and cannot do.
  • The first useful checkpoint, containing work substantial enough to change your judgment.

His contrast on checkpoint quality: "think about the problem and report back" is a very weak ask. "Find the sources, identify where they disagree, and propose the first version of the answer" is a strong one — it produces something you can push against, which is the entire point of checkpointing before you know every step.

Then have the agent maintain a small current-state record as it goes. It does not need to be long; it needs to sit where the agent will look, and it needs to be short enough that the agent will actually read it.

Why This Matters More as You Run Agents in Parallel

  • Anthropic's research across roughly 400,000 Claude Code sessions found that in a typical session the person in charge made about 70% of the planning decisions while Claude made about 80% of the execution decisions. Jones treats the split as a rule of thumb rather than a law, but it clarifies the human role: you own what counts as done and what the new evidence means; the agent owns the path between checkpoints.
  • OpenAI found its engineers could comfortably manage only three to five Codex sessions at once before context-switching became painful — people forgot which session was doing what and spent their time moving between terminals. Symphony moved the work onto a project board where agents pulled tickets, so the ticket carries current state instead of a person holding every session in their head. On some teams, landed pull requests rose 500% in the first three weeks after the change.
  • You can adopt the idea without adopting the tool. The ticket, the board, the markdown file and the JSON record are interchangeable; what matters is that the next agent action reads updated state.
  • A bigger context window is not a substitute. A larger window may retain more events, but retention is not the same as knowing which of those events still governs the work — and Jones is explicit that none of this substitutes for your judgment, it only extends its reach.
  • Correct the state, not just the draft. If you fix only the output in front of you, the correction stops there. Changing the current project state is what makes it reach the research still open, the next implementation, and any work handed to another agent.
Note on the source

Jones points viewers to his Substack for a downloadable file set. The method itself is fully explained in the video and summarised above — nothing here requires the paid material.

What you can actually set up from this

Extracted from the video's own transcript — the specifics the original summary left out.

Reproducible steps

  1. Write a strong opening prompt, then expect to change it

    Define the result you want, the materials the agent may use, what it may and may not do, and a sensible first move. Say what quality looks like, and write down anything that needs approval (publishing, spending, deletion, contacting a person).

  2. Ask for an early checkpoint, not the whole project

    Give the agent four things: the outcome, the source material, the action boundaries and the first useful checkpoint. Make the checkpoint reviewable work (for example: compare the sources, identify where they disagree and propose a first plan), not 'think about it and report back'.

  3. Keep a small current-state file

    Keep one short file the agent reads and updates, which says what the project is trying to do, which decisions currently govern it, which questions are open, what to do next, what makes it stop or return to you, and what it may not do without approval. He calls his current.markdown; in Claude Code point CLAUDE.md at it, in Codex point AGENTS.md at it, and in a plain chat paste a replacement project brief into the next conversation.

  4. Correct the state, not just the draft

    Example instruction: update the current project state so this evidence replaces our earlier assumption, apply the new decision to the research still open and to the plan, keep going, and preserve the old assumption in the decision history rather than as current guidance. Save a change only if it affects the target, goal or definition of done.

  5. Separate four kinds of context

    Stable instruction (how to work, approvals, standards: CLAUDE.md or AGENTS.md); current project state; a map of what material exists and where; and history (change log, decision log, transcripts). Keep history from masquerading as current instructions.

  6. Use his starter kit

    Four plain files: a readme that explains the method to the agent, current.markdown for state, contextmap.markdown for what exists and where, and decisions.markdown for what you decided and why. They work in Claude, Codex and ordinary chat.

Gotchas

  • His own example: a Codex benchmark run found 339 sources and produced over 1,000 questions and 250 verified answers, then kept continuing itself in a retry loop because an early 'keep stress testing' instruction had become the wrong one. He stopped it, rewrote the saved state to bound the run, and got the useful result.
  • OpenAI's internal-product story (three engineers, about 1,500 pull requests, over a million lines) and the Anthropic research figures (about 70% of planning decisions by the person and 80% of execution decisions by Claude across roughly 400,000 sessions) are as the speaker quotes them, not checked here.
  • A bigger context window or compaction doesn't replace this: they can't decide which new fact should change your project.
  • He says a focused packet with updatable state beat maxing out the context window in almost every run he compared.

Weekly Digest — In Your Inbox

Get the week's top AI agent news, updates, and guides — every Friday.