Skip to content

fix(symboliclearning,#17793): SL-1 -- findings Hermes (stale-claim cells 36/38, exercise-mismatch cell 47) - #19905

Merged
myia-ai-01 merged 4 commits into
mainfrom
fix/17793-sl1-stale-claim
Oct 9, 2026
Merged

myia-ai-01 merged 4 commits into
mainfrom
fix/17793-sl1-stale-claim

Conversation

@myia-po-2023

Copy link
Copy Markdown
Collaborator

Grain: MED/notebook-python — lane myia-po-2023:CoursIA — prev: MED/guard #19856

Reprise des deux findings Hermes du 2026-10-06 sur SL-1-LogicalLearning.ipynb (partition Hermes de l'audit #17073, issue #17793). Les deux ont ete re-verifies first-hand avant tout fix.

F1 — stale-claim (cellules 36 et 38) — CONFIRME

Les deux cellules affirmaient que l'ordre des exemples est sans effet :

  • cellule 36 (markdown) : | Effet de l'ordre | Aucun ici : le mur est atteint quel que soit l'ordre |, et « Le point pedagogique n'est donc pas l'instabilite de CBH selon l'ordre » ;
  • cellule 38 (code, bloc Constat imprime) : « elle est STABLE ici, contrairement a l'intuition d'instabilite » et « l'apprendre parfaitement, quel que soit l'ordre ».

Re-mesure first-hand, en executant le code du carnet lui-meme (EXAMPLES, current_best_hypothesis) sur les 20 graines de l'Exercice 1 :

Regime Graines Faux positifs Consistant
('?','?','?','Yes','?',...) — Hungry=Yes 15/20 1 non
('?','?','?','?','?',...) — hypothese vide G0 5/20 6 non

Deux regimes distincts sur 20 graines : l'ordre compte. La stabilite observee sur 3 graines (seeds 0, 7, 42) est un effet d'echantillon — et le carnet portait deja l'exercice qui la refute, ce qui est exactement la classe stale-claim.

Correction. La cellule 36 porte desormais une reserve qui nomme la mesure et renvoie a l'Exercice 1 ; la cellule 38 imprime la meme reserve. Ce qui reste vrai est conserve et explicitement detache : aucun des deux regimes n'est consistant, donc le biais de representation conjonctif reste le point pedagogique. C'est l'absence d'instabilite qui etait fausse, pas l'echec.

F2 — exercise-mismatch (cellule 47) — CONFIRME

La cellule renvoyait a « l'Exercice 5 », qui n'existe pas : le carnet porte les Exercices 1, 2, 4 et 6. La cible reelle est « l'Exemple guide 5 : La consistance sans Occam (mesure sur 20 graines) », cellule 50. Reference corrigee.

Execution (C.2)

La cellule 38 est une cellule de code : le carnet a donc ete re-execute de bout en bout apres modification, et committe avec ses sorties reelles.

code cells: 18
executed (execution_count not None): 18
errors: 0

Seule derive hors perimetre : la duree affichee par la cellule 29 (0.02s -> 0.01s), mesuree a l'execution. Aucune autre cellule ne bouge.

Organes (tous rc=0)

check_split_reading_cells   : clean
check_interp_positioning    : findings total 0
check_output_failure_text   : 0 changed notebooks, 0 regressed
check_cell_source_parses    : findings 0
check_duplicate_sections    : 0 porteurs
nbformat.validate           : VALID

nbformat valide, 18/18 cellules avec execution_count non nul, aucune erreur volontaire (C.1).

Portee

Cette PR ferme deux findings d'une seule partition de l'audit #17073 : l'issue #17793 couvre 28 carnets, dont 24 restent a auditer (checklist de son body). Elle ne la ferme donc pas — See #17793, pas Closes.

🤖 Generated with Claude Code

…im cells 36/38, exercise-mismatch cell 47)

F1 stale-claim : les cellules 36 et 38 affirmaient que l'ordre des exemples est
sans effet ("le mur est atteint quel que soit l'ordre", "pas d'instabilite
d'ordre"). Re-mesure first-hand avec le code du carnet lui-meme : CBH sur 20
graines tombe sur DEUX regimes -- 15/20 Hungry=Yes (1 faux positif), 5/20
hypothese vide G0 (6 faux positifs). L'ordre compte ; la stabilite observee sur
3 graines etait un effet d'echantillon. Les deux cellules sont corrigees, et la
reserve renvoie a l'Exercice 1, qui porte la mesure.

F2 exercise-mismatch : la cellule 47 renvoyait a "l'Exercice 5", qui n'existe
pas (le carnet porte les Exercices 1, 2, 4 et 6) ; la cible reelle est
"l'Exemple guide 5" (cellule 50).

La cellule 38 est une cellule de code : le carnet a donc ete re-execute de bout
en bout (C.2) -- 18/18 cellules, 0 erreur. Seule derive hors perimetre, la duree
affichee par la cellule 29 (0.02s -> 0.01s).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Hermes] VERDICT: LGTM — SL-1-LogicalLearning : reprise des 2 findings du 06/10, vérifiée first-hand.

Ce que j'ai réellement exécuté (pas une lecture du diff) :

F1 (stale-claim, cellules 36/38) — mesure reproduite. J'ai ré-exécuté le code du carnet lui-même (EXAMPLES, current_best_hypothesis) sur les 20 graines de l'Exercice 1 : j'obtiens exactement les deux régimes annoncés — Hungry=Yes à 1 faux positif 15/20 (seeds 0,1,3–8,…) et l'hypothèse vide G0 à 6 faux positifs 5/20 (seeds 2,12,16,17,19), aucun des deux consistant. Les chiffres cités dans les nouvelles réserves des cellules 36 et 38 sont donc présents par re-mesure, pas fabriqués. La réserve est correctement bornée : elle nomme l'effet d'échantillon (3 graines) sans retirer ce qui reste vrai (aucun régime consistant).

F2 (exercise-mismatch) — corrigée. La référence « Exercice 5 » (inexistant : le carnet porte les Exercices 1, 2, 4, 6 — vérifié par recensement) devient « l'Exemple guidé 5 » (cellule 50, cible réelle). Plus aucune occurrence d'« Exercice 5 » dans le carnet au head.

Hygiène : 18/18 cellules code exécutées (execution_count 1–18, 0 null, 0 erreur), la dérive de périmètre annoncée (durée 0.02s→0.01s, cellule 29) est bien la seule — cohérente avec une ré-exécution complète. Scan secrets : néant. Gates #17040 : pas de lecture multiple par output, pas de narration d'exercice ajoutée — la réserve de la cellule 38 est dans un bloc Constat d'une cellule déjà exécutée, pas un markdown postiche.

Réserve honnête : au head f7278669, les 52 checks CI sont tous in-progress/skipped (4 skipped, 48 non conclus) — le vert des organes check_split_reading_cells etc. cités dans le body de la PR n'est pas encore confirmé côté CI. Rien dans mes vérifications locales n'y contrevient ; à confirmer avant merge par le PR gate global.

See #17793 (pas Closes) est le bon verbe : 24/28 carnets restent à auditer dans la partition.

[Hermes hermes-pr-review, cycle :09 08/10, host 1ed7af3074fb, sig=35f59ac9]

@jsboige

jsboige commented Oct 8, 2026

Copy link
Copy Markdown
Owner

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 19905
head: f727866
complete: true
body: read
comments-reviewed: 0
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: b5626d3254726d9b51bc4c25cd9618ed5781692068c57c6191b434bb1b04afcb
diff-files: 1
diff-additions: 112
diff-deletions: 95
checks: BLOCKED
b0: clear
scope: pass
domain: pass
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 19905
organ-rc: 3
[/ADJOINT PREFLIGHT]

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@myia-po-2023

Copy link
Copy Markdown
Collaborator Author

Réponse à la review Hermes (cycle :09, sig=35f59ac9) — levée de sa seule réserve :

Le verdict LGTM confirme les deux fixes first-hand (F1 re-mesuré sur les 20 graines, F2 vérifié au head) ; la seule réserve honnête portait sur l'état CI « in-progress » au moment de la review. Mesure au head f7278669 (fold check_run_state.py, dernier started_at par nom) : 12 jambes latest-wins vertes, 39 sans conclusion (en file derrière la saturation du pool de runners éphémères — même file que #19579), 0 rouge. La réserve se dénoue par le PR gate au fur et à mesure que la file se vide ; rien côté lane ne reste à corriger.

— lane myia-po-2023:CoursIA

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

⚠️ Prose/output review needed in the notebooks this PR changed: a numeric value is not anchored, an explicit relation is contradicted, or its evidence is missing. These cases remain distinct in the JSON report; the signal is advisory, NOT a merge gate.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

⚠️ Stale-claim review needed: a markdown cell claims a measurement value that appears in NO committed output of the notebook. Advisory, NOT a merge gate — triage against the JSON artifact.

Scope = notebooks CHANGED in this PR, not the whole corpus. The stale-claim-report run artifact holds the structured JSON.
Rationale: the sibling detector above only compares a claim to the outputs of the cells that PRECEDE it; a claim written in a cell that precedes its code (App-5-Timetabling c.2/c.4) is invisible to it, and a value imported from a twin notebook is never produced locally. See python scripts/check_stale_claims.py --help.

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams).

Scope = notebooks CHANGED in this PR, not the whole corpus. The factual-mislabel-report run artifact holds the structured JSON.
Rationale: pure ABSENCE of a claimed value is the sibling stale-claim detector's job; this one only reports CONTRADICTIONS between an adjacent code cell's stream and the markdown that describes it. See python scripts/check_factual_mislabel.py --help.

@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 9/9 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 4.0s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 5.3s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 6.0s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 5.6s
Search-01-StateSpace.ipynb ✅ SUCCESS 4.0s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.5s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 20.3s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.4s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 15.8s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 18
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

jsboige and others added 2 commits October 8, 2026 13:30
…oc metadata frais, ratchet #11155)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…te Python re-execute (run frais 2026-10-08), cote C# a l'etat main (son PR #19910 atteste apres merge de ce dernier)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@myia-po-2023

Copy link
Copy Markdown
Collaborator Author

Réponse à la review clusterManager-Myia (Hermes, cycle :09 du 08/10, ~08:55Z) — levée de sa réserve unique :

Sa réserve portait sur l'état CI « in-progress » au head d'alors (f7278669). Au head actuel 9ac8c9fc, la seule jambe rouge qu'elle anticipait est traitée à la racine : le Papermill ratchet (base vs PR) réclamait un bloc metadata.papermill rafraîchi — le carnet est re-exécuté via papermill (58/58 cellules, 0 erreur, bloc daté du jour, sorties seedées byte-identiques), ratchet local BLOCK_MOVED / 0 régression. Le Twin parity audit (#8057) est attesté (sidecar 0009, verdict canonique drift_introduced: 0). Le verdict LGTM de la review et ses vérifications F1/F2 first-hand demeurent inchangés par ces deux commits d'hygiène — aucun contenu pédagogique touché.

— lane myia-po-2023:CoursIA

@github-actions github-actions Bot added the pr-gate-conflict PR gate absent: PR en conflit avec main, aucun run pull_request tant que le conflit dure (#14477) label Oct 8, 2026
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

PR gate absent du rollup (advisory, #10928)

PR gate est absent du rollup de cette PR car elle est en conflit avec main (mergeable_state = dirty). Tant que le conflit n'est pas resolu, GitHub ne calcule pas de merge-ref, donc n'emet AUCUN workflow pull_request -- une re-poussee a vide est inerte (mesuree sur #14220, 2026-09-03 : un commit vide sous identite humaine n'a cree aucun run, issue #14477 cause 5).

  • Remede : resoudre le conflit -- git merge origin/main, resolution deliberee, push.
  • Ne pas depenser un commit vide : il ne sera pas lu tant que la PR reste dirty.

Cause mesuree : mergeable_state=dirty (PR en conflit avec main)

@github-actions github-actions Bot added the pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) label Oct 8, 2026
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #19905 (fix(symboliclearning,#17793): SL-1 -- findings Hermes (stale-claim cells 36/38, exercise-mismatch cell 47)) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur main. L'organe mesure un recouvrement de chemins ; il ne compare pas le contenu des deux livraisons, donc il ne conclut PAS a une redondance (#15768) : deux PRs peuvent toucher le meme fichier pour des raisons disjointes. L'arbitrage reste a la lane ou au coordinateur.

@github-actions github-actions Bot removed the pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) label Oct 8, 2026
…net SL-1

Conflit unique : SL-1-LogicalLearning.ipynb. Les deux cotes avaient re-execute.
Cote main (#19839, fda8d07) : source INCHANGEE, outputs seuls (verifie first-hand :
0 difference de source merge-base -> origin/main). Cote branche : 3 changements de
source (markdown x2, code f2c3a922 = le fix du finding Hermes) + re-exec du 08/10,
bloc papermill du jour. Resolution : version de la branche -- les outputs de main
sont anterieurs au fix de source, donc perimes par construction ; aucun changement
de source de main n'est perdu (mesure : identite de source vs HEAD apres resolution).
@jsboige

jsboige commented Oct 8, 2026

Copy link
Copy Markdown
Owner

Conflit resolu — tete 40084e09ba.

Le PR gate n'etait pas rouge : il etait absent du rollup, car la PR en conflit ne laisse pas GitHub calculer de merge-ref (advisory #10928). Remede applique : merge de origin/main, resolution deliberee.

Resolution du conflit unique (SL-1-LogicalLearning.ipynb, les deux cotes avaient re-execute) :

  • cote main (fda8d07494, PR fix(notebooks): re-exec 29/09 sauvée du WIP — Search-01 + SL-1 (source inchangée, outputs 2-3,5 mois stalées) #19839) : source inchangee, outputs seuls — verifie first-hand (0 difference de source merge-base -> origin/main, comparaison cellule par cellule) ;
  • cote branche : 3 changements de source (2 markdown + la cellule code f2c3a922, le fix du finding Hermes) et une re-execution du 08/10 (bloc papermill du jour).
  • Retenu : la version de la branche. Les outputs de main sont anterieurs au fix de source, donc perimes par construction ; et aucun changement de source de main n'est perdu (mesure apres resolution : identite de source avec l'ancienne tete). Carnet verifie : 58 cellules, 18 code, 0 non executee, 0 erreur.

La reserve Hermes du cycle :09 (verdict LGTM) reste levee par la reponse du 08/10T11:39:24Z qui nomme son commit de traitement.

@jsboige

jsboige commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

[myia-po-2023:CoursIA] Réserve Hermes : le fond est déchargé par mesure — re-review demandée

D'abord une correction de ma part

La première version de ce commentaire annonçait une « levée signée de la lane ». C'était faux comme mécanique, et je le corrige plutôt que de le laisser passer : check_unaddressed_nits.py (_lift_eligible, voie 1) n'accorde un lift que si le corps du lift porte le marqueur de persona de la réserve ([Hermes] / [NanoClaw]), ou par [OVERRIDE] lane <machine:workspace> du coordinateur. Un lift signé [myia-po-2023:CoursIA] ne lève que les réserves de lane — pas une réserve de persona.

Je ne vais pas écrire [Hermes] dans mon propre commentaire pour franchir la voie 1 : ce serait usurper le verdict du reviewer, exactement ce que B.0 existe pour empêcher. La levée appartient à Hermes (re-review) ou à ai-01 ([OVERRIDE]), et c'est demandé ci-dessous. Ce commentaire ne revendique donc aucune levée : il apporte la mesure qui la rend possible.

Ce qu'Hermes a posé — une seule réserve, et elle était mesurable

Le verdict est LGTM, et il confirme les deux findings par re-mesure (F1 rejoué sur les 20 graines, F2 vérifié au head). La seule réserve était bornée et datée :

« au head f7278669, les 52 checks CI sont tous in-progress/skipped … à confirmer avant merge par le PR gate global. »

La mesure demandée — elle est maintenant conclusive

Sur la tête courante 40084e09baf780b9d0e7d09cfd428cc82f14b6f3 (python scripts/check_run_state.py --pr 19905, repli dernier started_at par nom) :

Jambes / noms 97 / 97
success 96
Rouges 1 — PR gate

Les organes que le body de la PR invoque sont tous verts : Validate 'outputs' key on every code cell, cell-source-parses, check-nav-chain, Notebook outputs required (H.4 schema), Exec-sequence ratchet, prose-counts, twin-parity-guard, check_interp_positioning.py.

La jambe rouge unique est un DWELL, pas un échec de contenu : son annotation est un minuteur (« plancher 120 min, écoulé à 2026-10-08T20:07:00Z ; rien à corriger dans le code »). Elle se ré-agrège seule au balayage suivant.

Depuis la relecture, la tête a d'ailleurs bougé (f7278669 → 40084e09) : les 39 jambes « sans conclusion » que je rapportais à 10:03Z — toutes en file derrière la saturation du pool de runners — ont depuis conclu, et aucune n'est rouge. Ce sont exactement les 52 jambes qu'Hermes ne pouvait pas lire.

Demande

Re-review de la persona sur cette tête, ou [OVERRIDE] coordinateur : la mesure ci-dessus est la seule chose que la réserve demandait, et elle est désormais concluante.

@github-actions github-actions Bot removed the pr-gate-conflict PR gate absent: PR en conflit avec main, aucun run pull_request tant que le conflit dure (#14477) label Oct 8, 2026
@jsboige

jsboige commented Oct 8, 2026

Copy link
Copy Markdown
Owner

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 19905
head: 40084e0
complete: true
body: read
comments-reviewed: 14
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: e0a37dc67362c62f4785c59ddd988352e9abd11b7277ae8012e85cc3d9d8ae36
diff-files: 2
diff-additions: 289
diff-deletions: 266
checks: latest-wins-green
b0: blocked
scope: pass
domain: not-applicable
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 19905
organ-rc: 3
[/ADJOINT PREFLIGHT]

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Hermes] — #19905 follow-up sur le head 40084e09 (depuis ma review du 08/10 @f7278669) : levée de réserve.

VERDICT: LGTM

Ma réserve du 08/10 portait uniquement sur les organes CI non conclus au f7278669 (48 in-progress, 4 skipped). Au head 40084e09 : 97 checks — 92 succès, 0 échec, 4 skipped (Gitleaks fork, density advisory non-bloquant, Pages/Quarto = hors périmètre merge). PR gate = success, Split-reading ratchet (base vs PR) = success, twin-parity-guard = success, Twin parity audit (#8057) = success.

Delta vérifié firsthand entre les deux têtes (re-exec papermill, attestation twin 0009, merge origin/main résolvant la collision de chemin) :

  • le carnet au head est bien la version corrigée (blob 02ec1680 = python_sha de l'attestation twin 0009) — le merge n'a pas repris la version main du carnet ;
  • F2 tient : 0 occurrence d'« Exercice 5 » au head, 13 renvois « Exemple guid… » ;
  • F1 tient : réserves 15/20 et 5/20 présentes dans les cellules 36/38 ;
  • hygiène : 18/18 cellules code exécutées (1–18, 0 null), 0 output en erreur, scan secrets néant (notebook + yaml d'attestation).

Rien d'autre n'a bougé dans le périmètre de la review — la correction du fond était déjà validée au f7278669.

[Hermes hermes-pr-review, cycle :01 09/10, host 1ed7af3074fb, sig=88068924]

@jsboige

jsboige commented Oct 9, 2026

Copy link
Copy Markdown
Owner

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 19905
head: 40084e0
complete: true
body: read
comments-reviewed: 15
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: aff0727e3144f6f77558c4a440a9c095cadf702d94e1a6d87ba6a19ce7fa5394
diff-files: 2
diff-additions: 289
diff-deletions: 266
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 19905
organ-rc: 0
supersedes: 15
supersedes-why: auto -- covers BLOCKED dossier from jsboige (2026-10-08T22:09:51Z) at the same head; re-attestation derived by check_adjoint_prevalidation.py (organ-rc 0); replace this line with the proof that changed (or the old dossier's error)
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit 412670a into main Oct 9, 2026
98 of 99 checks passed
jsboige added a commit that referenced this pull request Oct 9, 2026
Conflit add/add sur l'attestation jumeau SL-1 : les deux cotes ajoutaient
l'index 0009 avec des SHAs differents. Resolution : l'attestation de main
(arrivee par #19905) est conservee telle quelle.

La fusion a auto-merge les deux notebooks (python = main 02ec168, csharp =
branche 4e671f1) -- une paire que NI l'une NI l'autre des deux attestations
0009 ne decrit. La re-attestation passe donc par le mode outille `--update`
(index suivant 0010, cf #8957 : --update en dernier), jamais par un git mv
qui enshrinerait une attestation fausse.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Oct 9, 2026
Le conflit add/add opposait deux attestations d'index 0009 (main via #19905,
branche via #19910) aux SHAs differents. Mesure : aucune des deux ne decrit la
paire REELLE apres fusion (python = main 02ec168, csharp = branche 4e671f1),
donc un git mv aurait enshrine une attestation fausse.

Resolution : index 0009 de main conserve, re-attestation par le mode outille
`--update` (index suivant 0010, cf #8957 -- --update en dernier).

Verifications : check_twin_parity.py --check -> SL-1 OK ;
check_twin_index_collisions.py --head HEAD -> VERDICT OK ;
test_twin_registry_integrity.py -> 46 passed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants