Some coding work needs project context; some choices need human intent. ROOK gives them separate paths. The work loop carries tasks a coding agent can act on, while the decision loop carries a real fork to the operator and returns the recorded answer.

In the task-tracker app, the search-shortcut thread remains runnable. The archive thread reaches a choice between reversible archive and permanent deletion. The two loops let those states coexist without asking a mechanical driver to decide which product behavior the operator wants.

Scroll sideways for the rest of the diagram

The work loop closes on the left without you. A genuine fork crosses the line as a decision card, waits for your answer, and re-enters as documented work. The driver turns the loop but never reaches the line.

The map is literal about responsibility. The coding agent reads the project, chooses runnable work and authors decisions. The driver supplies lifecycle: it starts fresh sessions, relays their output and follows recorded instructions after writeback. It never enters the decision junction.

The work loop

The work loop turns a documented task into a recorded result. For the search shortcut, a fresh session can read the requested key binding, inspect the project, implement it, run the relevant checks and record what happened. A later session does not need the old terminal conversation to stay alive.

Without ROOK, you can do the same work in a terminal and leave a note for yourself. That is simpler when one person is watching one short task. ROOK earns its extra record-keeping when fresh sessions and independent threads recur and the handoff itself needs to survive.

The decision loop

The archive task cannot move responsibly until the product choice is known. The coding agent writes one card explaining the situation, the reversible and permanent options, the consequence of each and its recommendation. The operator answers; ROOK records that answer against the originating card; and a fresh session receives it with the archive thread's documented state.

The card moves the interrupt away from the terminal. It does not improve the decision, fill in a missing option or authorize the driver to reinterpret the answer.

Where the loops meet

MomentWho owns itWhat becomes durable
Choose runnable workCoding agentThe instruction for the session
Start and carry the sessionDriverNo new judgment
Raise the archive forkCoding agentOne decision card
Choose reversible or permanentOperatorOne answer bound to that card
Apply the answerFresh coding sessionThe result and next instruction

ROOK is designed around proof-of-record: work advances after its writeback is recorded, not merely because a process exited successfully. This boundary ties the loops to visible events, but it is not a promise that every crash is harmless or every retry converges.

What this section contains

The next page starts at the hardest classification: is this still coding work, or has it become a decision only the operator can own?

Next

Continue with work and decisions.