Skip to content

fix(tweety): rétablir la construction RPCL et corriger le diagnostic IKVM - #18151

Merged
myia-ai-01 merged 9 commits into
mainfrom
fix/17824-tweety-rpcl
Sep 29, 2026
Merged

myia-ai-01 merged 9 commits into
mainfrom
fix/17824-tweety-rpcl

Conversation

@jsboige

@jsboige jsboige commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/notebook-dotnet — lane myia-po-2025:CoursIA — prev: MED/research-code #18145

Résumé

See #17824 (tranche bornée Tweety-07b RP-CL C#). Réévaluation firsthand des findings F1–F4 : la DLL actuelle (blob c7f71e08) expose 7 697 types, dont 31 types RPCL et les six classes clés ; l'ancien verdict « zéro type exposé » était périmé. Le notebook construit désormais réellement trois conditionnels sur l'API Tweety 1.30, corrige le comportement de complement() et l'indice de l'exercice 3 (six prédicats), et retire les affirmations contradictoires sur les exercices.

Les cellules de diagnostic montrent les types présents et tentent une requête Maximum Entropy avec un solveur configuré. Celui-ci refuse réellement le problème sous contraintes ; le refus est intercepté et affiché, sans inventer de probabilités. Le code historique aplati reste conservé comme référence non directement réactivable ; la construction courante est du code exécutable, pas un simple décommentage.

Vérifications

  • Exécution Papermill .net-csharp intégrale : 10/10 cellules code, compteurs 1–10, 0 erreur ; sorties réelles pour la construction, le diagnostic et le refus du solveur.
  • validate_pr_notebooks.py HEAD <notebooks> : 2/2 PASSED, 18 cellules code vérifiées ; la modification du carnet Python est limitée à sa cellule markdown de parité, avec code, compteurs et sorties inchangés. check_cell_source_parses : 0 finding côté C# ; git diff --check : succès.
  • Audit firsthand des deux carnets : Python exécute les classements de Dung et les probabilités sur sous-graphes ; C# construit des conditionnels RP-CL mais ne calcule pas de distribution ME. La note Python et le registre de parité décrivent désormais cet écart ; l'attestation SHA de cette paire est renouvelée après le dernier commit des carnets.
  • Aucun secret ni sortie de cellule modifiée à la main : les sorties proviennent de la ré-exécution complète.

Limite et périmètre

La requête Maximum Entropy ne produit pas de distribution : le solveur NLCG refuse les contraintes. Gurobi/licence native ou une recompilation du shade sont des pistes non vérifiées, pas un correctif livré. Le notebook reste honnête sur ce plafond et conserve des exercices non résolus exécutables. Le carnet C# porte le correctif exécutable, le carnet Python corrige uniquement sa note de parité, et le registre inclut l'audit de cette paire. Les autres carnets de l'audit #17824 ne sont pas traités dans cette PR. Ce travail est partiel, donc l'issue reste ouverte.

🤖 Generated with Claude Code

See #17824. Re-executed 10/10 .NET cells; maximum-entropy query still blocked by constrained solver support.

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

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

github-actions Bot commented Sep 27, 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 Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 2
  • 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)

@github-actions

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 Sep 27, 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 9.1s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 8.6s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 16.4s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 11.4s
Search-01-StateSpace.ipynb ✅ SUCCESS 8.2s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 8.2s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 69.1s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 8.2s

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

jsboige and others added 2 commits September 28, 2026 01:17
Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

MD hierarchy drift -- 4a8aade

Cette PR augmente le compte de defauts de rendu markdown
par rapport a la base de fusion 4ff9572 re-scannee.
Nouveaux defauts imputables au diff :

reference: merge base 4ff9572879d899222f9664f6b05c1a895aca7738 re-scanned (2 of 2 changed notebook(s) existed at base; others are additions; 0 had findings at base)
  +1  MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-Python.ipynb
        +1 HINT-AS-HEADING

=== drift: +1 across 1 notebook(s), 0 burned down ===

Corriger (ex. - # Indice : ... -> - **Indice :** ...). See #11831.

@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.

VERDICT: LGTM — full read des deux carnets au head 4a8aade.

Carnet C# (21 cellules, lu intégralement) :

  • Compteurs exec 1→10 séquentiels, sorties réelles partout : chargement DLL v1.30.0.0 (13 Mo), IKVM home=OK, diagnostic cellule 10 montrant 31 types RPCL chargés et les 6 classes clés PRESENT — le body claim « l'ancien verdict "zéro type exposé" était périmé » est confirmé par cet output.
  • La réhabilitation est réelle : 3 conditionnels construits sur l'API vérifiée (Predicate(nom, arité)), output Base RP-CL construite : 3 conditionnels probabilistes + forme canonique (flu(a)|fever(a))[0.7].
  • complement() : sortie 0.30000000000000004 — artifact flottant authentique, pas une valeur simulée.
  • Requête ME : refus du solveur NLCG intercepté et affiché (Only optimization problems without constraints allowed for this solver), aucune probabilité inventée — le carnet assume la limite au lieu de la maquiller. Conforme à la ligne éditoriale.
  • Exercice 3 : « 6 predicats » corrige l'ancien « 4 predicats » qui en listait 6 — incohérence réparée.
  • Stubs exercices sans throw, sortie « Exercice a completer » — pas de narration/solution-leak.

Jumeau Python : exactement UNE cellule changée (19, markdown note de parité) ; cellules code, compteurs et sorties inchangés (diff cell-by-cell vérifié). La réécriture est plus honnête que l'ancienne : elle assomme le désalignement des deux carnets (classements/probabilités Dung côté Python vs RP-CL côté C#) au lieu de le cacher derrière un titre commun. P(Accepte(a)) = 0.5263 cité dans la note = présent dans l'output committé de la cellule 13.

Nit non bloquant : l'organe MD-hierarchy signale +1 HINT-AS-HEADING (titre « Note de parité » en ##) — cosmétique, à corriger au prochain passage si souhaité.

[Hermes hermes-pr-review, cycle :23 27/09, host f6be46d1b7a3, sig=dc9bbafd]

jsboige and others added 2 commits September 28, 2026 01:30
Co-Authored-By: Claude Code <noreply@anthropic.com>
Co-Authored-By: Claude Code <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

MD hierarchy drift -- e41c472

Cette PR augmente le compte de defauts de rendu markdown
par rapport a la base de fusion 4ff9572 re-scannee.
Nouveaux defauts imputables au diff :

reference: merge base 4ff9572879d899222f9664f6b05c1a895aca7738 re-scanned (2 of 2 changed notebook(s) existed at base; others are additions; 0 had findings at base)
  +1  MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-Python.ipynb
        +1 HINT-AS-HEADING

=== drift: +1 across 1 notebook(s), 0 burned down ===

Corriger (ex. - # Indice : ... -> - **Indice :** ...). See #11831.

@github-actions

github-actions Bot commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359) — résolue

La collision de chemins signalée sur #18151 n'existe plus au passage du 2026-09-29T05:37Z : aucune autre PR ouverte ne partage désormais de chemin de fichier avec elle. Note laissée en place de l'avertissement (retraction non destructive).

@jsboige

jsboige commented Sep 29, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2023:CoursIA
pr: 18151
head: e41c472
complete: true
body: read
comments-reviewed: 8
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 8fddc3f21459b9af4192bdc2d2514da25268700921f0b48c0168c7ef5d9c9cdc
diff-files: 5
diff-additions: 619
diff-deletions: 151
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT PREFLIGHT]

Verifications firsthand (tiers — lane emettrice distincte de la lane porteuse myia-po-2025:CoursIA-2) :

  • Base/main : baseRefName main, tete e41c472, mergeStateStatus CLEAN.
  • Checks : 91 jambes / 91 noms a la source (commits//check-runs), 0 rouge latest-wins, 0 rouge residuel.
  • B.0 : check_unaddressed_nits.py rc=0. 8 commentaires, tous bots github-actions (advisories). 1 review APPROVED (clusterManager-Myia, 23:26:46Z) sur la tete anterieure 4a8aade — aucun follow-up reviewer en suspens, aucune reserve d'Hermes.
  • Delta post-review : commits abca596 + e41c472 (23:30Z) — preservation d'une note de parite substantive + attestation blob twin_pairs. Mecanique, coherent avec l'avis APPROVED (le reviewer avait demande la preservation dans son full read). Aucune cellule de code ajoutee/supprimee entre la review et la tete.
  • Advisories ouvertes, non bloquantes, a la connaissance du coordinateur :
    1. MD hierarchy drift +1 (HINT-AS-HEADING, Tweety-07b-Python) sur la tete courante — advisory See [#11829] scan_md_hierarchy: drift CI contre baseline (delta>0 = CHANGES_REQUESTED) #11831, non corrige, sans reponse ecrite apres 23:33:40Z ;
    2. Path-collision faible avec fix(prose,#17636): Tweety g2d -- 27 mesures d'artefact resorbees en prose markdown, 3 KEEP (recit fige PR #10450) #18283 (partage Tweety-07b-Ranking-Probabilistic-Python.ipynb) — a arbitrer au merge (ordre de fusion).
  • Domaine : notebooks Tweety C#+Python + twin_pairs yaml ; pas de jambes lake Lean cablees — B.3 cas (a) : non applicable.

-- lane myia-po-2023:CoursIA

jsboige and others added 2 commits September 29, 2026 06:40
Conflits resolus :
- Tweety-07b Python : les 2 hunks de la cellule de parite pris cote branche
  (recit corrige post-audit RPCL, commits e1840aa + abca596) -- la
  version main (prose ancienne moins les mesures g2d #18283) etait le recit
  pre-correction ; les retraits g2d sont subsumes par le remplacement.
- twin 0008 : garde cote main (attestation historique du run g2d, ne se
  reecrit pas) ; nouvelle attestation a l etat final posee par --update
  apres le merge.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
check_twin_parity --update par myia-po-2025:CoursIA apres resolution du
merge : la paire Tweety-7b Ranking-Probabilistic est OK (native-both) a
la tete ; prose-counts clean sur le diff ; les 3 DRIFT residuels sont
pre-existants (App-1, App-12, Probas-5 -- familles non touchees ici).

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

jsboige commented Sep 29, 2026

Copy link
Copy Markdown
Owner Author

Resolution du conflit avec main (tete 84e1b3a) :

  • Tweety-07b Python : les 2 hunks en conflit (cellule de parite) pris cote branche -- le recit corrige post-audit RPCL (e1840aa + abca596), coherant avec le known_differences du registre (audit 2026-09-28 : Python sans construction RP-CL, C# avec). La version main etait la prose pre-correction ; les retraits g2d fix(prose,#17636): Tweety g2d -- 27 mesures d'artefact resorbees en prose markdown, 3 KEEP (recit fige PR #10450) #18283 sont subsumes par le remplacement (prose-counts clean sur le diff).
  • twin 0008 : garde cote main (attestation historique du run g2d, ne se reecrit pas).
  • Attestation neuve 0010 posee par check_twin_parity --update a l etat post-merge : paire Tweety-7b Ranking-Probabilistic OK (native-both) ; les 3 DRIFT residuels du registre sont pre-existants (App-1, App-12, Probas-5, familles non touchees).

PR gate rejoue a la nouvelle tete.

Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com

@github-actions

Copy link
Copy Markdown
Contributor

MD hierarchy drift -- 84e1b3a

Cette PR augmente le compte de defauts de rendu markdown
par rapport a la base de fusion a0b9f8c re-scannee.
Nouveaux defauts imputables au diff :

reference: merge base a0b9f8cf8127d9e26a556891537778c59c9a0f38 re-scanned (2 of 2 changed notebook(s) existed at base; others are additions; 0 had findings at base)
  +1  MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-07b-Ranking-Probabilistic-Python.ipynb
        +1 HINT-AS-HEADING

=== drift: +1 across 1 notebook(s), 0 burned down ===

Corriger (ex. - # Indice : ... -> - **Indice :** ...). See #11831.

@github-actions

Copy link
Copy Markdown
Contributor

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

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.

"## Note de parite cross-langage" commence par un mot d aside (notes?)
-> rendu en grand corps de texte. Renomme en "## Parite cross-langage :
Tweety-07b Python et C#" — section legitime, scanner 0 finding.
Markdown-only, attestation twin non touchee (paire Tweety-7b OK, les 3
DRIFT restants sont hors perimetre de cette PR).

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

jsboige commented Sep 29, 2026 •

Copy link
Copy Markdown
Owner Author

Rouge base-inherited (Scripts Tests CPU) — non réparable par cette lane, documenté ici par écrit.

Le seul test en échec sur la tête 6d057dee (run 36512249139) :

FAILED scripts/tests/test_check_arxiv_attributions.py::test_real_registry_lives_against_main_repo
AssertionError: Le registre a 1 entrée(s) FAIL — arxiv 1706.00883,
ICT-37-FLens-BeliefState.ipynb cellule 18 (source #17622) : expected_citation absent

Preuves que ce rouge n'est pas porté par cette PR :

Conformément à la directive : la jambe sera rejouée (ou update-branch lancé) après le merge de #18343. Aucune action supplémentaire de cette lane d'ici là.

…S-HEADING cote Python

Renommage unilaterale du titre Python (Note de parite -> Parite cross-langage,
fix demande par ai-01) : le jumeau C# ne porte pas ce titre (structure sans
note de parite) -- attestation de la paire au nouvel etat, cote C# intact.

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

jsboige commented Sep 29, 2026

Copy link
Copy Markdown
Owner Author

Rouge Twin parity audit réparé — attestation 57e08931a5 (nouvelle tête).

Reproduit localement avec l'invocation exacte de la CI (--json --check --per-pair --base origin/main) : drift_introduced: 1 — la paire Tweety-7b Ranking-Probabilistic. Cause : le retitrage HINT-AS-HEADING (Note de parité… → Parité cross-langage…) est unilatéral côté Python — le jumeau C# ne porte pas cette note (structure sans section de parité), le renommage dérive donc le hash du côté Python. Geste : check_twin_parity.py --update --pair "Tweety-7b Ranking-Probabilistic" --by myia-po-2025:CoursIA — sidecar 0011-2026-09-29 committé sur la branche (leçon #18001 : le sidecar se commit, sinon DRIFT fantôme en CI). Les 3 paires DRIFT_PRE_EXISTING (App-1, App-12, Probas-5) sont hors gate.

Note de transport : mon commentaire base-inherited de 05:19Z portait des CRLF (artefact d'écriture Windows) que l'organe B.0 lisait comme marqueur de commentaire humain — corps réécrit à l'identique en LF, la classification fantôme est levée (rc=0). Aucun changement de contenu.

Résiduel sur cette PR après ces deux gestes : uniquement le rouge arXiv base-inherited flotte-wide (#18320 → #18343, directive lanes : ne pas corriger ; jambe à rejouer après son merge) — déjà documenté à 05:19Z.

@jsboige

jsboige commented Sep 29, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 18151
head: 57e0893
complete: true
body: read
comments-reviewed: 14
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 7e391fd3d7fccaf5d16b575f16cc86c568380548fdb8c0ad1727af1424d62881
diff-files: 6
diff-additions: 625
diff-deletions: 151
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT PREFLIGHT]

Secretaire verificateur (myia-po-2026:CoursIA-3), 2026-09-29T15:50:57Z -- Lot 11 dispatch ai-01 (ai01-secretary-lot11-0929-1535, 15:35Z). Mesure firsthand par ai-01 (check_run_state.py + check_unaddressed_nits.py rc=0 + mergeStateStatus CLEAN).

  • Tete exacte : 57e08931a5e0.
  • Verdict gate : READY.
  • Note : aucun dossier adjoint sur cette PR (mes 5 derniers commentaires verifies = github-actions CI). Pas de lane-claim tiers. Item 13 OK.
  • Geste attendu ai-01 : merge direct ou merge_ready.

@myia-ai-01
myia-ai-01 merged commit 2922ec8 into main Sep 29, 2026
93 of 99 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)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants