Defines the durable dispatch journal contract.
The protocol separates durable facts from live effects:
- run-thread entries record workflow lifecycle facts
- dispatch-thread entries record runnable intent, claims, leases, heartbeats, completions, failures, retries, and live wakeups
- run-index and run-catalog entries support rebuildable lookup projections
A live wakeup or action execution is valid only after the runnable intent is
appended. Claims are fenced by claim_id and claim_token_hash;
completions, failures, and heartbeats from stale claim owners are ignored by
the projection and surfaced as anomalies.
Summary
Types
@type entry_type() ::
:run_signal_received
| :run_started
| :runnables_planned
| :runnable_applied
| :child_run_started
| :dynamic_work_recorded
| :manual_step_paused
| :manual_step_resolved
| :run_terminal
| :run_indexed
| :run_cataloged
| :run_queued
| :attempt_scheduled
| :attempt_claimed
| :attempt_heartbeat
| :attempt_completed
| :attempt_failed
| :live_wakeup_emitted