How awaterma/phronesis works
Phronesis is a durable governance platform for LLM-assisted coding: host hooks evaluate on-disk rules at tool-call boundaries and return allow, warning, or block decisions. Its MCP server exposes management and inspection tools, while the RETE library provides the matching engine. Additional documented capabilities include durable context, temporal journey and lifecycle facts, confidence scoring, structural code graphs, drift analysis, and extensible predicates. The graph uses README relationships for product-level flows and sampled source references for engine internals; unsampled subsystem wiring is not asserted.
Main entry points: mod.rs Action hooks · network.rs RETE coordinator · server.rs MCP tools · extract.rs Structural extraction
Components 22
Governance loop
- Action hooks
crates/phronesis-mcp/src/hook/mod.rs - Rule files
crates/phronesis-mcp/src/rules_file.rs - Rule layers
crates/phronesis-mcp/src/rule_layers.rs - Governance decision
crates/phronesis-mcp/src/hook/mod.rs
RETE engine
- RETE coordinator
crates/phronesis/src/network.rs - Alpha matching
crates/phronesis/src/alpha_network.rs - Beta joins
crates/phronesis/src/beta_network.rs - Activation agenda
crates/phronesis/src/agenda.rs - Production states
crates/phronesis/src/production.rs - Working memory
crates/phronesis/src/wme.rs
Durable signals
- Durable context
crates/phronesis-mcp/src/context.rs - Journey facts
crates/phronesis-mcp/src/journey/mod.rs - Lifecycle events
crates/phronesis-mcp/src/lifecycle/event.rs - Confidence signals
crates/phronesis-mcp/src/outcomes/toolchain.rs
Code analysis
- Structural extraction
crates/phronesis-mcp/src/graph/extract.rs - Code graph state
crates/phronesis-mcp/src/graph/store.rs - Graph queries
crates/phronesis-mcp/src/graph/query.rs - Drift review
crates/phronesis-mcp/src/drift/mod.rs - Predicate providers
crates/phronesis-mcp/src/predicate_provider.rs
Interfaces
- MCP tools
crates/phronesis-mcp/src/server.rs - Metrics service
crates/phronesis-metrics/src/lib.rs
Other components
- Agent host
Connections 24
- Agent host → Action hooks: proposes action
README.md - Action hooks → Rule files: reads rules
README.md - Action hooks → RETE coordinator: evaluates rules
README.md - RETE coordinator → Governance decision: produces decision
README.md - Governance decision → Agent host: allows warns blocks
README.md - Rule layers → Rule files: resolves rules
crates/phronesis-mcp/src/rule_layers.rs - RETE coordinator → Alpha matching: coordinates matching
crates/phronesis/src/network.rs - RETE coordinator → Beta joins: coordinates joins
crates/phronesis/src/network.rs - RETE coordinator → Activation agenda: schedules activations
crates/phronesis/src/network.rs - RETE coordinator → Production states: checks productions
crates/phronesis/src/network.rs - RETE coordinator → Working memory: asserts facts
crates/phronesis/src/network.rs - Agent host → Durable context: receives guidance
README.md - Action hooks → Journey facts: derives temporal facts
README.md - Action hooks → Lifecycle events: records lifecycle
README.md - Action hooks → Confidence signals: gathers outcomes
README.md - Action hooks → Predicate providers: derives event facts
README.md - MCP tools → Journey facts: serves inspection
README.md - MCP tools → Confidence signals: reports band
README.md - MCP tools → Structural extraction: rebuilds graph
README.md - Structural extraction → Code graph state: writes relations
README.md - MCP tools → Graph queries: serves queries
README.md - Graph queries → Code graph state: queries state
- MCP tools → Drift review: serves review
README.md - Metrics service → Action hooks: reads action logs