# F44 — engagement-scope code (kairix/**) may not import firm-scope storage clients (Postgres).
#
# Empty at landing — no engagement-scope code currently imports firm-scope
# clients. F44 is preventive: locks the boundary as Surface C/D work begins
# to land in a separate codebase.
#
# Two-scope architecture:
#   * Engagement scope — single-engagement state. SQLite + Neo4j + filesystem.
#     This repo, under kairix/.
#   * Firm scope — cross-engagement state. Postgres-only. Separate kairix-firm/
#     codebase. The only sanctioned cross-scope flow is the reflection-extractor
#     (one-way, append-only, audited).
#
# Denylisted import-name prefixes (the standard Python Postgres clients):
#   psycopg, psycopg2, asyncpg, pg8000, aiopg
#   (psycopg-binary / psycopg2-binary are wheel distributions that install
#   the psycopg / psycopg2 module — covered by the prefixes above.)
#
# Source ADRs (kairix-pro-platform):
#   docs/ADRs/ADR-017-two-scope-architecture.md
#   docs/ADRs/ADR-018-storage-tiering.md
#
# Baseline policy: net-new violations are blocked by the F44 gate. If a file
# is added here, the PR description must explain why engagement code cannot
# route via the reflection-extractor (the sanctioned cross-scope flow). The
# expected steady state is zero entries.
