An authorized execution and a verified trace, plus rejected bypass, replay, expired-permit, tamper and cross-tenant attempts. The local simulation does not require a real GitHub token.
Sign the intent. The requesting agent signs the exact action, resource, input and idempotency key.
Evaluate policy. Tempus checks identity and policy, then returns ALLOWED or BLOCKED.
Execute through the boundary. The isolated executor verifies the permit, consumes it once and calls the external service.
Verify the receipt. The executor signs its outcome; the gate records linked evidence for later inspection.
The gate and executor remain trusted components. A signature verifies who signed an outcome; it does not make an external event independently observable.
04 / Provisioning
Establish the executor boundary.
Run setup in a separate working directory for your integration. These commands create local development keys and register the two identities; they do not yet configure a production deployment.
Terminal
tempus init
tempus keygen --output agent.keys.json
tempus keygen --output executor.keys.json
tempus register-agent --alias demo-agent --agent-keyfile agent.keys.json --metadata '{"tenant_id":"acme"}'
tempus register-agent --alias demo-executor --agent-keyfile executor.keys.json --metadata '{"tenant_id":"acme"}'
tempus doctor --json
tempus conformance --signer
Next, install a signed policy for your tenant, identities, supported action, resource and executor. See the configuration examples and DevOps blueprint for the complete setup.
Executor commands (the wheel ships the GitHub reference; the others are repository contrib)
Executor
Supported actions
tempus-github-executor
Create issues and pull requests (conformance reference)
tempus-github-app-executor
Tempus Guard for GitHub: permit-bound pushes, merges and the Verified by Tempus check (separate repository)
tempus-http-executor
HTTPS POST, PUT and webhooks (contrib/executors)
tempus-slack-executor
Messages and alerts (contrib/executors)
tempus-payment-executor
Reference payment adapter; mock transport included (contrib/executors)
Use each command's --help for its required permit, gate, tenant and executor options. Keep real downstream credentials in the executor environment. For workload signing, read the Vault Transit guide.
05 / MCP connection
Expose the autonomous tool surface.
After provisioning, add Tempus to your MCP client's configuration. Replace the absolute paths below with the database and gate key created during setup.
The client must be able to find the installed tempus executable. The default tools accept signed payloads; connecting the server does not sign requests or route every other tool automatically.
Constraints cover the common limits. Optional rules cover conditions across fields, in a strict typed subset of JsonLogic, signed with the policy and run again by every verifier, in this browser too. A false rule blocks with POLICY_RULES_DENIED, and a value of the wrong type with POLICY_RULES_ERROR. Optional currency_exponents says how many decimals a currency has. A currency the policy does not name is read in hundredths.
See the reference for the operators, the limits and how rules fail.
Reference / Audit
Inspect and verify a real trace.
Use the action ID returned by your runtime. Run these commands against the corresponding gate database, or hand the exported bundle and the gate public key to anyone: the browser verifier checks it offline, and every receipt carries that link as verify_url.
Terminal
tempus trace --action-id <action-id>
tempus verify-trace --action-id <action-id>
tempus list-agents
tempus list-policies
tempus identity-events
Verified does not mean succeeded.
A failed execution can have authentic, correctly linked evidence. Verification and business outcome are separate results.
Reference / Durability
Retain checkpoints independently.
Create a signed checkpoint and export the event stream. Store trusted checkpoints outside the database host so that a valid older snapshot can be recognized as a rollback.
Terminal
tempus checkpoint create --tenant-id acme --out checkpoint-acme.json
tempus checkpoint export --tenant-id acme --from-seq 1 --out stream-acme.json
tempus checkpoint verify --checkpoint checkpoint-acme.json --stream stream-acme.json
A checkpoint's date is the gate's own claim. Anchor it to prove the date from outside: a public log and a timestamp authority receive only a hash, and an auditor who pins their roots confirms the date with no trust in the operator or in Tempus. tempus anchor verify dates the checkpoint's bytes; tempus verify-bundle --anchor also checks that the gate signed them.
Terminal
tempus anchor create --checkpoint checkpoint-acme.json --out checkpoint-acme.anchor.json
tempus anchor verify --anchor checkpoint-acme.anchor.json --checkpoint checkpoint-acme.json \
--rekor-public-key rekor.pub --tsa-root tsa-root.pem