Skip to Content
Workflow IntentChain Events

Workflow Intent Chain Events

Workflow intent emits chain events for declaration, amendment, enforcement, completion, and drift transitions. These events are part of each project’s tamper-evident governance chain. An external checkpoint with timestamp receipts covers them only when a checkpoint is published after them.

Event typeWhen it is recordedWebhook delivery
workflow_intent.declaredPOST /v1/workflows accepts a declaration.Yes
workflow_intent.rejectedPOST /v1/workflows rejects a declaration, such as when declared projected cost exceeds a cap.Yes
workflow_intent.amendedPOST /v1/workflows/{workflow_id}/amend records an amendment.Yes
workflow_intent.exceededAn allowed governed request brings the workflow’s call count up to max_calls. Later requests are denied with workflow_intent.max_calls_exceeded.Yes
workflow_intent.completedA workflow is explicitly completed or maintenance records lifecycle expiry (completion_reason: expired). The existing 15-minute sweep expires at most 100 due workflows per run; duration is advisory, not an exact dispatch deadline.Yes
workflow_intent.drift_detectedActual calls cross above expected_calls while still below max_calls.No

workflow_intent.drift_detected is excluded from webhook delivery. It remains available through compliance exports and dashboard views, but it does not fire a webhook because it is informational and can be noisy for high-volume workflows.

Drift event discipline

Drift is recorded at threshold transitions:

  • once when actual calls move from at or below expected_calls to above expected_calls
  • again only if an amendment raises expected_calls and actual calls later cross the new threshold

Keel does not emit workflow_intent.drift_detected for every call above the expected baseline.

Last updated on Edit this page on GitHub