From a63f3b6cad2845af8fed6b24e76881ad0576a54c Mon Sep 17 00:00:00 2001 From: Jean-Sylvain Boige Date: Sat, 24 Oct 2026 14:02:49 +0200 Subject: [PATCH 1/4] Add(search,#19279): cellules References des 5 jumeaux C# CSP-3..7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le trou mesure apres re-mesure de la couverture : les cinq jumeaux C# de CSP-3 a CSP-7 portaient zero reference CP, la ou chaque jumeau Python du meme chapitre en porte une a six (table de couverture par ouvrage au body de la PR). Chaque jumeau C# recoit une cellule markdown « References » en fin de carnet, miroir de la citation de son jumeau Python (regle de proximite thematique de l'issue) : - CSP-3-CSharp : Handbook Ch. 7 Global Constraints (van Hoeve & Katriel, p. 205) + CP-SAT Primer ; - CSP-4-CSharp : CP-SAT Primer + doc OR-Tools sat/docs ; - CSP-5-CSharp : Handbook Ch. 15 OR Methods in CP (Hooker, p. 525) + Primer ; - CSP-6-CSharp : Ahmeti & Musliu 2021 (Hybridizing CP and Meta-Heuristics, verifie sur la copie archivee du gisement, premiere page lue) + Primer ; - CSP-7-CSharp : Handbook Ch. 9 Soft Constraints (Meseguer, Rossi, Schiex, p. 279) + Bistarelli/Montanari/Rossi 1997 + Primer. Geste markdown-only : +65/-0 sur 5 fichiers, insertion chirurgicale sans reserialisation (le diff est purement additif, verifie au numstat), aucune cellule code touchee -> aucune re-execution C.2 due (non-but explicite de l'issue). Co-Authored-By: Claude Sonnet 5.5 --- .../Search/Part2-CSP/CSP-3-Advanced-CSharp.ipynb | 13 +++++++++++++ .../Search/Part2-CSP/CSP-4-Scheduling-CSharp.ipynb | 12 ++++++++++++ .../Part2-CSP/CSP-5-Optimization-CSharp.ipynb | 13 +++++++++++++ .../Part2-CSP/CSP-6-Hybridization-CSharp.ipynb | 13 +++++++++++++ .../Search/Part2-CSP/CSP-7-Soft-CSharp.ipynb | 14 ++++++++++++++ 5 files changed, 65 insertions(+) diff --git a/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-3-Advanced-CSharp.ipynb b/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-3-Advanced-CSharp.ipynb index 25f8633176e..8d4217389ef 100644 --- a/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-3-Advanced-CSharp.ipynb +++ b/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-3-Advanced-CSharp.ipynb @@ -1566,6 +1566,19 @@ "Part of #4956 (marathon parité .NET ⇄ Python série CSP).\n", "See #4711 (jurisprudence IKVM 8.15.0 + Choco)." ] + }, + { + "cell_type": "markdown", + "id": "ca086b61", + "metadata": {}, + "source": [ + "***\n", + "\n", + "## Références\n", + "\n", + "- **Handbook of Constraint Programming** (Rossi, van Beek, Walsh, 2006) : Ch. 7 *Global Constraints* (Willem-Jan van Hoeve, Irit Katriel, p. 205) couvre AllDifferent/Cumulative/Circuit/Table — les quatre contraintes globales mises en œuvre ici avec Choco-solver.\n", + "- [*The CP-SAT Primer*](https://d-krupke.github.io/cpsat-primer/) (Krupke & Schmitt, 2023, CC-BY, lecture en ligne gratuite) : le fonctionnement interne de CP-SAT — presolve, LNS, portfolio de workers —, le solveur de la moitié Python du binôme." + ] } ], "metadata": { diff --git a/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-4-Scheduling-CSharp.ipynb b/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-4-Scheduling-CSharp.ipynb index 6d6685b395d..9e259e452dd 100644 --- a/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-4-Scheduling-CSharp.ipynb +++ b/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-4-Scheduling-CSharp.ipynb @@ -732,6 +732,18 @@ "- [Sudoku-11-Choco-CSharp.ipynb](../../Sudoku/Sudoku-11-Choco-CSharp.ipynb) — la route Choco-solver via IKVM\n", "- [EPIC #4956](https://github.com/jsboige/CoursIA/issues/4956) — parité .NET ⇄ Python des séries de notebooks" ] + }, + { + "cell_type": "markdown", + "id": "b0736f0b", + "metadata": {}, + "source": [ + "***\n", + "\n", + "## Référence\n", + "\n", + "[*The CP-SAT Primer*](https://d-krupke.github.io/cpsat-primer/) (Krupke & Schmitt, 2023, CC-BY) : l'ordonnancement industriel sous CP-SAT — bornes, presolve, décision puis optimisation — ainsi que la documentation OR-Tools ([ortools/sat/docs](https://github.com/google/or-tools/tree/stable/ortools/sat/docs)) que suit la voie native .NET de ce carnet." + ] } ], "metadata": { diff --git a/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-5-Optimization-CSharp.ipynb b/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-5-Optimization-CSharp.ipynb index dea8c08ac3f..d45bee04a8f 100644 --- a/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-5-Optimization-CSharp.ipynb +++ b/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-5-Optimization-CSharp.ipynb @@ -1427,6 +1427,19 @@ "- [EPIC #4956](https://github.com/jsboige/CoursIA/issues/4956) — parité .NET ⇄ Python des séries de notebooks\n", "- [Issue #5005](https://github.com/jsboige/CoursIA/issues/5005) — bug kernel iopub post-`#r \"nuget:\"` (tracking output capture)\n" ] + }, + { + "cell_type": "markdown", + "id": "3ddc643c", + "metadata": {}, + "source": [ + "***\n", + "\n", + "## Références\n", + "\n", + "- **Handbook of Constraint Programming** (Rossi, van Beek, Walsh, 2006) : Ch. 15 *Operations Research Methods in Constraint Programming* (J. N. Hooker, p. 525) — le pont entre CP et recherche opérationnelle (Branch-and-Price, hybrides CP/IP, relaxation lagrangienne), socle des méthodes exactes des problèmes Bin Packing / Knapsack / Cutting Stock résolus ici avec Choco-solver.\n", + "- [*The CP-SAT Primer*](https://d-krupke.github.io/cpsat-primer/) (Krupke & Schmitt, 2023, CC-BY, lecture en ligne gratuite) : optimisation combinatoire sous CP-SAT — bornes, presolve, stratégies de recherche —, le solveur de la moitié Python du binôme." + ] } ], "metadata": { diff --git a/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-6-Hybridization-CSharp.ipynb b/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-6-Hybridization-CSharp.ipynb index d7322259122..28435f8751d 100644 --- a/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-6-Hybridization-CSharp.ipynb +++ b/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-6-Hybridization-CSharp.ipynb @@ -1551,6 +1551,19 @@ "4. **EPIC #3801** (axe-2 SOTA) : registre des verdicts SOTA-OK et problemes non-triviaux\n", "5. **EPIC #4956** : marathon parite Python ⇔ .NET pour Search/CSP\n" ] + }, + { + "cell_type": "markdown", + "id": "a9efdb8e", + "metadata": {}, + "source": [ + "***\n", + "\n", + "## Références\n", + "\n", + "- **Hybridizing Constraint Programming and Meta-Heuristics for Multi-Mode Resource-Constrained Multiple Projects Scheduling Problem** (Ahmeti & Musliu, 2021) : un hybride CP × métaheuristique récent et complet (modèle CP exhaustif puis recherche métaheuristique, nouvelles bornes sur les instances MMRCMPSP) — dans la lignée des approches hybrides de ce chapitre.\n", + "- [*The CP-SAT Primer*](https://d-krupke.github.io/cpsat-primer/) (Krupke & Schmitt, 2023, CC-BY) : les mécanismes internes de CP-SAT (presolve, LNS, indices de littéraux) que la voie native .NET de ce carnet mobilise côté solveur." + ] } ], "metadata": { diff --git a/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-7-Soft-CSharp.ipynb b/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-7-Soft-CSharp.ipynb index 49179531110..71bd83f6b6e 100644 --- a/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-7-Soft-CSharp.ipynb +++ b/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-7-Soft-CSharp.ipynb @@ -2542,6 +2542,20 @@ "Part of #4956 (marathon parité .NET ⇄ Python série CSP).\n", "See #4711 (jurisprudence IKVM 8.15.0 + Choco)." ] + }, + { + "cell_type": "markdown", + "id": "3e182cc8", + "metadata": {}, + "source": [ + "***\n", + "\n", + "## Références\n", + "\n", + "- **Handbook of Constraint Programming** (Rossi, van Beek, Walsh, 2006) : Ch. 9 *Soft Constraints* (Meseguer, Rossi, Schiex, p. 279) — la présentation canonique des c-semirings et de la frontière classic/fuzzy/weighted parcourue dans ce carnet.\n", + "- **Semiring-based Constraint Solving and Optimization** (Bistarelli, Montanari, Rossi, 1997) : le cadre algébrique unificateur — Boolean, Fuzzy et Weighted comme instances d'un même semiring.\n", + "- [*The CP-SAT Primer*](https://d-krupke.github.io/cpsat-primer/) (Krupke & Schmitt, 2023, CC-BY, lecture en ligne gratuite) : le fonctionnement interne de CP-SAT (presolve, LNS, hints), le solveur de la moitié Python du binôme." + ] } ], "metadata": { From d4131b756bbeb01e0bc06bb8ea5f848f3830293a Mon Sep 17 00:00:00 2001 From: Jean-Sylvain Boige Date: Sat, 24 Oct 2026 14:58:06 +0200 Subject: [PATCH 2/4] Fix(notebook,#19279): CSP-6 -- fusionne les deux blocs de references, precise la venue Ahmeti & Musliu Reserve Hermes (clusterManager-Myia) sur #22349 : la cellule Conclusion portait deja '## References' (5 entrees) et la cellule ajoutee creait un second bloc consecutif. Les deux entrees nouvelles (Ahmeti & Musliu, CP-SAT Primer) sont integrees a la liste existante en items 6-7, la cellule doublon a9efdb8e est supprimee, et la citation Ahmeti precise sa venue : conference PATAT 2020/2021 p. 206, version journal Journal of Heuristics 31(1) 2025. Markdown-only, aucune cellule code touchee, pas de re-execution due. Co-Authored-By: Claude Sonnet 5.5 --- .../Part2-CSP/CSP-6-Hybridization-CSharp.ipynb | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-6-Hybridization-CSharp.ipynb b/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-6-Hybridization-CSharp.ipynb index 28435f8751d..ca6f8357c7a 100644 --- a/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-6-Hybridization-CSharp.ipynb +++ b/MyIA.AI.Notebooks/Search/Part2-CSP/CSP-6-Hybridization-CSharp.ipynb @@ -1549,20 +1549,9 @@ "2. **Google OR-Tools CP-SAT** : https://developers.google.com/optimization/cp/cp_solver -- documentation officielle\n", "3. **Learning to Branch** (2018) : E. Khalil et al. -- ML pour le branchement CP\n", "4. **EPIC #3801** (axe-2 SOTA) : registre des verdicts SOTA-OK et problemes non-triviaux\n", - "5. **EPIC #4956** : marathon parite Python ⇔ .NET pour Search/CSP\n" - ] - }, - { - "cell_type": "markdown", - "id": "a9efdb8e", - "metadata": {}, - "source": [ - "***\n", - "\n", - "## Références\n", - "\n", - "- **Hybridizing Constraint Programming and Meta-Heuristics for Multi-Mode Resource-Constrained Multiple Projects Scheduling Problem** (Ahmeti & Musliu, 2021) : un hybride CP × métaheuristique récent et complet (modèle CP exhaustif puis recherche métaheuristique, nouvelles bornes sur les instances MMRCMPSP) — dans la lignée des approches hybrides de ce chapitre.\n", - "- [*The CP-SAT Primer*](https://d-krupke.github.io/cpsat-primer/) (Krupke & Schmitt, 2023, CC-BY) : les mécanismes internes de CP-SAT (presolve, LNS, indices de littéraux) que la voie native .NET de ce carnet mobilise côté solveur." + "5. **EPIC #4956** : marathon parite Python ⇔ .NET pour Search/CSP\n", + "6. **Hybridizing Constraint Programming and Meta-Heuristics for MMRCMPSP** (Ahmeti & Musliu, PATAT 2020/2021, p. 206 ; version journal : *Journal of Heuristics* 31(1), 2025) : un hybride CP × métaheuristique récent et complet (modèle CP exhaustif puis recherche métaheuristique, nouvelles bornes sur les instances MMRCMPSP)\n", + "7. [*The CP-SAT Primer*](https://d-krupke.github.io/cpsat-primer/) (Krupke & Schmitt, 2023, CC-BY) : les mécanismes internes de CP-SAT (presolve, LNS, indices de littéraux) mobilisés côté solveur par la voie native .NET\n" ] } ], From 0aae13d21963cc9e6365cff998855d212cea0e85 Mon Sep 17 00:00:00 2001 From: Jean-Sylvain Boige Date: Sun, 25 Oct 2026 00:12:29 +0200 Subject: [PATCH 3/4] Fix(search,#19279): attestation de parite des 4 jumeaux C# CSP apres ajout des References Le garde Twin parity audit (#8057) marquait 4 paires DRIFT_INTRODUCED. Mesure firsthand : la PR ajoute exactement une cellule markdown a chacun des quatre jumeaux C# (CSP-3, CSP-4, CSP-5, CSP-7) -- zero hunk outputs, zero hunk execution_count -- donc le content_sha se deplace sans divergence pedagogique, et aucune re-execution n'est due (C.2, markdown seul). Une cinquieme derive (Sudoku-14 BDD) n'etait PAS portee par la PR : le diff merge-base..head ne la touche pas, c'est main qui a avance. Elle a disparu d'elle-meme apres gh pr update-branch, sans attestation : la branche a simplement rattrape la base. Index des attestations decales au-dessus des slots deja revendiques par la PR #22138 ouverte (po-2024) sur les memes quatre paires, qui occupe deja les index immediatement inferieurs -- et entre elle-meme en collision avec main. Mesure apres attestation, a la tete courante : 158 paires, OK=143, INTRO=0, PRE=15, rc=0. Aucun drift pre-existant n'a ete atteste. Co-Authored-By: Claude Sonnet 5.5 --- .../0020-2026-10-25-myia-po-2028-CoursIA.yaml | 6 ++++++ .../0014-2026-10-25-myia-po-2028-CoursIA.yaml | 6 ++++++ .../0022-2026-10-25-myia-po-2028-CoursIA.yaml | 6 ++++++ .../csp-7-soft/0019-2026-10-25-myia-po-2028-CoursIA.yaml | 6 ++++++ 4 files changed, 24 insertions(+) create mode 100644 scripts/notebook_tools/twin_pairs.d/csp-3-advanced/0020-2026-10-25-myia-po-2028-CoursIA.yaml create mode 100644 scripts/notebook_tools/twin_pairs.d/csp-4-scheduling/0014-2026-10-25-myia-po-2028-CoursIA.yaml create mode 100644 scripts/notebook_tools/twin_pairs.d/csp-5-optimization/0022-2026-10-25-myia-po-2028-CoursIA.yaml create mode 100644 scripts/notebook_tools/twin_pairs.d/csp-7-soft/0019-2026-10-25-myia-po-2028-CoursIA.yaml diff --git a/scripts/notebook_tools/twin_pairs.d/csp-3-advanced/0020-2026-10-25-myia-po-2028-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/csp-3-advanced/0020-2026-10-25-myia-po-2028-CoursIA.yaml new file mode 100644 index 00000000000..9c358a00a7c --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/csp-3-advanced/0020-2026-10-25-myia-po-2028-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-10-25' +by: myia-po-2028:CoursIA +python_sha: 674baf1bd8aaf577c49deb322c9482972d537a49 +csharp_sha: 8d4217389ef9f5e8f29a02bd9832ac7f5877ff56 +content_python_sha: 684255d0a01745db79bdaa8b32045e8569f784d58d167245e46b51b1b4365d36 +content_csharp_sha: 2103954a085dac6a1151485e2f03118ebebd2ee39e525f0e7d407b83aa94bc2a diff --git a/scripts/notebook_tools/twin_pairs.d/csp-4-scheduling/0014-2026-10-25-myia-po-2028-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/csp-4-scheduling/0014-2026-10-25-myia-po-2028-CoursIA.yaml new file mode 100644 index 00000000000..70c817981b5 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/csp-4-scheduling/0014-2026-10-25-myia-po-2028-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-10-25' +by: myia-po-2028:CoursIA +python_sha: dae0893f41fe017163f817659c2f424979f535eb +csharp_sha: 9e259e452dd3d72597205eeffbe45d52a47f611b +content_python_sha: a2d6fb6085fedff22e84b53cefce6262f6672270dfe3f5505e1655a50d3f2737 +content_csharp_sha: f6e96761873202aa49f72d0b57c5bfb3d63161a70879e455e97016e1b5a02598 diff --git a/scripts/notebook_tools/twin_pairs.d/csp-5-optimization/0022-2026-10-25-myia-po-2028-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/csp-5-optimization/0022-2026-10-25-myia-po-2028-CoursIA.yaml new file mode 100644 index 00000000000..2e19bfe6471 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/csp-5-optimization/0022-2026-10-25-myia-po-2028-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-10-25' +by: myia-po-2028:CoursIA +python_sha: f389d9e63d1b8717b5fbe8736aa3c9f754787fe1 +csharp_sha: d45bee04a8f8021f8f7767aaf10be453350496e9 +content_python_sha: 25c1a8a040abe5bb345d2774fd0c63572c028e80941d4c3403427671d5b93358 +content_csharp_sha: 0cc6ad6893086afb3b02f817c6b08a7a04417417da5ab18c96bc7d935049f646 diff --git a/scripts/notebook_tools/twin_pairs.d/csp-7-soft/0019-2026-10-25-myia-po-2028-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/csp-7-soft/0019-2026-10-25-myia-po-2028-CoursIA.yaml new file mode 100644 index 00000000000..e0f0b3c1867 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/csp-7-soft/0019-2026-10-25-myia-po-2028-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-10-25' +by: myia-po-2028:CoursIA +python_sha: 1f3775720608e792318541a06c1ac0f2e8e2296e +csharp_sha: 71bd83f6b6ef0df928e90b23f9ebcbb3334630e9 +content_python_sha: 995f0a7d538f55c57f9ee96399d671750be6b16bc8726795eb3f2681bcb24935 +content_csharp_sha: e4740471c9f61985edfd807088d448f8d8174f5e4917eedc38f111559ae825a4 From 0561b9fae614d7528816846439a7015c33828a0b Mon Sep 17 00:00:00 2001 From: Jean-Sylvain Boige Date: Mon, 26 Oct 2026 23:22:30 +0100 Subject: [PATCH 4/4] Fix(search,#19279): re-attestation des paires CSP-3/4/6 apres merge de main Le rafraichissement de base a fait avancer les Python CSP-3/CSP-4 et le C# CSP-6 cote main ; les attestations du 25/10 restaient sur les blobs d'avant merge. Re-attestees a la tete ef633e0c1. Gate per-pair : 151/159 OK, drift_introduced=0 (8 pre-existants herites de main, non touches ici). Co-Authored-By: Claude Sonnet 5.5 --- .../0021-2026-10-26-myia-po-2028-CoursIA.yaml | 6 ++++++ .../0015-2026-10-26-myia-po-2028-CoursIA.yaml | 6 ++++++ .../0018-2026-10-26-myia-po-2028-CoursIA.yaml | 6 ++++++ 3 files changed, 18 insertions(+) create mode 100644 scripts/notebook_tools/twin_pairs.d/csp-3-advanced/0021-2026-10-26-myia-po-2028-CoursIA.yaml create mode 100644 scripts/notebook_tools/twin_pairs.d/csp-4-scheduling/0015-2026-10-26-myia-po-2028-CoursIA.yaml create mode 100644 scripts/notebook_tools/twin_pairs.d/csp-6-hybridization/0018-2026-10-26-myia-po-2028-CoursIA.yaml diff --git a/scripts/notebook_tools/twin_pairs.d/csp-3-advanced/0021-2026-10-26-myia-po-2028-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/csp-3-advanced/0021-2026-10-26-myia-po-2028-CoursIA.yaml new file mode 100644 index 00000000000..f2ec7ef4b17 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/csp-3-advanced/0021-2026-10-26-myia-po-2028-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-10-26' +by: myia-po-2028:CoursIA +python_sha: d6f8d803a055094c53a79ea2078d1394de28040c +csharp_sha: 8d4217389ef9f5e8f29a02bd9832ac7f5877ff56 +content_python_sha: 7889f00eb2e047ebec6aeafc90524b31d0554c3a1186f2a8b783bde1749d48ef +content_csharp_sha: 2103954a085dac6a1151485e2f03118ebebd2ee39e525f0e7d407b83aa94bc2a diff --git a/scripts/notebook_tools/twin_pairs.d/csp-4-scheduling/0015-2026-10-26-myia-po-2028-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/csp-4-scheduling/0015-2026-10-26-myia-po-2028-CoursIA.yaml new file mode 100644 index 00000000000..691917bf8e6 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/csp-4-scheduling/0015-2026-10-26-myia-po-2028-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-10-26' +by: myia-po-2028:CoursIA +python_sha: 72214bd2f855b6a57b65a0b2689b61520e581e64 +csharp_sha: 9e259e452dd3d72597205eeffbe45d52a47f611b +content_python_sha: 978caa3de0b9fe061a44afde8d60977f50bdf9db7a277912bb8c27eab82b8b8d +content_csharp_sha: f6e96761873202aa49f72d0b57c5bfb3d63161a70879e455e97016e1b5a02598 diff --git a/scripts/notebook_tools/twin_pairs.d/csp-6-hybridization/0018-2026-10-26-myia-po-2028-CoursIA.yaml b/scripts/notebook_tools/twin_pairs.d/csp-6-hybridization/0018-2026-10-26-myia-po-2028-CoursIA.yaml new file mode 100644 index 00000000000..79edc24ffe0 --- /dev/null +++ b/scripts/notebook_tools/twin_pairs.d/csp-6-hybridization/0018-2026-10-26-myia-po-2028-CoursIA.yaml @@ -0,0 +1,6 @@ +date: '2026-10-26' +by: myia-po-2028:CoursIA +python_sha: dc004fc74536b19a23abe72485803e7d1f63f28f +csharp_sha: ca6f8357c7a4d5fe5d6ba5298eb558a6fb8d23cd +content_python_sha: acb1059a65f37f5450e19deb881f3dd7e5d1b4e992c47c8b5c709c0fa0a6fc5d +content_csharp_sha: 474e3cca16dae2a4dc2b78963c659b9d9c9201dc2cd61a3bf70bdf38c8d83102