1b-script
The agent loop in one exchange: the model answers with a codemode block; the worker (parsing is off in this project) extracts and requests the script; the…
create() commits the birth batch atomically at t=0; the worker's reaction lands ~2s later, inside the 60s window. The first exchange is a real request/response pair: click @26 for the request the model saw, @28 for its raw reply — already in the codemode dialect, because the
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
create() commits the birth batch atomically at t=0; the worker's reaction lands ~2s later, inside the 60s window. The first exchange is a real request/response pair: click @26 for the request the model saw, @28 for its raw reply — already in the codemode dialect, because the
create() commits the birth batch atomically at t=0; the worker's reaction lands ~2s later, inside the 60s window. The first exchange is a real request/response pair: click @26 for the request the model saw, @28 for its raw reply — already in the codemode dialect, because the section swap landed before any request covered the prompt.
<details> <summary>events</summary>
id: birth
events:
- off: 5
t: 0ms
type: agent/created
payload: {}
note: >-
existence; the same atomic batch carries the capability host, subscriptions, and the
collection copy
- off: 9
t: 0ms
type: agent/configured
payload:
config:
interpretResponses: true
llmRequestDebounceMs: 60000
note: >-
born parsing-on with the 60s birth window (#2508)
- off: 10
t: 0ms
type: agents/context-added
payload:
role: system
sections:
- key: identity
content: >-
You are a general-purpose agent on the iterate platform. You act by writing codemode
scripts against the itx surface…
- key: output-formatting
content: >-
Respond with ```ts fences; ONE codemode script per reply; markdown outside the fence
is your visible chat message…
- key: summary-instruction
content: >-
AGENT SUMMARY (mandatory) — append alongside your work: itx.agent.append({ type:
"…agent/summary-updated", payload: { title, activity } })…
- key: workspace-and-repo
content: >-
Your workspace mounts every project repo at /repos/**; commits land straight on main
and redeploy the project worker…
- key: find-working-code
content: >-
FIRST MOVE for an unfamiliar API: await itx.docs.search({ q: "several related words"
}) — working examples, type declarations…
- key: capability-tour
content: >-
One annotated tour script of the itx surface (chat, repo, workspaces, agents,
scheduler, integrations…)…
- key: shape-of-work
content: >-
Do the work in scripts; end your turn by returning no value; results drive your next
turn as developer context…
- key: other-agents
content: >-
Delegate explicitly: const child = itx.agents.get('researcher'); await child.create();
await child.message(task)…
- key: files
content: >-
Attachments ride refs; oversized script results spill to workspace files the next
script reads…
- key: gotchas
content: >-
On a brand-new project the config repo may still be seeding — retry shortly instead of
treating it as fatal…
note: >-
the tagged prompt file, parsed at append into TEN keyed events (@10–19, one per section)
riding the same atomic birth batch — file order becomes offset order becomes document order
- off: 20
t: 0ms
type: agents/context-added
payload:
role: system
key: agent/boot-context
content: >-
Context for this agent: Project "demo" (slug demo); your stream path /agents/web/demo;
workspace /agents/web/demo; config repo at /repos/config…
note: per-agent boot facts
- off: 21
t: 1.9s
type: agents/context-added
payload:
role: system
key: config/agents-md
content: >-
Project AGENTS.md (auto-injected): keep replies terse; the dashboard lives at
/projects/demo; deploys go out on merge to main.
note: >-
worker birth reaction 1/3 — a plain keyed add; no conversation yet, so it joins the
standing document
- off: 22
t: 1.9s
type: agents/context-added
payload:
role: system
key: output-formatting
content: >-
Respond with ONE <codemode status="…"> block per reply; markdown outside the tag is your
visible chat message; the status attribute is your live activity label…
note: >-
2/3 — THE POINT: re-adding an un-sent key coalesces in place. One section swapped, nine
untouched, no fork, no special verb
- off: 23
t: 2.0s
type: agent/configured
payload:
config:
interpretResponses: false
llmRequestDebounceMs: 250
note: >-
3/3 — done configuring: releases the held first turn
- off: 25
t: 4.2s
type: agents/context-added
payload:
role: user
content: hi — what can you do?
actor:
type: user
origin: web
note: the first message
- off: 26
t: 4.5s
type: agent/llm-request-requested
payload:
model: openai/gpt-5.6-terra
contractVersion: "7.0.0"
note: >-
fires 250ms after the trigger — the request the model actually received
- off: 28
t: 7.1s
type: agents/context-added
payload:
role: assistant
content: |-
Hi! I'm your project's agent — I can read and change the repo, run scripts, wire up integrations…
<codemode status="Idle">return</codemode>
llmRequestOffset: 26
note: >-
the raw assistant output — codemode dialect, exactly as the swapped #output-formatting
taught
- off: 29
t: 7.1s
type: agent/llm-request-settled
payload:
requestOffset: 26
result:
status: succeeded
text: |-
Hi! I'm your project's agent — I can read and change the repo, run scripts, wire up integrations…
<codemode status="Idle">return</codemode>
note: >-
machinery: the one terminal fact for request @26 — it closes the open request (carrying the
same text the @28 context item holds), which is what lets the NEXT request open- request: "@26" find: "AGENT_CONTEXT_PROTOCOL_PROMPT" comment: "the protocol prompt (abridged here) — byte-identic
Monorepo for Iterate's Cloudflare Workers platform. apps/os is the main app — the product dashboard at os.iterate.com. Agent instructions: AGENTS.md. Engineering requirements: no deviant system behaviour.
Repo: iterate/iterate
The agent loop in one exchange: the model answers with a codemode block; the worker (parsing is off in this project) extracts and requests the script; the…
The owner commits an AGENTS.md edit mid-conversation; the worker syncs it with the SAME update verb the birth reaction used. The section has been sent long…
Same setup as 3b, WITHOUT the everyday verb. The owner uses context-rewritten for a routine style change — twice. @70 creates the rule via a rewrite: it…
The same story with the everyday verb. @70's keyed add finds conversation already exists, so the rule lands AT ITS MOMENT — a system message after @28: nothing…
Existing streams are full of keyed context-added events — and with key resurrected as THE addressing mechanism, they are not a legacy vocabulary needing a…
delete removes a standing section from all future renders. delete * removes EVERYTHING — standing document and timeline, prompt included. Deliberate: guidance,…