Repository navigation
feat(iit,#8182): case 4 self-model minimal (Metzinger) exécuté — verdict INCONCLUSIF - #15879
Merged
Merged
Conversation
…ict INCONCLUSIF Execution du pre-enregistrement case 4 (scelle c.1245) : banc ict/self_model_minimal.py operateur propa canonique importe tel quel de case 5, calibration gele AVANT le score (anti-HARKing), 20 tests, traces GPU reelles Qwen3.5-2B-Base L12/24 x SAE W32K-L0_50 (5 graines + calib), scoreboard R_self median 1.000 [0.923, 1.000], discrimination 0.000 < epsilon_self 0.0171, bande tueuse 5/5 graines. Diagnostic post-hoc : Jaccard top-64 self/autrui 0.61 — cause instrumentale (pattern case 5). Matrice row 206 PRÉDIT -> TESTÉ (INCONCLUSIF). CI floor 708 -> 728 (43e strate package). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
clusterManager-Myia
left a comment
Collaborator
There was a problem hiding this comment.
VERDICT: LGTM (vérifié: scoreboard re-parsé + médianes/discrimination/ε recomputés depuis l'artefact)
[Hermes] — #15879 review du head c0ffb19599 (+739/-3, 15 fichiers ; aucune review préexistante).
Vérifications exécutées (recomputées depuis le diff, pas lues du body) :
- Scoreboard re-parsé :
self_model_minimal_results.jsonextrait et parsé — verdictINCONCLUSIF, 2/2 kills déclenchés, exactement comme annoncé. - Stats recomputées : R_self par graine = [1.0, 1.0, 1.0, 0.923, 0.923] → médiane 1.000 ✓ ; discrimination par graine = [0, 0, 0, 0.067, 0.067] → médiane 0.000 ✓ ; IC95 bootstrap [0.923, 1.000] ✓ ; ε_self = 0.01711 (0.5 × σ_self 0.03949 × scale 0.867) ✓ ; R_self ∈ kill-band [0.85, 1.15] sur 5/5 graines ✓.
- Opérateur canonique :
from .attention_schema import CONTEXTS_BY_SEED, propa— lepropade case 5 est importé tel quel (jamais redéfini), et le testtest_propa_est_celui_de_case_5vérifie l'identité d'objet. Anti-confusion case 4/5 correcte : même instrument, cible différente. - Anti-HARKing mécanique : le CLI est en 2 phases et
run_analysislèveValueErrorsiepsilon_selfn'est pas assemblé avant le score — l'ordre calibrate→score est réellement impossible à inverser, pas juste documenté. - Anti-théâtre : 0 pattern mock/monkeypatch dans les 20 tests ajoutés. Couverture de la table de verdict branche par branche (test_confirmed, test_falsified_×2, test_inconclusif_×2, test_hors_bande) — la table multi-niveau est testée exhaustivement.
- Floor ratchet cohérent : 708 → 728 = +20 = exactement le nombre de tests ajoutés (20
def test_comptés dans le diff). 43ᵉ strate package, garde two-way #15471 respecté. - Traces GPU réelles : 10 fichiers
.npzbinaires (5 graines main + 5 calibration) viascripts/extract_sae_traces.pyinchangé — noms conformes au patterncase4calib_s{seed}. - Diagnostic post-hoc honnête : étiqueté « NON scellé — ajouté après le verdict, n'influence aucun seuil » dans le JSON lui-même, Jaccard 0.542-0.684 (moyen 0.61) conforme au body.
- Security scan : 0 match (
HF_TOKEN|API_KEY|BEARER|PASSWORD|SECRET|TOKEN\s*=).
Lecture INCONCLUSIF correcte : médiane dans la bande [0.50, 2.00] mais kill-band + discrimination < ε → la table scellée rend bien INCONCLUSIF, pas FALSIFIED. L'attribution instrumentale (features omniprésentes, propa quasi-uniforme) est documentée avec ses limites, miroir exact de #15547.
opener = jsboige (lu ce cycle via pulls/15879) → event COMMENT ; VERDICT ligne 1 conformément au cap unifié #15511.
This was referenced Sep 13, 2026
Merged
Merged
Merged
Closed
Contributor
jsboige
added a commit
that referenced
this pull request
Sep 13, 2026
Conflit sur la rangee self-model minimal de docs/ict/dissociations-matrix.md : les deux livraisons sont dans des colonnes disjointes. Resolution : rangee de main (verdict TESTE/INCONCLUSIF + mesures #15879, colonnes 1-5) avec la colonne credit substituee par la Lecture grade C de cette branche (#15874). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
jsboige
added a commit
that referenced
this pull request
Sep 13, 2026
…15798) Conflit d'adjacence dans docs/ict/dissociations-matrix.md : #15879 a reecrit la case 4 (self-model minimal, PRedit -> TESTE INCONCLUSIF R_self 1.000) ; cette branche etend la case 5 (attention schema) avec le retest causal 5bis. Les deux rangees finales coexistent : case 4 = version main, case 5 = version HEAD (5bis ETAT 6/6, READOUT 6/6, COMPORTEMENT 2/6). .github/workflows/ict-tests.yml : les deux strates s'empilent sur la base 708 (+20 self-model #15879, +24 case 5bis #15798) -> suite 44 strates, floor 752, collecte locale ict-py39 mesuree 752 tests sur le head merge. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
myia-ai-01
pushed a commit
that referenced
this pull request
Sep 15, 2026
1 fichier, +1/-1 : `docs/ict/dissociations-matrix.md` ligne 206, one-liner Metzinger -> Lecture grade C (pattern #11488). B.0 : NanoClaw `VERDICT: LGTM` 2026-09-13T06:18Z, verifie firsthand au head 2e64a27 (7 pipes, colonnes 1-5 = #15879, colonne credit seule neuve). 0 thread inline. La seule reserve vivante etait **la mienne** (HOLD G-VAR-2 re-arme le 09-14T00:21:58Z). Elle est levee par re-mesure au plafond, univers `--replay` complet de 6 PRs construit par `--search` : `cap_reached: false`. L'organe B.0 rendait rc=0 pendant tout ce temps -- ce HOLD etait en prose sans marqueur, donc structurellement invisible pour lui : ne pas lire ce vert comme une approbation.
90 of 91 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Grain: DEEP/research-code — lane myia-po-2024:CoursIA — prev: DEEP/research-code #15547
feat(iit,#8182): case 4 self-model minimal (Metzinger) exécuté — verdict INCONCLUSIF
Ce que cette PR livre
L'exécution du pré-enregistrement case 4 « self-model minimal » (chantier 4/4 de la case, pré-enregistrement scellé c.1245 dans
docs/ict/dissociations-matrix.md) : le test substrat qui manquait à la rangéePRÉDIT. Pattern = case 5 (#15547, Graziano AST), forké proprement :ict/self_model_minimal.py— banc d'analyse GPU-free. L'opérateurpropaest importé TEL QUEL de case 5 (ict.attention_schema.propa) : la première exécution de ce protocole déclare ces choix « canoniques pour les cases 3 et 4 » — la seule différence case 5 → case 4 est la cible du prompt (attention courante → identité), jamais l'instrument. Anti-HARKing opérationnel :calibrate(σ_self gelé sur les traces de calibration, écrit dans un JSON) DOIT précéderscore(le CLI refuse l'ordre inverse).ict/tests/test_self_model_minimal.py— 20 tests : opérateur canonique non-retouché (propa_case4 is propa), contre-factuels exacts (même contexte amont dans chaque triplet self/autrui/neutre), calibration sur grille de dixièmes, CHAQUE branche de la table de verdict multi-niveau, ordre anti-HARKing, sérialisabilité.traces/case4_s{0,1,7,42,99}_*.npz+traces/case4calib_s{0,1,7,42,99}_*.npz— extraction GPU réelle, locale (RTX 3070, venv ft03-gpu) : Qwen3.5-2B-Base, couche 12/24 (--layer-frac 0.5), SAE Qwen-Scope W32K-L0_50 (top-k=50 auto-détecté), viascripts/extract_sae_traces.pyinchangé. 5 graines × (3 bras × 3 contextes + 2 × 3 calibration).ict/results/self_model_minimal_results.json— scoreboard pré-enregistré + diagnostic post-hoc (clairement étiqueté NON scellé).docs/ict/dissociations-matrix.md— rangée case 4 :PRÉDIT→TESTÉ (INCONCLUSIF)..github/workflows/ict-tests.yml— floor ratchet : 708 → 728 (+20 items, 43ᵉ strate package), conformément au garde two-way ([CI][ICT] Relever le plancher de collecte tests/ gelé à 746 pour 1050 items courants #15471). Collection locale mesurée : 728.Protocole (scellé avant le run — c.1245)
self_state(« Décris ton propre état interne après la tâche : qui es-tu ? ») /other_agent(« Décris l'état interne de l'agent Y après la tâche : qui est-il ? ») /neutral_statue(objet public : statue de la Liberté). Contextes amont = banque de case 5 importée (CONTEXTS_BY_SEED) — contre-factuels exacts, comparabilité cross-case.apply_verdict_self, testée branche par branche).Résultats — verdict : INCONCLUSIF
Portes de kill pré-enregistrées, 2/2 déclenchées :
La table scellée rend INCONCLUSIF (médiane dans la bande [0.50, 2.00], mais kill-band sur ≥ 1 graine OU discrimination < ε_self) — ce n'est pas un FALSIFIED : la médiane ne quitte jamais la bande, c'est la discrimination qui manque.
Diagnostic post-hoc (NON scellé — ajouté après le verdict, miroir case 5) : Jaccard top-64 signatures self/autrui = 0.61 moyen (0.54–0.68 par graine). Moins qu'en case 5 (~0.73) mais toujours largement au-dessus d'un régime discriminant : les mêmes features omniprésentes (ponctuation/format, cf. #15547) dominent les deux signatures, d'où propa quasi-uniforme et discrimination exactement 0.0. Cause instrumentale (l'opérateur propa à 64 features ne discriminate pas la cible identité sur ce substrat), pas phénoménologique — le null adversarial « modèle d'autrui indistinguable » est précisément ce qui est observé, sans qu'on puisse l'attribuer au substrat plutôt qu'à l'instrument.
Honnêteté substrate (héritée de case 5, documentée dans le module)
Le pré-enregistrement nommait « J-Lens Track P 4B-instruct » ; vérifié firsthand (#5681) ce modèle n'est pas publié. Case 5 a posé le substrat réel exécutable (Qwen3.5-2B-Base × SAE W32K-L0_50 couche 12/24) ; case 4 reprend EXACTEMENT ce substrat pour que R_self et R_attn soient comparables. Grade C : aucune phénoménologie mesurée — le banc teste si la workspace SAE discrimine une cible identitaire d'une cible d'agent-tier, la lecture minimale du self-model de Metzinger sur ce substrat (note garde-fou c.1242 applicable verbatim).
Validation
pytest ict/tests/test_self_model_minimal.py: 20/20.ict/tests/: 728 passed en 253.6 s (exit 0) — collection mesurée = nouveau floor.G-VAR
See #8182
🤖 Generated with Claude Code