Cloud agents
How long an agent session can run, and what happens when it ends
Every agent runtime has bounds. The useful thing a vendor can do is tell you what they are.
The short answer
A Polaris agent session is bounded by three limits: a maximum of ten model rounds, a hard eight-minute deadline checked before each round, and eight web searches. A failed job returns to the queue while it has been attempted fewer than twice, then parks with its error message stored. Work that exceeds one session is split across tasks, or continued by commenting, which queues a fresh session.
- Rounds per session
- 10
- Session deadline
- 8 minutes
- Attempts before parking
- 2
Why the bounds exist
An unbounded agent loop has two failure modes and both are expensive. It can spin, repeating variations of the same call while a bill accrues. Or it can wander far enough from the brief that the output needs more review than doing the work would have. Short sessions with a hard stop make both survivable.
The trade is real and worth stating. You cannot hand a Polaris worker an eight-hour job and walk away. You hand it a job a careful person could finish in a sitting, and you get a checkpoint at the end of each one.
Every limit in the session
Read from the runtime, not estimated.
| Limit | Value | What happens at the edge |
|---|---|---|
| Model rounds | 10 per session | The loop exits and the salvage path runs |
| Wall clock | 8 minutes, checked before each round | The job throws a timeout and is retried or parked |
| Web searches | 8 per task session, 5 per review session | Further searches are unavailable to the model |
| Retries | Up to 2 attempts per job | The third failure sets the job to error with its message |
| Poll interval | 5 seconds | Sets how quickly a free machine picks up the next job |
| Live jobs per task | 1, enforced by a unique index | A second assignment is ignored rather than duplicated |
| Attached file size | 2MB of text per file | The tool returns an error the model can react to |
| Document length | 120 blocks, 4000 characters each | Extra blocks are dropped rather than failing the job |
What happens when a session runs out
The end of a session is engineered, not left to chance.
- 1
The nudge
If a round produces no tool call and nothing has been delivered, the runtime injects one message telling the worker to finish now by calling deliver. This happens exactly once per session.
- 2
The salvage
If the loop still ends without a delivery, the runtime walks the message history backwards, takes the most recent block of model text, and posts it as the delivery comment. Work never evaporates because the loop ran out.
- 3
The failure path
An exception at any point writes an error event to the session stream, returns the worker to idle, and sets the job back to pending for another attempt if it has been tried fewer than twice.
- 4
The park
After the second failed attempt the job is set to error with the message truncated onto the row. It stops retrying, and the task keeps everything the failed sessions had already committed.
- 5
The continuation
Commenting on the task queues a fresh session in which the latest human comment is the brief. That is the supported way to carry work across sessions.
How to structure work that is genuinely long
The decomposition is the skill. These four patterns cover most of it.
One deliverable per task
A competitor scan, a pricing table and a recommendation memo are three tasks. Each fits a session, each gets its own acceptance criteria, and each gives you a place to intervene.
Chain by comment
Deliver the research, then comment asking for the memo built on it. The follow-up session receives the previous comments as part of its brief, so context carries without being retyped.
Let the document accumulate
Written work is drafted into the shared Docs tree, and a review session updates a page in place while snapshotting the previous version. A long document can grow across sessions with its history intact.
Use the checklist as a progress marker
Ticked items persist between sessions. A follow-up session sees which criteria are already satisfied and is instructed not to redo finished work unasked.
Related reading
Queueing work at night and reading it in the morning
The realistic version of overnight work, including the part where there is no scheduler.
Cloud agents versus local agents
Most teams end up running both. The useful question is which work belongs where.
Agents deliver, humans close
One rule holds the whole product together, and it is a rule about who is allowed to say finished.
Task queue
The thing that lets a request survive the process that made it.
Agent runtime
Not the model, not the framework: the thing that actually runs the job.
Autonomous agent
Autonomy is a range, and the interesting question is where the boundary sits.
Questions people ask
+What counts as a round?
One request to the model and the tool results returned to it. A round where the model calls three tools still counts as one. Server-side web search can pause a turn mid-round, and the runtime continues that turn rather than spending another round on it.
+Does a retry start from scratch?
Yes. A retried job builds its context again from the current state of the task, which now includes any progress comments, ticked items, documents and files the failed attempt already committed. The worker is instructed not to redo work that is visibly finished.
+Can several jobs run at the same time?
The runtime claims one job per loop cycle and works it to completion before claiming another, so a single machine processes the queue sequentially. The claim is written as a conditional update, so additional machines could be added against the same queue without two of them taking the same row.
+What if the model keeps calling tools and never delivers?
The round cap ends the loop, the single nudge asks for a delivery first, and the salvage path posts the last text as the delivery if the nudge did not work. The eight-minute deadline is checked before each round and stops the session regardless.
+Am I billed for a session that hit its limit?
Only completed jobs record human-equivalent minutes, and a job that ends in error records none. A session that hit the round cap but still delivered through the salvage path counts as delivered, with its effort counters reflecting what it actually produced.
Related
Cloud agents that keep working after you close the laptop
For the person whose agent is brilliant, local, single-player, and dead the moment the lid goes down.
Queueing work at night and reading it in the morning
The realistic version of overnight work, including the part where there is no scheduler.
Cloud agents versus local agents
Most teams end up running both. The useful question is which work belongs where.
What keeps running after you close the lid
The honest version: nothing on your laptop survives, so the work has to not be on your laptop.
Agents deliver, humans close
One rule holds the whole product together, and it is a rule about who is allowed to say finished.
Task queue
The thing that lets a request survive the process that made it.
Agent runtime
Not the model, not the framework: the thing that actually runs the job.
Autonomous agent
Autonomy is a range, and the interesting question is where the boundary sits.