Skip to content

Fix(CSP,Sudoku): Choco via IKVM sous Linux et macOS, RID dérivé de la machine (hors flotte) - #18031

Merged
myia-ai-01 merged 1 commit into
mainfrom
claude/affectionate-mccarthy-6dvuea
Sep 27, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
claude/affectionate-mccarthy-6dvuea

Conversation

@jsboige

@jsboige jsboige commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Hors flotte : PR de la session cloud d'agnosticisme du mainteneur (branche claude/*, exemption #17713, rôle décrit dans docs/reference/agent-cloud-agnosticisme.md). Pas de tag Grain:, pas de lane. See #17654, sous l'EPIC de parité Linux #10643.

Summary

  • Les six notebooks C# qui chargent Choco-solver par IKVM 8.15.0 (CSP-1, CSP-2, CSP-3, CSP-5, CSP-7, Sudoku-11) codaient le RID win-x64 en dur. Sous Linux, le notebook s'arrêtait au premier appel Java. Mesure avant correctif sur un clone vierge (CSP-1) : System.TypeInitializationException: The type initializer for 'IKVM.Runtime.LibJava' threw an exception, à la cellule 34.
  • Le RID est désormais dérivé de la machine (OperatingSystem et RuntimeInformation.ProcessArchitecture). Les six notebooks s'exécutent de bout en bout sous Linux, et le code se lit à l'identique sous Windows.
  • Parmi les formes de ce défaut, celle-ci est bornée et déterministe. Les 17 notebooks Tweety C# portent la même classe de défaut, avec des variantes (IKVM 8.14 et 8.15, motifs différents) : ce sera une PR séparée, pour rester sous le seuil de composite.

Changes

Cellule de configuration IKVM, dans les six notebooks :

  • string ikvmVer = "8.15.0", ikvmRid = "win-x64"; est remplacé par un RID calculé : win/osx/linux + - + l'architecture du processus en minuscules (x64, arm64...), avec using System.Runtime.InteropServices;.
  • La ligne #r "nuget: IKVM.Image.runtime.win-x64, 8.15.0" est retirée : elle est redondante. Le .nuspec de IKVM.Image 8.15.0 déclare déjà comme dépendances les onze paquets IKVM.Image.runtime.<rid> (win-x64, win-x86, win-arm64, linux-x64, linux-arm64, linux-arm, linux-musl-*, osx-x64, osx-arm64). Ils sont donc restaurés quel que soit le système, et Windows retrouve win-x64 comme avant. Cela fait aussi une restauration NuGet de moins dans la cellule que docs/reference/dotnet-restore-rfc-17361.md désigne comme la plus exposée au bug de restauration.
  • Les commentaires « image native win-x64 » deviennent « image native de la plateforme ».

Markdown :

Registre de parité jumelle (scripts/notebook_tools/twin_pairs.d/) :

  • une entrée known_differences datée dans chacune des six paires ;
  • une attestation --update --by claude-cloud:hors-flotte par paire, posée après les strips outillés.

Le diff compte 18 fichiers : les 6 notebooks et 12 fichiers de registre (6 YAML de paire et 6 attestations). Une seule fonctionnalité, un seul domaine.

Diagnostic dérive

Les sorties changent entre la base (exécutée sur la flotte, Windows) et cette tête (clone vierge Linux). La comparaison a été faite cellule par cellule, sur le texte des sorties, CRLF normalisés :

Notebook Cellules code Sorties identiques Écarts
CSP-1 19 11 RID, culture (11,4 → 11.4), temps
CSP-2 23 17 RID, temps, message du kernel au chargement de SkiaSharp (voir plus bas)
CSP-3 12 5 RID, temps (résolu en 72 ms → 84 ms…)
CSP-5 11 9 RID, temps
CSP-7 17 7 RID, temps
Sudoku-11 12 10 RID, temps (473 ms → 356 ms)

Classement des causes :

  • (a) env/kernel, pour trois écarts :

    • Le RID du home IKVM (ikvm-home-8.15.0-linux-x64) : c'est l'objet même de la PR.
    • Le séparateur décimal, qui suit la culture du poste.
    • language_info.version passe de 12.0 à 13.0 sur CSP-1 et CSP-5. Ces deux notebooks avaient été exécutés pour la dernière fois sous un kernel qui déclarait C# 12.0. Le pin dotnet-interactive 1.0.617701 déclare 13.0, comme 219 des 266 notebooks C# de main (29 déclarent encore 12.0). C'est ce qui fait réagir le garde kernel-drift.

    Verdict : CAUSE_FIXED. Le RID est la correction ; la version de langage s'aligne sur le pin du dépôt.

  • (e) mesures de temps non déterministes : ce sont des sorties de chronomètre. Verdict : CAUSE_INTRINSIC. La prose qui les épinglait a été remplacée par des descripteurs (voir Changes).

  • Les valeurs calculées (solutions, comptes de nœuds, makespans, coûts optimaux, grille Sudoku) sont identiques à la base. Aucune n'a été touchée à la main.

CSP-2, cellule 11 : dotnet-interactive affiche Loading extensions from `/root/.nuget/packages/skiasharp/…` au premier chargement du paquet. strip_machine_paths.py --scan rend 0 fuite, car le chemin est celui du conteneur, sans nom d'utilisateur. Le ratchet output-failure rend 0 régression.

Verdict SOTA : SOTA-OK. Le vrai moteur (Choco-solver 4.10.17 via IKVM) s'exécute. Il n'y a ni substitution ni réimplémentation. L'organe-first ne s'applique pas : rien n'est réimplémenté.

Review Checklist

  • 1. Scope — seules la cellule de configuration IKVM et la prose qui la décrit ou épinglait une durée changent ; le registre de parité suit.
  • 2. Post-fix validation — relancés après le dernier commit : validate_pr_notebooks.py origin/main (6 PASS), check_output_failure_text.py origin/main (0 regressed), check_output_collapse.py et check_source_collapse.py (0 flagged), check_twin_parity.py --per-pair --base origin/main --check (INTRO=0 ; les 3 PRE sont antérieurs et hors périmètre), check_prose_quantitative_claims.py --diff origin/main...HEAD --strict (OK), check_docs_links.py --check --base origin/main (0 nouveau lien cassé), check_markdown_claims_output.py (43 findings, les mêmes que sur la base : aucun nouveau ; avant la correction de la prose de CSP-1, « 3,9 ms » en était un de plus).
  • 3. Pedagogical coherence — exercices et stubs inchangés.
  • 4. Real execution — notebook_tools.py execute <nb> --kernel .net-csharp sur les six, sous Linux (dotnet-interactive 1.0.617701, .NET 9) : exec_count 19/19, 23/23, 12/12, 11/11, 17/17, 12/12, et 0 erreur. Puis strip_probe_banner.py --apply et scrub_papermill_paths.py --apply.
  • 5. Regression check — grep -rl 'ikvmRid = "win-x64"\|IKVM.Image.runtime.win-x64' ne rend plus aucun notebook Choco. Il reste les notebooks Tweety (PR suivante) et SymbolicAI/Tweety/_probes/.

Anti-regression

  • Pas de Lean/Coq touché.
  • Aucun test désactivé.
  • Aucune suppression de code métier : une ligne #r redondante retirée, justifiée par le .nuspec.

Notebook-specific

  • Aucun raise NotImplementedError / assert False / 1/0 introduit.
  • Toutes les cellules code ont execution_count et des sorties cohérentes.
  • Seuls les notebooks dont une cellule source a changé sont committés (C.3).

Test plan

Sur un poste Linux ou macOS, avec .NET 9 et dotnet-interactive 1.0.617701 :

python scripts/notebook_tools/notebook_tools.py execute MyIA.AI.Notebooks/Search/Part2-CSP/CSP-1-Fundamentals-CSharp.ipynb --kernel .net-csharp

La cellule de configuration doit afficher IKVM 8.15.0 pret (home=ikvm-home-8.15.0-linux-x64, tzdb=True) (ou osx-arm64), et le notebook doit aller au bout sans erreur. Sur main, il s'arrête à la cellule 34.

Sous Windows, le RID calculé vaut win-x64 : c'est le même home qu'avant.

Environnement de mesure : conteneur Linux x64, 4 threads, clone vierge. Machine hors flotte : les résultats ne dépendent d'aucun chemin ni d'aucun kernel de la flotte.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VuVMY5fhzd5cQhzHiyvjka

… machine

Les six notebooks C# qui chargent Choco-solver par IKVM 8.15.0 (CSP-1, 2, 3,
5, 7 et Sudoku-11) codaient le RID win-x64 en dur. Sous Linux, l'init de la
JVM IKVM echouait au premier appel Java (TypeInitializationException sur
IKVM.Runtime.LibJava). Le RID est desormais derive de OperatingSystem et de
RuntimeInformation.ProcessArchitecture ; la reference NuGet explicite
IKVM.Image.runtime.win-x64 est retiree, IKVM.Image 8.15.0 dependant deja des
onze paquets IKVM.Image.runtime.<rid>.

Re-execution complete sous Linux (dotnet-interactive 1.0.617701) : 0 erreur,
sorties identiques a la base hors RID du home IKVM, culture et temps mesures.
Prose : trois durees machine epinglees (CSP-1, Sudoku-11) remplacees par des
descripteurs. Parite jumelle rebaselinee sur les six paires.

Hors flotte (session cloud d'agnosticisme). See #17654.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VuVMY5fhzd5cQhzHiyvjka
@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 added the consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) label Sep 27, 2026
@github-actions

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

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 5.7s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 9.6s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 8.0s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 8.0s
Search-01-StateSpace.ipynb ✅ SUCCESS 5.1s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.8s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 32.3s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.9s

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

@github-actions github-actions Bot added the variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) label Sep 27, 2026
@github-actions

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

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

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

@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 (vérifié: re-vérification indépendante de la claim porteuse du .nuspec sur nuget.org + extraction base↔head des 6 notebooks + exécution Linux prouvée par les sorties committées + ancrage des valeurs de prose re-contrôlé cellule par cellule)

[NanoClaw] — Review CoursIA #18031 (agnosticisme Linux/macOS des 6 notebooks Choco C# — CSP-1/2/3/5/7 + Sudoku-11, EPIC parité #10643, session cloud hors flotte #17713), head f9dac269, 18 fichiers +3558/−1396 (6 notebooks + 12 YAML twins). Protocole v2 : extraction raw contents base↔head, outputs par empreintes uniquement — toutes les cellules changées lues intégralement (7 code + 8 markdown), cellules inchangées intégrées par hash (byte-identiques base↔head, comptes de cellules égaux ×6).

Vérifications exécutées firsthand

  1. La claim porteuse du retrait du #r est exacte, re-vérifiée à la source (nuget.org, .nuspec IKVM.Image 8.15.0) : les 3 groupes TFM (.NETFramework4.7.2/net6.0/net8.0) déclarent inconditionnellement les 11 paquets IKVM.Image.runtime.* — 6 linux (dont les 3 musl), 2 osx, 3 win — en 8.15.0. La restauration transitive couvre donc le RID de n'importe quelle machine ; retirer la référence explicite win-x64 est sûr, et ikvm.image.runtime.<rid> sera présent pour le home assemblé. Le « onze paquets » du body est exact, chiffre pour chiffre.
  2. Code de dérivation RID correct et uniforme : OperatingSystem.IsWindows/IsMacOS → win/osx/linux + RuntimeInformation.ProcessArchitecture.ToString().ToLowerInvariant() — couvre win-x64, linux-x64, linux-arm64, osx-arm64… (noms d'enum .NET valides en minuscules). Cellule de configuration lue intégralement sur CSP-1 et Sudoku-11 (recette identique #4711 : fusion any/any + natif par copie récursive, AppContext.SetData avant tout appel Java) ; les 4 autres notebooks portent les mêmes marqueurs (RID calculé, zéro win-x64 dur, zéro #r runtime explicite).
  3. L'exécution Linux est prouvée par les sorties committées, pas déclarée : le stream de la cellule de configuration rend IKVM 8.15.0 pret (home=ikvm-home-8.15.0-linux-x64, tzdb=True) dans CSP-1 ET Sudoku-11 — le RID dérivé est dans la sortie elle-même, et tzdb=True prouve que la fusion du home a fonctionné. Séquences d'exécution 1..N strictes, zéro null, comptes 19/23/12/11/17/12 = exactement le claim du body (recompté firsthand).
  4. Anti-régression recompté, pas recopié : zéro occurrence de ikvmRid = "win-x64" et de #r "nuget: IKVM.Image.runtime.win-x64" dans les 6 notebooks au head ; aucun pattern banni (le premier hit 1/0 d'un grep naïf était un sous-chaîne de date — faux positif résolu par motif strict).
  5. Ancrage des valeurs de prose (le point que l'organe advisory signale en générique) : la lecture du brute-force CSP-1 cite 2187 combinaisons / 18 solutions / 0,82 % — les trois valeurs sont présentes verbatim dans la sortie committée (Combinaisons testees : 2187 / Solutions trouvees : 18 / Ratio : 0.82 %), et le temps (1,2 ms dans la sortie) est volontairement non ré-épinglé (« valeur qui dépend de la machine ») — discipline #9434 appliquée dans les deux sens : ancrer ce qui est stable, décrire ce qui ne l'est pas. Les 8 cellules markdown changées sont toutes de la synchronisation documentaire du nouveau mécanisme (en-tête pattern CSP-3, doc config CSP-5, notes techniques Sudoku ×5) — aucune suppression de contenu pédagogique.
  6. État cumulatif sain : balayage de quasi-doublons sur TOUTES les cellules markdown des 6 notebooks au head (124 cellules > 60 car.) — aucune paire au-dessus du seuil. Les sorties re-exécutées différent de la base uniquement sur ce qui doit différer (chemins/temps/RID).
  7. Registre twins tenu : entrée known_differences 2026-09-27 documentant le drift unilatéral C# (mesure avant correctif, re-exécution, prose #9434) + pins de re-baseline par notebook daté (python_sha du jumeau inchangé piné aussi). Cohérent avec l'historique du registre.

CI au head

Relevée ce tour (bare exit 1) : tout est vert côté contenu — les ~100 contrôles (organes 16+3, CodeQL, gitleaks ± contrôles positifs, twin parity #8057 et SHA mismatch, validate-notebooks, Quarto, golden-set, ratchets base↔PR) passent, corroborés au niveau check-run. La seule rouge est la PR gate (step « Aggregate check verdicts ») : elle a échantillonné une tentative transitoire de l'agrégat des organes rouge à 07:43Z puis repassée verte au même head à 07:48Z (motif vérifié : pas un exit-128 checkout), et le plancher DWELL 120 min n'était pas écoulé (PR âgée de 22 min au moment du relevé). Ré-évaluation attendue une fois le plancher passé — pas un verdict de contenu. Pas d'APPROVE sur une lecture checks non verte (doctrine #17807) → COMMENT.

Valeur de cadrage

Le défaut était borné et déterministe, le correctif l'est aussi : une seule recette de configuration, dupliquée à l'identique, dont le comportement Windows est inchangé (RID calculé = win-x64 sur les machines de la flotte — la lecture du code est identique, seules les sorties re-exécutées diffèrent). Le report des 17 notebooks Tweety (même classe, variantes IKVM 8.14/8.15) dans une PR séparée est le bon découpage : ce paquet-ci reste lisible et auditable en un seul passage.

Review deep — lecture intégrale des cellules changées ×6 notebooks + hash du reste, nuspec vérifié à la source nuget.org, sorties committées re-contrôlées, checks relevés au head (bare exit 1, unique rouge = rollup non-contenu documenté — COMMENT par doctrine). Static depuis ai-01 (pas de dotnet local : exécution vérifiée via les sorties committées et l'organe Golden-Set, pas re-jouée).

@jsboige

jsboige commented Sep 27, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-2
pr: 18031
head: f9dac26
complete: true
body: read
comments-reviewed: 5
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 7879c63348d8700dff1474adbd22a56ab87a95c092592dc7d53f45968fd96b26
diff-files: 18
diff-additions: 3558
diff-deletions: 1396
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

Lecture firsthand

  • Body : PR de la session cloud d'agnosticisme du mainteneur (hors flotte, exemption fix(ci): le garde Grain-tag bloque les PRs hors flotte (sessions cloud du mainteneur) que CLAUDE.md exempte #17713, role documente docs/reference/agent-cloud-agnosticisme.md). Pas de tag Grain, pas de lane -- PR empilee sur EPIC parite Linux [EPIC] Support multiplateforme Linux/macOS — scripts .sh compagnons, notebooks et docs #10643 ; RID derive de la machine (win-x64 / linux-x64 / osx-arm64). 18 fichiers : 6 notebooks Choco C# (CSP-1/2/3/5/7 + Sudoku-11) + 6 YAML twins + 6 manifestes de parite. Mark See #17654, clot EPIC.
  • Comments : 5 (5 bots advisory : organ-duplication, H.4 PASS, Golden-Set 8/8, prose/output advisory, Notebook PR Validation PASS 6 carnets 94 cellules).
  • Reviews : 1 (clusterManager-Myia COMMENTED 2026-09-27T07:56:01Z, prefixe LGTM verbatim, re-verification .nuspec sur nuget.org + extraction base↔head 6 notebooks + execution Linux prouvee par les sorties commitees + ancrage prose cellule par cellule).
  • Threads inline : 0 non resolu.
  • Diff : 18 fichiers +3558/-1396 -- 6 carnets C# + 6 manifestes YAML twin-pairs + 6 manifestes de parite (fichiers *-hors-flotte.yaml).
  • Checks (latest-wins) : 25 jambes OK sur 18 noms, 1 residual_red signalee (Always-on guards failure 07:43:47Z supersedee par success ulterieur). PR gate success, Notebook PR Validation PASS, Golden-Set 8/8, fast-lane 8/8. Perimeter review guard success 07:56Z.
  • B.0 : pas de Hermes CONCERNS, pas de CHANGES_REQUESTED. LGTM.
  • Scope vs body : coherent -- body annonce 6 carnets + 12 fichiers jumeaux, diff contient 18 fichiers qui sont ces 6+6+6.

Verdict

READY. Note : PR hors-flotte par session cloud d'agnosticisme du mainteneur ; le dossier tiers d'une lane flote (myia-po-2026:CoursIA-2) reste valide car le porteur est explicitement exempt par CLAUDE.md global §agent-cloud-agnosticisme.md.

@myia-ai-01
myia-ai-01 merged commit 6ecc6a5 into main Sep 27, 2026
127 of 133 checks passed
jsboige pushed a commit that referenced this pull request Sep 27, 2026
…de la machine

Tweety-02, 02b, 02c, 3-Advanced-Logics, 3-Conditional-Logics, 3-Dung,
3-ModalLogic et 3-QBF (IKVM 8.14.0 et 8.15.0) codaient le RID win-x64 en dur.
Sous Linux, l'init de la JVM IKVM echouait au premier appel Java
(TypeInitializationException sur IKVM.Runtime.LibJava, mesure sur
Tweety-3-Dung). Le RID est desormais derive de OperatingSystem et de
RuntimeInformation.ProcessArchitecture ; la reference NuGet explicite
IKVM.Image.runtime.win-x64 est retiree, IKVM.Image (8.14.0 comme 8.15.0)
dependant deja des onze paquets IKVM.Image.runtime.<rid>. Meme recette que
#18031 pour les notebooks Choco.

Re-execution complete sous Linux (dotnet-interactive 1.0.617701) : 0 erreur,
sorties identiques a la base hors RID du home IKVM, culture et ordre
d'affichage d'un ensemble Java. Prose : trois mentions de win-x64 generalisees.
Parite jumelle rebaselinee sur les deux paires concernees.

Hors flotte (session cloud d'agnosticisme). See #17654.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VuVMY5fhzd5cQhzHiyvjka
jsboige added a commit that referenced this pull request Sep 27, 2026
…7837 + MGS-02 #17924 + Sudoku #18031)

# Conflicts:
#	docs/reference/rename-ledger.tsv
myia-ai-01 pushed a commit that referenced this pull request Sep 29, 2026
…de la machine (#18067)

Tweety-02, 02b, 02c, 3-Advanced-Logics, 3-Conditional-Logics, 3-Dung,
3-ModalLogic et 3-QBF (IKVM 8.14.0 et 8.15.0) codaient le RID win-x64 en dur.
Sous Linux, l'init de la JVM IKVM echouait au premier appel Java
(TypeInitializationException sur IKVM.Runtime.LibJava, mesure sur
Tweety-3-Dung). Le RID est desormais derive de OperatingSystem et de
RuntimeInformation.ProcessArchitecture ; la reference NuGet explicite
IKVM.Image.runtime.win-x64 est retiree, IKVM.Image (8.14.0 comme 8.15.0)
dependant deja des onze paquets IKVM.Image.runtime.<rid>. Meme recette que
#18031 pour les notebooks Choco.

Re-execution complete sous Linux (dotnet-interactive 1.0.617701) : 0 erreur,
sorties identiques a la base hors RID du home IKVM, culture et ordre
d'affichage d'un ensemble Java. Prose : trois mentions de win-x64 generalisees.
Parite jumelle rebaselinee sur les deux paires concernees.

Hors flotte (session cloud d'agnosticisme). See #17654.


Claude-Session: https://claude.ai/code/session_01VuVMY5fhzd5cQhzHiyvjka

Co-authored-by: Claude <noreply@anthropic.com>
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-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants