needs_human and records the
information a human needs to act. The request and execution transition are
atomic. Generic execution transitions cannot enter or leave needs_human.
Endpoints
Create requests require an execution ID, expected execution state version,
kind, bounded text fields, one exact target, and an idempotency key. Targets
are a member, team, or project administrators. Resolve, cancel, and retarget
requests include both expected versions. Reuse of an idempotency key with the
same input returns the original result; a different input returns
409.
Lifecycle
The create operation moves the execution toneeds_human and creates one open
attention item. Resolve and cancel close the item and move the execution to
waiting. Approval and destructive-action items accept approved or
rejected; access items accept provided or denied; clarification,
decision, and other items require an answered outcome with a summary.
mode=recovery lists open items whose original target is no longer eligible
and is available only to authorized human administrators. Stale versions,
invalid lifecycle edges, and ineligible targets return stable 409 errors.
Request text is bounded and rejects secret-like content. Public responses
contain current and immutable actor/target snapshots, execution state, issue,
and project context. They omit provenance, hashes, prompts, logs, credentials,
and local paths.
See the endpoint reference and field reference for the complete REST contract.
Typed MCP requester tools
The full/private and public plugin MCP profiles exposeatoll_list_attention,
atoll_get_attention, atoll_create_attention, atoll_cancel_attention, and
atoll_ack_attention. These tools use the same REST authorization and lifecycle
checks. The list tool returns the relevant requester view only. Create accepts
one exact target and atomically moves an eligible execution to needs_human.
The requester can cancel an open request with both observed versions or
acknowledge a resolved receipt with its exact close versions. MCP does not
resolve requests for humans, expose administrator retarget/cancel or recovery
filters, or resume an execution. Public calls require the selected
connection-scoped profile_ref on actor-dependent requests.
Transport failures and HTTP 5xx responses on MCP lifecycle writes return
lifecycle_write_uncertain with readback guidance; they do not trigger an
automatic retry.
Requester receipt acknowledgement
When a human resolves an item, private heartbeat creates one requester-scoped receipt. The resolved answer stays in the requester’sexecution_attention queue
until the requester consumes it. Use the exact attention version and
execution_state_version_at_close from the heartbeat item:
already_consumed: true; it does not consume the receipt again. Acknowledgement changes the
receipt only. It does not resume the execution; a separate exact
waiting -> running transition is required. Human and administrator
resolution does not consume the receipt.
