Skip to content

fix(ontology,#18658,#18656): re-exec Onto-03/Onto-02 contre l'épingle submodule + datation machine - #18764

Merged
myia-ai-01 merged 3 commits into
mainfrom
feature/18656-onto-epingle
Oct 2, 2026
Merged

myia-ai-01 merged 3 commits into
mainfrom
feature/18656-onto-epingle

Conversation

@jsboige

@jsboige jsboige commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python -- lane myia-po-2026:CoursIA -- prev: #18654

Closes #18658
Closes #18656
See #18390 (audit EPIC)

Geste

Fiches Ontology_Virtues (#18658) et Ontology_CrossLinks (#18656) de l'audit #18390 : les sorties committées dataient du 30/08 (Virtues) et du 10/07 (CrossLinks) alors que le submodule Argumentum est épinglé à 7cf4861 (26/09) — cinq mouvements amont non rejoués. Les deux carnets se réparent ensemble comme prescrit par les issues.

Tous les chiffres ont été re-mesurés à l'épingle avant d'écrire la prose (git show 7cf4861: + parsing), puis les carnets re-exécutés : les lectures citent les sorties réelles, pas des présupposés.

1. Datation machine (les deux carnets)

Nouvelle cellule code en tête (ids a71c0d92 / b38e1f64) imprimant : git -C Argumentum rev-parse HEAD + date du commit + empreinte sha1 et lignes physiques du CSV (Onto-02) / taille de l'OWL (Onto-03). Le prochain audit lit l'état au lieu de le reconstituer par archéologie.

Sortie réelle : Submodule Argumentum : 7cf486169172 (2026-09-26) · CSV sha1 5ce7a2ec7457, 1546 lignes · OWL 1 095 353 octets.

2. Onto-03 Virtues (27→28 cellules, 10 code)

3. Onto-02 CrossLinks (26→27 cellules, 12 code)

  • §7 réécrite autour de la dé-curation : tableau par relation à l'épingle (PredatesOn 31, Denounces 9, Leverages 295, Allows 56, Opposes 23, Inverts 41, Mirrors 2, IsRelatedTo 82 — TOTAL 539, couverture 487/1408 = 34,6 %, densité 4,8 %) + note de lignée « 10/07 : 1 081 (59,9 %) → 05/09 : 539 (34,6 %), feat(audio): P3 prosodic annotation — FishAudio expressive tags (Epic #1028) #1247/feat(prover): Director context injection — proved lemmas (#1224) #1286 ».
  • [14] devenu dynamique : les 4 barres sont recalculées depuis df et les comptes OWL relus dans argumentum.owl du submodule — le pont CSV↔OWL se vérifie, il ne se déclare plus. Découverte honnête : à l'épingle l'OWL ne porte plus aucune AnnotationAssertion crossLink (0, contre 1 977 à l'époque de feat(qc): ESGF kit transitoire - 3 ML/Framework strategies #763) ; attack 145 (87/53/5) et SKOS 116 (64/33/19) concordent CSV↔OWL.
  • Markdowns périmés mis à jour ([1] 3e âge, [13] chiffres à l'épingle, [17] honnêteté 116/145/34,6 %, [21] 539/487 — l'exemple Pensée binaire Mirrors survit à l'épingle, vérifié PK 814, [23] 116, [25] conclusion+limitations).

Re-exécution (C.2)

  • Onto-03 : kernel python3 = 3.11.9 pile la version de base, 10/10 code, ec 1-10 contigus, 0 erreur.
  • Onto-02 : kernel dédié conda 3.10 (3.10.19, base 3.10.11 — même major.minor), 12/12 code, ec 1-12 contigus, 0 erreur.
  • C.1 : aucun pattern d'erreur volontaire ; les 6 stubs d'exercices restent inchangés (sorties identiques).

Diff textuel des sorties base → tête, par id de cellule (#18417)

Onto-03 — 4 cellules substantiellement différentes, toutes = mouvements amont documentés :

id verdict cause
a71c0d92 NOUVELLE cellule datation (prescrite)
b5dd1e9b 1→2 sorties + « Source lue : submodule » ; taille 1 095 353 ; longueur 1 075 326
171b256b mineur (0.95) graphe 3 083→2 897 ; sujets 224→225 (licence)
7b8ad971 mineur (0.87) seeAlso 410→384 ; aifAttackType 222→142
c01f48b7 2→3 (contenu ratio 0.996) casse des 13 IRIs (#1249) ; découpage de stream
bd6dafc0 1→3 (contenu identique, ratio 1.000) découpage de stream uniquement
ada48f7b SUBSTANTIEL (0.40) + PNG régénéré noms Walton Argument from Rule→argumentFromRule (14 IRI, #1252) — le delta « invisible dans les agrégats » pointé par l'audit
3 stubs identiques

Onto-02 — 2 substantielles (le [14] réécrit dynamique + l'AIF SKOS 70→116), le reste = chiffres mesurés :

id verdict cause
b38e1f64 NOUVELLE cellule datation (prescrite)
6c5b3cff mineur (0.94) CSV 3 988,9→4 074,8 KB ; dtypes
d9579d62 / f52748f3 PNG régénérés figures sur nouvelles données
0d1973ae SUBSTANTIEL (0.40) AIF SKOS 70→116 (DirectRef 42→86…)
1c85c591 mineur (0.72) + PNG densité par relation 10/07→épingle
a87dac2e SUBSTANTIEL (0.08) + PNG [14] dynamique : valeurs mesurées + comptes OWL
e1ae33de mineur (0.84) + PNG top scheme OppositeConsequences→VagueVerbalClassification (60 uniques inchangés)
f98a3f3f mineur (0.91) + PNG honnêteté : 70→116, 1 081→539
3 stubs identiques

Note pour #18652 (bump dependabot → 35a9989)

Mesuré : l'OWL virtues est identique entre 7cf4861 et 35a9989 (1 095 353 o) — le carnet Virtues restera reproductible après bump. Le CSV Fallacies change (2 164 lignes de diff) : la cellule de datation fera apparaître la dérive au prochain audit, c'est son rôle.

Périmètre

2 fichiers notebooks (Argumentation-Onto-03-Vertus-SKOS-Python.ipynb +31/−24 éditées avant re-exec ; Argumentation-Onto-02-CrossLinks-CSV-Python.ipynb idem) — diff sémantique = cellules éditées uniquement, sorties regénérées par exécution réelle. Catalogue non touché. Submodule gitlink inchangé (épingle main).

Provenance papermill — correctif proactif (49bcfc1c76)

Même défaut que celui relevé par ai-01 sur #18755 : la fusion verbatim conservait le metadata.papermill des bases (Onto-03 : 2026-09-22, Onto-02 : 2026-07-10) en ne prenant que sorties/ec des runs réels du 01/10. Corrigé proactivement dès découverte du pattern : timestamps des runs réels restaurés depuis les artefacts papermill (Onto-03 21:59:21→21:59:24 ; Onto-02 22:02:20→22:02:26), paths au basename (exception sanctionnée). Metadata uniquement — aucune sortie éditée à la main.

🤖 Generated with Claude Code

…'epingle submodule + datation machine

Audits #18390 (fiches Ontology_Virtues / Ontology_CrossLinks) : sorties
commitees = snapshots du 30/08 (Virtues) et du 10/07 (CrossLinks) alors que
le submodule Argumentum est epingle a 7cf4861 (26/09). Les deux carnets se
reparent ensemble comme prescrit :

- NOUVELLE cellule de datation en tete de chaque carnet : epingle git
  rev-parse + date + empreinte sha1/lignes du CSV (resp. taille de l'OWL)
- Onto-03 : loader rebranche sur l'OWL vivant du submodule (fallback copie
  repo), commentaires Walton historises, lectures chiffrees mises a jour
  (1 095 353 o ; seeAlso 384 ; graphe 2 897 ; attack 142/predicat ; sujets
  225 ; IRI Walton camelCase), notes de lignee des 5 mouvements amont
- Onto-02 : loader rebranne sur CSV_CANON, [14] devenu dynamique (valeurs
  CSV recalculees + comptes OWL relus : attack 145, SKOS 116, crossLink AA
  0 -- couche non emise a cette epingle), tableau/lecture crossLink mis a
  jour (539/487/34,6 %) + lignee de la de-curation #1247/#1286
- re-exec complete : Onto-03 kernel python3 3.11.9 (= base), 10/10 code ;
  Onto-02 kernel py310 3.10.19 (base 3.10.11, meme major.minor), 12/12
  code ; 0 erreur ; diff sorties par id de cellule dans le body (#18417)

Closes #18658
Closes #18656
See #18390 (audit EPIC)

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

github-actions Bot commented Oct 1, 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 added the consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) label Oct 1, 2026
@github-actions

github-actions Bot commented Oct 1, 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 1, 2026 •

Copy link
Copy Markdown
Contributor

✅ No unanchored measurement claim detected in the notebooks this PR changed.

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 1, 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 1, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 3.3s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.4s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.2s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.5s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.4s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.2s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 17.5s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 2.7s

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

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

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

@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 2
  • Code cells validated: 22
  • 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)

@github-actions github-actions Bot added the variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable) label Oct 1, 2026
@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2026:CoursIA` voit ces signaux actifs sur les mergees du jour (UTC 2026-10-01) :

G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

…aut fusion)

Memec defaut que celui releve par ai-01 sur #18755 : la fusion verbatim
conservait le metadata.papermill des BASES (Onto-03 : 2026-09-22, Onto-02 :
2026-07-10) en ne prenant que sorties/ec des runs reels du 01/10.
Restaure depuis les artefacts papermill reels (Onto-03 21:59:21..21:59:24 ;
Onto-02 22:02:20..22:02:26), paths au basename (exception sanctionnee).
Metadata uniquement -- aucune sortie touchee a la main.

See #18658
See #18656

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

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #18764 (fix(ontology,#18658,#18656): re-exec Onto-03/Onto-02 contre l'épingle submodule + datation machine) 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.

… prose (7 ratchet)

Supprimer la mesure N+unite, garder le predicat : les comptes de la
couche crossLink (1081/539 entrees, couvertures 59,9 %/34,6 %) vivent
dans les sorties executees et le CI, la prose ne garde que les
predicats et pourcentages. Markdown only, aucune sortie touchee.

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

jsboige commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner Author

[ADJOINT VERIFIED] À la tête eed4227, les deux notebooks ont des sorties exécutées, un périmètre conforme et un PR gate vert. Concurrence de branches : #18614 est aussi OPEN et modifie les deux mêmes carnets. Chacune est CLEAN isolément contre main, mais la mesure git merge-tree --write-tree pr18614 pr18764 a rendu rc=1 avec conflits de contenu sur Onto-02, Onto-03 et Argumentation-05. Le coordinateur doit choisir l'ordre de fusion ; la seconde branche nécessitera résolution consciente et ré-exécution complète des cellules source touchées avant nouvelle attestation. Ce constat n'est pas un défaut intrinsèque des sorties de #18764, mais interdit d'enchaîner les deux merges en se fiant aux seuls états CLEAN individuels.

@jsboige

jsboige commented Oct 2, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 18764
head: eed4227
complete: true
body: read
comments-reviewed: 10
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 38755ceab6b854e02d5702af7a6d0b7200211852dac9cd5d702af11a62c58826
diff-files: 2
diff-additions: 320
diff-deletions: 169
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@jsboige

jsboige commented Oct 2, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 18764
head: eed4227
complete: true
body: read
comments-reviewed: 11
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 2d029221211c75fd38fc14ac9108f5a2fb979dc30cc8ba7866eebddf1b450a8d
diff-files: 2
diff-additions: 320
diff-deletions: 169
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit 91b07d4 into main Oct 2, 2026
92 of 96 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable)

Projects

None yet

2 participants