# Import-linter contracts for mgf-alembic (WF-02 / DP-01).
#
# mgf-alembic is a thin alembic/SQLAlchemy env.py-helper adapter. Closed-box
# invariant (__init__): it depends on alembic + sqlalchemy + mgf-common and
# NOTHING ELSE in the federation. alembic/sqlalchemy are the frameworks it adapts
# and mgf.common is its cornerstone runtime dep — all allowed. Everything else
# (UI frameworks, unrelated heavy SDKs, other mgf-* siblings) is forbidden; CI
# runs lint-imports.

[importlinter]
root_packages =
    mgf.alembic
include_external_packages = True

[importlinter:contract:mgf-alembic-closed-box]
name = mgf.alembic imports no UI framework, unrelated heavy SDK, or non-cornerstone sibling
type = forbidden
source_modules =
    mgf.alembic
forbidden_modules =
    PySide6
    PyQt6
    PyQt5
    textual
    rich
    click
    fastapi
    starlette
    flask
    django
    requests
    httpx
    pydantic
    numpy
    pandas
