Delivery, Interaction, and Durable Operations
Status: Accepted and implemented. Supervisor rotation remains a feature-specific durable operation. The platform now also ships durable jobs and runtime delivery, but not one universal operation API.Context
Meerkat needs three different temporal contracts. Treating all three as raw request/response couples correctness to a live reply route and makes timeout or caller cancellation ambiguous.- Delivery is a signed, routed, fire-and-forget envelope. This remains the
primitive owned by
meerkat-comms. - Interaction is optional, short-lived request/response correlation for
conversational behavior. Existing
PeerResponseandin_reply_tohandling remain a compatibility interaction projection. - Operation is a durable machine-owned command with a stable ID, observable progress, and a terminal receipt. Its truth cannot depend on a live interaction.
Decision
Supervisor rotation is a durable operation scoped to one member session.Current Platform Substrate
The later durable-job work introduced a reusable execution and delivery substrate without changing this decision’s temporal split:DetachedJobMachineandmeerkat-jobsown durable submit, deduplication, fenced attempts, leases, progress, cancellation, terminal results, and a terminal outbox.RuntimeDeliveryMachineand the runtime delivery inbox own stable delivery identity, monotonic sequence, exact replay, and the ordered application cursor.- The canonical
job_runtime_deliverycomposition transfers terminal and notification outbox entries into the runtime inbox, then acknowledges the transfer back to the job store.
meerkat-comms into RPC, or require every
feature-owned durable operation to become a detached job. A general host-facing
OperationId -> OperationState -> TerminalReceipt API remains intentionally
deferred.
Consequences
meerkat-commsremains fundamentally one-way and does not become a general RPC substrate.- Supervisor rotation survives sender timeout, handler cancellation, and cold restart without rollback-by-timeout.
- Existing synchronous-looking host APIs become submit-and-observe adapters; their result shape can remain compatible.
- Ordinary current-supervisor verification may continue using the existing interaction compatibility path; it is not rotation authority.
- A universal host-facing operation surface is not implied by the job API; durable features may retain their own machine-owned command and receipt protocols.
