How archestra-ai/openappa works
OpenAPPA mediates agent tool use: a call enters through a host integration, the runtime reconstructs the trajectory state, and the pure APPA engine decides whether the proposed data flow is allowed before dispatch. The runtime records durable trajectory events and supports policy configuration, installation, and reporting. The README documents the main integration and product capabilities; source excerpts and the SOURCE INDEX support only selected internal links, so unsampled subsystem relationships are omitted rather than inferred.
Main entry points: mod.rs Session handling · src/engine.rs Engine boundary · src/engine.rs APPA decision core · lib.rs Runtime API
Components 21
Agent integrations
- Claude Code adapter
appa-adapter-claude-code/src/parse.rs - Amp adapter
appa-adapter-amp/src/lib.rs - Kagent adapter
appa-adapter-kagent/src/lib.rs
Runtime orchestration
- Runtime API
appa-runtime-api/src/lib.rs - Runtime host
appa-runtime/src/main.rs - Session handling
appa-runtime/src/api/mod.rs - Engine boundary
appa-runtime/src/engine.rs - Tool dispatch
appa-runtime/src/api/mod.rs
Policy decisions
- APPA decision core
appa-engine/src/engine.rs - Flow check
appa-engine/src/check.rs - Audience evidence
appa-engine/src/audience.rs - Tool contracts
appa-engine/src/contract.rs
Policy and state
- Policy configuration
appa-policy/src/config.rs - Trajectory event log
appa-eventlog/src/lib.rs
Deployment and reporting
- Package marketplace
appa-package/src/marketplace.rs - Runtime installation
appa-runtime/src/installation.rs - Batteries and checks
appa-runtime/src/batteries.rs - User reporting
appa-runtime/src/yell/mod.rs - Report receiver
receiver/appa-yell/main.py
Other components
- Agent user
- Agent tools
Connections 18
- Agent user → Claude Code adapter: submits hooks
README.md - Claude Code adapter → Runtime API: sends events
- Amp adapter → Runtime API: checks calls
README.md - Kagent adapter → Runtime API: integrates runtime
- Runtime host → Session handling: serves sessions
appa-runtime/src/main.rs - Session handling → Engine boundary: requests decisions
appa-runtime/src/api/mod.rs - Engine boundary → APPA decision core: evaluates calls
appa-runtime/src/engine.rs - APPA decision core → Flow check: checks policy
- Flow check → Audience evidence: uses evidence
appa-engine/src/check.rs - APPA decision core → Tool contracts: reads contracts
- Session handling → Policy configuration: loads policy
- Engine boundary → Trajectory event log: rebuilds view
appa-runtime/src/engine.rs - Session handling → Tool dispatch: authorizes dispatch
README.md - Tool dispatch → Agent tools: dispatches allowed calls
README.md - Package marketplace → Runtime installation: supplies packages
README.md - Runtime installation → Runtime host: deploys runtime
README.md - Batteries and checks → Audience evidence: provides sources
appa-engine/src/audience.rs - User reporting → Report receiver: sends report