naive loops keeps working; new
recurring work is naive teams schedule <team> "<cron>" "<goal>" --tenant <tu>, which
answers 501 not_configured on this API build until the durable scheduler lands — see
Teams. For a config-declared recurring
run, declare agent({ loop: { cron, goal } }) in naive.config.ts — apply registers
it with the hosted runtime’s cron scheduler; see
the agent’s loop.
A Loop is a recurring agent run. It’s a first-class object built on the
trigger router: a cron-source subscription bound
to an agent run. Creating a Loop records the binding and creates the backing
cron job that executes it — the cloud sidecar cron.
Create a loop
schedule is a standard cron expression. The response includes the loop
subscription and the cron_job_id of the backing executor (null if no runtime
is reachable yet — the binding still persists and syncs later).