# tests/test_cte_probe.py """Sonde du doc d'architecture CTE (docs/heritage/cte-architecture.md). Doc produit par la tâche T1 du plan 5 (CteCore, vorax — archive heritage) : il est la source de vérité des sémantiques de forward extraites de ../fractus-cte (LECTURE SEULE) et du sondage du checkpoint 1B (440 clés). Ces tests sont purs Python (aucun torch requis) — ils tournent dans le venv mingw. """ from pathlib import Path DOC = Path(__file__).resolve().parents[1] / "docs" / "heritage" / "cte-architecture.md" REQUIRED_SECTIONS = ( "## Forward", "## États porteurs", "## MoE batché", "## Recette d'inférence", "## Table des clés", ) def test_cte_doc_exists_and_has_sections(): """Le doc existe et contient les cinq ancres exigées par le plan 5 T1.""" text = DOC.read_text(encoding="utf-8") missing = [s for s in REQUIRED_SECTIONS if s not in text] assert not missing, f"sections manquantes dans {DOC}: {missing}" def test_cte_doc_cites_sources(): """Chaque section clé cite ses sources fichier:ligne (rigueur P3).""" text = DOC.read_text(encoding="utf-8") assert "continuous_engine.py:" in text, "références continuous_engine.py:ligne absentes" assert "moe.py:" in text, "références moe.py:ligne absentes (GELU !)"