Skip to content
Trigora
Start building →

Host protocol

A TCC host durably stores continuation state and coordinates effects, events, timers, and child activation on behalf of the engine.

TCC Engine
↓
host_protocol_version: 1
↓
your host
├── persistence
├── effects
├── events
├── timers
└── scheduling

Host protocol version 1 is required. Trigora Cloud rejects requests with a missing or unrecognized version, and the reference hosts implement the same version.

The conformance suite verifies these rules:

  1. A write becomes durable only when the store commits and returns persist_confirmed; an earlier ack does not confirm durability.
  2. Resume reconstructs state from a snapshot and semantic deltas. The host runs the stored artifact, while any artifact supplied by the caller serves only as a consistency check. A different hash produces an artifact mismatch.
  3. invoke uses a stable child id and activates the child only after the parent and child records are durable, preventing duplicate child Executions.
  4. A crash before commit leaves no child. A crash after commit and before activation resumes the same child row.

The engine fixtures and conformance runner in tcc-engine define the protocol behavior. The Trigora HTTP API is a separate interface for Programs and Executions: implementing /v1/executions does not implement the TCC host protocol, and implementing the host protocol does not provide the Trigora HTTP API.