glossary · Running it

Work pool

definition

A work pool is a saved, typed query over work items that an autonomous loop consults to pull its next task; it is resolved live at each call and returns one item or nothing.

in one line: A live saved query that hands the loop one task, or none.

in context

Where does a work pool fit?

Not when to run. What to run. The loop asks the pool. It gets exactly one task, or nothing at all.

loop wakes
ask the poolstale 3+ days?
one taskor nothing
work itthen sleep
two ways to say it

What is a work pool, in plain words?

Same idea at two depths: the plain version, then what the engine actually does.

A timer fires blind. A pool looks at the work right now: what is stuck, what is ready, what is going stale.

It answers with one task or with nothing, so the loop never guesses.

for engineers

A named, typed query: AND, OR and NOT over typed fields, including computed ones like stale_days, workflow_idle_days and children_all_done.

Resolved live on every call, never cached. pools_next returns one task or {}.

the longer answer

Why does a work pool matter?

Pools answer the question schedulers cannot: not when to run, but what to work on. A cron expression fires blind; a pool evaluates the actual state of the work at the moment of asking: what is stale, what is unblocked, what is finished enough for the next stage.

Two design decisions make pools trustworthy. Resolution is live, never cached, because a staleness predicate goes wrong the moment the clock crosses a threshold, and the pool must never hand back a task someone already finished. And the answer is exactly one item or nothing, so the consuming workflow can branch deterministically on emptiness rather than juggling a list.

The queries earn their keep through computed fields: predicates like "stale for more than three days" or "all children complete" express what is rotting and what is ready, which is precisely what a flat filter list cannot say.

Pools pair naturally with schedules. The schedule decides when the loop wakes up; the pool decides what it works on once awake. A loop that wakes every hour, asks its pool for the stalest unblocked item, and goes back to sleep when the answer is empty does no wasted work and needs no list of jobs maintained by hand.

in convops

How does a work pool work in ConvOps?

In ConvOps, a pool is a named query with AND, OR and NOT over typed fields, including computed ones such as stale_days, workflow_idle_days and children_all_done. It is resolved live on every call. pools_next returns one task or an empty answer, and the workflow that consumes it can branch on that. A pool can also be previewed, so you see what a loop would pick before you let it run.

questions

What do people ask about a work pool?

What does work pool mean?

A work pool is a saved query over your work that returns the next item to handle, chosen from the live state of the work, such as the stalest unblocked task. It answers what to work on, where a schedule answers when. In ConvOps a pool returns one task or nothing.

Is this the same as a work pool in Prefect?

No. In Prefect, a work pool connects the orchestration layer to the infrastructure where flows run: it describes where jobs execute. In ConvOps, a work pool is a live query that selects which task an AI agent works on next.

How is a work pool different from a cron schedule?

A cron schedule fires at fixed times whatever the state of the work. A pool evaluates the work when asked. Together, the schedule wakes the loop and the pool picks the item, and an empty pool means the loop does nothing.