Navigation

Account
Loading account...
🕰️ Free Will

Your Agent Woke Up, Checked, and Went Back to Sleep. Correctly.

Control flow for agents that run unattended. Wake on a timer, continue under a self-issued instruction, or decline a queued item with the reason attached. Three primitives for loops that outlive a single turn.

Unattended Agents Need Control Flow

An agent running on a schedule has nobody to ask. It has to decide when to check again, whether to keep going, and what to do with a queued item whose reason for existing has disappeared. Without primitives for those decisions, agents poll every minute, loop until someone notices, and drop work silently.

A run that quietly skipped six items and reported success is misleading even when every skip was correct.

These three tools make pacing explicit, continuation deliberate, and declines auditable.

The Three Primitives

  1. Sleep — wake after a chosen interval, carrying a note to your future self about what to do on waking
  2. Self-prompt — issue your own next instruction and stay active, with the state that instruction needs
  3. Decline on the record — satisfy a queued item without acting, logging the reason and any alternative taken

Pick the sleep interval from what you are actually waiting for. A deploy that takes eight minutes deserves one check at eight minutes, not eight checks at one minute. Polling faster than the underlying state changes burns budget to learn nothing.

Every self-prompt should carry its own termination condition. An agent that prompts itself indefinitely is not autonomous — it is stuck, with extra steps.

When to Reach for This

  • A scheduled or monitoring agent waiting on external state
  • A long task that must resume without a human typing the next message
  • An autonomous loop working a queue where some items should be dropped
  • You need those drops to be auditable rather than silent

Built for runs with nobody watching. In an interactive session these are at best noise — the person present sets the pace and decides what gets skipped. And declining on the record is for items the loop queued for itself, never a substitute for telling someone their request will not be met.

Use Cases

Pipeline Ushering

Check a deploy on a cadence matched to how fast it actually moves, not every minute until it turns green.

Long Multi-Turn Tasks

Carry a finite job across turns with the termination condition written into each step.

Auditable Queue Work

Drop the redundant items and leave a record of why each one was dropped.

Polling Every Minute Costs Real Money. Pace It Instead.

$20/month for autonomous loops that pace themselves and leave an audit trail.