How coder-s-og-s/trajectory-ir works
Trajectory IR is a Go-primary, portable intermediate representation and safety layer for agent execution—not an agent framework or durable execution engine. Its main workflow records projected context, seals a model decision, executes effect-classified tools with sandbox and block-and-gate protections, commits the step, and can export or verify a portable .tir package. The graph emphasizes documented Go runtime paths; some internal wiring and the Python reference implementation are not represented because their source was not sampled.
Main entry points: client.go Trajectory client · log.go Node log · step.go Step runner · tir.go TIR packages
Components 21
Run execution
- Context projector
go/trajir/projector/projector.go - Step runner
go/trajir/resume/step.go - Replay gate
go/trajir/resume/gate.go - Effect classifier
go/trajir/effects/effects.go - Sandbox policy
go/trajir/sandbox/sandbox.go
Trajectory integrity
- Node identity
go/trajir/nodes/nodes.go - Redaction
go/trajir/redact/redact.go - TIR packages
go/trajir/tir/tir.go - Package signatures
go/trajir/tir/signature.go
Persistence and backends
- Content store
go/trajir/cas/cas.go - Node log
go/trajir/log/log.go - Postgres log
go/trajir/postgres/log.go - Durable backend
go/trajir/durable/backend.go - SQLite backend
go/trajir/durable/sqlite.go - Temporal adapter
go/trajir/durable/temporal/backend.go
Host interfaces
- Trajectory client
go/trajir/client/client.go - MCP adapter
go/trajir/mcp/server.go
Other components
- Agent host
- Model
- Host tools
- Durable engine
Connections 26
- Agent host → Trajectory client: drives steps
- Trajectory client → Node log: records nodes
- Trajectory client → Durable backend: opens memo
- Trajectory client → Effect classifier: checks effects
- Trajectory client → Sandbox policy: checks policy
- Trajectory client → Replay gate: gates tool calls
- Trajectory client → Step runner: runs full step
- Step runner → Model: requests plan
- Step runner → Context projector: projects context
- Step runner → Node log: records step
- Step runner → Host tools: executes calls
- Replay gate → Node log: records claims
- Replay gate → Durable backend: memoizes calls
- Node log → Node identity: derives identity
- Postgres log → Node identity: derives identity
- Trajectory client → TIR packages: exports packages
- TIR packages → Node log: reads trajectory
- TIR packages → Content store: stores artifacts
- TIR packages → Package signatures: verifies signatures
- Redaction → Node log: redacts records
- Durable backend → SQLite backend: uses local store
- Durable backend → Temporal adapter: selects adapter
- Temporal adapter → Durable engine: dispatches workflows
- MCP adapter → Agent host: serves tools
- MCP adapter → Trajectory client: calls client
- MCP adapter → TIR packages: imports exports