Documentation / v0.6.0 beta

From first install
to a verified action.

Start with the local demo, then provision identities and an executor for your integration.

Python 3.10+Self-hostedMIT licensed

01 / Install

Install the Python package.

Use Python 3.10 or newer. A virtual environment keeps the installation separate from your other projects.

Terminal
python -m venv .venv
# macOS / Linux
source .venv/bin/activate
# Windows PowerShell
# .venv\Scripts\Activate.ps1
python -m pip install tempus-ddb
tempus --help

Download the package from PyPI or inspect the artifacts on GitHub Releases. For source development, follow CONTRIBUTING.md.

02 / First verification

Run the local security demo.

With the package installed, clone the release source to get its examples. This demo uses a simulated downstream API and temporary local state.

Terminal
git clone --branch v0.6.0 --depth 1 https://github.com/tempus-protocol/tempus-ddb.git
cd tempus-ddb
python examples/commercial_demo.py
What to look for

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.

Prefer to explore without installing? Verify the browser sample.

03 / Request flow

Four steps. Separate responsibilities.

  1. Sign the intent. The requesting agent signs the exact action, resource, input and idempotency key.
  2. Evaluate policy. Tempus checks identity and policy, then returns ALLOWED or BLOCKED.
  3. Execute through the boundary. The isolated executor verifies the permit, consumes it once and calls the external service.
  4. 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)
ExecutorSupported actions
tempus-github-executorCreate issues and pull requests (conformance reference)
tempus-github-app-executorTempus Guard for GitHub: permit-bound pushes, merges and the Verified by Tempus check (separate repository)
tempus-http-executorHTTPS POST, PUT and webhooks (contrib/executors)
tempus-slack-executorMessages and alerts (contrib/executors)
tempus-payment-executorReference 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.

MCP configuration · JSON
{
  "mcpServers": {
    "tempus": {
      "command": "tempus",
      "args": ["mcp", "start"],
      "env": {
        "TEMPUS_MODE": "autonomous",
        "TEMPUS_GATE_KEYFILE": "/absolute/path/keys.json",
        "TEMPUS_DB_PATH": "/absolute/path/tempus.db"
      }
    }
  }
}

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.

Claude / Cursor recipe ↗ · All framework recipes ↗

Reference / Contracts

Versioned evidence schemas.

Core protocol schemas
EvidenceSchema
Agent intenttempus.action-intent.v1
Signed permittempus.authorization-receipt.v1
Executor outcometempus.action-outcome.v1
Execution receipttempus.execution-receipt.v1
Complete tracetempus.action-trace.v1
Verification resulttempus.trace-verification.v1
Event stream itemtempus.event-stream-event.v1
Signed checkpointtempus.checkpoint.v1
Checkpoint verificationtempus.checkpoint-verification.v1
Anchortempus.anchor.v1
Anchor verificationtempus.anchor-verification.v1

Read the compatibility policy before upgrading a deployed integration.

Reference / Policy (0.8, unreleased)

Rules and decimals in the signed policy.

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.

Policy bundle
"constraints": {
  "allowed_currencies": ["JPY", "KWD", "USD"],
  "currency_exponents": {"JPY": 0, "KWD": 3}
},
"rules": [
  {"id": "large-needs-a-review-ticket",
   "logic": {"if": [{"!": {"missing": ["money"]}},
                    {"or": [{"<=": [{"var": "money.amount_minor"}, 50000]},
                            {"!!": {"var": "intent.input.review_ticket"}}]},
                    true]}}
]

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

Follow the backup and disaster recovery procedures for retention and reconciliation.

Reference / Security

Know the current limits.

  • Agent access to downstream credentials makes the executor boundary bypassable.
  • Multi-instance executors need shared transactional consumption state; the current local guarantees do not establish distributed replay safety.
  • Raw evidence is not automatically confidential. Plan how you handle sensitive payloads.
  • An anchor proves a checkpoint existed by a date. It does not show the checkpoint covers everything or that no later one exists.
  • The payment adapter requires your own real provider integration; Tempus does not supply custody or transaction reversal.

Full threat model ↗ · Roadmap ↗ · Security reporting ↗