DocumentationAIP 1.0ArchitectureArchitecture and Security
Dependency Graph
The Rust workspace is acyclic. An arrow in the diagram means “depends on”; arrows point from a consumer to the lower-level crate or layer it consumes.
flowchart TB
core["aip-core"]
schema["aip-schema"]
crypto["aip-crypto"]
auth["aip-auth"]
discovery["aip-discovery"]
runtime["aip-runtime"]
storage["aip-storage-postgres"]
connector_sdk["aip-connector"]
connectors["aip-connector-* implementations"]
transports["aip-transport and aip-transport-*"]
profiles["aip-profile-*"]
gateway["aip-gateway"]
mcp_server["aip-mcp-server"]
mcp_client["aip-mcp-client"]
daemon["aipd"]
cli["aipctl"]
facade["aip facade"]
schema --> core
crypto --> core
auth --> core
discovery --> schema
discovery --> core
runtime --> auth
runtime --> crypto
runtime --> discovery
runtime --> schema
storage --> runtime
connector_sdk --> core
connectors --> connector_sdk
transports --> core
profiles --> core
gateway --> runtime
gateway --> connector_sdk
gateway --> profiles
gateway --> transports
mcp_server --> gateway
mcp_server --> profiles
mcp_client --> profiles
mcp_client --> transports
daemon --> gateway
daemon --> storage
daemon --> connectors
daemon --> mcp_server
cli --> profiles
cli --> transports
facade --> core
facade --> gateway
facade --> profiles
facade --> transports
facade --> connector_sdk
Boundary Rules
aip-corehas no runtime, network, profile, connector, or mandatory schema tooling dependency. Its optionalschemafeature enablesschemarsderives foraip-schemawithout changing runtime behavior.aip-runtimeowns native lifecycle semantics. It does not depend on product connectors or compatibility profiles.aip-gatewaycomposes native runtime, connectors, profiles, and transports. It is embedded byaipd, tests, and application hosts.aipctlis a transport client and conformance operator. It does not embed the gateway or become part of server execution.aipis a feature-gated public facade. Depending on it with a feature makes the corresponding lower-level crate part of the consumer’s build; it does not create a reverse dependency from those crates to the facade.
Cargo metadata is the source of truth for exact crate edges. This diagram documents architectural ownership, not every third-party dependency.