Answers

Our scheduled AI routines start from zero every run. How do they keep the thread?

By writing what each run established into a place the next run reads before it does anything. A scheduled routine has no memory of its own past runs — every trigger is a fresh context — so tonight's run re-derives what last night's already worked out, and either reaches the same conclusion at the same cost or reaches a different one with nothing there to contradict it. The habit that fixes it has two halves: the run opens by reading the rules in force and what recent runs recorded, and it closes by recording what it found in a line or two, including when it found nothing. A run that recorded nothing is indistinguishable from a run that never fired, and that is the failure worth designing against.

Last updated September 5, 2026

The run that finished cleanly still leaves nothing behind

The obvious loss is the run that was interrupted, and that one has its own answer. The quiet loss is the run that completed: it checked something, formed a view, and ended. The context goes when it ends, and the view goes with it. The next night the same routine arrives at the same question with no idea it has already been answered. The cost is not only repeated work — a conclusion that changed between Tuesday and Thursday changes in silence, because nothing from Tuesday is there to contradict it.

Open by reading, close by recording

The routine's prompt does two fixed things. Before acting, it reads the project: the rules in force and what recent runs recorded. That is how a standing decision reaches it, instead of being copied into the prompt where it ages out of date on its own. Then, after its last action, it records the residue — what it found, what it changed, what it deliberately did not do — written for whoever arrives next rather than as a transcript. Empty results are recorded too: an empty queue is exactly what the next run needs to know and the one thing it cannot infer from silence.

The wording is the interface between two runs

A record is only useful if the next run can find it, and a scheduled routine searches by text rather than by intuition. So state that other runs depend on is written with the same literal words every time. A synonym is a lost state, and the run that fails to find it does not know it failed — it reads the absence as nothing having happened and acts in the dark. Carrying it forward matters for the same reason: a weekly routine writes the term once and the daily one that consumes it repeats it every day, so the value never falls out of the window the record covers.

What it looks like in practice

A nightly routine checks a queue of work and reports what it did. On Monday the queue was empty, so it said nothing, because there was nothing to say. On Tuesday the same. On Wednesday somebody asks why no work has come out all week, and the honest answer is that nobody knows whether the routine has been running at all. The change is one line at the end of every run, the empty ones included: the queue was empty, and this is what remains in it. Wednesday's question is now answered in seconds, and a run that genuinely failed to fire stands out, because its line is missing rather than merely uninformative. That same line is what stops Thursday's run re-deriving what Tuesday's had already settled.

Questions people ask about this

Isn't this what the routine's prompt is for?
A prompt carries instructions, not findings. Anything a run learns after the prompt was written has nowhere to live in it — and a rule pasted into the prompt then has to be pasted into every other prompt that needs it, which is a separate problem with its own answer. The split that holds up: the prompt says what to do, and the shared record holds what has been decided and what has happened.
How is this different from a handoff between routines?
A handoff is for work still in flight: a run stopped part-way and something needs an owner until somebody finishes it. This is for work that finished — nothing is pending, nobody has to pick anything up, and the next run still needs to know what happened. Both matter, and using a handoff for completed work has its own cost: a baton left open every night stops meaning anything to the people reading it.
Do the runs have to be the same routine, or the same tool?
Neither. The record sits outside any assistant, so a routine running in one tool and a person working in another read the same thing. That is usually how a team notices it is working: someone opens the project on a Friday and finds the week of runs already written up, in the same place as the rules they wrote themselves.
Install ArrowaySee how it works →

Where this is verifiable

Product documentation on this site (How it works, Install) and the sanctioned product spec in the repository, for how reading, recording and handoff work. The failure modes described here — the completed run that leaves nothing behind, the empty result nobody recorded — come from our own scheduled routines and from an audit of another team's. Everything described here is behaviour the tools apply today, not roadmap.

https://www.arroway.app/en/answers/keeping-scheduled-ai-routines-from-losing-the-thread

Continue exploring

See all answers