1. A trigger starts the run
Every path below funnels into the exact same orchestrator - there's no separate “lite” version for automated runs.
Type a goal directly and watch it work in real time.
A standard cron expression - "every Monday at 9am", handled by the same job queue as everything else.
Every N minutes, for things that don't need calendar precision.
An external system hits your endpoint; the run starts the moment it does.
A message on a connected channel is a signed webhook too - it starts or continues a run exactly like chat.
2. It plans, then executes - concurrently where it can
A run defaults to 50 iterations, hard-capped at 200 no matter what's requested - a real ceiling, not just a suggestion to the model.
When one turn asks for multiple tools, they run concurrently, not one after another - a fix that shipped after sequential dispatch once summed durations and blew a run's own time budget.
Creating agents or pipelines is capped at 3 per run and 15 per hour account-wide - added after a real run once produced 30 near-duplicate agents in a row.
Once a run's context crosses ~80% of its window, older messages get compressed into a summary - anything you've explicitly pinned survives that compression untouched.
3. Model calls have a real fallback chain
A single model outage doesn't take a run down with it.
4. A claim-verification pass checks the answer
Before a final answer reaches you, it's checked against what actually happened this run. Phrases like “saved to memory” or “sent the email” are mapped to the specific tool call that would have had to succeed for that to be true. If the claim doesn't match a real, successful tool result, the agent gets sent back once to either actually do it or rewrite its answer honestly - one retry per run, not an infinite argument with itself.
5. It remembers - and grades its own work
Similar past reflections and any facts you've asked it to save get pulled in by relevance and added to its first turn - it starts each run with the right context, not a blank slate.
A separate pass asks the model to honestly self-assess: what worked, a 1-10 score, and concrete lessons - stored so the next similar run starts smarter, not from scratch.
6. You stay in control the whole time
Sensitive actions pause and wait - the run polls for your decision rather than assuming a yes.
Checked live, every iteration, against both the run's own cap and your account-wide limit - not audited after the money's already spent.
Scheduled runs retry up to 3 times with exponential backoff if something transient fails, instead of silently not running.