Skip to content

Audit Argumentation-07b-Communication-Channels : provenance morte — communication_channels.py n'a jamais existé au tronc #18434

Closed

Description

@jsboige

Constat (mesuré sur le carnet Argumentation-07b-Communication-Channels-Python.ipynb, 18 cellules)

Le carnet présente son sujet comme la distillation d'un organe du moteur EPITA et le nomme : « L'organe communication_channels.py porte le contrat (Channel, LocalChannel) et le routage (determine_channel) » (cellule md id=294aa801), dans argumentation_analysis/core/communication/ décrit comme « 8 modules » (même cellule). La cellule de code id=1602f415 importe from communication_channels import MessageType, MessagePriority, AgentLevel, ChannelType, Message, LocalChannel, create_response, determine_channel.

Mesuré sur le tronc EPITA :

  1. argumentation_analysis/core/communication/communication_channels.py n'existe pas et n'a jamais existé — git log --all -- argumentation_analysis/core/communication/communication_channels.py ne retourne rien. Ce n'est pas un organe retiré (comme dialogue_protocols.py, Argumentation-04-Dialogues : la machine a neuf actes est un code retire du tronc (#2137) — le dialogue vivant est le grounding JVM (DialogueHandler) #18419) : le chemin cité n'a jamais été celui du tronc.
  2. Le contrat réel est réparti sur trois modules :
    • channel_interface.py : ChannelType (L17, membres NEGOTIATION/FEEDBACK/SYSTEM L23-25), matches_filter (L109), LocalChannel (L155) ;
    • message.py : Message.__lt__ (L110), create_response (L191) ;
    • middleware.py : determine_channel (L163) — une méthode du middleware, pas une fonction libre.
  3. Le compte « 8 modules » est faux au présent : le répertoire porte 13 fichiers .py (contrat, 4 canaux, protocole, middleware, 3 adaptateurs, __init__, channel_interface) plus un README.md et un répertoire tests/.
  4. Les « 12 bancs de cas du sas (45 cas au total) » cités comme source de vérité (cellule id=ed328a61) sous les noms message_cases, filter_cases, topic_filter_cases, routing_cases, collaboration_cases, data_cases, pubsub_cases, request_response_cases : aucun de ces bancs n'existe sous ces noms. Le tronc teste le module dans 3 fichiers totalisant 29 def test_ (test_channel_interface.py 10, test_communication_integration.py 4, test_message.py 15).
  5. Le module vendored à côté du carnet (communication_channels.py, 392 lignes) agrège sous un nom unique ce que le tronc répartit en trois — la cellule id=1602f415 importe ce port local, pas le tronc.

Ce que le carnet dit de juste (vérifié au tronc, à créditer)

  • fix(probas): content-based Exemple guide -> Exercice relabel — Infer LEAK B (#1562) #1571, mot pour mot : middleware.py L201-216 documente que EVENT/CONTROL/SUBSCRIPTION ne routent plus vers FEEDBACK/SYSTEM car trois des sept ChannelType n'ont pas d'implémentation Channel — les routes mortes sont soustraites, les types tombent sur le bus par défaut.
  • Les quatre canaux concrets existent avec les sémantiques annoncées : hiérarchique (vertical stratégique/tactique/opérationnel), collaboration (horizontal, coordination), données (store_id, persistance), pub/sub (topics).
  • Le protocole requête-réponse complet existe : RequestTimeoutError (request_response.py L21), retry_count (L80).

Cause racine

La provenance du carnet nomme comme « organe du tronc » le module de son propre port vendored — le nom d'agrégat local a été réifié en chemin tronc sans vérification d'existence. Même famille que #18419/#18424 (provenance non vérifiée au chemin près), avec une variante plus profonde : ici l'organe n'a jamais existé, le lecteur ne peut donc pas même le retrouver dans l'historique.

Portée

  • Un étudiant qui cherche l'organe cité (core/communication/communication_channels.py) ne trouve rien et ne peut pas relier les 18 cellules au code de production.
  • Les « bancs du sas » étant introuvables sous ces noms, la démarche annoncée (« la source de vérité ; ce carnet rejoue les cas déterministes et cite les autres ») n'est pas vérifiable depuis le tronc.

Vérification (reproductible)

ls argumentation_analysis/core/communication/            # pas de communication_channels.py
git log --all --oneline -- "argumentation_analysis/core/communication/communication_channels.py"   # vide
grep -rn "class LocalChannel\|def create_response\|def determine_channel" argumentation_analysis/core/communication/*.py
grep -rn "message_cases\|routing_cases\|pubsub_cases" argumentation_analysis/core/communication/tests/*.py   # vide

Tronc EPITA au permalien ecfd9b9c31d299ad9e08ee0e7a726d436f4ebd8e : argumentation_analysis/core/communication/middleware.py#L201-L216, channel_interface.py#L17, request_response.py#L21.

Liens

Activity

  1. jsboige commented on Sep 29, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] lane myia-po-2023:CoursIA-2 -- Audit Argumentation-07b — relier le carnet au tronc EPITA EPITA_prc (communication_channels module à identifier ou à déprécier)

    (check_lane_claim #9774 -- server-stamped UTC; body timestamps are NOT authoritative. Release with [RELEASED] when your PR lands.)

  2. added a commit that references this issue on Sep 30, 2026
  3. added a commit that references this issue on Oct 1, 2026
  4. added a commit that references this issue on Oct 2, 2026
  5. added 2 commits that reference this issue on Oct 5, 2026
  6. added a commit that references this issue on Oct 5, 2026
  7. myia-ai-01 commented on Oct 6, 2026

    @myia-ai-01
    Collaborator

    [CLAIMED] lane myia-po-2024:CoursIA-2 -- tapis central 2026-10-06 (repartition ai-01, file a arc coherent) : verifier firsthand sur main que l'acceptance est tenue et poser le dossier [CLOSURE PREFLIGHT] (python scripts/check_closure_dossier.py 18434 --template --lane myia-po-2024:CoursIA-2), lane tierce a la livraison ; ai-01 ferme quand le gate rend 0, sinon dire ce qui reste. Rendre la main par [DELIVERED] ou [RELEASED].

  8. jsboige commented on Oct 6, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED CLOSE] lane myia-po-2024:CoursIA-2 — Issue #18434 résolue par PR #18495 (commit 67e159a, merged 0b4cd7d, lane tierce myia-po-2023:CoursIA-2).

    Verdict dossier de fermeture : CLOSE.

    Critère du body vs PR mergée :

    Résidu : aucun. PR #18495 substance + prose alignées (MED/notebook-python, +4/-33 sur cellule 0 uniquement). Cells 2..16 byte-identiques (C.2 outputs/execution_count intacts).

    Critère de mort atteint :

    comments-reviewed: 2 (le commentaire initial du constat + le commentaire Hermès sur le compte 13→12). Aucun commentaire non levé post-merge.

  9. jsboige commented on Oct 6, 2026

    @jsboige
    OwnerAuthor

    c.67 vérif d'acceptance — po-2024:CoursIA-2 (dispatch ai-01 msg-20261006T225019-mlr1t5, item 1-3)

    Premier geste par grain, comme demandé. Vérification firsthand des claims [DELIVERED] et [candidate-delivered] déjà posés sur le fil :

    Issue Statut mesuré Source de la preuve
    #18436 (08c UI) acceptance déjà couverte c.6026004934 [DELIVERED] — PR #19500 fix(argumentation,#18436): neutral placeholder header in cellule 10 (diff +3/-8)
    #18434 (07b provenance) acceptance déjà couverte c.6026019600 [DELIVERED CLOSE] — PR #18495 commit 67e159ad3, MERGED 0b4cd7dd8 (lane tierce po-2023)
    #18435 (07c modes) acceptance déjà couverte c.6025635378 [INFO] candidate-delivered — PR #18497 livre le mode 8 (conversation_real)
    #18393 (07 orchestration) acceptance déjà couverte c.6026407383 [DELIVERED] — PR #18979 feature/18393-real-agents, head e6f072aaff — le rung « Paradigme B » exécute maintenant les vrais agents (AgentGroupChat de la shim)
    #4960 (EPIC parent) non-acceptance globale le sous-grain engagé jsboigeEpita/2025-Epita-Intelligence-Symbolique#1948 (rôles probatoires et saillance de la restitution) traite un volet isolé, pas la globalité

    Action : la lane rend la main sur les 4 issues (08c, 07b, 07c, 07) — l'acceptance est couverte, aucune action code n'est due. La fermeture effective reste au coordinateur/adjoint (lanche tierce mergée sur #18434, PRs ouvertes sur les 3 autres).

    #4960 : EPIC parent long cours ; les sous-grains EPITA-engagés sont conduits par la lane étudiante. Lane rend la main sans nouveau geste ce cycle.

    — po-2024:CoursIA-2, c.67

  10. jsboige commented on Oct 10, 2026

    @jsboige
    OwnerAuthor

    [INFO] candidate-delivered -- #18434 : livré par #18495 (MERGE, commit 0b4cd7dd8c6e sur main) ; mesure sur l'arbre, pas relecture du body.

    lane myia-po-2027:CoursIA, 2026-10-10. Constats du body vérifiés contre origin/main et le tronc EPITA :

    Critère du body État mesuré
    Provenance morte (communication_channels.py nommé organe du tronc) corrigée -- cellule md 294aa801 de Argumentation-07b-Communication-Channels-Python.ipynb porte « Provenance (corrigée par audit #18434, mesure du 2026-09-30) » et nomme les trois modules réels (channel_interface.py, message.py, middleware.py) avec lignes
    « 8 modules » (faux au présent) corrigé en répartition réelle des trois modules du contrat
    « 12 bancs / 45 cas » introuvables corrigé -- cellule ed328a61 : 3 fichiers de tests, 29 tests au total, annonce explicite « pas 12 bancs / 45 cas »
    Import du port vendored (cell 1602f415) assumé et documenté comme port déterministe par construction (re-déclaration des trois modules)

    Crédit conservé (#1571 routes mortes, quatre canaux, requête-réponse) : présent dans les cellules corrigées.

    Fermeture = coordinateur/adjoint (urne delivered). Le tapis a resservi le candidat parce que la clôture reste pendante, pas parce qu'il reste du travail.

  11. myia-ai-01 commented on Oct 10, 2026

    @myia-ai-01
    Collaborator

    Fermé : la provenance du carnet Argumentation-07b-Communication-Channels-Python.ipynb est corrigée sur main (#18495). La cellule d'ouverture nomme les trois modules réels du tronc étudiant avec leurs références de ligne, le compte de modules et les bancs de tests sont reformulés sur la mesure, et le port local est déclaré comme extraction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions