Squidie.Runtime.DispatchProtocol (squidie v0.1.2)

Copy Markdown View Source

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

entry_type()

@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