readymeans you can launch with the selected inputs.needs_setuplists prerequisites such as a target or external MCP server.blockedidentifies a policy or capability mismatch that an administrator must resolve.
Built-in workflows
Workflow v1 is sequential. Each executable step selects exactly one Agent. A terminal step failure stops the execution; an authorized resume creates a new attempt for that step and retains the earlier audit history.
Delivery guarantees
The control plane acknowledges a run only after Postgres commits the run and its dispatch intent. Workers claim work with database row locks, so multiple replicas can recover pending work after a restart. Dispatch is at least once, and the execution engine treats the run and step idempotency keys as stable identities. Transient dispatch and read-only failures retry up to three times with backoff. AcornOps does not automatically repeat a write when the result is uncertain. Such attempts enterneeds_review and require an authorized resume.
Approvals expire after 15 minutes by default. Expiry fails the attempt and does not grant the requested capability.
Agent triggers
Standalone Agents supportmanual, workflow_step, schedule, webhook, and target_event triggers. audit_event and external_adapter are not accepted in this release.
Creating a webhook trigger returns its HMAC secret once. Store it immediately; later Agent responses never include the plaintext or ciphertext. Send JSON events to the returned URL with:
x-acornops-timestamp: Unix seconds or an ISO timestamp within five minutes,x-acornops-event-id: a stable, unique event identifier, andx-acornops-signature: the SHA-256 HMAC of<timestamp>.<raw JSON body>.
202 response means the event and its durable delivery record committed; Agent dispatch happens asynchronously and is idempotent for that event.
Rollout modes
SetAUTOMATION_RUNTIME_MODE or Helm automation.runtimeMode to:
offto stop new automation dispatch while preserving durable state,shadowto create and inspect durable intent without dispatch,canaryto dispatch only workspaces inAUTOMATION_CANARY_WORKSPACE_IDS, oronto dispatch all eligible workspaces.
off until migrations and template backfill complete. Use shadow, then canary, before enabling all workspaces.
The main /ready endpoint continues to reflect Postgres and Redis correctness. External MCP readiness appears on Agent and Workflow templates and does not remove the whole control plane from service.
Diagnostics and alerts
Authorized workspace readers can inspectGET /api/v1/workspaces/{workspaceId}/automation/diagnostics. The response includes runtime enablement, dispatch state and oldest pending age, Agent and Workflow states, active-run count, trigger deliveries, scheduler lag, pending approval age, template readiness reasons, and retained report-source count.
Scrape /metrics and load observability/prometheus/alerts/control-plane-automation.rules.yaml from the deployment repository. The supplied rules cover dispatch older than the 30-second objective, scheduler lag over 60 seconds, approvals older than 15 minutes, needs_review, trigger rejection, MCP failures, PDF rendering failures, and elevated terminal failures.
Diagnostics and metrics contain IDs, states, counts, and bounded reasons only. Prompts, chat bodies, tool arguments, webhook payloads, report contents, PDF bytes, credentials, and continuation state must not be logged or exported as labels.