Agent classes / Scheduled and ops agent / Agent idempotency
Agent idempotency for a scheduled and ops agent
Updated 2026-10-27 (newest stored date on this page) · score asOf 2026-09-14 (stale)
The class: Runs a job on a queue or a clock, is safe to retry, and alerts when the job or its traces go dark.
- Idempotency key on every retry
- An alert when trace ingestion drops
Depot Pick: Restate
When not to use it: Temporal already standard, Inngest/TS DX preferred, or DBOS Postgres-centric apps.
Runner-up: Temporal Cloud.
No single-unit sourced price comparison for this job (no_comparable_unit_for_job).
Failure modes this class and job share (5)
- Non-determinism: Run the task more than once and compare the end state, not a single transcript. Record the trial count next to any success rate you cite.
- Observability gap: Alert on a drop in trace ingestion and on certificate expiry for the trace host. Do not treat a missing trace as a successful quiet run.
- Partial tool success: Require a per-item status and a failure count. Success for the task requires the failed count to be zero or explicitly handed to a retry queue.
- Runaway spend: Set a budget and a tool-call cap per task. Alert when spend jumps. Stop the run at the cap instead of summarizing a partial trace as success.
- Tool loop: Hash the last several tool names and arguments. Stop when the same call repeats and the observation did not change. Cap tool calls per task.
Free options this class uses (1)
- Trigger.dev (dev_tool, oss) — source, asOf 2026-10-25