Cortavyn’s module graph protects its portability: Graph, Chat, and provider modules depend only on the APIs they need; Deep Agent composes Graph and the model API; no core module depends on a provider SDK.
flowchart LR Core[cortavyn-core] --> Graph[cortavyn-graph] Model[cortavyn-model-api] --> Chat[cortavyn-chat] Graph --> Chat Graph --> Deep[cortavyn-deep] Model --> Deep Chat --> Deep Model --> Providers[cortavyn-provider-*]
The versioned Structurizr C4 model lives in the source repository. The cortavyn-architecture module enforces dependency directions with ArchUnit.