Skip to content
Browse the documentation
Workflow runtimes

Temporal and Inngest (Python)

CommitLayer for durable-workflow runtimes. One distribution, two optional packages, built on the commitlayer SDK:

Last changed Markdown versionllms.txt

CommitLayer for durable-workflow runtimes. One distribution, two optional packages, built on the commitlayer SDK:

Package Runtime Install
commitlayer_temporal Temporal (temporalio) pip install 'commitlayer-integrations[temporal]'
commitlayer_inngest Inngest (inngest) pip install 'commitlayer-integrations[inngest]'

Each one does the same two things in its runtime's own terms:

  1. Record the agent's intent before the work runs (an activity, a step) as an action under a contract: POST /v1/actions with the contract, subject and parameters taken from the call's own arguments. The result of the work is never sent.
  2. Gate completion on the verdict: wait for GET /v1/actions/{ref} to report a settled verification and branch on PASS / FAIL / UNKNOWN. The workflow does not tell the customer "done" until the verdict is PASS.

The workflow engine makes the process durable. CommitLayer independently verifies the result, from the systems of record, after the fact. The agent may declare its intent. It may read the verdict. It must never control the independent facts, the governing contract, or the final evidence.

Python 3.10+. Both packages import without their runtime SDK installed (the SDK is imported lazily), so a service that uses only one of them does not need the other.

pip install ./sdk/python ./integrations/python[temporal,inngest]   # from this repository
export COMMITLAYER_API_KEY=spk_...                                   # never log or print it
.venv/bin/python -m pytest integrations/python/tests -q              # no Temporal server, no Inngest dev server