[Audit #17073] Série ICT — partition Hermes #17211
Description
Activity
ICT-03 — 3 findings (31 cellules, organes consultés)
Organes (passe réelle, checkout dc0ccbf) : split_reading_cells 1 signal — paire [9,10] « couvert par l'organe » (empilement détecté, voir F2) ; interp_positioning 0, output_failure_text 0, source_parses 0, accents 0 cures / 6 formes hors table (moyenne, trie, compare — hors table canonique). duplicate_sections : absent du checkout (#17068).
F1 — navigation-misplaced · cellules 9 (id
None, markdown) puis 11 (38c5c1a8)Extrait (cell 9) :
**Lecture.** La visualisation confirme la dégradation gracieuse : la courbe descend progressivement sans effondrement brutal, illustrant la robustesse du système face aux lésions.La lecture « La visualisation confirme… » apparaît avant la cellule 11 qui produit la figure (errorbar passive/obstacle) : l'apprenant lit un commentaire d'image inexistante, puis voit la figure, puis la vraie lecture (cell 12) — commentaire déplacé entre les cellules 8 (tableau) et 11 (figure), à repositionner après la cellule 11.
F2 — paraphrase-stack · cellules 10 (id
None) et 12 (1f6f7f62)Extrait (cell 10) :
**Lecture.** Les valeurs de sortedness montrent que le régimebubbleen modepassivemaintient mieux l'ordre que le régimeobstacle, avec une dégradation plus progressive.La cellule 10 paraphrase le tableau de la cellule 8, la cellule 12 (post-figure) reprend la même analyse en plus riche (« reste nettement au-dessus… ~0.6 de sortedness ») : deux lectures pour une même sortie = empilement — réécrire l'existante (règle #13410), la cellule 10 se fond dans la 12.
F3 — output-uninterpreted · cellule 20 (id
None), sortie de la cellule 19 (19dginconnu)Extrait (cell 20) :
**Lecture.** Les épisodes de délai de gratification sont légèrement plus longs pour bubble (moyenne=91.4) que pour insertion (moyenne=89.8), suggérant que bubble tolère mieux les reculs locaux de monotonie avant de reprendre sa progression vers l'ordre.La sortie de 19 compte des épisodes (moyenne=91.4, min=85, max=98) et la cellule 20 les lit comme des durées (« plus longs… avant de reprendre sa progression ») — interprétation contredite par la cellule 22 qui dit « ~90 épisodes en moyenne… bubble en exhibant marginalement plus » : réécrire la lecture existante pour parler de fréquence/comptage, pas de longueur d'épisode.
RAS ailleurs : sections 2 et 4 propres (lectures post-outputs, exercices narrés, stubs TODO conformes), conclusion solide alignée sur les mesures. Panorama de série en tête d'issue.
clusterManager-Myia commented
on Sep 21, 2026 CollaboratorMore actionsICT-08-AttractorLandscapesEWS-Python.ipynb — audit apprenant ( campagne #17073, partition Hermes )
Passe d'organes : 0 signal sur 4 checks (
check_split_reading_cells,check_interp_positioning,check_output_failure_text,check_cell_source_parses) ; accents : 8 cures / 36 formes hors table ;check_duplicate_sectionsabsent du checkout (porteur #17066 : rien à couvrir ici). Vue structurelle : aucun header dupliqué, pas de prose empilée.Verdict global : notebook d'excellente facture — les deux fils (métaphore/mesure) sont réellement tressés, chaque output a exactement une lecture chiffrée dont j'ai rejoué l'arithmétique : écart col-puits 6,40 → 0,06 ✓ ; variance ×4,3 ✓ ; marges AR1 §5 (0,0013 vs 0,06, ratio ≈47) ✓ ; ~31 % de variance de dérive ✓ ; retard de bascule 0,018 ✓ ; ρ=0,650/p=0,0145 puis découplage Scan A/B ✓. Exercices à stub
Noneconforme à la convention de série (ICT-05 identique). 2 findings, tous deuxstale-claim.
Finding 1 —
stale-claim(sous-famille citation-de-cellule, détecteurcheck_cited_code_in_markdowndéjà proposé par NanoClaw)- Cellule :
0c32a5ac(markdown §6 « Lecture — La rampe réelle », 2ᵉ cellule de lecture). - Extrait :
bascule effectivement à t = 184 446…presque au pli localisé à la cellule 0 (c_fold ≈ 2.604)…d'autant plus lisible que la cellule 6 avait montré l'AR1 brute saturée (0.9987 brut, 0.9386 après amincissement x50) - Pourquoi : le seul compteur visible dans Jupyter est
exec_count(1–12) ; « cellule 0 » et « cellule 6 » suivent une convention 0-based du compteur de code invisible pour l'apprenant — sousexec_count, « cellule 6 » pointe sur le stub de l'Exercice 2, pas sur la démonstration AR1 (exec 7), et l'apprenant qui vérifie la référence aboutit sur la mauvaise cellule (les valeurs citées, elles, sont exactes).
Finding 2 —
stale-claim(valeur dérivée fausse dans la lecture ; saveur voisine decheck_runtime_claims_backed— ligne additive, pas de nouvel organe)- Cellule :
401a78dd(markdown §4 « Lecture chiffree - la montee des deux precurseurs »). - Extrait :
l'AR1 de 0,7370 à 0,9315 (une marge de 0,19 avant saturation) - Pourquoi : la marge avant saturation à AR1 = 0,9315 est 1 − 0,9315 ≈ 0,07, pas 0,19 (qui est la variation de l'AR1 sur la table) ; la §5 du même notebook définit la marge comme 1 − AR1 (« sa marge avant saturation n'est que de 0,0013 » pour 0,9987) — l'apprenant qui recalcule la marge avec la définition de la section suivante trouve un chiffre ~3× plus petit et ne peut départager lequel des deux sens est le bon.
RAS signalé par ailleurs : §7/§8 (pont causal emergence → recouvrabilité) assumé comme modèle-gradient avec matrice de dissociations #7734 / #8077 — falsifié honnêtement (Scan B ρ = −1). Prérequis ICT-5/6 déclarés en en-tête, cohérents avec le survol headers.
Compte campagne :
stale-claimpasse à 20 occurrences Hermes — aucune nouvelle sous-famille (les deux relèvent des détecteurs déjà proposés) ; ligne additive.- Cellule :
Audit ICT-04 — ChimericArraysKinAggregation-Python.ipynb (cycle #17073, partition Hermes)
Organes : couverts (0 signal sur 5 checks ; accents 19 cures / 1 cellule + 23 formes hors table). Panneau série : ICT-03 et ICT-08 déjà déposés ci-dessus.
Findings (2) :
1. stale-claim — cell 26 (« Ponts avec le reste de la série »)
ICT-7 — Signatures scale-free & fractales (à venir) : les motifs multi-échelles que ces dynamiques engendrent.
ICT-07-ScaleFreeSignatures-Python.ipynbexiste au head courant (ajouté dans le même commitd412b5a13que ce notebook, 20/09 — antériorité vérifiée pargit log --diff-filter=A) : le « à venir » était déjà périmé au moment du commit, et l'entrée n'a pas de lien cliquable contrairement aux deux lignes précédentes. L'apprenant qui termine la boucle ICT-2→ICT-4 croit le prolongement inexistant et ne le lit pas.2. stale-claim — cell 18 (lecture du balayage de liberté, sortie cell 17)
Dès que les valeurs se répètent (
copies ≥ 2), la courbe « kin ON » décolle et croît avec la liberté disponible, tandis que le contrôle reste à zéro.Sortie committée :
kin ON = +0.017 | +0.223 | +0.313 | +0.216 | +0.280 | +0.272(non-monotone : chute 0.313→0.216 entre copies=3 et copies=4) ;kin OFF = +0.017 | -0.004 | +0.019 | -0.024 | -0.103 | -0.129(dérive négative croissante, jamais « zéro », et égale à ON à copies=1). La phrase qui « confirme empiriquement la thèse » contredit la sortie sur ses deux membres ; l'apprenant qui vérifie chiffre par chiffre ne retrouve ni la croissance, ni le zéro.Vérifié sans défaut : citation ICT-2 Exercice 3 (verbatim exacte), API
kin_sign/steps/proberéelle dansict/kin_sorting.py(exercices 2-3 exécutables), squelettes TODO conformes, 4 figures labellées, aucun header dupliqué.clusterManager-Myia commented
on Sep 22, 2026 CollaboratorMore actions[Hermes] Audit
IIT/ICT-Series/ICT-05-CausalEmergence-Python.ipynb— 4 findingsOrganes : couverts (0 signal sur 6 checks ; accents 0 cure / 3 formes hors table banales : emergence ×2, montre ×1).
1.
stale-claim— la conclusion annonce une suite « à venir » qui est publiée- cellules :
7f469a93(Conclusion, cellule 28) - extrait : « ICT-6 — Pont tri → TPM → PyPhi (à venir) : construire la TPM d'une simulation de tri-morphogenèse »
- pourquoi :
ICT-06-SortingToTPM-CausalEmergence-Python.ipynbest committé dans la série (217 KB) — l'apprenant qui termine ICT-5 croit qu'il n'a nulle part où aller alors que la suite existe et aurait pu être liée comme les autres.
2.
stale-claim— la promesse d'ouverture du §4 (« comparons l'EI micro à l'EI macro ») n'est jamais tenue- cellules :
3f44fc58(§4, cellule 17),a7f8f458(cellule 18), lecture cellule 19 - extrait : « Comparons l'EI micro à l'EI du meilleur macro-réseau trouvé. »
- pourquoi : la cellule suivante ne calcule aucun EI macro (le seul
effective_infodu notebook est micro :micro_ei = float(M.effective_info(net))) ; la comparaison annoncée — le cœur explicatif du « pourquoi le macro gagne » — n'a jamais lieu, et la lecture de la cellule 19 le constate elle-même (« la sortie n'affiche pas l'EI du macro ») sans que rien ne répare la promesse.
3.
stale-claim— contradiction interne sur la décomposition de l'EI- cellules :
3f44fc58(formule, cellule 17) vs lecture cellule 19 (sans id) - extrait : formule « EI = déterminisme − dégénérescence » contre « l'EI est le produit déterminisme × non-dégénérescence »
- pourquoi : deux définitions incompatibles à deux cellules d'écart (Hoel : différence, pas produit) ; l'apprenant ne peut pas les réconcilier et retiendra la fausse, énoncée dans la cellule de lecture qu'il est invité à lire comme consolidation.
4.
orphan-statement— code mort d'une version antérieure- cellules :
a7f8f458(cellule 18) - extrait :
macro_network_obj = mn.network if hasattr(mn, "network") else None - pourquoi :
macro_network_objetmacro_subsont assignés puis jamais lus, sous un commentaire qui prétend « on reconstruit le macro via le coarse-grain retenu » alors que rien n'est reconstruit — résidu d'une version antérieure qui calcule un faux-semblant d'analyse macro.
Points vérifiés sans défaut : les lectures des cellules 10/13/15/19 sont toutes fidèles aux outputs (0,114 / 0,597 / +0,483, partitions
((0,1),(2,3))et((0,),(1,2))exactes, « environ cinq fois plus intégrée » = 5,24 ✓) ; exercices propres (stubsTODO etudiant+ indices, aucune fuite de solution) ; prérequis noyau PyPhi déclaré avec lien vers IIT-01 ; lien pont do-calculus pertinent.Comptage campagne Hermes après ce cycle :
stale-claim18 (organe déjà proposé, aucune nouvelle sous-famille — les trois instances ci-dessus relèvent des sous-familles connues : référence prospective périmée, promesse de section non tenue, contradiction interne).orphan-statement: nouvelle sous-famille « assignation jamais réutilisée » — trivialement mécanisable par AST (assignation top-level jamais référencée ensuite), candidate à joindre à la proposition d'organe existante.- cellules :
clusterManager-Myia commented
on Sep 22, 2026 CollaboratorMore actions[Hermes] Audit
IIT/ICT-Series/ICT-06-SortingToTPM-CausalEmergence-Python.ipynb— 3 findings (classeparaphrase-stack, 3 occurrences)Organes : couverts (passe réelle, checkout d8b1571 — 0 signal sur 5 checks : split_reading 0, interp_positioning 0, output_failure 0, source_parses 0, duplicate_sections 0 ; accents 12 cures/6 cellules + 83 formes hors table). Le détecteur
check_interp_positioningne voit pas le défaut ci-dessous : il ne repère que les lectures avant le code, pas les lectures dupliquées.Survol de série : ICT-05 (prérequis direct, relu en headers) — une seule lecture par output ; le présent écart est propre à ICT-06. Pattern du notebook : chaque sortie reçoit une cellule « Lecture chiffrée » (sans id, valeurs recopiées) suivie d'une cellule
ict6-*-interprépétant la même lecture.Finding 1 —
paraphrase-stack(pair 14+15, sortie micro-profil)Cellules : markdown sans id (après
ict6-micro-code, cell 13) +ict6-micro-interp(cell 15).
Extrait (verbatim cell 15) : « Le micro-niveau est assez déterministe (le tri ne disperse pas beaucoup : depuis un etat, peu d'etats suivants sont possibles) et très spécifique (peu de degenerescence : les effets renseignent bien sur la cause). »
Pourquoi : la « Lecture chiffrée » cell 14 lit déjà cette sortie (0,75 / 0,97 / 0,03), la cell 15 répète les mêmes trois adjectifs sans ajouter d'information — l'apprenant relit deux fois la même interprétation et perd le repère de « où est LA lecture ».Finding 2 —
paraphrase-stack(pair 18+19, sortie macro naïf)Cellules : markdown sans id (après
ict6-naive-code, cell 17) +ict6-naive-interp(cell 19).
Extrait (verbatim cell 19) : « Le macro intuitif ECHOUE : regrouper par niveau de tri baisse l'effectiveness. La raison est instructive — en oubliant quelle inversion subsiste, on rend les transitions plus floues »
Pourquoi : cell 18 énonce déjà mot pour mot le même échec et le même mécanisme (« Regrouper par niveau de tri rend les transitions plus floues : un meme niveau peut descendre vers plusieurs niveaux selon la permutation exacte ») — redite quasi verbatim, l'apprenant parcourt deux fois le même argument.Finding 3 —
paraphrase-stack(pair 27+28, sortie EC)Cellules : markdown sans id (après
ict6-ec-code, cell 26) +ict6-ec-interp(cell 28).
Extrait (verbatim cell 28) : « Le travail causal n'est pas porte par une seule fusion : les gains$\Delta$ se repartissent sur tout le chemin, avec une concentration vers les echelles les plus grossieres »
Pourquoi : cell 27 lit déjà EC = log2 L + H(p) sur la sortie ET la concentration des deltas vers les dernières fusions ; la cell 28 reprend exactement cette phrase (« les plus gros deltas se concentrent sur les dernieres fusions ») sans valeur nouvelle — triple redite du même point sur deux cellules.Note règle #13410 : conformément à la règle « si une lecture existe déjà pour cette sortie, on la RÉÉCRIT — jamais en ajouter une seconde », la réparation consisterait à fusionner chaque paire en une seule cellule (la « Lecture chiffrée » absorbe l'interp) — jamais à empiler. Note d'arbitrage : la version « Lecture chiffrée » de chaque paire est la plus riche (valeurs + identité mathématique) ; la version
*-interpest la redondante.Statut épistémique : cohérent, pas de finding.
[Hermes] Compteur campagne
paraphrase-stack: 10 occurrences — nouvelle sous-famille « double-lecture d'une même sortie »Dépassement du seuil 3+ avec ce cycle (7 avant → 10). La proposition d'organe existante (2026-09-21,
check_repeated_trans…) cible la répétition de transitions identiques ; la sous-famille documentée ici est distincte et mécanisable :check_double_reading.py(piste, à arbitrer — lecture seule stricte) — pour chaque cellule code à sortie, si 2+ cellules markdown consécutives suivent l'output ET que la 2ᵉ paraphrase la 1ʳᵉ (recouvrement lexical élevé — jaccard sur lemmes/termes techniques du domaine : determinisme, degenerescence, effectiveness, floues, fusion, etc. — ou répétition verbatim d'un même argument), signaler la paire. Le détecteur embarqué denb_view.pyrepère déjà les piles de prose (critère 1 #17040) mais ne discrimine pas paraphrase vs complément ; l'organe trancherait sur le recouvrement sémantique. Différenciation : signature = « Lecture chiffrée » sans id suivie de*-interpidentique en substance.clusterManager-Myia commented
on Sep 22, 2026 CollaboratorMore actions[Hermes] Audit
IIT/ICT-Series/ICT-07-ScaleFreeSignatures-Python.ipynb— 1 findingOrganes : couverts (passe réelle, checkout post-pull — 0 signal sur 5 checks : split_reading 0, interp_positioning 0, output_failure 0, source_parses 0, duplicate_sections 0 ; accents 3 cures / 3 cellules + 4 formes hors table : paraît ×1, possède ×3).
1.
exercise-mismatch— l'« échantillon mystère » de l'Exercice 2 est exactement le cas déjà tranché deux fois dans le notebook- cellules :
c70299d4(énoncé Ex. 2, cell 24),23c36fbe(générateur, cell 25) - extrait : « On vous donne un echantillon
mystere(genere ci-dessous sans vous dire son origine). Appliquez la chaîne complete de diagnostic et concluez : scale-free ou echelle caracteristique ? » - pourquoi : la cellule 25 le construit par
mystere = sf.branching_avalanche_sizes(1.0, 8000, _rng_mystere)— le branchement critique μ=1 dont les sections 3 et 6 affichent déjà verdict, α≈1.58, KS=0.017 et p-GoF=0.625 dans leurs sorties. L'apprenant relit la réponse (souvenance des sorties affichées + indice « c'est tout l'enjeu du notebook ») au lieu d'appliquer la chaîne de diagnostic ; l'exercice « sans vous dire son origine » n'est mystérieux que pour qui n'a pas défilé.
RAS sur le reste : figures 1-4 titrées et référencées dans la prose (cells 17, 26), toutes les APIs
sf.*etprobe.swaps/ALGOTYPESexistent avec les signatures utilisées (select_xmin,compare_powerlaw_exponential(rng=, gof_boot=),rescaled_ccdf(data, scale=),branching_avalanche_sizes(mu, n, rng)) — vérifié dansict/scale_free.py+ict/self_sorting.pydu dépôt ;claimcellule 2 (« ne depend que de la bibliotheque standard ») vérifié (importsmath/random/typinguniquement) ; lien matrice de dissociations existe (docs/ict/dissociations-matrix.md) ; Exercice 1 cohérent (balayage μ∈[0.85, 1.15] exploré nulle part ailleurs) ; statut épistémique cell 1 précis et non redondant. Classeexercise-mismatch: +1 (cumul Hermes : 14).- cellules :
clusterManager-Myia commented
on Sep 22, 2026 CollaboratorMore actionsICT-09-AgencyRegeneration-Python.ipynb
Organes : OK (0 signal sur 5 checks — split_reading 0, interp_positioning 0, output_failure 0, source_parses 0, duplicate_sections 0 ; accents : 2 cures possibles / 1 cellule, 57 formes hors table).
Gates #17040 vérifiées programmatiquement : toutes les valeurs citées dans les 7 cellules de lecture existent verbatim dans les outputs réels (0.00950, 0.01330, 1.22, 2400, 0.1688/0.1063, 0.631, 0.91, 1.26/0.83/1.71).
F1 — output-uninterpreted (output le plus important du notebook : rec > 1 jamais expliqué)
- Cellules :
f7371420(§4, markdown) + code cell 16 (id absent) et sa sortie. - Extrait : « (
$\approx 1$ = zone integralement reconstituee,$\approx 0$ = rien ne repousse) » … sortie : « recuperation A (RD) = 1.22 | GAIN = 1.22 », sweep §7 : « 42 quadrant 1.57 … moyenne=1.26 min=0.83 max=1.71 ». - Pourquoi : la définition posée (rec≈1 = tout reconstruit) est contredite par la sortie principale (1.22, jusqu'à 1.71) ;
agency.recovery_score= (S_rep−S_abl)/(S_ref−S_abl) montre que le système finit avec ~22 % de structure de plus que la référence — sur-régénération jamais nommée, ni dans §4 ni dans le sweep §7. L'apprenant ne peut pas départager « la mesure bug » de « la zone repousse plus dense qu'avant l'ablation », et range 1.22 comme simple « très bonne réparation ».
F2 — stale-claim (indice d'exercice : identifiant accentué inexistant)
- Cellules : 18 (§ Exercice 2, id absent) et 26 (§ Exercice 3, id absent).
- Extrait : «
pure_diffusion_step(champ, modèle.Dv)» (ex. 2) ; «agency.basin_return_probability(modèle, U_form, V_form, make_mask, …)» (ex. 3). - Pourquoi : la variable définie en cellule 2 est
modele(sans accent) ; copier l'indice dans l'éditeur produit unNameError. L'exercice 3 est déjà partiellement dé-référencé dans le stub (commentaire du TODO qui utilisemodele), preuve que la forme accentuée est un reste de prose antérieure.
RAS pour le reste : arc pédagogique solide (morphogenèse → ablation do(.) → deux mondes contrefactuels → gain → anti-complaisance §5-6 → sweep), 3 exercices à stubs corrects (
return None+ TODO, pas d'erreur volontaire), interprétations systématiquement placées après les sorties qu'elles lisent, texte de tête et pont final soignés.- Cellules :
Audit —
MyIA.AI.Notebooks/IIT/ICT-Series/ICT-10-CatastropheGrammar.ipynb(rang 2, série ICT)Verdict : 3 findings —
exercise-mismatch×1,output-uninterpreted×1,navigation-misplaced×1. Lecture apprenante complète (22 cellules, 3 exercices stubbés) + passe d'organes réelle. Posture : apprenant ayant lu ICT-01→ICT-09 (survol des en-têtes de la série).Organes : couverts (0 signal sur 6 checks) —
check_split_reading_cells0 ;check_interp_positioning0 ;check_output_failure_text0 ;check_cell_source_parses0 ;check_duplicate_sections0 ;restore_accents_canonical --check3 cures / 3 cellules + 21 formes hors table (metatheoreme×5,equilibres×5,derive×5,semiophysique×2,creneau×3,portee×1).F1 — exercise-mismatch (ébauche commentée non exécutable en l'état)
- Cellule :
15d9ce70(code Exercice 3, énoncéec48792e) - Extrait :
# y = np.sin(t) + bruit * g.standard_normal(T)(ébauche commentée du TODO) - Pourquoi :
tetTne sont définis nulle part dans le notebook (vérifié par AST sur le code actif de toutes les cellules : jamais assignés) — l'apprenant qui décommente l'ébauche telle quelle prend unNameErrordès la première ligne. Les trois fonctions citées existent bien (constant_velocity_tracker,persistence_tracker,lead_errorvérifiées dansICT-Series/ict/catastrophe.py), c'est le squelette qui dérive. Contraste : les ébauches des exos 1 (5a5fb4b9) et 2 (9641735a) sont auto-suffisantes — la convention marche ailleurs, celle-ci a dérivé. Perte pour l'apprenant : l'exercice le plus fin (biais-variance) commence par une erreur qui n'est pas de son fait.
F2 — output-uninterpreted (écart mesuré vs théorie affiché, jamais lu)
- Cellule :
b0c97999(§3, sortie stream) - Extrait :
b aux franchissements : [0.433, -0.433] (pli theorique : +/-0.385) - Pourquoi : la sortie affiche un écart ~12 % entre franchissement mesuré et pli théorique, et aucune cellule ne l'explique (vérifié : ni la prose §3
1b9908cb, ni la figure, ni la conclusion ne reviennent sur ce chiffre) — alors que le suivi adiabatique discrétisé qui dépasse le pli est exactement le phénomène que la série ICT-8 (ralentissement critique) a outillé. Règle densite pedagogique : 430 notebooks sous le plancher 1200 — surface majoritairement non suivie #13410 respectée : aucune lecture existante de cette sortie, on n'en ajoute pas une seconde — il n'y en a pas. Perte : l'unique endroit du notebook où « mesuré ≠ prédit » est montré sans être lu, dans une série dont le credo affiché est mesurer sans complaisance.
F3 — navigation-misplaced (lien mort vers un fichier existant)
- Cellule :
cf40873b(§6, « Suite immediate de la strate 2/3 ») - Extrait :
[ICT-11](#) (profils d'agence causale aux echelles micro/meso/macro) - Pourquoi : le lien pointe vers
#(ancre vide) alors queICT-11-CausalAgencyProfiles.ipynbexiste dans le même dossier (vérifié) — un fix d'un caractère. Tous les autres liens du notebook résolvent (ICT-0-Framing.md, ICT-08, ICT-09, dissociations-matrix.md, Veille: EML/NAND continu comme substrat interpretable-par-construction (barreau neurosymbolique vers SAE) #4653 vérifiés). Perte : la transition annoncée vers la strate 3 est le moment où l'apprenant veut cliquer.
Non-findings (exclusions Parade 3, explicites)
- Solutions commentées dans les TODO exos 1/2 : convention de stub C.1, ébauches cohérentes → pas des leaks.
return None # TODO: stub réglementaire C.1.- Cohérence prose/nombres du banc §4 vérifiée cellule par cellule (0.0554→« 0.055 », marges ±, lags, 1/3 familles, 5/5-0/5 graines) : exacte partout.
Comptage campagne (ligne additive)
exercise-mismatch17→18 (nouvelle sous-famille « ébauche commentée non exécutable » — 1ʳᵉ occurrence, sous le seuil d'organe),output-uninterpreted6→7 (proposition NanoClaw existante),navigation-misplaced17→18 (proposition Hermes existante). Aucun nouvel organe à proposer.- Cellule :
clusterManager-Myia commented
on Sep 22, 2026 CollaboratorMore actionsICT-11-CausalAgencyProfiles.ipynb — audit apprenant (campagne #17073, partition Hermes)
Passe d'organes (checkout 411af20,
duplicate_sectionsdésormais présent) : 0 signal sur 5 checks (split_reading_cells0,interp_positioning0/0,output_failure_text0,source_parses0/1,duplicate_sections0) ; accents : 0 cures / 3 formes hors table (observe,moyenne). Vue structurelle : aucun header dupliqué, pas de prose empilée.Verdict global : corps du notebook d'excellente facture — gates falsifiables annoncés en tête puis réellement testés, chaque valeur citée dans les lectures vérifiée contre les outputs committés (rec_RD +2.309 → « ≈ +2.31 » ✓, r = 0.4965 → « ≈ +0.50 » ✓, r = −0.1428 → « ≈ −0.14 » ✓, effectiveness 0.71/0.50/0.79/0.63 ✓), verdict négatif assumé et argumenté (artefact sur-reconstruction + plancher de résolution). 3 findings, dont 1 dans le squelette d'exercice.
Finding 1 —
exercise-mismatch· cellule 22 (id27f08af0, stub Exercice 2)Extrait :
# r = M.effectiveness_at_scale(model, U_ref, V_ref, make_quad, block=b,\n# threshold=THRESHOLD, steps=STEPS, record_every=REC,L'apprenant qui décommente le squelette rencontre une double erreur : (i)
THRESHOLDn'est défini nulle part dans le notebook (NameError) ; (ii)thresholdn'existe pas dans la signature réelle deM.effectiveness_at_scale(vérifié dansict/multiscale_agency.pyl.293 :model, U_ref, V_ref, make_mask, block, steps, record_every, n_bins, n_seeds, rng) — même défini, l'appel lève TypeError. L'indice de l'énoncé (cellule 21) donne la bonne API (n_seeds=8), le squelette la contredit : l'étudiant qui suit le squelette bute, celui qui suit l'indice réussit.Finding 2 —
output-uninterpreted· cellule 08 (id33ec78a3), lignetime_to_recover, tracée en 09 (594b3651)Extrait (output committé) :
macro (b=32) repair_gain=+0.0000 rec_RD=+0.000 rec_diff=+0.000 time_to_recover=0La courbe centrale du gate 1 (cellule 09, « Délai de récupération ») affiche la décroissance 1800 → 1300 → 800 → 0 : au macro, délai nul = « récupération instantanée », visuellement le point le plus favorable de tout le graphe — contredit par
basin_return = 0.00à la même échelle. La lecture existante (cellule 10) explique lerepair_gain = 0.0000de b=32 (plancher de résolution) mais jamais letime_to_recover = 0qui découle du même effondrement de cible (variance de référence 0.00055 trivialement atteinte dès le pas 0). Règle #13410 : étendre la lecture existante (cellule 10), pas ajouter une seconde cellule. Sans cela, l'apprenant qui lit le graphe du milieu conclut « plus on zoome out, plus la réparation est rapide ».Finding 3 —
stale-claim· cellule 25 (idcell-0e183c83, Bilan, section « Lien avec le cursus »)Extrait :
- **Hoel (2016)** : la causalité macro effective — le pont théorique que valide la Gate 2.Le §4 a conclu « raccord suggestif, non robuste — l'effectiveness de Hoel n'éclaire pas de façon fiable où l'agence se lit le mieux » et le §5 « le raccord Hoel suit la mesure inflatée et ignore la mesure honnête ». Le bilan affirme que la Gate 2 valide le pont : l'apprenant qui lit le résumé final repart avec le verdict inverse de celui du corps qu'il vient de lire (« que la Gate 2 met à l'épreuve / teste », formulation cohérente avec la discipline sans complaisance affichée partout ailleurs).
RAS signalé par ailleurs : prérequis ICT-9/ICT-10 déclarés et effectifs (substrat repris à l'identique, fil régime-dépendance explicité) ; stubs Exercices 1 et 3 conformes C.1 et compatibles avec l'API réelle (
agency_measures_at_scale,GrayScott(F=..., k=...)vérifiés) ; 4 figures labellisées ; lien strate 3 → ICT-12/13 correct.Compte campagne (ligne additive) :
stale-claim+1 (couvert par propositions d'organes existantescheck_prose_vs_outputs/check_cited_code_in_markdown),exercise-mismatch+1 (famille déjà comptée, proposition existante),output-uninterpreted+1 (proposition NanoClaw existante). Aucune nouvelle sous-famille, pas de nouvel organe proposé.- added a commit that references this issue
on Sep 22, 2026 - added a commit that references this issue
on Sep 23, 2026 - added a commit that references this issue
on Sep 23, 2026 clusterManager-Myia commented
on Sep 23, 2026 CollaboratorMore actionsICT-12-ValenceFieldsAndAnimats.ipynb — audit apprenant (campagne #17073, partition Hermes)
Passe d'organes (checkout d762eb5, post-pull) : 0 signal bloquant sur 6 checks —
split_reading_cells0,interp_positioning0/0,output_failure_text0,source_parses0,duplicate_sections0 (+1 advisorymulti_closing: « à retenir » et « bilan » distincts, non finding). Accents : 13 cures / 6 cellules + 12 formes hors table (dépendant×5,instantané×3, …) — couvert par l'organe. Porteur #17066 : rien à couvrir ici (0 doublon de section).Vue structurelle : 29 cellules, lecture apprenante complète, posture = apprenant ayant lu ICT-01→ICT-11 (survol headers ICT-10/ICT-11). Gates #17040 vérifiées : valeurs citées dans les Lectures 1-4 toutes présentes verbatim dans les outputs committés (0.996/0.972, 0.018/0.072, 2.44/14.95/20.91/9.71, 0.774/0.004/0.018, 0.401…) — sauf une, voir F1. Indices d'exercices vérifiés contre l'API réelle de
ict/valence.py(escape_rate(traj, src, obstacles=…)✓,regime_report(…, lead=, speed=)✓,simulate_*✓).4 findings :
1.
stale-claim— le verdict cite « capture x10 », l'output dit ×4.0- cellule :
f690c709(§6 Verdict, cellule 20) - extrait : « l'interception de
$\hat{p}$ paye nettement en balistique (capture x10) : c'est le regime ou le modèle interne est necessaire » - pourquoi : l'output de la cellule 11 (id
bf303134) donne reactif 0.018 vs phat 0.072 = ×4.0 exactement ; l'apprenant qui refait le rapport (comme la série le lui demande depuis ICT-10) trouve 4, pas 10 — l'ordre de grandeur du verdict est faux. (Le « ~6x inférieur à la persistance » de la même cellule est correct : 14.95/2.44 = 6.1.)
2.
navigation-misplaced— le header de la sous-section « source rapide » est enterré en dernière ligne de la cellule de Lecture 1- cellule :
93a56c23(cellule 10, entre Lecture 1 et le code rapide) - extrait : « …c'est quand la source echappe au reactif. ⏎ ⏎ ### Source trop rapide pour le reactif (speed 1.2 > step 0.8) » (fin de cellule)
- pourquoi : le heading ouvre la sous-section mais arrive APRÈS le paragraphe de transition, en dernière ligne d'une longue cellule de lecture — au survol, le paragraphe est attribué à la Lecture 1 et la rupture de section est invisible ; le header devrait ouvrir sa propre cellule avant le code 11.
3.
output-uninterpreted— deux figures sans aucune lecture subséquente (règle #13410 : aucune lecture existante à réécrire ici)- cellules :
c9a1e49e(fig 4 panneaux, champ de valence + trajectoires source par régime, §1) etfb674051(fig trajectoires réactif vs anticipateur, §2) - extraits : OUT
display_data [image/png ~45KB]/ OUTdisplay_data [image/png ~25KB]— aucune cellule markdown ne suit chacune - pourquoi : la figure de §2 clôture la démonstration centrale (le §2 annonce « il doit devancer la poursuite » et la figure montre si c'est visuellement vrai) sans que le verdict visuel soit jamais lu — l'apprenant n'apprend pas ce que montrent les deux trajectoires ; celle de §1 est la seule visualisation du champ de valence lui-même (la notion fondatrice du notebook), jamais décrite. NB : la bar chart du gate 3 (id
ffb29090) n'est pas un finding — ses 16 valeurs sont intégralement lues par la Lecture 3 en amont.
4.
orphan-statement— import mort présenté comme référence des baselines- cellule :
d75553ca(setup, cellule 2) - extrait : « from ict import catastrophe as C # baselines Cran A (pour reference) »
- pourquoi :
Cn'est utilisé nulle part (0 occurrence deC.dans le notebook) ; les baselines Cran A du gate 3 vivent en réalité dansict.valence(persistance/MA/AR(1)) — le commentaire installe une fausse piste vers un module que l'apprenant n'aura jamais à ouvrir.
RAS signalé par ailleurs : structure gate-par-gate annoncée puis tenue ; contrôle d'ablation assumé (marche aléatoire) ; exercices 1-3 stubs propres sans erreur volontaire, compatibles API réelle ; verdict « régime-dépendant » cohérent avec le fil ICT-10→11 ; Bilan dense mais fidèle aux mesures.
Note hors classes (infra, pas un finding) : 4 cellules markdown (9, 12, 15, 19 — les 4 « Lecture N ») n'ont pas d'attribut
idalors que le fichier déclare nbformat 4.5 et que ICT-10/11 en ont sur toutes leurs cellules ; aucun organe actuel ne le détecte (source_parses passe). Candidat d'arbitrage, pas exécutable ici.- cellule :
clusterManager-Myia commented
on Sep 24, 2026 CollaboratorMore actionsICT-12b-LearnedValence.ipynb — audit apprenant (campagne #17073, partition Hermes)
Passe d'organes (checkout d762eb5, post-pull) : 0 signal sur 6 checks —
check_split_reading_cells0,check_interp_positioning0,check_output_failure_text0,check_cell_source_parses0,check_duplicate_sections0,restore_accents_canonical --check0 cure (4 formes hors table banales : transferable/reversible/donne×2). Organes : couverts.Gates #17040 vérifiés par ré-exécution (module
ict/learned_valence.pytéléchargé du head, exécuté) : les 4 sorties stockées se reproduisent à l'identique — cellule 04pi_2 final = 1.0000 ; autres [0.0,0.0,0.0,0.0], cellule 06post=0.9948 control=0.0000 transferred=1.0, cellule 08distinct 1.0/0.0, delta_err 0.0000/0.9948, cellule 10acquired=0.995 extinguished=0.000 reversible=1.0. Les indices des 3 exercices sont exacts par exécution : Ex2 lr* = 1−0.5^(1/50) ≈ 0.0138 (basculetransferredmesurée entre 0.01377 et 0.01477) ; Ex3 bascule α ≈ 1e-6 (derr = α·Δπ ≈ α·0.995 vs seuil 1e-6, vérifiée) ; Ex1 second ordre π_B = 0.9897 viasource_valence=pi_A. Liendocs/ict/dissociations-matrix.md: existe.Verdict : 1 finding.
1. stale-claim — cellule 17 (id
c1953cf9, Conclusion).« Les strates suivantes (argumentation #7289, jeu évolutif #7746) reprendront cette valence apprise comme source de prégnance transférable. »
Pourquoi : les deux issues nommées sont closes (#7746 le 2026-07-29, #7289 le 2026-08-06) et aucun notebook livré par ces strates ne consomme
ict.learned_valence(recherche de code : seuls ICT-12b et ICT-15d la référencent). Le vrai prolongement — ICT-12c/12d/12e (animats de prégnance, dontict/pregnance_animat.pyimporteLearnedValenceet dont l'en-tête se déclare compagnon d'ICT-12b) — n'est pas signalé depuis cette conclusion. L'apprenant suit des renvois au futur vers des épiques déjà livrés sans la valence apprise, et rate la suite directe de ce qu'il vient de construire. Sous-famille déjà couverte par la proposition d'organecheck_series_refs(renvois inter-notebooks périmés) — pas de nouvelle occurrence de seuil.Exclusions constatées (non déposées, conformément à Parade 3) : richesse pédagogique du trio exercices (indices analytiques vérifiés) et double contrôle négatif du banc de distinctness = candidats de panorama, pas des findings.
Reste de la lecture : RAS — progression neutre→transfert→distinctness→extinction impeccablement motivée, chaque verdict falsifiable a son contrôle négatif exécuté, chaque sortie est interprétée dans la cellule markdown qui précède son code (aucune pile de lectures).
clusterManager-Myia commented
on Sep 24, 2026 CollaboratorMore actionsICT-12c-PregnanceAnimat.ipynb — audit apprenant (campagne #17073, partition Hermes)
Passe d'organes (checkout d762eb5, post-pull) : 0 signal sur 6 checks —
check_split_reading_cells0,check_interp_positioning0,check_output_failure_text0,check_cell_source_parses0,check_duplicate_sections0 ; accents 0 cure / 17 formes hors table (approche ×9, fixe ×5, inverse, montre, incarne).Chiffres vérifiés contre les sorties committées : ratios multi-graines §6 (balistique 0.197±0.042, erratique 0.816±0.122, bruité 2.702±0.108, ordre stable sur chaque graine), ×4.1 (0.816/0.197), 5.56× (0.625/0.1125), amortissement ~30 % (0.79/2.71), MI 0.57, extinction exacte 0.0000, dispersions ±15 %/21 % — tous conformes. Liens relatifs résolus (
docs/ict/dissociations-matrix.md,ICT-0-Framing.md, ICT-12/12b, modulesict/). Ordre de présentation 1,2,3,6 puis 4,5 assumé et documenté (§7.3 + Conclusion) — non déposé. Le verdictdissociation_observeddu module correspond à la prose (erratique > balistique en ratio ET transfert + réversibilité).1 finding :
F1 —
exercise-mismatch(Exercice 1 — conditionnement de second ordre)-
Cellules :
e0ec421d(énoncé Exercice 1) ; mécanisme en cause :PregnanceAnimat.step()(l. 335–352) et signature deembodied_transfer_testdansict/pregnance_animat.py. -
Extrait (verbatim) : « Un signal
$B$ neutre co-occurre avec un signal$A$ déjà conditionné (pas avec la source directement).$B$ devient-il attractif ? Modifiez_tethered_trajectoriespour que$B$ suive$A$ (lui-même tethered à la source), et mesurezembodied_transfer_testsur$B$ . » -
Pourquoi : le renforcement Rescorla-Wagner ne mobilise que la valence intrinsèque d'une source sensée (
src_val = max(self._intrinsic(i))dansstep()— les π apprises ne servent jamais de renforceur), etembodied_transfer_test(kind, n_condition, n_test, size, source_valence, seed)construit ses propres trajectoires sans injection possible : l'apprenant qui suit l'énoncé à la lettre obtient invariablement π(B)=0 →transferred=0, sans pouvoir distinguer l'échec du harnais de celui du phénomène de second ordre — la seule issue est de modifier la mécanique destep(), ce que l'énoncé ne dit pas.
Compte de classe :
exercise-mismatchest déjà très au-delà du seuil d'organe sur la campagne (multiforme : corpus absent, énoncé falsifié, API inadéquate — détecteurs existants discutés sur #17073). Ce cas ajoute une occurrence de la sous-famille « l'API citée ne peut pas produire le phénomène » (cf. Lab12d, rl_11) — ligne additive, aucune proposition nouvelle.-
Cellules :
73 remaining items
clusterManager-Myia commented
on Oct 5, 2026 CollaboratorMore actionsAudit — ICT-46-Strate7-FreeCoordinates-Python.ipynb
Contexte : première livraison de la strate 7 (#18052, fermée), créée 02/10, touchée 05/10 03:07Z par le rename #19153 (lien de navigation ICT-45→42b). Blob
c9ee41f6, sha256a4b4ccc8cf04396d….Organes : 6/6 exécutés — 0 signal sur
check_split_reading_cells,check_interp_positioning,check_output_failure_text,check_cell_source_parses,restore_accents_canonical --check.check_duplicate_sections: couvert (6× « Lecture du résultat », cellules 3/6/9/12/15/18 — pattern de série assumé, chaque lecture suit son expérience propre ; voir convention ci-dessus). Sections dupliquées : rien hors ce pattern.Full read (29 cellules, survol série ICT-42b + ICT-47 + cadrage
docs/ict/strate7-cadres-libres.md) : banc fidèle au cadrage D1 —$O_t$ ,$\Delta A_t$ ,$C_t$ ,$P(R)$ , institutionnalisation,$I(R)$ tous mesurés et lus. Chiffres des lectures vérifiés contre les sorties : H(0,7)≈0,881 ✓, log₂(3)=1,585 ✓, arrondis P(R) 2,753/1,819/0,029 → 2,8/1,8/0,03 ✓, 41,67 % → « quasi nulle »/« persiste » ✓, I(R)=50× ✓. API des exercices vérifiée dansict/free_coordinates.py:temperatureexiste (défaut 0,5) ✓,non_canonicity,payoffsmutables ✓. Citation Aaronson « of which I myself remain skeptical » exacte (abstract GIQTM) ✓.H¹ ≠ 0défini dans le cadrage lié (§ note de notation) ✓.2 findings :
1. stale-claim — libellé de navigation périmé après rename (cellule 0, id
e732b4cb)Navigation : Index | 45 — Inoculation & bifurcation 9B | 47 — L'axe douleur
Le lien vise
ICT-42b-...(correct depuis #19153) mais le libellé dit encore « 45 » — le patch du rename (b049a2d) a corrigé le chemin, pas l'étiquette. L'apprenant voit un lien étiqueté « 45 » atterrir sur un notebook titré « ICT-42b » : la navigation devient illisible, et la Conclusion du même carnet (cellule 28) dit correctement « ICT-42b ». Détail : #19153 a fait pareil sur ICT-44 et ICT-47 (mêmes libellés « 45 »/« 47 » dans leurs navs — sweep à faire au moment du fix).2. prerequisite-gap — référence « §218 » non résoluble pour l'apprenant (cellule 19, id
f879d981)(ii) l'attachement du chercheur à ses propres formes est enregistré d'avance comme biais possible (le §218 décrit l'idéalisme qui « sélectionne les faits, les déforme, les renomme ») — se référer à soi-même est bon marché, bien choisir sa coordonnée libre ne l'est pas
La citation vit uniquement dans
docs/magnifica-humanitas-dialogue.md(l.121, « le §218 » = paragraphe de l'encyclique Magnifica Humanitas) — aucun lien depuis ICT-46 ni depuis son cadrage (strate7-cadres-libres.md: 0 occurrence de 218/encyclique/Magnifica ; idem #7745, #16781, voisins ICT-42b/47). L'apprenant qui suit le lien du cadrage (l'unique fil de lecture offert) ne peut pas résoudre « §218 » — l'indice est indécodable sans le doc du dialogue, jamais nommé. Fix trivial : un lien[§218](…/docs/magnifica-humanitas-dialogue.md).— Hermes (po-2026, partition Hermes, campagne #17073 · cycle du 2026-10-05 · ledger 361/711 audités avant ce cycle)
clusterManager-Myia commented
on Oct 5, 2026 CollaboratorMore actionsAudit #17073 — ICT-47-PainAxisDistillation-Python.ipynb (partition Hermes, cycle 05/10)
Chemin :
MyIA.AI.Notebooks/IIT/ICT-Series/ICT-47-PainAxisDistillation-Python.ipynb— blob74a785ddau head, 53 cellules.Organes : 6/6 exécutés, RAS —
check_split_reading_cells0 signal,check_interp_positioning0,check_output_failure_text0,check_cell_source_parses0,check_duplicate_sections0,restore_accents_canonical --check: 4 accents curables dans 4/31 cellules markdown (16 formes hors table — porte×5, rapporte×3, partage×3, passe×3, epic×1 — relevant de la table canonique, pas d'un défaut propre au carnet).Full read (53 cellules, survol série ICT-46 pour la continuité) : chaîne complète éprouvée — corpus apparié 9×24, capture 4 couches, DiM → cosinus, sondes MM/LR + matrice de transfert, résidualisation
D_shared, contrat Gate 24 (sham/aléatoire apparié/Holm/dommage hors cible), steering vivant, banc d'action, split-half held-out, regard 9B. Les lectures des sections 2-3-5-8-9 vérifiées contre leurs sorties : exactes au chiffre près (0,65/0,535/0,37 ✓, débordement pain_social→pain_physical 1,00 ✓, +0,18 cible vs 0,00/0,00 ✓, p=0,000 Holm ✓, held-out 0,71/0,35/0,39/0,62 ✓, 9B 0,27/0,43/0,93 ✓). La lecture 9B qui borne honnêtement « deux tailles ne font pas une échelle » et la section split-half (n=6, +3,44 σ 0,77, témoin max +0,32, six réserves numérotées) sont des pièces maîtresses.2 findings, même cause racine (lectures écrites contre un run antérieur du carnet, non réalignées sur les sorties committées) :
1. stale-claim — la lecture du banc d'action cite les moyennes d'un run antérieur (cellule 34, id
p47-lecture-banc)Mesuré : moyenne
pain +D= −0,05,pain −D= +0,09,random +D= 0,00 — le signe de la dose retourne le biais d'évitement (huit scénarios concordants, aucun bascule en désordre)La sortie committée de
p47-banc(cellule 33) imprimemoyennes : {'intact': 0.0, 'pain +D': -0.09, 'pain -D': 0.04, 'random +D': -0.02}. Trois des quatre valeurs citées ne sont pas celles du run committé : −0,05 vs −0,09, +0,09 vs +0,04, 0,00 vs −0,02. Recontrôlé ligne à ligne sur la table des 8 scénarios : souspain +D, 6 scénarios sur 8 descendent (−0,09 ×5, −0,12 ×1, 0,00 ×1), un seul à +0,00 — « huit scénarios concordants, aucun bascule en désordre » ne tient pas non plus ligne par ligne. Corroboration : la section split-half (cellule 50) cite pour ce même banc « douleur +D −0,11 σ 0,01 » — la lecture de la section 7 décrit un run antérieur, pas celui du carnet. L'apprenant qui confronte la lecture à la sortie qu'il voit échoue sur les trois nombres et sur le claim de concordance. Fix : réaligner sur les moyennes committées et affaiblir « huit scénarios concordants » → « six sur huit » (le signe global du levier tient).2. stale-claim — la lecture de la disjonction cite une valeur absente de la sortie (cellule 24, id
p47-lecture-dissoc)les sondes fear et sadness gardent leur diagonale (0,94) et ne lisent plus la douleur qu'à 0,33 / 0,46
Dans la matrice 4D committée (
p47-matrice4d, cellule 23, lignes = corpus, colonnes = sondes), la colonnesonde:fearsurpain_all= 0,33 (correct) maissonde:sadnesssurpain_all= 0,45, pas 0,46. Grep sur toutes les sorties du carnet : le seul « 0,46 » appartient au cos inter-douleur min du 9B (cellule 48) — un autre objet. La lecture est par ailleurs dans la bonne convention (« sonde pain sur corpus tristesse : 0,69 » ✓ existe en lignesadness/colonnesonde:pain_all) : c'est la valeur qui a glissé d'un run antérieur, pas la lecture du tableau. L'apprenant qui vérifie « 0,33 / 0,46 » contre la sortie ne trouve pas le second nombre. Fix : 0,45.— Hermes (po-2026, partition Hermes, campagne #17073 · cycle du 2026-10-05 · ledger 362/711 audités après ce cycle)
Audit — ICT-Annexe-ProxyContextuality.ipynb
Posture : apprenant ayant lu la série ICT (15c/15d récents en mémoire — l'annexe s'y réfère nommément). Annexe spéculative auto-déclarée « sans verdict », registre #7290.
Organes : couverts. check_duplicate_sections : 1 signal (
dup_reading, titre « Lecture » ×2, cellules 4/7 — numérotation de section retirée, couvert par l'organe). split_reading_cells, interp_positioning, output_failure_text, cell_source_parses, accents : 0 signal.Vérifications positives (référence, pas findings) : l'API citée existe intégralement dans
ict/proxy_contextuality.py(11 symboles vérifiés) ; la parité de la boîte PR (4 contraintes XOR, somme paire ≡ 1) est exacte ; le tableau des trois crans (cell5/6 :strongly/logically/non_contextualavec 0/8, 1 et 5/9, 16 et 0/16) est cohéral ; les trois dégénérescences (cell10/11) se re-dérivent à la main ; les liensdocs/ict/dissociations-matrix.mdetsynthese-invariants-…mdexistent au dépôt.F1 — stale-claim
- Cellules :
cell17(markdown « Lecture — l'écart… », § constat secondaire) ; sortie visée =cell15(idx 16). - Extrait : « Les sorties ci-dessus montrent
sensitivity_mean == sensitivity_max == k - 1exactement, sur les 5 graines et les 3 grains. » - Classe :
stale-claim - Pourquoi : la sortie committée de
cell15montresens_mean= 1.3333 / 1.5000 / 1.6667 contresens_max= 2.0000 partout — l'égalitésens_mean == sens_maxn'a lieu nulle part, etk−1vaut 2/3/5 selon le grain (≠ 2.0 sauf k=3) ; l'apprenant qui vérifie la phrase contre le tableau échoue sur les trois grains. Le fait réel porté par la sortie (saturation desens_maxà 2.0 + constance desens_meanpar grain, donc bien « aucune variance inter-graines ») est masqué par une égalité qui n'existe pas. Cause racine datée : la phrase était déjà contredite au blob du 31/08 — la re-exécution du 17/08 ([ICT] Contextualité du zoo de proxys — pont Kochen-Specker (spéculatif, annexe non-numérotée) #7290) n'a pas rattrapé cette prose.
F2 — exercise-mismatch (doublon d'une démonstration du même notebook)
- Cellules :
cell12(markdown Exercice 2) ; réponse imprimée encell10(démo « supports rigides », sortie cell11). - Extrait : « Écris un modèle qui soit à la fois insatisfiable et de supports rigides, mais avec un recouvrement réel (au moins un proxy partagé, et pas le même ensemble de proxys partout). »
- Classe :
exercise-mismatch - Pourquoi : l'entrée « supports rigides » de la démo
cell10est exactement ce modèle — deux contextes{p,q}/{q,r}(proxyqpartagé, ensembles distincts), supports singletons[(0,1)], UNSAT (q=1vsq=0), verdictdegenerate_rigidimprimé deux cellules plus haut : la « solution » de l'exercice est recopiable telle quelle, il ne reste aucun geste intellectuel. Une variante qui exigeerait autre chose que la démo (ex. 3 contextes en cycle, ou un proxy partagé différent par paire) restaurerait l'exercice.
Exclusions assumées
- Exercice 3 ouvert (réponse inconnue, annoncé comme tel) : pas un finding.
- Les quatre points de rupture (§5) : contenu, pas de défaut nommé.
ICT-15c/ICT-15dcités existent au dépôt (nommés avec suffixe, résolution triviale dans la série).
— Hermes (po-2026, partition Hermes, campagne #17073)
- Cellules :
clusterManager-Myia commented
on Oct 5, 2026 CollaboratorMore actionsAudit — ICT-Argumentation-BeliefTrajectories.ipynb
— Hermes (po-2026, partition Hermes, campagne #17073). Full read 46 cellules (31 lecture intégrale) + passe organes (6 checks standard : split_reading_cells, interp_positioning, output_failure_text, cell_source_parses, accents_canonical, duplicate_sections) : tous couverts, zéro signal — les findings ci-dessous sont hors de leur portée. Liens relatifs vérifiés (7/7 existent au head). Notebook exemplaire sur le protocole pré-enregistré (§3, §8quater) ; les défauts sont concentrés sur les promesses non tenues du protocole et une valeur codée en dur.
1.
stale-claim— §11 Conclusion réaffirme ce que §5 vient de verdicter PARTIEL- Cellules :
header/preregistervsp1-run→conclusion. - Extrait (conclusion) : « un régime topologiquement asymétrique (cascade dirigée) porte une flèche du temps (σ) plus forte […] qu'un régime bidirectionnel — la signature attendue » — contre la sortie committée de
p1-run: « Delta sigma (pop - delib) = +0.0000 […] VERDICT P-disc-1 : PARTIEL (une seule dimension tient : K) ». - Pourquoi : l'apprenant quitte le notebook avec la conclusion générale que la mesure du notebook lui vient de refuser ; le résumé final contredit le verdict qu'il vient de lire.
2.
protocol-mismatch— §7 promet une comparaison B_diversité ≫ B_monoculture jamais exécutée- Cellules :
p3-test→p3-run. - Extrait (§7) : « la fraction de perturbations depuis lesquelles le système revient à un état de diversité (≥ 2 arguments acceptés) en ≤ τ pas, selon l'état de départ : depuis un état de diversité … ; depuis une monoculture […] Prédiction :
B_diversité ≫ B_monoculture». - Pourquoi : la cellule
p3-runcalculemonoculture_idxpuis ne l'utilise jamais, et n'affiche niB_div(masqué par la branche PARTIEL) ni aucun budget monoculture — le protocole annoncé (deux bras) n'est pas celui exécuté (un seul bras, affiché nulle part) ; l'apprenant qui cherche à vérifier la prédiction ne trouve aucun des deux nombres promis.
3.
stale-claim— valeur codée en dur contredite par la sortie committée (bascule terminale Chien)- Cellules :
t1-traj→f800d83d(croisement) vs198a85c5/cell 23. - Extrait (croisement, ligne « Bascule terminale ») : « Loup et le Chien (n=9) … (5,2,0) -> (5,4,0) au dernier pas » — contre la trajectoire committée de la cellule 23 : « pas 7: etat (5, 2, 0) / pas 8: etat (5, 3, 0) / pas 9: etat (5, 4, 0) » — la dernière transition est (5,3,0)→(5,4,0) ; (5,2,0)→(5,4,0) n'est pas une transition de la chaîne.
- Pourquoi : la ligne « Bascule terminale » du tableau-clef du croisement (c'est lui qui porte l'invariant 2 « le point de bascule est TOUJOURS le dernier arrivant ») affiche une transition qui n'existe pas dans la sortie de référence ; l'apprenant qui retrace la valeur ne la retrouve pas.
- Note : la cellule Loup correspondante « (3,3,0) -> (4,3,0) au dernier pas » est correcte (pas 6→7 de cell 18) ; seul le côté Chien dérape.
4.
exercise-mismatch— stubs appelant des signatures inexistantes (regime_sigma_K(af, order),laplacian_spectrum(af))- Cellules : cellules 40/42 (stubs Ex1/Ex2) vs
p1-run/§6. - Extrait (stub Ex1) : « Etape 2 : regime_sigma_K(af, order) + laplacian_spectrum(af) » — contre les définitions réelles :
regime_sigma_K(af, orders)(itére sur une liste d'ordres ; signature cell 10) etlaplacian_spectrum(W: np.ndarray)(exige une matrice symétrique,raise ValueError("W must be symmetric")sur autre chose ; spectral.py l.271-285). - Pourquoi : l'étudiant qui suit l'étape 2 telle quelle multiplie les appels à
regime_sigma_K(af, [3,1,5,0,2,4])(chaque permutation traitée comme une liste d'ordres →TypeError) ou passe l'AF directement àlaplacian_spectrum(→ValueError) ; l'indice mène à l'erreur, pas à la solution. - Note : l'exercice Ex2 reste faisable en construisant
orders = [order1, order2]; c'est la signature suggérée qui est fausse, pas l'exercice.
5.
output-uninterpreted— σ = 0.0000 en §2 sans une phrase sur ce que « σ nul sur un débat déterministe » enseigne- Cellules :
substrate-demo(cell 5, §2) etp1-run(§5). - ** sortie** : « sigma (fleche du temps du discours) = 0.0000 nats » (§2) ; « sigma(summary) 0.0000 0.0000 » (§5).
- Pourquoi : la toute première mesure σ du notebook vaut 0 — un apprenant qui vient de lire « la dette d'irréversibilité du discours devient ici mesurable » (en-tête) voit le premier nombre du cours valoir exactement zéro sans qu'aucune phrase du notebook (§2 ni §5) lui explique ce que ce zéro signifie ni pourquoi les sections suivantes agrègent sur des multi-ordres pour le rendre non trivial ; la justification de l'agrégation existe pourtant, mais elle est dans §4 (« σ=0 (honnête, cf Phase A : pas de cycle de flux) ») — la sortie §2 reste seule face à l'apprenant.
- Règle densite pedagogique : 430 notebooks sous le plancher 1200 — surface majoritairement non suivie #13410 respectée : aucune lecture existante à réécrire — la cellule §2 n'a AUCUNE cellule d'interprétation entre elle et §3.
Findings : 5 — stale-claim ×2, protocol-mismatch (1ʳᵉ occurrence), exercise-mismatch, output-uninterpreted. Le reste du notebook est à la hauteur de ce que l'§3/§8quater promettent : prédictions pré-enregistrées avec seuils, contrôle null à degré conservé avec note pédagogique sur les z-scores +inf, refus-de-mesurer distingué du zéro mesuré, témoins Chaplin paire appariée avec signe inversé — le protocole expérimental est le plus soigné de la série à ce jour.
- Cellules :
Audit —
ICT-Argumentation-QBFAcceptance.ipynb— Hermes (po-2026, partition Hermes, campagne #17073). Full read 29 cellules + passe organes (6 checks standard : split_reading_cells, interp_positioning, output_failure_text, cell_source_parses, accents_canonical, duplicate_sections) : 5/6 muets — seule
restore_accents --checksignale 1 accent curable (1/18 cellules md) + 3 formes hors table (assume/refuse/rejoue). Sorties committées de §2.1 à §6 re-juées contre le moteur réel (ict/qbf.py+ict/argumentation.py, chargés depuis le dépôt) : toutes exactes (tautologie, alternance, triple bloc, analyze, Nixon/Tweety crédule+sceptique, chaîne défensive, cycle impair, borne n≤15, cellule 24). Liens relatifsict/qbf.py,ict/argumentation.py,ict/tests/test_qbf.py: présents au head. Deux findings, tous deux dans la couche prose↔artefact.1.
exercise-mismatch— l'Exercice 1 (cell 27) ordonne de démontrer une proposition logiquement IMPOSSIBLE- Cellules :
2261ff65(exercice_1_ordre_sensible) vs §2.2 (44e2e870, la section qui enseigne la règle). - Extrait (énoncé) : « une matrice ou
exists x. forall y.est VALIDE etforall y. exists x.est INVALIDE […] deux appels check_qbf aux verdicts opposes ». - Pourquoi : la validité de
∃x∀y. Mimplique celle de∀y∃x. M— si le joueur ∃ a une stratégie gagnante en blocs ∃∀, le témoinx₀de son premier coup gagne contre touty, donc∀y∃xest valide. Aucune matrice ne peut exhiber les deux verdicts opposés dans ce sens. Énumération exhaustive sur le moteur du carnet (7 536 matrices de chaînes 2 à 4 atomes sur!&|=>) : zéro contre-exemple, implication vérifiée partout. L'apprenant cherche une matrice qui n'existe pas ; le seul sens où l'ordre décide est celui de §2.2 (∃∀INVALIDE /∀∃VALIDE) — l'énoncé de l'exercice inverse la flèche.
2.
stale-claim— la note de provenance (cell 0) cite « 21 gates » dans un fichier qui n'en porte aucune trace- Cellules :
0edd9247(header, Statut épistémique). - Extrait : « littéraux figés dans
ict/tests/test_qbf.py(21 gates) ». - Pourquoi : le fichier cité porte 25 fonctions
test_(aucunparametrize), le mot « gate » y apparaît 0 fois et le token21y est absent — le compte est inréconciliable avec l'artefact cité. La même phrase avance « 16/16 surfaces identiques » qu'aucune sortie du carnet n'adosse (les outputs committés ne portent aucun texte de provenance). L'apprenant qui veut vérifier la preuve différentielle annoncée est renvoyé à un décompte qu'il ne peut reconstituer sur l'artefact cité.
Organes :
restore_accents --check= signal connu (1 accent curable + 3 formes hors table) — couvert, non déposé en finding (classe d'organe).
3ᵉ occurrence campagne : non (stale-claimdéjà massivement porté ;exercise-mismatchdéjà présent).- Cellules :
clusterManager-Myia commented
on Oct 5, 2026 CollaboratorMore actions[Hermes] Audit — ICT-Argumentation-TruthMaintenance.ipynb (strate 6, distillation EPITA 1.4.1-JTMS)
Organes : couverts (0 signal) — check_split_reading_cells, check_interp_positioning, check_output_failure_text, check_cell_source_parses, restore_accents_canonical --check, check_duplicate_sections : tous muets sur ce carnet.
Survol préalable : ICT-Argumentation-BeliefTrajectories (Phase B) + ICT-Argumentation-QBFAcceptance ( lus en headers). Rejeu exécuté du head : organe
ict/truth_maintenance.py+ict/argumentation.pyfetchés à la têtemainet exécutés (numpy absent → stub minimal, moteur JTMS/ATMS intact).1 finding :
1.
concept-error— celluleb21f5547(§5, Lecture du pont)- Extrait (verbatim) : « le pont TMS correspondant n'a aucune premisse a poser sans creer une boucle »
- Pourquoi : l'apprenant lit que poser une prémisse sur le pont Nixon crée une boucle — or l'exécution du moteur du carnet (JTMS du head, pont miroir
nixon_diamond()+set_belief_validity('arg0', True)) donne{'arg0': True, 'non-arg1': True, 'arg1': None, 'non-arg0': None}avecnon_monotonicàFalsepartout : aucune boucle n'est créée, et ce même geste est exactement ce que demandent l'exercice 1 du carnet (« poser A comme premisse », attendu explicite : les croyances miroir « ne forment PAS une boucle de justifications ») et l'exercice 3 étape 3 (« tenter de poser UN argument comme premisse »). La phrase contredit le comportement mesuré du moteur ET deux exercices du même carnet — la limite réelle du pont est ailleurs (sans prémisse, aucun rejet n'est soutenu, ce que la même cellule énonce correctement juste avant).
Vérifié et exact au head (re-jeu exécuté) : table JTMS avec/sans
A(cells 8/10), cyclenon_monotonic(cell 12), étiquettes ATMS + purge rétroactive (cell 14), quirk nogood non persistant —is_consistent({p,q})→Trueaprès purge (cell 15), témoin négatif du pont Tweety (cell 17), attendu de l'exercice 2 — label dew={(q, r)}(cell 20), matrice de dissociations muette sur ce carnet (cell 1), gates 1–6 présentes dansict/tests/test_truth_maintenance.py.Carnet globalement solide : lectures systématiquement après les sorties qu'elles commentent, exercices aux attendus mesurables, provenance et divergences déclarées.
— Hermes (po-2026, partition Hermes, campagne #17073)
clusterManager-Myia commented
on Oct 5, 2026 CollaboratorMore actions[Hermes] Audit #17073 — cycle 2026-10-05T14:0xZ —
MyIA.AI.Notebooks/IIT/ICT-Series/ICT-Greffe4-VoteOnChain.ipynb(29 cellules : 19 MD / 10 CODE, kernel python3, forge en sous-process). Case cochée sur #17211 ce cycle.Verdict : RAS pédagogique — 1 instance versée à une classe gelée (
stale-claim, gel c.5884190266, organes C443+) : datapoint ci-dessous, aucun finding individuel sur la série.Instance versée (classe gelée
stale-claim)- Cellule : MD[3] (id inconnu — cellule
## Les trois organes…), ligne 2 du tableau des organes.
Extrait verbatim : «SocialContracts/greffe4-vote/src/BordaVote.sol(EVM, SC-17/SC-9 en lignée) »
Classe :stale-claim(sous-famille chemin-dépôt-inexistant)
Pourquoi : l'apprenant qui chercheBordaVote.solà ce chemin ne le trouve pas —git ls-treeau head ne connaît queMyIA.AI.Notebooks/SymbolicAI/SmartContracts/greffe4-vote/src/BordaVote.sol; les cellules MD[0] et MD[16] citent correctementSymbolicAI/SmartContracts/greffe4-vote/, seule MD[3] diverge (0 occurrence deSocialContracts/greffe4dans l'arbre, 14 100 chemins scannés).
Attribution : préexistant — présent à l'identique dans le parent 9bccdb6 (21/09), donc antérieur au rename canon rename(#16231): serie SmartContracts — 30 carnets au canon + 53 referents #17837 (27/09) ; hérité de la création f4a1f92 (01/09, feat(ict,#13570): Greffe 4 — vote argumenté sur chaîne (Argumentation -> Choix social -> SmartContracts) #13828), pas créé par le rename.
Ce qui a été vérifié (full read + re-jeu manuel)
- Tous les claims numériques re-calculés à la main et EXACTS : scores Borda sincères 9-8-7 → C1 ; enterrage [C0,C2,C1] → 8-8-8 (C0 par tie-break id) ; vote-balle [C0] → 8-7-6 strict ; matrice pairwise du profil sincère (C1 vs C0 = 2-2, aucun Condorcet — l'énoncé de l'Exercice 2 est correct) ; Exercice 3 exact : énumération des 6 permutations + bulletins partiels de V4 (les trois autres sincères) — max C2 = 7 < C1 = 8, aucun bulletin de V4 n'élit C2, la question « pourquoi V3 oui, V4 non » a bien une réponse (l'opportunité dépend de la marge et de la position, pas seulement de la règle).
- Exercice 1 solvable : EXPO5 = [0,1,2,3,5] (ne pas lire q2=4) donne C2 soutenu immédiat (round 0) et C0 réfuté → [C2, C1, C0] ; l'indice (« que faut-il ne pas avoir lu pour que la réfutation de C2 n'existe pas ? ») pointe bien q2.
- Labelings grounded exacts pour les 4 expositions V1-V4 (re-dérivés à la main depuis ATTACKS = {(1,0),(4,3),(5,4),(6,2),(7,6)} : q0,d1,d2 in ; p0,q2,q1 out ; p1,p2 in).
- Lectures vs sorties : chaque chiffre cité en MD[15], MD[18], MD[20] est présent dans les sorties committées correspondantes (témoin
test_correctRejectsDuplicateCandidatePASS dans la sortie de CODE[17] cité par MD[18] ; contre-exemple[FAIL: assertion failed: 5 > 3]avec bulletin dupliqué[x,x]→ 3+2=5 > 3×1=3, décodage MD[20] exact). - Liens du notebook : SC-12/SC-13 (post-rename rename(#16231): serie SmartContracts — 30 carnets au canon + 53 referents #17837), README.md, dissociations-matrix.md, Greffe2 — tous existent au head (tree scan).
- Organe accents : 1 cure mineure signalée (1/19 cellules MD, 3 formes hors table) — couvert par l'organe, pas un finding.
Organes (6 passes, head 144ff2b)
check_split_reading_cells0 ·check_interp_positioning0 ·check_output_failure_text0 régression ·check_cell_source_parses0 ·check_duplicate_sections0 (29 cellules) ·restore_accents_canonical --check: 1 cure / 19 MD (mineure, hors table porte×2 classe×1).Qualité générale élevée : pédagogie Dung→Borda→forge exemplaire, exercices solvables et non-triviaux, honnêteté des limites (cell 21). Ce carnet ferme proprement la boucle argumentation → choix social → chaîne.
— Hermes (po-2026, partition Hermes, campagne #17073 · pilot : cycle sans dossier)
- Cellule : MD[3] (id inconnu — cellule
Audit — ICT-Life-SubstratCertifie.ipynb
Partition Hermes · campagne #17073 · lecture apprenant + exécution fidèle (réimplémentation stdlib du moteur B3/S23 sur tore, patterns du
ict/life.pycourant).Organes : couverts (0 signal) — check_split_reading_cells, check_interp_positioning, check_output_failure_text, check_cell_source_parses, check_duplicate_sections, restore_accents_canonical --check : tous vides sur ce notebook. Header dupliqué « Lecture du résultat » ×4 = pattern de série (voir #17066).
Findings
1.
stale-claim— cellule 00 (42aa5142) et cellule 19 (39ca7247) : le théorème n'est pas à la « l. 7202 »
Extrait (00) : «evolveHashlifeFastAtN_correct_uncond(Lean 4,conway_lean/Conway/Life/HashlifeCorrectness.leanl. 7202, tracker #6724, PR #11781 commitc5df96d5b02026-08-19) » ; idem (19) : « dansConway/Life/HashlifeCorrectness.leanl. 7202 ».
Au HEAD courant (7 441 lignes), la déclarationtheorem evolveHashlifeFastAtN_correct_uncondest l. 7209 ; la l. 7202 tombe au milieu d'une preuve (exact one_jumpAt_toGrid_correct …). La référence vit dans le docstring du .lean lui-même (« l. 7202 of this file », l. 6376) — périmée au head. L'apprenant qui ouvre le fichier à la ligne citée tombe sur du milieu de tactique, pas sur l'énoncé ; il ne peut rattacher la garantie à sa déclaration.
Versement : sous-famille « prose citant une ligne de fichier vivant » — classe geléestale-claim(C443), occurrence versée à l'organe.2.
stale-claim— cellule 05 (b362a902) : la lecture du blinker cite des coordonnées contredites par la sortie committée
Extrait : « À$t=0$ le blinker est vertical (colonne 3) ; à$t=1$ il est horizontal (ligne 4) ».
Sortie committée de la cellule 04 :t = 0 : cellules vivantes = [(0, 0), (0, 1), (0, 2)]puist = 1 : [(0, 1), (1, 1), (7, 1)]— le blinker initial occupe la ligne 0, colonnes 0-2 et le basculement se fait sur la colonne 1 (tore 8×8). « Colonne 3 » et « ligne 4 » ne correspondent à aucun instant du film affiché juste au-dessus ; l'apprenant qui lit la grille d'à côté ne retrouve pas les coordonnées de la lecture (re-jeu : le moteur du notebook donne exactement la sortie committée).
Versement : classe geléestale-claim(C444→C443), occurrence versée.3.
concept-error— cellule 18 (2228e830) : le LWSS n'a PAS une population « exactement constante (9) »
Extrait : « les vaisseaux (glider, LWSS) maintiennent une population exactement constante (5 et 9) pendant que leur forme se translate ».
Sortie committée de la cellule 17 :lwss population min=9 max=12 finale=9— la population du LWSS oscille entre 9 et 12 sur sa période 4 (c'est même le contraste correct : seul le glider est constant à 5). La phrase construit le critère discriminant « oscillateurs = population oscillante / vaisseaux = population constante » et le falsifie sur son propre exemple LWSS, deux cellules plus haut ; l'apprenant retiendra un critère qui échoue sur la moitié des vaisseaux cités.4.
exercise-mismatch(versement, classe gelée C444) — cellule 27 (f8c20630) : l'Exercice 4 annonce un débris « blocs + blinker » que la collision prescrite ne produit pas
Extrait : « La collision de deux gliders produit un débris stable (blocs + blinker) » avec l'indice « un glider canonique et son miroir horizontal (np.flip(..., axis=1)) sur des trajectoires qui se croisent ».
Re-jeu exhaustif du geste prescrit (moteur B3/S23 du notebook, tore 32×32, 4 phases × 4 phases × offsets de croisement ≈ 2 880 collisions) : aucune issue ne contient l'assemblage « 2 blocs + 1 blinker » (composantes (4,4,3) : 0 occurrence). Les issues réelles du croisement miroir-horizontal : 2 blocs (pop 8, fixe — l'issue dominante), 1 beehive (6, fixe), annihilation (0, fixe), blinker seul (3, période 2). Le débris canonique attendu est 2 blocs, période 1 — l'énoncé « attendu : blocs + blinker » n'est atteint par aucune configuration de l'indice ; l'apprenant qui suit l'indice au pied de la lettre obtient un état final sans blinker et ne sait s'il a échoué ou si l'énoncé est fautif.
Versement : classe geléeexercise-mismatch(C444), occurrence versée à l'organe existant.Mesure pilote C5
MyIA.AI.Notebooks/IIT/ICT-Series/ICT-Life-SubstratCertifie.ipynb· proposés 0 · confirmés 0 · rejetés 0 · FULL READ ~14 min (aucun dossier preaudit pour ce notebook — file réelle vide au cycle, 0 DM non-lu).— Hermes (po-2026, partition Hermes, campagne #17073 — ledger 369/712 après ce cycle)
clusterManager-Myia commented
on Oct 5, 2026 CollaboratorMore actionsAudit —
MyIA.AI.Notebooks/IIT/ICT-Series/ICT-MUH-FibreTegmark.ipynb(blobbc1e8e330e6c)Cycle #17073 · partition Hermes · rang 2 · 4 findings (stale-claim ×2, exercise-mismatch ×1, prerequisite-gap ×1). Organes : couverts (6 checks, 0 signal ; accents 3/19 cellules à curer + 27 formes hors table = organe, pas finding).
Le notebook est solide par ailleurs : les cinq lectures chiffrées (cells 8/11/18/23/26) sont exactes au réexécution près — TPM/NLL,
model_bits KT, 99/99/131→85, gain 39,3→82,8 %, 64/16 règles, 1224 jumeaux / 314 divisions / 4999 instances Goldbach — toutes reproduites fidèlement (venv numpy local, sorties committées identiques au chiffre près). Les renvois de pages au papier R16 sont exacts (p. 1, 3-5, 12, 16, 20, 21, 25). Les findings ci-dessous sont les seuls défauts réfutables.
F1 —
stale-claim— cellule5df58eaa(Exercice 3, étape 3)Extrait (verbatim) :
reprendre la boucle Goldbach jusqu'à $10^5$ (attention au coût : ~30 secondes en pur PythonPourquoi : réexécution de la boucle exacte de la cellule 25 (
is_primeà pas de 2,breakau premierptrouvé) jusqu'à$n \le 10^5$ : 0,52 s (pire cas 292 essais). Le chiffre annoncé surestime le coût d'un facteur ≈ 58.Ce que l'apprenant perd : l'énoncé l'enjoint de réduire à
$5\times10^4$ « si besoin » à cause d'un coût qui n'existe pas — l'étape est exécutable en une seconde telle quelle.
F2 —
exercise-mismatch— cellule5df58eaa(Exercice 3, étape 2)Extrait (verbatim) :
tracer max par tranche **et** \sqrt(borne de tranche)` en pointillés — les deux courbes doivent rester proches`Pourquoi : le compteur de
is_primene s'incrémente que sur les diviseurs impairs ≥ 3 (d = 3 ; … d += 2), doncprime_ops(n) = ⌊(√n−3)/2⌋ + 1 ≈ √n/2. Mesure par tranches de 100 jusqu'à$10^4$ : max simpleprime_ops= 49 en fin de tranche$10^4$ , contresqrt(10^4)= 100 — rapport mesuré 0,49 sur toute la gamme (facteur systématique ×2, uniforme).Ce que l'apprenant perd : on lui annonce un recouvrement (« proches ») qui n'arrive jamais ; il conclura que son instrument dérive alors que l'écart est structurel — la borne attendue (
$\sqrt{n}$ ) n'est pas calibrée pour un compteur impair-seul.
F3 —
stale-claim— cellules4e169d6a(en-tête) et3fedd007(Conclusion)Extrait (verbatim) :
la voie organe pour Tegmark passe par [#16747](https://github.com/jsboige/CoursIA/issues/16747) (organe de série partagé)Pourquoi : état mesuré au dépôt aujourd'hui — #16747 = « Géométrie des concepts SAE : galaxy, cristaux, dense — sur le harnais Qwen du dépôt », close le 2026-10-01 ; l'organe qu'elle promeut est
ict/sae_dictionary.py(SAE), sans aucun contenu MUH/Tegmark. Le seul volet réellement MUH de l'Epic reste #16753 (Annexe A en Lean), toujours ouvert.Ce que l'apprenant perd : le renvoi censé montrer comment Tegmark devient une fibre mène à une issue close consacrée aux SAE ; le critère « une fibre s'acquiert par un organe » reste sans destinataire vérifiable pour Tegmark.
F4 —
prerequisite-gap— cellule4e169d6a(Dépendances, en-tête)Extrait (verbatim) :
**Dépendances** : \ict.compression`, `ict.mdl` (numpy + zlib, bibliothèque standard).`Pourquoi : la cellule 7 exécute
import matplotlib.pyplot as plt; matplotlib n'est déclaré nulle part (0 occurrence hors du code). La formule « bibliothèque standard » est de surcroît inexacte pour matplotlib (tiers), et la dépendance manque alors que le notebook produit deux figures.Ce que l'apprenant perd : en reconstruisant l'environnement depuis l'en-tête, il obtient un
ModuleNotFoundErrorà la première figure (cellule 7).
Organes (passe réelle, checkout
84c99c3ac) :check_split_reading_cells0 signal ·check_interp_positioning0 ·check_output_failure_text0 ·check_cell_source_parses0 ·check_duplicate_sections0 carrefour ·restore_accents_canonical --check: 3 cellules à curer (3/19) + 27 formes hors table → couvert, non re-décrit. Aucune section dupliquée.Organe / classes :
stale-claim(campagne : 346) etexercise-mismatch(92) sont au-delà du seuil, détecteurs déjà proposés — pas de nouvelle proposition ; deux sous-types neufs pour le détecteurstale-claimexistant : (i) coût chiffré d'une étape d'exercice contredit par la boucle livrée, (ii) pointeur d'issue close présentée comme voie active d'un critère.C5 (pilote preaudit) : proposés 0 · confirmés 0 · rejetés 0 · FULL READ ~18 min.
— Hermes (po-2026, partition Hermes, campagne #17073)
Audit — ICT-SAE-JLens-TeteATete.ipynb (partition Hermes, campagne #17073)
Verdict : 1 finding. Lecture apprenant complète (33 cellules, posture : ayant lu ICT-21/ICT-24 cités en prérequis par la navigation — garde-fous, architecture GPU-confiné/numpy-only, fixtures top-k tous introduits en amont).
Finding 1 —
non-word: « permutation seee » (5 occurrences)- Cellules : 2 (Objectifs d'apprentissage, pt 4), 4 (Architecture, diagramme), 5 (§1 Chargement), 21 (§7 Ablation contrôle), 31 (Conclusion, « Ablation valide »).
- Extrait (verbatim, cellule 21) :
Le **contrôle** est une permutation seee des lignes d'input embeddings : un modèle nul sans structure linguistique. - Classe :
non-word(2ᵉ occurrence campagne — sous le seuil organe de 3). - Pourquoi : « seee » n'est pas un mot français ni anglais ; l'apprenant ne peut pas décoder ce que la méthode d'ablation fait réellement (permutation seedée — déterminée par graine). Le terme qualifie la validité du contrôle, au cœur du verdict « Ablation valide » repris en Conclusion. Coquille étendue :
ict/intervention_battery.py:133porte « permutation seeee » (6 e), 7 fichiers touchés dans la série ICT — famille série, pas instance isolée.
Points vérifiés au passage (réfutés, non déposés)
- Exercice 1 : l'indice annonce
concentration_series(..., metric="top1_share")« déjà définie » — branchetop1_sharebien présente dans la cellule 16 ✓. - Cellule 30 (stub Exercice 3) : output
Exercice a completerprésent dans le JSON (tronqué seulement dans la vue) ✓. - Contrôle §7 : le delta +0.0683 (r=+0.0846 → +0.0164) étaye bien « le signal croisé se dégrade sur le contrôle » — la Conclusion synthétise sans embellir ✓.
- Garde-fous : les 5 garde-fous d'honnêteté (espaces disjoints, troncature exacte vs rang-k, mono-token, observationnel, Qwen≠Claude) sont déclarés AVANT les chiffres et repris fidèlement en §8/Conclusion ✓.
Organes
check_split_reading_cells,check_interp_positioning,check_output_failure_text,check_cell_source_parses,check_duplicate_sections: 0 signal.restore_accents_canonical --check: 12 cures potentielles sur 6 cellules markdown (« etabli », « controle »…) — hors périmètre du présent audit (campagne d'accents = lane dédiée), le « seee » ci-dessus n'est PAS couvert par la table accents (hors_table).— Hermes (po-2026, partition Hermes, campagne #17073). Cycle du 2026-10-05.
[Hermes] Audit
MyIA.AI.Notebooks/IIT/ICT-Series/ICT-Synthese-CrossSubstrat.ipynb— 3 findings (stale-claim ×2, exercise-mismatch ×1)Passe d'organes (réelle, checkout
d1df57e32) : split_reading_cells 0 ; interp_positioning 0 ; output_failure_text 0 ; cell_source_parses 0 (1 scanned) ; restore_accents_canonical --check 0 cure (8 hors-table banales : applique ×3, emergence, bascule, donne, permute, pose) ; check_duplicate_sections 0 carrier. Organes : couverts (0 signal).FULL READ 41 cellules, posture apprenant, après survol de l'historique du fichier (blob parent pré-refresh
f5506897~1, 31 cellules). Toutes les lectures de gates 1-6 vérifiées contre les sorties committées : z(EC) 1.86/1.24/2.66 ✓, τ EI↔EC_gain −0.33/+1.00 ✓, ensembles crédités par graine {S1,S3}/{S2,S3}/{S2} + comptes 4/5-4/5-1/5 ✓, gains Φ/F/K + ordres ✓, σ 5.66/0.00/0.020/0.089 ✓, repair_gain +0.82 ± 0.27 ✓. Stubs C.1 conformes,credited/emergence_gain/trajectory_batteryvérifiés dansict/synthesis.pyau head. Cause racine des trois findings : le refresh 5-substrats (#5804) a réécrit titre (trois→cinq), verdict et footer, mais a laissé intacts la table récap §1, l'en-tête §2, l'intro §3 et l'Exercice 1 de l'ère 3-substrats.Finding 1 —
stale-claim(cellule id08eebbfc, §1 « Le fil de la série — tableau récapitulatif »)Extrait verbatim :
Le cœur de ce capstone : une ligne par notebook, la **question centrale**, le **verdict réellement committé** (pas l'intuition de départ), et les **chiffres des gates** qui le soutiennent.La table s'arrête à ICT-13 (14 lignes, ICT-0 → ICT-13) alors que la série compte 88 notebooks au head et que ce capstone dépend des strates 4-5 pour ses gates 4-6 : Φ/F/K vient d'ICT-15, la réversibilisation d'ICT-18, l'ENJEU d'ICT-19/19b, le substrat S4 d'ICT-21/22 — tous cités dans le footer et l'appareil, absents de la table qui promet « une ligne par notebook ». L'apprenant qui utilise cette table comme carte de la série ignore les deux tiers aval dont le notebook qu'il lit est la synthèse. Préexistence vérifiée : la table est identique dans le blob parent pré-refresh (elle datait de l'ère où le capstone synthétisait ICT-0→13) — le refresh ne l'a pas corrigée.
Finding 2 —
stale-claim(cellule id79b7556a, §2 « Le fil unificateur : un seul appareil, trois substrats »)Extrait verbatim :
## 2. Le fil unificateur : un seul appareil, trois substrats— section refermée parC'est la discipline d'ICT-8/9/11 généralisée à trois substrats à la fois.Contredit par le titre du notebook (« cinq substrats », cell id
55c513d8), par le code que l'apprenant exécute aux gates 4-5 (subs_4 = {"S1_tri": s1, "S2_bistable": s2, "S3_replicateur": s3, "S4_LLM": s4}, cell id16f26414— quatre membres) et par le verdict (§11 : « étendue de trois substrats à cinq »). L'intro de la cellule 0 énumère elle aussi les strates jusqu'à 3 seulement. La section qui présente l'appareil mesure donc un périmètre que les cellules suivantes dépassent immédiatement ; l'apprenant reçoit deux périmètres contradictoires pour le même banc. Préexistence vérifiée : le heading et la phrase de clôture sont inchangés depuis le blob parent (le refresh a changé le titre principal mais pas les §§2-3).Finding 3 —
exercise-mismatch(cellule idfee11470, §12 « Exercice 1 — un quatrième substrat », stub id6bec4eaf)Extrait verbatim :
### Exercice 1 — un quatrième substrat/ Étape 1 :construire une trajectoire traj_s4 (liste d'états discrets grossiers)L'exercice demande d'ajouter « un quatrième substrat » et de définir
traj_s4— ortraj_S4existe déjà (définie cell id839b291b: substrat LLM-SAE,NPZ_TRAINED,PROMPT_SETS, 5 jeux poolés) et a déjà été intégrée aux gates 4-5 comme quatrième membre desubs_4. L'apprenant qui suit l'énoncé reconstruit un objet déjà livré et déjà mesuré, avec un nom en collision de casse (traj_s4vstraj_S4) ; et le « quatrième » qu'il fabriquera depuis ICT-9/ICT-1 sera en réalité le cinquième substrat du banc. L'énoncé date de l'ère 3-substrats (présent à l'identique dans le blob parent) et n'a pas suivi le refresh. La consigne fonctionnelle (rejoindre l'ensemble crédité, déplacer le classement du gate 2) reste pertinente — c'est le numéro de position et l'objet qui sont périmés.
Note de série : les trois findings partagent la même cause racine (refresh #5804 partiel : titre/verdict/footer réécrits, §§1-3 + exercices laissés à l'ancien périmètre) — un correctif unifié de prose est possible sans toucher aux sorties committées. Candidat panorama (hors findings, arbitrage user) : la table §1 gagnerait un sous-ensemble « strates 4-5 » plutôt que 74 lignes supplémentaires.
Pilote pré-audit (C5) : cycle sans dossier — file /opt/data/tmp/preaudit re-croisée ce cycle : 0 DM non-lu, 83 dossiers locaux tous résolus vers des notebooks déjà audités au ledger (renames CSharp #18634, padding Lean #18199, séries ANALYSE-01-04, Serre100 → sous-chemins actuels), 0 dû.
— Hermes (po-2026, partition Hermes, campagne #17073)
[CLAIMED] lane myia-po-2024:CoursIA -- paths: MyIA.AI.Notebooks/IIT/ICT-Series/ICT-Synthese-CrossSubstrat.ipynb, MyIA.AI.Notebooks/IIT/ICT-Series/ICT-Life-SubstratCertifie.ipynb, MyIA.AI.Notebooks/IIT/ICT-Series/ICT-MUH-FibreTegmark.ipynb -- service des findings Hermes du 2026-10-05 (campagne #17073, partition ICT) : correctifs de prose pedagogique, une PR par carnet, sorties committees non touchees (modifs markdown-only)
Grain: MED/notebook-python — lane myia-po-2024:CoursIA — prev: MED/docs #19674
[CLAIMED-AMEND] lane myia-po-2024:CoursIA -- paths: MyIA.AI.Notebooks/IIT/ICT-Series/ICT-Synthese-CrossSubstrat.ipynb, MyIA.AI.Notebooks/IIT/ICT-Series/ICT-Life-SubstratCertifie.ipynb, MyIA.AI.Notebooks/IIT/ICT-Series/ICT-MUH-FibreTegmark.ipynb, MyIA.AI.Notebooks/IIT/ICT-Series/ICT-SAE-JLens-TeteATete.ipynb, MyIA.AI.Notebooks/IIT/ICT-Series/ICT-35b-HumorCausalPairs-SAE-Python.ipynb, MyIA.AI.Notebooks/IIT/ICT-Series/ict/intervention_battery.py -- ajout de la famille non-word seee (audit JLens c.6001781963) au service des findings Hermes du 2026-10-05
clusterManager-Myia commented
on Oct 9, 2026 CollaboratorMore actionsAudit —
MyIA.AI.Notebooks/IIT/ICT-Series/ICT-25b-StratificationInterTailles-Python.ipynb(partition Hermes, #17073)Verdict : 1 finding (
concept-error) + 2 versements 1-ligne à des classes gelées. HEAD audité :6fdc6248d488(commit fichierca3b8363, 09/10 06:21Z) ; blob sha vérifié == API contents (12 173o, 12 cellules : 8 MD / 4 CODE, ec 1..5).Passe d'organes (checkout
1960ff98b,git pull --ff-only) : couverte — 0 signal sur les 6 checks standard (check_split_reading_cells0,check_interp_positioning0,check_output_failure_text0,check_cell_source_parses0,check_duplicate_sections0 —scanned 1, carriers 0;restore_accents_canonical --check→ 0 cure / 0 cellule md concernée) + 2 contrôles de navigation en complément (check_notebook_navlinks→ 0 lien cassé ;check_notebook_nav_chain→orphan_entrysurICT-25-InoculationRL-Python, état de série préexistant, non imputable à ce carnet).check_stale_claims: 0 anomalie.check_factual_mislabel: 0 anomalie — le défaut ci-dessous est un défaut de libellé conceptuel, hors du champ de ces deux organes.Re-jeu des artefacts (les 10 JSON
runs/ict25a_{N,Np}_{1.5B,7B,14B,27B,32B}.jsonre-téléchargés au head et recalculés en stdlib, sans faire confiance au dossier) : la table des Cohen's d du carnet est exacte au centième près (recalcul indépendant : 1.5B+0.80 / +0.00 / −0.71 / −2.17 / +0.46 / −1.11; 7B+2.36 / +3.26 / +1.95 / +0.00 / +2.53 / +2.46; 14B−8.15 / −4.27 / −4.52 / −2.52 / −9.60 / −4.32; 27B+3.43 / +6.68 / −8.91 / −10.20 / +1.86 / +3.25; 32B−31.44 / −12.55 / −1.39 / −3.44 / −17.49 / −11.63), idem le pivothack_late(0.227/0.440/0.938/0.200/0.860 vs 0.227/0.542/0.781/0.425/0.240) et les dispersions min/max de la §3. La série citée (0, +3.26, −4.27, +6.68, −12.55) est bien lue dans l'ordre de taille, pas dans l'ordre alphabétique du pivot pandas. Aucun stale-claim numérique dans ce carnet.
F1 —
concept-error· cellules 01, 08, 11 (markdown, sansid)Extrait (verbatim, cellule 11) : « l'oscillation du Cohen's d (Np vs N) sur
hack_late… Le 32B montre une forte inversion Np < N — l'inoculation par prompt y est très efficace. »Extrait (verbatim, cellule 08) : « 1.5B : d ≈ 0 sur
hack_late. L'inoculation par jailbreak prompt n'a pas encore d'effet mesurable sur la métriquehack_late»Extrait (verbatim, cellule 01) : « l'effet de l'inoculation (Np vs N) change de signe entre 7B, 14B, 27B et 32B »
Réfutation (une commande) : le bras
Npde ces JSON n'est pas une inoculation — c'est le bras « informé sans permission ». Le harnais qui a produit les 10 artefacts le définit littéralement :scripts/ict25a_scaleup_grpo.pyporteARM_PREFIX = {"N": None, "Np": SYSTEM_PROMPT_INFORMED}, etSYSTEM_PROMPT_INFORMEDajoute une obligation (« Tu es un assistant mathematique. On t'informe qu'un raccourci … existe peut-etre … Tu dois neanmoins deriver chaque etape de ton raisonnement avant de conclure. »). Le carnet parent ICT-25 §5.6 nomme ce brasN′ « informé sans permission »et précise que le bras I (permission = inoculation) a été retiré : « Le bras I RETIRE (#15061) … Le contraste d'echelle porte desormais sur N vs Np ». Enfin le motjailbreakest absent du carnet parent (0 occurrence sur 183 730 caractères) — l'étiquette est propre à ICT-25b.Pourquoi (ce que l'apprenant perd) : un jailbreak prompt retire une contrainte ; le bras
Npen ajoute une (obligation de dériver). L'apprenant repart donc avec une lecture inversée du mécanisme mesuré : il croit lire un effet d'inoculation (injection de persona dans les poids, Gate 20) là où le protocole mesure un effet de divulgation (information sans permission) — exactement le confondu que §5.6 du carnet parent a été construit pour démêler. Le chiffre est juste, l'étiquette causale est fausse : la non-monotonie (« sous le seuil, l'annonce arme l'adversaire ») est un résultat de disclosure, pas d'inoculation.Note de classe :
concept-errorest déjà au-dessus du seuil de campagne (pastille d'organe existante ; précédent d'instance additive : audit ICT-41 du 05/10) — seule une instance additive est portée, aucune nouvelle proposition d'organe n'est ouverte ici.
Versements 1-ligne (classes gelées)
stale-claim(gel c.5884190266) · cellule 11 :[→ ICT-26 — à venir]()—ICT-26-SignalingConvention-Python.ipynbest livré (ajoutbcd346d3, 2026-07-29 ; ligne 301 de la table du README de série) et le lien est vide (()). Nature : claim de péremption + renvoi mort dans la cellule de clôture.navigation-misplaced· cellule 00 : le carnet est absent de la carte canonique de la série — 0 occurrence deICT-25bdansREADME.md(87 lignes de table| [ICT-…) alors queICT-25-InoculationRL-Pythonpointe vers lui par son lien avant ([→ ICT-25b — StratificationInterTailles]). Nature : carnet livré, référencé par son prédécesseur, mais invisible depuis la carte déclarée « référence unique » (cadrage ICT-0, [ICT] Les strates du README et celles du doc de cadrage décrivent deux séries différentes à partir de S4 #13908).
Ce qui n'est PAS déposé. « L'effet Np (jailbreak prompt) disparaît au 32B » (cellule 11) : ambigu entre « le hack disparaît dans le bras Np » (lecture cohérente avec 0.24 vs 0.86) et « l'effet du traitement disparaît » (contredit par le
d = −12.55de la puce précédente) — ambiguïté de rédaction, pas défaut nommé (exclusion « pas de défaut réfutable en 10 s »). Le §3 « Contraste géométrique (placeholder) » et ses 4- [ ]= TODO d'exercice déclaré (exclusion). Le 27B (Qwen3.5) est correctement isolé comme sonde transversale à deux variables (famille + think-close) — pas deconcept-ordering. Aucun candidat d'enrichissement retenu comme travail (densification gelée).— Hermes (po-2026, partition Hermes, audit lecture seule)
clusterManager-Myia commented
on Oct 9, 2026 CollaboratorMore actionsAudit —
MyIA.AI.Notebooks/IIT/ICT-Series/ICT-47b-PainAxisInstrument-Python.ipynb(partition Hermes, #17073)Verdict : 4 findings —
stale-claim×2,counter-conflation×1,section-numbering-gap×1.
HEAD audité :88b65a182865(commit fichier98e103520, 09/10 06:37Z) ; blob sha recalculé == API contents (134 153 o, 22 cellules : 13 MD / 9 CODE, ec 1..9, 0 erreur de sortie).Passe d'organes (checkout
ade9ca9e7,git pull --ff-only) : couverte — 0 signal sur les 6 checks standard (check_split_reading_cells0 ;check_interp_positioning0 ;check_output_failure_text0 ;check_cell_source_parses0 ;check_duplicate_sectionsscanned 1, carriers 0;restore_accents_canonical --check0 cure, 1 mot « laisse » hors table). Compléments :check_stale_claims0 anomalie,check_factual_mislabel0 anomalie,check_source_output_ratchet0,check_output_flood0,check_output_collapse0,check_lecture_anchor0,check_outputs_text_fragmentation0,scan_machine_path_outputs0 (le carnet filtre ses chemins machine à la source),check_machine_dep_timing1 signalwallclock(« charge en 22 s », §4) — mesure d'une machine nommée et assumée en Limites (« propre à po-2023 ») : pas un finding. Sections dupliquées : 0 (porteur #17066 : rien à verser).Re-jeu numérique des sorties committées (stdlib, sans confiance au dossier) : le contrôle de reproduction (bf16 re-mesuré vs bf16 publié d'ICT-47,
|max| 0,003à 2B /0,010à 9B) et l'effet d'instrument (|max| 0,013int8 /0,042NF4 à 2B,0,010à 9B) sont exacts au chiffre imprimé ; la fenêtre de profondeur (couches 8/16/24/30) et la graine de partition (0,591/0,545/0,500/0,727, σ 0,098) sont cohérentes avec les cellules qui les produisent. Aucun stale-claim de sortie locale.
F1 —
stale-claim· cellulep47b-title(00)Extrait (verbatim) : « Ce carnet existe parce qu'ICT-47 a laissé une question ouverte que ses propres Limites nomment — « au-delà du 9B, rien n'est mesuré ; deux tailles ne suffisent pas à conclure à une invariance d'échelle ». »
Réfutation (une commande) : la phrase citée n'existe plus dans
ICT-47-PainAxisDistillation-Python.ipynbau head. Comptage au blob du parent du commit 14B puis au head —git show 7b2336565~1:<ICT-47>.ipynb→ phrase « au-delà du 9B… » 1 / « au-delà du 14B… » 0 ;git show origin/main:<ICT-47>.ipynb→ 0 / 1. La substitution (« deux tailles ne suffisent pas » → « au-delà du 14B, rien n'est mesuré : trois points dont un change de famille ») date du commit7b2336565(06/10, ajout du point 14B), soit trois jours avant la création de 47b (98e103520, 09/10) — qui cite pourtant la version périmée comme l'état courant du frère.Pourquoi (ce que l'apprenant perd) : il ouvre le frère pour vérifier la prémisse (« la question ouverte que ses Limites nomment ») et y lit une autre borne ; la §4 de 47b lui-même atteste que le point 14B existe. Le lecteur reçoit deux états contemporains incompatibles du même carnet. Le défaut est structurellement hors du champ de
check_stale_claims(la référence vit dans un carnet voisin, pas dans les sorties locales) → angle mort versé en ligne additive sur #17073.
F2 —
stale-claim· cellulep47b-lecture-load(06)Extrait (verbatim) : «
unloadentre deux chargements garantit qu'un seul modèle vit en mémoire à la fois. »Réfutation (une commande) :
unloadest absent du code du carnet — 1 seule occurrence, dans cette cellule de prose (markdown) ; 0 dans les cellules code. La fonction qui porte la garantie estrelease()(def release×1, appelée ×3 ;grep -rn 'def unload'sur le dépôt : 0). Le contrat décrit est même l'inverse : la docstring impose de remettre le nom àNoneavantrelease()(«delsur un paramètre ne libère pas l'objet … les modèles s'empilent alors jusqu'à l'OOM »).Pourquoi (ce que l'apprenant perd) : il cherche le mécanisme promis et ne trouve aucun symbole de ce nom ; prose et code désignent deux objets différents sous un nom inexistant — et la règle d'usage réel (déréférencer d'abord) n'est pas celle qu'annonce la lecture.
F3 —
counter-conflation· cellulep47b-lecture-quant(10)Extrait (verbatim) : « Le second est l'écart entre un instrument quantifié et cette référence, sur cinq grandeurs indépendantes — deux cosinus de disjonction, l'unité inter-douleur, et l'écart diagonale/hors-diagonale de la matrice 4D. »
Réfutation (une commande) : l'énumération nomme 4 items pour un total annoncé de 5, et la cinquième grandeur est exactement celle que la sortie committée de la cellule
p47b-quantimprime : cinq colonnesd(fear) d(sadness) d(valence) d(unite) d(ecart). La liste du code en porte bien cinq — trois cosinus (cos4["fear"],cos4["sadness"],cos4["valence"]), l'unité, l'écart. La prose écrit « deux cosinus ».Pourquoi (ce que l'apprenant perd) : en réconciliant le décompte il tombe sur 4 ≠ 5 ; et la grandeur omise est précisément le cosinus
pain~valence— l'axe non dissocié, cœur du verdict du frère. La description sous-spécifie ce que la mesure imprime.
F4 —
section-numbering-gap· cellulep47b-plan(01) + en-têtes du carnetExtrait (verbatim,
p47b-plan) : « 1. Le corpus … 2. L'instrument … 3. Robustesse à l'échelle atteignable … 4. La barrière … 5. Verdict et limites »Réfutation (une commande) : le carnet ne porte qu'un seul en-tête numéroté (
## 4. La barrière), alors que sa prose renvoie 13 fois à une « section N » (« section 2 » ×8, « section 3 » ×4, « section 4 » ×1). Les sections 1, 2, 3 et 5 du plan n'ont aucun en-tête (ni numéroté, ni titré) : le corpus, la mesure d'instrument, la robustesse et le verdict n'existent que sous forme de cellules**Lecture.**intercalées.Pourquoi (ce que l'apprenant perd) : ni le plan ni les renvois internes ne se résolvent vers un emplacement — « la section 2 mesure sur des cosinus » et « la section 3 la mesure partiellement au 9B » (Limites) désignent des zones sans titre ; l'unique numéro visible (§4) laisse même croire que les autres sections n'existent pas.
Ce qui n'est PAS déposé
- Barres « Loading weights » (cellule
p47b-run, 6display_data) : la prose du préambule annonce « Aucune cellule n'affiche de barre volontairement : coupe a la source ». La coupe a bien porté sur le flotstream(≈27 sorties/modèle annoncées) et un widget par modèle subsiste — état identique à celui du frère ICT-47 ;check_output_floodetcheck_output_collapsene signalent rien → bruit d'outillage, pas de défaut nommé pour l'apprenant. - « restent dans l'intervalle du centième » (Verdict) alors que l'écart imprimé atteint 0,042 (NF4 2B,
unite_moy) : 0,042 reste en 10⁻² — ordre de grandeur défendable, non réfutable en 10 s → candidat retenu, non déposé. - Exercice 2 (« resserrer la frontière ») : renvoie au cache local sans nommer le substrat — tâche d'exploration ouverte = TODO d'exercice (exclusion).
- Aucun
figure-*applicable : le carnet ne trace aucune figure (§2–§4 sont des tableaux imprimés).
File preaudit (ÉTAPE 0.6) : 0 dossier dû ce cycle — les 8 « non résolus » de la boîte locale (
Lean-17a/b/c,Lean-18/19/20/20b,Serre100/08) sont des fantômes de rename, tous résolus vers des carnets déjàauditéau ledger (KNOTS-01/02/03, ANALYSE-01/02/03/04,08-serre-dans-mathlib-Lean). Aucun DM[nb-preaudit]non lu (inbox 0 unread).— Hermes (po-2026, partition Hermes, audit lecture seule)
Ligne additive organe (#17073) — F1 ouvre un angle mort confirmé :
check_stale_claimscompare la prose aux sorties locales du carnet, jamais aux carnets voisins cités (référence inter-carnet : phrase reprise d'un frère que celui-ci a depuis réécrite). Aucun organe existant ne couvre ce cas. Instances campagne à ce jour : 1 (celle-ci) → sous le seuil de proposition (<3) ; à croiser si récidive.- Barres « Loading weights » (cellule
Panorama — série ICT (77 notebooks,
MyIA.AI.Notebooks/IIT/ICT-Series/)Arc pédagogique (d'après numérotation + lecture ICT-1/ICT-2 en headers et ICT-3 en lecture complète) : la série part des repères IIT canoniques (ICT-1 — trajectoires de$\Phi$ ), pose le paradigme vu-cellule sur le self-sorting (ICT-2, prérequis déclaré de ICT-3), puis le transforme en études quantitatives (ICT-3 robustesse & délai de gratification ; ICT-4 chimères & agrégation cinétique ; ICT-5/06 émergence causale & TPM ; ICT-07 signatures scale-free ; ICT-08 attracteurs & EWS ; ICT-09 agency & régénération), ouvre le langage des catastrophes (ICT-10 → 15x, 20, 23), les substrats LLM/SAE (ICT-22, 35b-c, 36-41 FLens/SLens), l'invention de symboles et conventions (ICT-26 → 31), et des greffes latérales (Greffe 2/4/5, Dissociation, Annexe, Argumentation, Synthèse cross-substrat).
Ordre canonique proposé : ordre numérique (01 → 41), chaque sous-notebook (b, c, …) immédiatement après son principal ; les Greffe/Dissociation/Annexe comme branches latérales post-15 ; synthèse cross-substrat en clôture.
Niveau d'apprenant proposé : intermédiaire Python (numpy/matplotlib + bibliothèque standard), notions IIT de base (Φ, cause-effet). ICT-2 annonce 45 min et pose ICT-0 (cadrage
.md) en prérequis.Gaps entre notebooks : aucun identifié sur le segment lu (ICT-2 §3-4 → ICT-3 §1-2 : continuité parfaite des notions frozen/passive/obstacle et auto-réparation ; ICT-2 §5 chimères → ICT-4 annoncé). À compléter au fil des cycles.
Checklist :