Ash Prabaker (Anthropic Engineer):
"give it the spec of what you're trying to achieve, and then let the loop iterate against those criteria."
the loop only works when it has:
a home, memory, artifacts, and a check to iterate against
1. a durable thread
give one workstream one home. pin it if it matters
keep it alive across PRs, bugs, notes, experiments, and releases
2. disk-backed memory
ask Codex to write decisions, TODOs, client context, setup notes, and open questions into real files
chat history is slippery. files are inspectable
3. inspectable artifacts
when Markdown is enough, use Markdown. when interaction matters, use a tiny `index.html`
when visuals matter, open the local app or rendered artifact in Browser and check the result
4. a verification gate
tests, lint, typecheck, build, screenshot, smoke test, rendered preview
pick the smallest check that proves the work moved
every serious Codex loop should leave behind one of these:
- a diff
- a note
- a verified artifact
- a screenshot
- a failing test with a named next step
- a passing check
start with one thread and one notes file
make the next Codex run produce something you can inspect