Skip to main content
The Artifact

Agent trace viewer.

Pick a run. Expand any node. See the tool input, the tool output, and the receipt that signed it. Replay any subgraph.

A2A
Dimension
A2A graph
0.42 J · 5 nodes
per call

search → identity → escrow → compliance → comms.

The planner emits a DAG of agent_cards. Each card declares (name, capabilities, allowed_mcp_servers, joule_budget). The DAG hash is sealed before execution — any drift between planned and executed graph fires a guardrail event.

Sample receipt
JWP ReceiptPayload
kind "agent.graph.planned"
graph_hash sha256:c41e…7e92
max_depth 5
joules 0.42
cite "A2A draft 2025-10"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
planner_model
txai/imagine-r2
fan_out_max
3
MCP
Dimension
MCP tool call
0.18 J · 2025-11
per call

tools/call → downstream pillar → receipt + usage.

Every MCP call carries a usage block reporting downstream joules. The agent's local cost ledger increments by (local_compute + downstream_joules). A capped budget at the agent_card level prevents an agent from spending more than planned without explicit re-planning.

Sample receipt
JWP ReceiptPayload
kind "agent.mcp.tool.invoked"
calls_in_run 31
downstream_joules_total 8.91
joules 0.18
cite "MCP 2025-11 §6"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
transport
JSON-RPC 2.0 over WebSocket
auth
OAuth 2.1 + MCP client cert
Mem
Dimension
Memory write
0.48 J · 14 writes
per call

Content-addressed (subject, predicate, object) triples.

Long-term memory is RDF-shaped: every write is (subject, predicate, object, source_receipt_hash, ttl). Content-addressing means a duplicate fact deduplicates automatically; the source_receipt_hash makes every memory cell traceable back to the receipt that produced it. No embedding-only memory.

Sample receipt
JWP ReceiptPayload
kind "agent.memory.written"
writes 14
dedup_rate 0.07
joules 0.48
cite "AgentOS memory schema v2"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
store
JouleDB triple store
default_ttl_days
365
Grd
Dimension
Guardrail event
0.92 J · 31/0/0
per call

Cedar + DSL admit/block/redact on every tool call.

Policies are Cedar 4.0 plus a small DSL for data-class tags. Each tool call evaluates principal (agent role), action (tool name + arguments), and resource (target pillar + data classes). 31 admits, 0 blocks, 0 redacts on this run — every event is a receipt.

Sample receipt
JWP ReceiptPayload
kind "agent.guardrail.evaluated"
admitted 31
blocked 0
joules 0.92
cite "Cedar 4.0 · guardrail-dsl v0.4"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
policy_repo
policies/agentos@7c1da4
data_classes
pii, phi, pci, mnpi
Spn
Dimension
Trace span
0.11 J · OTel 1.36
per call

W3C Trace Context propagated through every hop.

Root span is `agent.run`; child spans cover each MCP call, each memory write, each A2A hand-off. Per OTel 1.36 GenAI conventions, the run records gen_ai.usage tokens plus a custom agentos.joules attribute. Export targets: OTel collector + JWP receipt sink.

Sample receipt
JWP ReceiptPayload
kind "agent.trace.closed"
spans 31
trace_id 4f1a8b20…e002
joules 0.11
cite "OpenTelemetry 1.36 · W3C Trace Context"
sig "ed25519:0x4f...c1a"
Anatomy — operational specs
exporter
otlp/grpc + jwp/sink
sampling
always_on (audit)

AgentOS, in one line

orchestrator, made inspectable.

Click anything. The same primitives that compose the rest of the Transaction Science family — receipts, joules, signed transport — show up here too. The family is one system.