[importlinter]
root_package = ai_platform
include_external_packages = True

[importlinter:contract:domain]
name = Lead Scoring domain stays independent of effects and HTTP
type = forbidden
source_modules =
    ai_platform.lead_scoring.domain
forbidden_modules =
    ai_platform.infrastructure
    ai_platform.presentation
    ai_platform.bootstrap
    ai_platform.platform

[importlinter:contract:application]
name = Lead Scoring application does not import adapters or HTTP
type = forbidden
source_modules =
    ai_platform.lead_scoring.application
forbidden_modules =
    ai_platform.infrastructure
    ai_platform.presentation
    ai_platform.bootstrap

[importlinter:contract:presentation]
name = HTTP presentation does not import infrastructure adapters
type = forbidden
source_modules =
    ai_platform.presentation
forbidden_modules =
    ai_platform.infrastructure
    sqlalchemy
