From 7b4996ca269bca1ae63903c143f574e4d8c860ff Mon Sep 17 00:00:00 2001 From: jsboige Date: Sat, 12 Sep 2026 18:47:58 +0200 Subject: [PATCH 1/4] =?UTF-8?q?docs(symbolicai,#15719):=20echapper=20pipes?= =?UTF-8?q?=20+=20lignes=20vides=20=E2=80=94=20tranche=20jumeaux=20twin-pa?= =?UTF-8?q?rity?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 14 findings du scanner scan_md_table_syntax.py (re-scan apres fix : 0 sur les 8 fichiers). 9 CODE_SPAN_PIPE (O(|G| + |S|), O(n * |regles|), H(target|attr), c || d, f || c || g, FILTER SPARQL, operateurs bit a bit Z3) : 20 pipes echappes internes aux code spans, rendu GFM inchange. 5 NO_BLANK_BEFORE : ligne vide inseree entre l'intro gras et le header de sa table. Markdown-only : 11 cellules markdown de 8 notebooks, verifie cell-by-cell. Attestations twin-parity suivent (commit separe, --update lit HEAD). Co-Authored-By: Claude Sonnet 5 --- .../SymbolicAI/SMT/Z3-API/Z3-Python-03-Tactics.ipynb | 2 +- .../SymbolicAI/SemanticWeb/SW-4b-Python-SPARQL.ipynb | 3 ++- .../SymbolicAI/SymbolicLearning/SL-1-LogicalLearning.ipynb | 2 +- .../SymbolicLearning/SL-2-KnowledgeBasedLearning.ipynb | 6 +++--- .../SymbolicLearning/SL-3-RelevanceLearning-Csharp.ipynb | 2 +- .../SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb | 1 + .../SymbolicAI/Tweety/Tweety-4-Belief-Revision.ipynb | 5 +++-- .../SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb | 2 ++ 8 files changed, 14 insertions(+), 9 deletions(-) diff --git a/MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-API/Z3-Python-03-Tactics.ipynb b/MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-API/Z3-Python-03-Tactics.ipynb index 5969920966..fd8bbb667e 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-API/Z3-Python-03-Tactics.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-API/Z3-Python-03-Tactics.ipynb @@ -553,7 +553,7 @@ "|--------|-------|-------------|\n", "| Domaine | $\\mathbb{Z}$ (entiers infinis) | $\\{0, \\ldots, 2^n - 1\\}$ (modulo $2^n$) |\n", "| Debordement | Pas de debordement | Wrapping modulaire |\n", - "| Opérations bit a bit | Non disponibles | `&`, `|`, `^`, `~`, `<<`, `>>` |" + "| Opérations bit a bit | Non disponibles | `&`, `\\|`, `^`, `~`, `<<`, `>>` |" ] }, { diff --git a/MyIA.AI.Notebooks/SymbolicAI/SemanticWeb/SW-4b-Python-SPARQL.ipynb b/MyIA.AI.Notebooks/SymbolicAI/SemanticWeb/SW-4b-Python-SPARQL.ipynb index d621042522..56e362f0ab 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/SemanticWeb/SW-4b-Python-SPARQL.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/SemanticWeb/SW-4b-Python-SPARQL.ipynb @@ -292,6 +292,7 @@ "| ORDER BY | `ORDER BY ?name` | Tri ascendant |\n", "\n", "**rdflib vs dotNetRDF** :\n", + "\n", "| Opération | rdflib | dotNetRDF |\n", "|-----------|---------|----------|\n", "| Executer requête | `g.query(\"SELECT...\")` | `g.ExecuteQuery(\"SELECT...\")` |\n", @@ -397,7 +398,7 @@ "| Opérateur | Description | Exemple |\n", "|-----------|-------------|----------|\n", "| Comparaisons | `=`, `!=`, `<`, `>`, `<=`, `>=` | `FILTER (?age > 4)` |\n", - "| Logique | `&&`, `||`, `!` | `FILTER (?age > 4 && ?age < 10)` |\n", + "| Logique | `&&`, `\\|\\|`, `!` | `FILTER (?age > 4 && ?age < 10)` |\n", "| Tests de type | `isURI()`, `isBlank()`, `isLiteral()` | `FILTER (isURI(?x))` |\n", "| Regex | `REGEX()` | `FILTER (REGEX(?name, \"^C\"))` |\n", "| Existence | `BOUND()` | `FILTER (BOUND(?optional))` |\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-1-LogicalLearning.ipynb b/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-1-LogicalLearning.ipynb index 6478b42d8d..5dd328469d 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-1-LogicalLearning.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-1-LogicalLearning.ipynb @@ -2867,7 +2867,7 @@ "| Ordre-dépendance | Oui | Non |\n", "| Backtracking | Possible | Jamais |\n", "| Bruit | Robuste (peut revenir) | Fragile (VS vide) |\n", - "| Complexite memoire | O(1) | `O(|G| + |S|)` |" + "| Complexite memoire | O(1) | `O(\\|G\\| + \\|S\\|)` |" ] }, { diff --git a/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-2-KnowledgeBasedLearning.ipynb b/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-2-KnowledgeBasedLearning.ipynb index 9f49ee6f80..1a11d279a4 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-2-KnowledgeBasedLearning.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-2-KnowledgeBasedLearning.ipynb @@ -1212,11 +1212,11 @@ "\n", "| Composant | Rôle | Complexite |\n", "|-----------|------|------------|\n", - "| `explain()` | Construit l'arbre de preuve lineaire | `O(n * |règles|)` ou n = profondeur de simplification |\n", - "| `variabilize()` | Substitution constante -> variable | `O(n * |mapping|)` |\n", + "| `explain()` | Construit l'arbre de preuve lineaire | `O(n * \\|règles\\|)` ou n = profondeur de simplification |\n", + "| `variabilize()` | Substitution constante -> variable | `O(n * \\|mapping\\|)` |\n", "| `extract_rule()` | Projection des feuilles | O(n) |\n", "| `learn()` | Pipeline complet | Lineaire en la taille de la preuve |\n", - "| `simplify_with_learned()` | Utilisation des règles | O(1) en cas de hit, `O(n*|règles|)` sinon |\n", + "| `simplify_with_learned()` | Utilisation des règles | O(1) en cas de hit, `O(n*\\|règles\\|)` sinon |\n", "\n", "L'intérêt principal est le **lookup O(1)** : une règle apprise permet de court-circuiter la chaîne de preuve complete.\n", "\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-3-RelevanceLearning-Csharp.ipynb b/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-3-RelevanceLearning-Csharp.ipynb index 959430cf5d..a3d3c6e153 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-3-RelevanceLearning-Csharp.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-3-RelevanceLearning-Csharp.ipynb @@ -1439,7 +1439,7 @@ "| Détermination minimale | `MinimalConsistentDet` (BFS par taille) |\n", "| Borne PAC | `PacBound` (m ≥ (1/ε)·(ln2^n + ln(1/δ))) |\n", "| Parallèle OWL | `FunctionalViolations` (owl:FunctionalProperty) |\n", - "| Sélection par MI | `MutualInformation` (`H(target) − H(target|attr)`) |\n", + "| Sélection par MI | `MutualInformation` (`H(target) − H(target\\|attr)`) |\n", "\n", "La lib Python (sklearn/AIMA) fournit ces constructions en boîte noire ; l'implémentation from-scratch rend **visible**\n", "pourquoi la détermination minimale réduit exponentiellement l'espace d'hypothèses (2^n → 2^d) et rend le nombre d'exemples linéaire en d.\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb index 5835e10244..7ffa258fc3 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-2-Basic-Logics.ipynb @@ -289,6 +289,7 @@ "| Xor | `ExclusiveDisjunction` | `^^` | `a ^^ b` = \"a ou b mais pas les deux\" |\n", "\n", "**Tables de vérité (rappel):**\n", + "\n", "| a | b | a && b | a \\|\\| b | a => b | !a |\n", "|---|---|--------|--------|--------|----|\n", "| 0 | 0 | 0 | 0 | 1 | 1 |\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Belief-Revision.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Belief-Revision.ipynb index 09fd67eb64..9e629ca1eb 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Belief-Revision.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-4-Belief-Revision.ipynb @@ -1088,6 +1088,7 @@ "- Interpretation : \"Il faut ignorer 3 variables pour rendre la KB coherente\"\n", "\n", "**Mesures basees sur la distance de Dalal :**\n", + "\n", "| Mesure | Valeur | Interpretation |\n", "|--------|--------|----------------|\n", "| **DSum** | 3.0 | Somme des distances aux mondes les plus proches |\n", @@ -1869,8 +1870,8 @@ "| `a` | False | Imposé par clause dure `!a` |\n", "| `b` | True | Imposé par clause dure `b` |\n", "| `c` | False | Préférence molle `!c` (poids 15) respectée |\n", - "| `d` | True | Nécessaire car `c=False` et clause dure `c || d` |\n", - "| `f` | True | Nécessaire car `c=False, g=False` et clause dure `f || c || g` |\n", + "| `d` | True | Nécessaire car `c=False` et clause dure `c \\|\\| d` |\n", + "| `f` | True | Nécessaire car `c=False, g=False` et clause dure `f \\|\\| c \\|\\| g` |\n", "| `g` | False | Choix libre, minimise les variables vraies |\n", "\n", "**Coût total : 25** (seule la clause molle `a || !b` est violée, car `a=False` et `b=True`)\n", diff --git a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb index 8c462ffda0..b1fe0aec29 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Tweety/Tweety-8-Agent-Dialogues.ipynb @@ -227,6 +227,7 @@ "- **Outils externes**: détection automatique (Clingo, SPASS, EProver, SAT solvers, MARCO — voir la sortie ci-dessus)\n", "\n", "**Pourquoi ces outils sont importants pour les dialogues:**\n", + "\n", "| Outil | Usage dans les dialogues |\n", "|-------|--------------------------|\n", "| **Clingo** | Calcul des extensions stables (ASP) pour la sémantique d'argumentation |\n", @@ -746,6 +747,7 @@ "- `evidence_C` attaque `proposition_B`, brisant la symetrie en faveur de A\n", "\n", "**Interpretation des probabilites :**\n", + "\n", "| Argument | Probabilite | Raison |\n", "|----------|-------------|--------|\n", "| `evidence_C` | 63.2% | Jamais attaque, donc souvent accepte |\n", From 089cea8174a5a0d25200293d82793bac24552d5b Mon Sep 17 00:00:00 2001 From: jsboige Date: Sat, 12 Sep 2026 18:50:29 +0200 Subject: [PATCH 2/4] chore(twin-parity,#8057): attestations rebaseline des 8 paires SymbolicAI (#15719) check_twin_parity.py --update --pair x8, postes APRES le commit des notebooks (--update lit git show HEAD:) : SW-4 SPARQL, SL-1, SL-2, SL-3, Tweety-2, Tweety-4, Tweety-8, Z3-Python-03. Drift = fix markdown-only #15719 (echappage pipes + lignes vides), paraphite-preservant. Audit local : 8 paires OK, 3 DRIFT preexistants base (Probas-16, SW-2, SW-7) hors de ce diff. Co-Authored-By: Claude Sonnet 5 --- .../0006-2026-09-12-myia-po-2023-CoursIA.yaml | 6 ++++++ .../0008-2026-09-12-myia-po-2023-CoursIA.yaml | 6 ++++++ .../0007-2026-09-12-myia-po-2023-CoursIA.yaml | 6 ++++++ .../sw-4-sparql/0008-2026-09-12-myia-po-2023-CoursIA.yaml | 6 ++++++ .../0009-2026-09-12-myia-po-2023-CoursIA.yaml | 6 ++++++ .../0008-2026-09-12-myia-po-2023-CoursIA.yaml | 6 ++++++ .../0005-2026-09-12-myia-po-2023-CoursIA.yaml | 6 ++++++ .../0006-2026-09-12-myia-po-2023-CoursIA.yaml | 6 ++++++ 8 files changed, 48 insertions(+) create mode 100644 scripts/notebook_tools/twin_pairs.d/sl-1-logicallearning/0006-2026-09-12-myia-po-2023-CoursIA.yaml create mode 100644 scripts/notebook_tools/twin_pairs.d/sl-2-knowledgebasedlearning/0008-2026-09-12-myia-po-2023-CoursIA.yaml create mode 100644 scripts/notebook_tools/twin_pairs.d/sl-3-relevancelearning/0007-2026-09-12-myia-po-2023-CoursIA.yaml create mode 100644 scripts/notebook_tools/twin_pairs.d/sw-4-sparql/0008-2026-09-12-myia-po-2023-CoursIA.yaml create mode 100644 scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics/0009-2026-09-12-myia-po-2023-CoursIA.yaml create mode 100644 scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/0008-2026-09-12-myia-po-2023-CoursIA.yaml create mode 100644 scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues/0005-2026-09-12-myia-po-2023-CoursIA.yaml create mode 100644 scripts/notebook_tools/twin_pairs.d/z3-python-03-tactics/0006-2026-09-12-myia-po-2023-CoursIA.yaml diff --git a/scripts/notebook_tools/twin_pairs.d/sl-1-logicallearning/0006-2026-09-12-myia-po-2023-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/sl-1-logicallearning/0006-2026-09-12-myia-po-2023-CoursIA.yaml new file mode 100644 index 0000000000..6605af0617 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/sl-1-logicallearning/0006-2026-09-12-myia-po-2023-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-12' +by: myia-po-2023:CoursIA +python_sha: 5dd328469df8355c1ae2a72655b95db3a8daee74 +csharp_sha: 46a408620adbc5b189ba37b79508fbc2e9338fb4 +content_python_sha: f851a5980fe5b9afac1f552d4c7ee959c2f1fc28d8e2ef896aa6eb0350881f5a +content_csharp_sha: 43c8ec183654ff0567abba904c7ff24bdd4c3c55c62af84227f6cfc6abc31173 diff --git a/scripts/notebook_tools/twin_pairs.d/sl-2-knowledgebasedlearning/0008-2026-09-12-myia-po-2023-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/sl-2-knowledgebasedlearning/0008-2026-09-12-myia-po-2023-CoursIA.yaml new file mode 100644 index 0000000000..437121af44 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/sl-2-knowledgebasedlearning/0008-2026-09-12-myia-po-2023-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-12' +by: myia-po-2023:CoursIA +python_sha: 1a11d279a41d9b90b6fae8b7c9b47b88bc0d40eb +csharp_sha: 90ecbe92d294a491f177daa1b9cd8a18c0cfbe0c +content_python_sha: dc1cf871555f4a61e2d44b477b60bb77b46cd523b989ac19737e347b885cbe58 +content_csharp_sha: 32e0e17b4f2e444d5ec35a90262ae94f6d2f498aed235652fd4277b03ade26ac diff --git a/scripts/notebook_tools/twin_pairs.d/sl-3-relevancelearning/0007-2026-09-12-myia-po-2023-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/sl-3-relevancelearning/0007-2026-09-12-myia-po-2023-CoursIA.yaml new file mode 100644 index 0000000000..e9533b9662 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/sl-3-relevancelearning/0007-2026-09-12-myia-po-2023-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-12' +by: myia-po-2023:CoursIA +python_sha: 7bebaf66d4fd857286b2eadcfa2bf8b29cdfcaf5 +csharp_sha: a3d3c6e153f01184c631ae8c374aee76d8768f15 +content_python_sha: 9530a212e8ddf916f40df18fe5f0df4f6727dc92d44490bcb26a520f92499140 +content_csharp_sha: 1b5dcf9894d9358b0e4a2904cf8c7ad3e312bfa05f65c68209d1b164067e28d6 diff --git a/scripts/notebook_tools/twin_pairs.d/sw-4-sparql/0008-2026-09-12-myia-po-2023-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/sw-4-sparql/0008-2026-09-12-myia-po-2023-CoursIA.yaml new file mode 100644 index 0000000000..81cd1b0457 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/sw-4-sparql/0008-2026-09-12-myia-po-2023-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-12' +by: myia-po-2023:CoursIA +python_sha: 56e362f0ab00bf3b281a4c4882306612403edc5d +csharp_sha: 5540da4432053e9012a7eb38d2e47c0b0afd82e0 +content_python_sha: 9ab0ac209c919a3e00db6d19de2e76fc49b6a4207542c0d9d63c0add22b4b0a5 +content_csharp_sha: 55c38ce47f3c6c4d85aae2ab4aaf6ecd3c2c36b455f4dfbea6703c20f006ffd4 diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics/0009-2026-09-12-myia-po-2023-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics/0009-2026-09-12-myia-po-2023-CoursIA.yaml new file mode 100644 index 0000000000..3ad431c504 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics/0009-2026-09-12-myia-po-2023-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-12' +by: myia-po-2023:CoursIA +python_sha: 7ffa258fc3969923c509ecfed6ad00c08fc8e218 +csharp_sha: e20cd3d4db92085a84d61b5a7941f91b0d8a079b +content_python_sha: 39b772b43b153de57328f5b9d4666f20060a644c559b13555f35f6bed998a714 +content_csharp_sha: ae1a73913b8814a0c8840c8c1e6a2d5ffa3c60a40cefc92b383b43dc02c75ba1 diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/0008-2026-09-12-myia-po-2023-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/0008-2026-09-12-myia-po-2023-CoursIA.yaml new file mode 100644 index 0000000000..22b1298b87 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/0008-2026-09-12-myia-po-2023-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-12' +by: myia-po-2023:CoursIA +python_sha: 9e629ca1ebad0dd2ad0b997137d0fdcb16f46fcb +csharp_sha: 2fe788ad0ec751afb1ea6c14d763f8af543ce6a9 +content_python_sha: c05bf2a91d51be405d7f7d662c853d19da5a5970bd60ad7f7d074d109fdf9861 +content_csharp_sha: a584b14de637f6800f8809a29b243c09a0dd4bebdd7ab37b5a9cd1eb9cc72ff0 diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues/0005-2026-09-12-myia-po-2023-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues/0005-2026-09-12-myia-po-2023-CoursIA.yaml new file mode 100644 index 0000000000..4bcd1f7fa7 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues/0005-2026-09-12-myia-po-2023-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-12' +by: myia-po-2023:CoursIA +python_sha: b1fe0aec297144175f51a51b00c672d2f8bdcfe9 +csharp_sha: ad9ce7c9ae305d481bf0a3e633b6e62e455a1320 +content_python_sha: 4ec69943e6f1ef7c170e1ecffe2d0890ee6769be980c923f29ae21df3c813b17 +content_csharp_sha: 7e395b2f170f21b8e7a536c7d45bb4348e6dbe7166b76bdcce1f40d33f152b94 diff --git a/scripts/notebook_tools/twin_pairs.d/z3-python-03-tactics/0006-2026-09-12-myia-po-2023-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/z3-python-03-tactics/0006-2026-09-12-myia-po-2023-CoursIA.yaml new file mode 100644 index 0000000000..1f70b6ce91 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/z3-python-03-tactics/0006-2026-09-12-myia-po-2023-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-12' +by: myia-po-2023:CoursIA +python_sha: fd8bbb667efac698a714b23e58e8a0d09368f474 +csharp_sha: 8a20071b8f16ea0f5291c8d879d6abbe3fcc63ba +content_python_sha: 09ee22c804de41ec8be87a221550799fc802e326bdeaa7ce25eb54e730f28ac8 +content_csharp_sha: 512dc4d1c58e544e05133833e533d538747046f0e2f0f66ca49d3afaa119badf From 284d067ee6265d99e42590897d8c38597c47cca4 Mon Sep 17 00:00:00 2001 From: jsboige Date: Mon, 14 Sep 2026 22:18:55 +0200 Subject: [PATCH 3/4] fix(twin-registry): desamorcer la collision d'index 0008 sur sw-4-sparql MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La branche enregistrait 0008-2026-09-12 (audit po-2023) alors que main a merge en parallele 0008-2026-09-13 (audit po-2026, PR #16035) : deux fichiers, meme index, test bloquant test_audit_index_unique_and_no_identical_duplicates_per_pair en rouge (#14911/#15345 -- l'index est la cle de tri du journal). Resolution chronologique : le journal po-2026 (09-13, posterieur au 09-12) passe en 0009 ; le 09-12 reste 0008. Le merge des deux branches a produit un troisieme blob SW-4b qu'aucun journal ne referencait : re-audit de la paire via check_twin_parity --update (0010-2026-09-14, python_sha 7d0b2351 = blob fusionne), pour que _latest_audit ne mente pas au prochain --check. Verifie : 46/46 tests d'integrite du registre verts ; --check --per-pair --base origin/main : OK=157 INTRO=0. Grain: MED/ledger — lane myia-po-2023:CoursIA — prev: MED/guard #16193 See #15719 Co-Authored-By: Claude Sonnet 5 --- ...ursIA.yaml => 0009-2026-09-13-myia-po-2026-CoursIA.yaml} | 0 .../sw-4-sparql/0010-2026-09-14-myia-po-2023-CoursIA.yaml | 6 ++++++ 2 files changed, 6 insertions(+) rename scripts/notebook_tools/twin_pairs.d/sw-4-sparql/{0008-2026-09-13-myia-po-2026-CoursIA.yaml => 0009-2026-09-13-myia-po-2026-CoursIA.yaml} (100%) create mode 100644 scripts/notebook_tools/twin_pairs.d/sw-4-sparql/0010-2026-09-14-myia-po-2023-CoursIA.yaml diff --git a/scripts/notebook_tools/twin_pairs.d/sw-4-sparql/0008-2026-09-13-myia-po-2026-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/sw-4-sparql/0009-2026-09-13-myia-po-2026-CoursIA.yaml similarity index 100% rename from scripts/notebook_tools/twin_pairs.d/sw-4-sparql/0008-2026-09-13-myia-po-2026-CoursIA.yaml rename to scripts/notebook_tools/twin_pairs.d/sw-4-sparql/0009-2026-09-13-myia-po-2026-CoursIA.yaml diff --git a/scripts/notebook_tools/twin_pairs.d/sw-4-sparql/0010-2026-09-14-myia-po-2023-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/sw-4-sparql/0010-2026-09-14-myia-po-2023-CoursIA.yaml new file mode 100644 index 0000000000..ce9316dfa1 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/sw-4-sparql/0010-2026-09-14-myia-po-2023-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-09-14' +by: myia-po-2023:CoursIA +python_sha: 7d0b2351feaed0b91dc73178fb9285fb55620bcb +csharp_sha: 5540da4432053e9012a7eb38d2e47c0b0afd82e0 +content_python_sha: dc720f273b4f286907f9bf6900dcd7607a33ff309cb6b95ed5b1407c4208bc38 +content_csharp_sha: 55c38ce47f3c6c4d85aae2ab4aaf6ecd3c2c36b455f4dfbea6703c20f006ffd4 From 92ceca0855877273d6f5c13ab1ea3f205ae25e09 Mon Sep 17 00:00:00 2001 From: jsboige Date: Wed, 16 Sep 2026 21:24:33 +0200 Subject: [PATCH 4/4] fix(twin-registry,#15795): resolve index collisions + re-attest Tweety-4 on current blobs - tweety-2 0009-po-2023 (09-12) removed: notebook out of diff, attestation redundant with main's 0009-po-2024 (index collision #14911/#15345). - tweety-8 0005-po-2023 (09-12) removed: same redundancy. - tweety-4: 0008-po-2023 removed (index collision with main's 0008-po-2024, posterior keeps the index) and RE-ATTESTED as 0009-2026-09-16 on current blobs (python_sha 5073b3dc) via check_twin_parity --update; dated known_differences line added (blob moved by main: #15702 subprocess fix, #16002 renum). Validation: registry integrity 46 passed; twin parity --check --per-pair --base origin/main: 157 pairs, OK=156 INTRO=0 PRE=1 (GameTheory-4c, drift pre-existing on main, outside this PR); validate_pr_notebooks: 6 notebooks 91 code cells all PASS; notebooks touched are markdown-only (escaped pipes in tables). Co-Authored-By: Claude Sonnet 5 --- .../0009-2026-09-12-myia-po-2023-CoursIA.yaml | 6 ------ .../twin_pairs.d/tweety-4-belief-revision.yaml | 1 + ...ursIA.yaml => 0009-2026-09-16-myia-po-2023-CoursIA.yaml} | 6 +++--- .../0005-2026-09-12-myia-po-2023-CoursIA.yaml | 6 ------ 4 files changed, 4 insertions(+), 15 deletions(-) delete mode 100644 scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics/0009-2026-09-12-myia-po-2023-CoursIA.yaml rename scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/{0008-2026-09-12-myia-po-2023-CoursIA.yaml => 0009-2026-09-16-myia-po-2023-CoursIA.yaml} (50%) delete mode 100644 scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues/0005-2026-09-12-myia-po-2023-CoursIA.yaml diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics/0009-2026-09-12-myia-po-2023-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics/0009-2026-09-12-myia-po-2023-CoursIA.yaml deleted file mode 100644 index 3ad431c504..0000000000 --- a/scripts/notebook_tools/twin_pairs.d/tweety-2-basic-logics/0009-2026-09-12-myia-po-2023-CoursIA.yaml +++ /dev/null @@ -1,6 +0,0 @@ -date: '2026-09-12' -by: myia-po-2023:CoursIA -python_sha: 7ffa258fc3969923c509ecfed6ad00c08fc8e218 -csharp_sha: e20cd3d4db92085a84d61b5a7941f91b0d8a079b -content_python_sha: 39b772b43b153de57328f5b9d4666f20060a644c559b13555f35f6bed998a714 -content_csharp_sha: ae1a73913b8814a0c8840c8c1e6a2d5ffa3c60a40cefc92b383b43dc02c75ba1 diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision.yaml index 627e897f6d..c7cdcf4cd9 100644 --- a/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision.yaml +++ b/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision.yaml @@ -6,6 +6,7 @@ bridge_verdict: SOTA-OK bridge_verdict_reason: "Lib-vs-lib meme moteur Java TweetyProject (revision des croyances AGM, contraction/revision) : C# branche IKVM 8.15.0 + tweety-beliefdynamics.dll (tracked) + 8 refs `org.tweetyproject.*` actifs (3 cellules avec using explicite + classes Java `SimpleKbReiter`, `DefaultRevisionOperator` invoquees). Python branche JPype + `from java.util import ArrayList, HashSet` + `from org.tweetyproject.beliefdynamics.* import` + meme bibliotheque Java TweetyProject. Verifie firsthand (c.227, 2026-08-12, po-2023:CoursIA-2) : les deux cotes operent sur la meme base de connaissances Java (BeliefSet) avec les memes operateurs de revision, pont IKVM-bytecode vs JPype-JVM-runtime." known_differences: + - "2026-09-16 (myia-po-2023:CoursIA) #15795 : REBASELINE apres merge main. L'attestation 0008 du 09-12 (python_sha 9e629ca1) est retiree : index en collision avec 0008-po-2024 de main (regle #14911/#15345, le postérieur garde l'index) ET blob perimé (python avance via #15702 fix subprocess et #16002 renum portés par main). Nouvelle attestation 0009 sur les blobs courants (python_sha 5073b3dc). content_csharp_sha inchangé : le jumeau C# n'est pas touché." - "Socle commun : revision des croyances (AGM, contraction/revision) via TweetyProject." - "Lib-vs-lib : C# via IKVM (`using org.tweetyproject.*`). Python via JPype (`from java.util import ArrayList, HashSet` + `from jpype.types import *`). Meme fondement Java, idiomatique de pont differente." - "Re-baseline 2026-07-25 (po-2024, consolidation #8264) : SHA Python avance depuis l'audit 2026-07-23 via #8170 (markdown hyphenation (Note-de-parite)) ; drift verifie paraphite-preservant (ne touche pas l'axe de parite semantic)." diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/0008-2026-09-12-myia-po-2023-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/0009-2026-09-16-myia-po-2023-CoursIA.yaml similarity index 50% rename from scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/0008-2026-09-12-myia-po-2023-CoursIA.yaml rename to scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/0009-2026-09-16-myia-po-2023-CoursIA.yaml index 22b1298b87..f11400180e 100644 --- a/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/0008-2026-09-12-myia-po-2023-CoursIA.yaml +++ b/scripts/notebook_tools/twin_pairs.d/tweety-4-belief-revision/0009-2026-09-16-myia-po-2023-CoursIA.yaml @@ -1,6 +1,6 @@ -date: '2026-09-12' +date: '2026-09-16' by: myia-po-2023:CoursIA -python_sha: 9e629ca1ebad0dd2ad0b997137d0fdcb16f46fcb +python_sha: 5073b3dce3e9bcadbc978e23ad784d93daaf5580 csharp_sha: 2fe788ad0ec751afb1ea6c14d763f8af543ce6a9 -content_python_sha: c05bf2a91d51be405d7f7d662c853d19da5a5970bd60ad7f7d074d109fdf9861 +content_python_sha: ac5977613ae5b4ffe056789ebd4979a0044b5320e566b7c619c1374a38de32aa content_csharp_sha: a584b14de637f6800f8809a29b243c09a0dd4bebdd7ab37b5a9cd1eb9cc72ff0 diff --git a/scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues/0005-2026-09-12-myia-po-2023-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues/0005-2026-09-12-myia-po-2023-CoursIA.yaml deleted file mode 100644 index 4bcd1f7fa7..0000000000 --- a/scripts/notebook_tools/twin_pairs.d/tweety-8-agent-dialogues/0005-2026-09-12-myia-po-2023-CoursIA.yaml +++ /dev/null @@ -1,6 +0,0 @@ -date: '2026-09-12' -by: myia-po-2023:CoursIA -python_sha: b1fe0aec297144175f51a51b00c672d2f8bdcfe9 -csharp_sha: ad9ce7c9ae305d481bf0a3e633b6e62e455a1320 -content_python_sha: 4ec69943e6f1ef7c170e1ecffe2d0890ee6769be980c923f29ae21df3c813b17 -content_csharp_sha: 7e395b2f170f21b8e7a536c7d45bb4348e6dbe7166b76bdcce1f40d33f152b94