[importlinter]
root_package = maestro_nerve

[importlinter:contract:core_runtime_must_not_depend_on_delivery_layers]
name = Core and runtime stay below delivery layers
type = forbidden
source_modules =
    maestro_nerve.core
    maestro_nerve.runtime
forbidden_modules =
    maestro_nerve.server
    maestro_nerve.cli
    maestro_nerve.mcp

[importlinter:contract:knowledge_and_semantic_modules_must_not_depend_on_server]
name = Knowledge and semantic modules do not depend on FastAPI server code
type = forbidden
source_modules =
    maestro_nerve.knowledge
    maestro_nerve.semantic
forbidden_modules =
    maestro_nerve.server
