You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[EPIC][ICT] Toolkit multi-instrument de mesure et d’intervention sur les états internes #15475
État mesuré au 2026-10-05 (consolidation #13906, lane myia-po-2025:CoursIA). Confrontation des 6 cases « Enfants initiaux » et des 7 « Critères de réussite » à origin/main. L'Epic n'est pas fermable : 2 filles closes, 2 livrées-mais-ouvertes, 2 encore ouvertes — chacune nommée ci-dessous avec sa preuve.
Enfants initiaux
#
Case
Verdict
Artefact vérifié sur main
1
#15476 — Contrat de trace v1, identité d'instrument et alignement commun
livrée, non close
MyIA.AI.Notebooks/IIT/ICT-Series/ict/trace_contract.py porte CONTRACT_VERSION = "v1.1.0" (l. 67) et l'énumération INSTRUMENTS ; PRs #15525 et #15548MERGED. Le [RELEASED] de la lane ai-01:CoursIA-2 du 2026-10-04 la déclare candidate-delivered (marqueurs c.1134 du 22/09 et c.926 du 28/09) — la fermeture revient au coordinateur (urne delivered, #15069), pas à une lane.
OPEN. Le coordinateur l'a rendue au tapis le 2026-10-05 : « ce n'est pas encore livré » — les 6 critères d'origine sont couverts (#15514, #16013) et #18002 livre la courbe overlap(k) sur 5 graines, mais des critères ajoutés le 15/09 restent ouverts (boucle fermée bench_factorise, plancher Bayes, bruit sur le canal génératif, structure conditionnelle, null sur ≥5 initialisations non entraînées, overlap des coefficients de probes). L'artefact existe (ICT-36-FLens-FactoredGeometry, 16 cellules exécutées, 0 erreur) ; la case ne l'est pas.
ict/causal_engine.py (711 l.) est sur main : InterventionSpec, apply_intervention, interchange_panels, random_target_matched, sham_of, symmetric_doses, dose_response_specs, holm_adjust, damage_metrics, selectivity_verdict, InterventionRecord.to_json, artifact_sha256, assert_alignment. Le claim myia-po-2024:CoursIA du 2026-09-27 porte une tranche de délégation au contrat canonique, pas l'absence du moteur.
5
#15480 — pilote de triangulation SAE–J-Lens–F-Lens
livrée, non close
ICT-40a-TriangulationCausale-Python.ipynb sur main : 16 cellules exécutées, 0 erreur, hypothèses H1-H4 pré-enregistrées verbatim, doses symétriques, sham, correction de Holm, multi-seeds. PRs #16230, #17472, #15665, #15799MERGED ; [INFO] candidate-delivered de ai-01 du 2026-10-03 → fermeture = urne delivered.
CLOSED 2026-09-15 ; ict/slens.py + ICT-38-SLens-SelfLocation-Python.ipynb sur main
Critères de réussite
#
Critère
Verdict
Preuve / ce qui manque
1
Les quatre instruments ont un contrat d'observable explicite et versionné
tenue, avec une nuance déclarée
ict/trace_contract.py, CONTRACT_VERSION = "v1.1.0", validate_manifest, stamp de rétro-compatibilité (out["contract_version"], l. 254). L'énumération INSTRUMENTS couvre sae, jlens, jlens_trackp — S-Lens en est délibérément exclu : slens.py écrit « slens n'entre PAS dans l'énumération INSTRUMENTS du contrat de trace v1 » et range son ajout en étape post-promotion. Cette exclusion est la doctrine du critère 6, pas un manque du critère 1.
2
Traces alignables sans mélange silencieux de modèle, run, prompt, token, couche ou sémantique top-k
tenue
ALIGNMENT_KEYS + validate_manifest dans trace_contract.py ; la sémantique top-k est portée explicitement (jlens_trackp) ; tests tests/test_trace_contract.py, ict/tests/test_jlens_traces.py, ict/tests/test_lens_endpoints.py
3
F-Lens rend deux verdicts distincts : état prédictif accessible et géométrie de ses facteurs
partiellement tenue
Le belief-state est rendu (ICT-37, #15477 close). La géométrie factorisée a un carnet exécuté (ICT-36) mais son grain #15478 n'est pas livré — le second verdict n'est donc pas encore acquis au sens de la case.
4
Le moteur causal exécute des interventions appariées avec provenance et contrôles
Un pilote à trois instruments rend des verdicts falsifiables multi-seeds avec tailles d'effet et IC
tenue
ICT-40a-TriangulationCausale-Python.ipynb : trois lectures séparées de la même machine (F-Lens belief / SAE / J-Lens), H1-H4 pré-enregistrées, doses et sham, Holm, seeds
6
S-Lens reste expérimental tant que sa généralisation hors copy_offset n'est pas démontrée
tenue
ict/slens.py porte le statut contractuel : POC expérimental, hors énumération du contrat v1, manifestes POC-locaux non validables par validate_manifest ; le second problème de binding (variable_binding) est le gate de promotion, et le verdict est PROMOTE / SPECIALIZED_ONLY / INCONCLUSIVE
7
Tous les notebooks exécutés end-to-end avec outputs réels et ≥3 exercices
tenue
Mesuré sur les 5 carnets du périmètre (execution_count non nul, 0 erreur) : ICT-22b 15/15, ICT-36 16/16, ICT-37 13/13, ICT-38 16/16, ICT-SAE-JLens-TeteATete 12/12. scripts/notebook_tools/count_exercises.py : 5/5 conformes, 16 exercices au total.
Ce qui reste, et où ça vit
ICT F-Lens : mode factored-geometry, sous-espaces et additivité #15478 — le seul enfant dont la livraison est en défaut. Les critères ajoutés le 15/09 sont nommés par le coordinateur lui-même (2026-10-05) : boucle fermée bench_factorise, plancher Bayes, bruit sur le canal génératif, structure conditionnelle, null sur au moins 5 initialisations non entraînées, overlap des coefficients de probes. C'est un grain de contenu actionnable par une lane.
ICT toolkit : moteur commun d’interventions causales sur les états internes #15479 — claim actif myia-po-2024:CoursIA (2026-09-27) sur une tranche de délégation au contrat canonique. Le moteur lui-même est déjà sur main ; la case reste ouverte parce que le grain qui la porte n'est pas terminé, et elle appartient à la lane qui l'a claimé.
Aucun résidu de cet Epic n'est verrouillé par une décision user.
Portée non vérifiée : les critères ont été mesurés sur les artefacts de origin/main et sur les corps/derniers commentaires des six filles — pas sur les 12+ commentaires de chacune ; un critère tenu par une PR mergée après le dernier commentaire d'un enfant ne serait pas vu ici. La mesure d'exécution des carnets porte sur les fichiers de origin/main matérialisés hors arbre de travail.
But
Construire dans ICT un toolkit cohérent pour mesurer, comparer puis intervenir sur les états internes des transformers, sans réduire des observables différents à un score omnibus.
Le toolkit consolide deux instruments existants et en introduit deux autres :
Feature Lens (SAE) — features latentes sparse ;
Functional Readout Lens (J-Lens) — effets fonctionnels exposés actuellement comme logits de tokens ;
Self-Location Lens (S-Lens) — position/référence/binding, au statut expérimental.
La causalité n’est pas un cinquième instrument : c’est un protocole transversal reliant les cibles proposées par les lentilles à des interventions et à des effets mesurés.
La synthèse/API publique sera ouverte après le verdict du pilote causal. Le notebook S-Lens définitif sera ouvert seulement si le POC généralise à un second problème de binding.
Critères de réussite
Les quatre instruments ont un contrat d’observable explicite et versionné.
Les traces sont alignables sans mélange silencieux de modèle, run, prompt, token, couche ou sémantique top-k.
F-Lens rend deux verdicts distincts : état prédictif accessible et géométrie de ses facteurs.
Le moteur causal exécute des interventions appariées avec provenance et contrôles.
Un pilote à trois instruments rend des verdicts falsifiables multi-seeds avec tailles d’effet et IC.
S-Lens reste expérimental tant que sa généralisation hors copy_offset n’est pas démontrée.
Tous les notebooks sont exécutés end-to-end avec outputs réels et ≥3 exercices.
Sources et licence
Méthodes scientifiques fondatrices : arXiv:2405.15943 et arXiv:2602.02385, enregistrées dans la bibliothèque canonique.
Les dépôts factored-reps, simplexity, strange-loop et pytorch-AI-interpretability-transformer_ZM n’ont pas de licence détectée lors du preflight. Ils servent uniquement de références scientifiques/architecturales : aucun code n’est copié ; les méthodes sont réimplémentées depuis les publications et nos propres contrats.
But
Construire dans ICT un toolkit cohérent pour mesurer, comparer puis intervenir sur les états internes des transformers, sans réduire des observables différents à un score omnibus.
Le toolkit consolide deux instruments existants et en introduit deux autres :
La causalité n’est pas un cinquième instrument : c’est un protocole transversal reliant les cibles proposées par les lentilles à des interventions et à des effets mesurés.
Position dans la série et non-duplication
Principes architecturaux
Capture once, analyze many, intervene explicitly
Le cœur analytique reste numpy-first/offline dans
ict/; torch/transformers et les hooks restent dansscripts/.Sémantique préservée
Couche causale transversale
Opérations :
ablate,clamp,patch,steer,interchange.Contrôles minimaux : cible aléatoire appariée en norme/fréquence, sham, doses symétriques, contre-factuels appariés, plusieurs seeds, contrôle perplexité/reconstruction et correction des comparaisons multiples.
Chaîne de preuve exigée :
Toujours séparer effet sur l’état, effet sur le readout et effet comportemental.
Enfants initiaux
La synthèse/API publique sera ouverte après le verdict du pilote causal. Le notebook S-Lens définitif sera ouvert seulement si le POC généralise à un second problème de binding.
Critères de réussite
copy_offsetn’est pas démontrée.Sources et licence
Méthodes scientifiques fondatrices : arXiv:2405.15943 et arXiv:2602.02385, enregistrées dans la bibliothèque canonique.
Les dépôts
factored-reps,simplexity,strange-loopetpytorch-AI-interpretability-transformer_ZMn’ont pas de licence détectée lors du preflight. Ils servent uniquement de références scientifiques/architecturales : aucun code n’est copié ; les méthodes sont réimplémentées depuis les publications et nos propres contrats.