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

[importlinter]
root_packages =
    mgf.http
include_external_packages = True

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