Architecture

A runtime that makes agent authority explicit.

Five deterministic steps. Every agent, every run, no exceptions. Here's exactly what happens between zt run and a verified audit trail.

Step by step

From declaration to verified chain.

Every execution follows the same deterministic path. Authority is declared, identity is verified, actions are enforced, and every step is hash-logged.

1

Declare What Your Agent Needs

A skill is a plain .md file. YAML frontmatter declares every capability the agent needs — file paths, URLs, secrets, processes. Pure data. No code execution in the declaration, and nothing outside this list exists at runtime.

backup-database.md
# Backup Database
capabilities:
  - fs.read:/var/data
  - fs.write:/var/backups
  - secrets.read:DB_PASSWORD
steps:
  - run: pg_dump -U admin {{secrets.DB_PASSWORD}} mydb > /var/backups/dump.sql
2

Declare Capabilities

Every file path, URL pattern, secret name, and process must be explicitly listed. The runtime builds a capability set before execution starts. If it's not in the list, it doesn't exist as far as the skill is concerned.

CapabilityExampleWhat it grants
fs.readfs.read:/var/dataRead access to that path
fs.writefs.write:/var/backupsWrite access to that path
secrets.readsecrets.read:DB_PASSWORDRead that specific secret
network.fetchnetwork.fetch:api.stripe.comHTTP to that domain only
process.execprocess.exec:pg_dumpExecute that binary
3

Prove the Skill Was Not Touched

Before execution begins, 0trace verifies the Ed25519 signature on the full skill bundle — frontmatter, steps, and metadata. Unverified? Blocked. Tampered? Blocked. This is structural, not configurable.

Non-negotiable. The signature check cannot be disabled in production mode. No bypass, no override flag.
4

What Isn't Declared, Doesn't Exist

Every action the skill attempts is intercepted and checked against the declared capability set. The enforcement is synchronous and deterministic — blocked or allowed. There is no third state, no escape hatch, no ambient authority.

fs.read:/etc/passwd Not declared → blocked
network.fetch:api.evil.com Not declared → blocked
fs.write:/var/backups Declared → allowed
5

A Record No One Can Alter

Every action produces a log entry, SHA-256 hashed with the previous entry. Change any entry and every subsequent hash breaks — independently verifiable without trusting 0trace itself. Exportable to JSON or CSV. When your auditor asks what happened, you have a chain that cannot be disputed.

Entry structure: { timestamp, skill_id, action_type, resource, outcome, hash: SHA256(prev_hash + entry) }

CLI

The full runtime in three commands.

Run a skill

$ zt run backup-database.md
✓ Signature verified (Ed25519)
✓ Capabilities declared: fs.read, fs.write, secrets.read
✗ Blocked: network.fetch (not declared)
✓ Execution complete — 3 actions logged, chain: a3f9b2c1...

Start the HTTP server + dashboard

$ zt serve --port 8080
0trace runtime listening on http://0.0.0.0:8080
Dashboard: http://localhost:8080/dashboard

Verify and display the audit trail

$ zt audit --skill=backup-database --verify
Chain integrity: ✓ valid (47 entries)
Last entry: 2025-03-31T18:42:11Z
Hash: sha256:a3f9b2c1d4e5f6a7...

Dashboard

Every view you need to understand what your agents did.

Built into the binary. No separate service, no cloud dependency, no extra config.

01

Dashboard

Real-time stats — skills, runs, orgs, success rate. Recent activity feed and execution history.

02

Skills

Skill file registry with capability badges. See declared capabilities at a glance for every skill.

03

Runs

Execution history with status, timing, and direct links to the audit trail for each run.

04

Tasks

Kanban board per org. Three columns: Backlog, In Progress, Done. No external project tool required.

05

Agents & Teams

Agent registry and team builder. Define agents, group them into teams, track membership.

06

Traces

Causal chain visualizer showing execution lineage — timing, entity status, hash links.

07

Org Settings

Org info, member management, API keys, and integrations configuration.

Deploy the runtime. Write your first skill. Verify the chain.