"""Réutilisation des briques déjà livrées (workflow #5 · zéro duplication).

Le run-book de déploiement ne redéfinit rien :
  - `validate` = le validateur JSON-Schema maison du Publiciste (draft-07,
    sous-ensemble · aucune dépendance pip · le gate CI tourne sans réseau · #2).
  - `parse_ci` = le parseur de `.gitea/workflows/ci.yml` de l'auditeur 4Big
    (q4lib.registry), SEULE autorité sur les modules réellement gated. Réutilisé
    ici pour dériver — jamais lister à la main — l'ensemble des livrables à
    déployer (périmètre PROUVÉ, pas déclaré).

Import par `sys.path` (idiome des modules voisins) — une seule source de vérité.
"""

from __future__ import annotations

import os
import sys

_HERE = os.path.dirname(os.path.abspath(__file__))
# devops/deploy_runbook/deploylib → 05_deliverables_mvp
_DELIVERABLES = os.path.normpath(os.path.join(_HERE, "..", "..", ".."))
_PUB = os.path.join(_DELIVERABLES, "publiciste")
_AUDIT4BIG = os.path.join(_DELIVERABLES, "qa", "audit_4big")

for _p in (_PUB, _AUDIT4BIG):
    if _p not in sys.path:
        sys.path.insert(0, _p)

from lib import validator  # type: ignore  # noqa: E402
from q4lib import registry  # type: ignore  # noqa: E402

validate = validator.validate
parse_ci = registry.parse_ci

# Racine des livrables, exposée aux consommateurs.
DELIVERABLES_ROOT = _DELIVERABLES

__all__ = ["validate", "parse_ci", "DELIVERABLES_ROOT"]
