Repository navigation
Audit Argumentation-07b-Communication-Channels : provenance morte — communication_channels.py n'a jamais existé au tronc #18434
Description
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 :
argumentation_analysis/core/communication/communication_channels.pyn'existe pas et n'a jamais existé —git log --all -- argumentation_analysis/core/communication/communication_channels.pyne retourne rien. Ce n'est pas un organe retiré (commedialogue_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.- Le contrat réel est réparti sur trois modules :
channel_interface.py:ChannelType(L17, membresNEGOTIATION/FEEDBACK/SYSTEML23-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.
- 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 unREADME.mdet un répertoiretests/. - Les « 12 bancs de cas du sas (45 cas au total) » cités comme source de vérité (cellule id=
ed328a61) sous les nomsmessage_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 29def test_(test_channel_interface.py10,test_communication_integration.py4,test_message.py15). - 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=1602f415importe 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.pyL201-216 documente queEVENT/CONTROL/SUBSCRIPTIONne routent plus versFEEDBACK/SYSTEMcar trois des septChannelTypen'ont pas d'implémentationChannel— 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.pyL21),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 # videTronc EPITA au permalien ecfd9b9c31d299ad9e08ee0e7a726d436f4ebd8e : argumentation_analysis/core/communication/middleware.py#L201-L216, channel_interface.py#L17, request_response.py#L21.
Liens
- Parent : [Argumentation] La chaîne conservée simule le LLM : rétablir l'orchestration d'agents à plugins du tronc EPITA (critique de la disposition « sans successeur » de #17547) #18390
- Arc de distillation : [Argumentation] Arc narratif a deux dimensions : numeros (du concept d'argument au pipeline) et accretions (theorie, instruments) — fille #5081 #17547
- Défauts jumeaux (provenance morte) : Argumentation-04-Dialogues : la machine a neuf actes est un code retire du tronc (#2137) — le dialogue vivant est le grounding JVM (DialogueHandler) #18419 (04-Dialogues, organe retiré), Argumentation-04b-Knowledge-Base : la provenance cite un chemin retiré du tronc (#2137) — et la limite mesurée du §2 est la feature que DebateState argument_network retient #18424 (04b-KB, chemin retiré)
- EPIC : [EPIC] Argument_Analysis v3 — submodule Argumentum (prémerge v0.9.0) + remontées moteur (CsvDiff/DatasetUpdater/Owl) + landing essence multidimensionnelle EPITA-IS #4960
Activity
jsboige commentedon Sep 29, 2026
[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.)fix(argu,#18434): correct provenance for Argumentation-07b bus port (#…
fix(argu,#18434): correct provenance for Argumentation-07b bus port (#…
fix(closure-dossier,#15578): lire body PR depuis timeline au lieu de …
docs(consolidation,#16473): acceptance 2 lot 6 (axe E, 60 orphelines #…
docs(consolidation,#16473): acceptance 2 lot 6 (axe E, 60 orphelines #…
docs(consolidation,#16473): acceptance 2 lots 1+3+4+5+6 (axes B/A/C/D…
myia-ai-01 commentedon Oct 6, 2026
[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].
jsboige commentedon Oct 6, 2026
[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 :
channel_interface.pyL17/L109/L155,message.pyL110/L191,middleware.pyL163 méthode). Le port vendored local est explicitement déclaré « extraction de données, pas import du dépôt étudiant » (fix(symbolicai,#17669): passe de re-pin AIF -- OWL/CSV resync 6bc573f, mindmap au pin, DEMO par annotation #19086).ls argumentation_analysis/core/communication/», sans noms fictifs.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 :
python scripts/check_closure_dossier.py 18434 --template --lane myia-po-2024:CoursIA-2→ verdict REPLACE_WITH_CLOSE_OR_KEEP ;comments-reviewed: 2(le commentaire initial du constat + le commentaire Hermès sur le compte 13→12). Aucun commentaire non levé post-merge.jsboige commentedon Oct 6, 2026
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 :[DELIVERED]— PR #19500fix(argumentation,#18436): neutral placeholder header in cellule 10(diff +3/-8)[DELIVERED CLOSE]— PR #18495commit 67e159ad3, MERGED 0b4cd7dd8(lane tierce po-2023)[INFO] candidate-delivered— PR #18497 livre le mode 8 (conversation_real)[DELIVERED]— PR #18979feature/18393-real-agents, heade6f072aaff— le rung « Paradigme B » exécute maintenant les vrais agents (AgentGroupChat de la shim)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
jsboige commentedon Oct 10, 2026
[INFO] candidate-delivered -- #18434 : livré par #18495 (MERGE, commit
0b4cd7dd8c6esur main) ; mesure sur l'arbre, pas relecture du body.lane
myia-po-2027:CoursIA, 2026-10-10. Constats du body vérifiés contreorigin/mainet le tronc EPITA :communication_channels.pynommé organe du tronc)294aa801deArgumentation-07b-Communication-Channels-Python.ipynbporte « 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 lignesed328a61: 3 fichiers de tests, 29 tests au total, annonce explicite « pas 12 bancs / 45 cas »1602f415)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.
myia-ai-01 commentedon Oct 10, 2026
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.