Skip to content

fix(notebooks,#20167): retire execution_count/outputs des cellules markdown (lot C) - #20595

Open
jsboige wants to merge 4 commits into
mainfrom
claude/20167-md-cell-schema-c
Open

jsboige wants to merge 4 commits into
mainfrom
claude/20167-md-cell-schema-c

Conversation

@jsboige

@jsboige jsboige commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

See #20167 (PR C sur 3, scindée avec #20928 ; correcteur livré par #20588)

Summary

Scission (2026-10-15) : avant la scission, le diff dépassait le seuil de pr-review-discipline §A (17 chemins pour un maximum de 15) (constat du préflight de l'adjoint). Les deux carnets Sudoku passent dans #20928 avec la ré-attestation de la paire sudoku-05-pso, soit 4 chemins. Ce sont les seuls chemins concernés par la décision sur les traces de Sudoku-16, citée mot pour mot dans le body de #20928. Le commit a1b418141d les rend ici à leur état de base. Cette PR garde 13 fichiers : 9 carnets (GameTheory, QuantConnect) et les ré-attestations de deux paires.

Lot C de l'issue #20167 : retire les clés execution_count et outputs des cellules markdown de 9 carnets (GameTheory, QuantConnect). Au schéma nbformat, une cellule markdown ne porte que cell_type, id, metadata, source et attachments ; ces deux clés sont des restes de conversion d'une cellule de code.

Le correcteur scripts/notebook_tools/fix_markdown_cell_schema.py est livré par #20588 (PR A) et appliqué ici sans modification. Il n'est pas inclus dans cette PR. Elle ré-atteste en revanche les deux paires jumelles dont un côté est touché (registre scripts/notebook_tools/twin_pairs.d/, section dédiée ci-dessous).

Aucune source de cellule, aucune métadonnée, aucune cellule de code n'est modifiée. Les sorties retirées ne sont rendues par aucun viewer Jupyter sur une cellule markdown.

Changes

Carnet (MyIA.AI.Notebooks/) Cellules markdown nettoyées Clés retirées
GameTheory/GameTheory-01-Setup-Python.ipynb 47 execution_count, outputs (94)
GameTheory/GameTheory-03-Topology2x2-CSharp.ipynb 1 (cellule 29) outputs (1)
GameTheory/GameTheory-06e-Open-Source-Game-Theory-Python.ipynb 2 (cellules 5, 32) execution_count, outputs (4)
GameTheory/GameTheory-14-DifferentialGames-Python.ipynb 6 (cellules 15, 17, 29, 30, 32, 34) execution_count, outputs (12)
QuantConnect/projects/CSharp-BTC-MACD-ADX/research_robustness.ipynb 1 (cellule 22) execution_count, outputs (2)
QuantConnect/projects/ML-RandomForest/quantbook.ipynb 12 execution_count, outputs (24)
QuantConnect/projects/ML-SVM/quantbook.ipynb 12 execution_count, outputs (24)
QuantConnect/projects/Portfolio-IBKR-Coinbase-Hybrid/research.ipynb 4 (cellules 0, 5, 7, 9) execution_count, outputs (8)
QuantConnect/research/research_composite_mom_regime.ipynb 8 execution_count, outputs (16)
Total, 9 carnets 93 185

Les deux carnets Sudoku (Sudoku-05-PSO 12 cellules, Sudoku-16-NeuralNetwork 14 cellules) sont dans #20928.

Diff des carnets, avant la scission et sur les 11 carnets : 83 insertions, 747 suppressions. Chaque ligne ajoutée est une ligne retirée à la virgule finale près (le ] ou la clé id qui perd sa virgule quand la clé suivante est retirée). Aucune ligne de contenu n'est ajoutée.

Paires jumelles ré-attestées

Deux des 9 carnets ont un jumeau déclaré dans le registre de parité : GameTheory-3 Topology2x2 (côté C#) et GameTheory-14 DifferentialGames (côté Python). La troisième paire touchée par le lot C, Sudoku-05 PSO, est passée dans #20928 avec son carnet. Le registre enregistre le blob SHA de chaque jumeau, donc le seul retrait des clés markdown ferait rougir « Twin parity audit (#8057) » : mesuré localement avant la CI (--per-pair --base origin/main), 3 paires en DRIFT_INTRODUCED.

Vérifié avant d'attester : pour ces trois carnets, le carnet de base (6c3b4e9833), une fois execution_count/outputs retirés de ses cellules markdown, est identique au carnet de tête (comparaison JSON complète). L'autre côté de chaque paire n'est pas touché, et main n'a modifié ni ces carnets ni ces entrées depuis la base de la branche.

Geste (commit c493eaa12c) : une ligne en tête de known_differences par paire, puis check_twin_parity.py --update --pair "<nom>" --by "hors-flotte:claude-session-20167" en dernier.

La paire sudoku-05-pso, son attestation 0025 et le recouvrement avec #20605 sont passés dans #20928.

Contrôles locaux :

$ python scripts/notebook_tools/check_twin_parity.py --per-pair --base origin/main --check --json
rc=0 -- 157 paires, toutes OK (dont les trois ré-attestées, avant la scission)
$ python -m pytest scripts/notebook_tools/tests/test_twin_registry_integrity.py (+ 5 suites du registre)
107 passed

Sudoku-16

Passé dans #20928, avec l'analyse des 14 cellules markdown à sortie et la décision du mainteneur citée mot pour mot.

Aucune cellule markdown du lot ne contient de code Python (test ast plus mots-clés sur les 119 cellules, et lecture des premières lignes de chacune) : pas de cellule de code convertie à signaler ni à reconvertir.

Validation

Après la scission (commit a1b418141d)

Relancé sur a1b418141d, depuis la base de fusion 6c3b4e9833 :

fix_markdown_cell_schema.py --check <9 carnets>   -> Bilan --check : 0 carnet(s) fautif(s), 0 illisible(s), sur 9 examine(s).
check_twin_parity.py --check --per-pair --base 6c3b4e9833
  -> Total : 157 paire(s) | OK=157 INTRO=0 FIXED=0 PRE=0
pytest test_twin_registry_integrity.py              -> 46 passed
fast_lane.py --dry-run --base-ref origin/main      -> 43 garde(s) evalue(s), aucun bloquant en echec

Ce qui suit date d'avant la scission et porte sur les 11 carnets.

Correcteur, sorties réelles, depuis la racine du worktree :

  • Dry-run sur la liste des 11 carnets : Bilan dry-run : 11 carnet(s) fautif(s), 119 cellule(s) markdown fautive(s), 11 reecrivable(s), 0 exception(s), 0 propre(s), 0 illisible(s). (exit 0)
  • Apply : Bilan --apply : 11 carnet(s) reecrit(s), 119 cellule(s) nettoyee(s), 0 exception(s), 0 illisible(s). (exit 0)
  • Check après apply : Bilan --check : 0 carnet(s) fautif(s), 0 illisible(s), sur 11 examine(s). (exit 0)

Vérification structurelle contre origin/main, carnet par carnet (script de contrôle, non commité) : même nombre de cellules (390 au total) ; cell_type, source, metadata et id identiques partout ; métadonnées du carnet identiques ; les 141 cellules de code identiques en entier, sorties et execution_count compris ; dans les cellules markdown, seules execution_count et outputs disparaissent. Résultat : 11/11 TOUT OK.

nbformat (nbformat.validate) : avant, 11/11 INVALID (Additional properties are not allowed ('execution_count', 'outputs' were unexpected)) ; après, 11/11 VALID. Avertissements présents avant et après, hors périmètre : MissingIDFieldWarning sur research_robustness.ipynb ; DuplicateCellId (header-nav) sur Sudoku-16.

Ratchets notebook exécutés en local contre origin/main : check_output_collapse.py 0 flagged, check_source_collapse.py 0 flagged, check_output_failure_text.py 0 regressed (10 carnets évalués ; research_composite_mom_regime.ipynb est exclu par construction, chemin /research/).

git diff origin/main | grep -cE '^\+\s*"source"' : 0. Le correcteur a été récupéré depuis la branche de #20588, exécuté depuis ce worktree, puis retiré avant le commit (non suivi).

Review Checklist

  • 1. Scope : 2 clés retirées sur des cellules markdown, dans 9 carnets, 93 cellules ; plus la ré-attestation du registre de parité pour les deux paires jumelles touchées. 13 fichiers après la scission.
  • 2. Post-fix validation : --check à 0 après apply ; vérification structurelle et nbformat relancées sur l'état commité.
  • 3. Pedagogical coherence : aucun texte de cellule modifié, aucune cellule de code modifiée.
  • 4. Real execution : sans objet. Aucune cellule de code touchée, donc aucune re-exécution due (C.2). Quantbooks non réexécutés (exécution QC Cloud seulement).
  • 5. Regression check : grep "source" à 0 ; ratchets à 0 flagged / 0 regressed ; execution_count et outputs des 141 cellules de code inchangés.

Notebook-specific

Test plan

Hors flotte : session cloud du mainteneur (exemption #17713), pas de lane ni de tag Grain.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LRbWZZHE9jZscr8ya3niWA


Generated by Claude Code

…rkdown (lot C)

Lot C de #20167 (PR C sur 3) : 11 carnets GameTheory, QuantConnect et Sudoku.
Correcteur scripts/notebook_tools/fix_markdown_cell_schema.py livre par #20588
(PR A), applique sans modification. Seules les cles execution_count/outputs
des cellules markdown sont retirees (119 cellules) ; aucune source ni aucune
cellule de code n'est modifiee.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LRbWZZHE9jZscr8ya3niWA
@github-actions

Copy link
Copy Markdown
Contributor

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

@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

⚠️ Stale-claim review needed: a markdown cell claims a measurement value that appears in NO committed output of the notebook. Advisory, NOT a merge gate — triage against the JSON artifact.

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

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.

jsboige commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner Author

Avis « Prose/output review » et « Stale-claim review » (non bloquants) lus : leurs signalements sont antérieurs à cette PR.

  • Les 11 carnets de la PR, une fois retirés les champs execution_count/outputs des cellules markdown sur la base (6c3b4e9833), sont identiques au carnet de tête (comparaison JSON complète) : aucune source ni sortie de cellule n'est modifiée.
  • python scripts/check_markdown_claims_output.py --json <les 11 carnets>, lancé sur la base puis sur la tête : rc=1 des deux côtés, résultats identiques pour les 11 carnets.
  • python scripts/check_stale_claims.py --json <les 11 carnets>, même protocole : rc=1 des deux côtés, sortie JSON identique octet pour octet.

Ces valeurs relèvent donc du contenu existant des carnets, hors du périmètre de l'issue #20167 (schéma des cellules markdown).

Hors flotte : session cloud du mainteneur (exemption #17713).


Generated by Claude Code

…e retrait du schema markdown (lot C)

Le retrait des champs execution_count/outputs des cellules markdown deplace le
blob SHA de trois carnets appaires (GameTheory-03-Topology2x2 cote C#,
GameTheory-14-DifferentialGames et Sudoku-05-PSO cote Python) : le gate Twin
parity les verrait en DRIFT introduit (mesure locale, --per-pair contre
origin/main).

Verifie avant d'attester : pour chaque carnet, le carnet de base, une fois ces
champs retires des cellules markdown, est identique au carnet de tete
(comparaison JSON complete) ; l'autre cote de chaque paire n'est pas touche, et
main n'a modifie ni ces carnets ni ces entrees depuis la base de la branche.

sudoku-05-pso : attestation numerotee 0025, et non 0024, parce que la PR
ouverte #20605 ajoute deja sudoku-05-pso/0024 ; deux 0024 apres les deux merges
feraient rougir test_audit_index_unique_and_no_identical_duplicates_per_pair.

Une ligne en tete de known_differences par paire, puis
check_twin_parity.py --update --pair <nom> en dernier geste.

Hors flotte : session cloud du mainteneur (exemption #17713).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LRbWZZHE9jZscr8ya3niWA

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

[Hermes] VERDICT: LGTM — lot C #20167, vérification machine INTÉGRALE (pas échantillon) : les 11 carnets extraits base 854e1663 ↔ head de3ad4a8, cellule par cellule.

Vérifications exécutées :

  1. Concordance exacte avec le body : 119 cellules markdown nettoyées, 237 clés retirées (47+94, 1+1, 2+4, 6+12, 1+2, 12+24, 12+24, 4+8, 8+16, 12+24, 14+28) — matches la table Changes ligne par ligne.
  2. Périmètre strict respecté : sur chaque carnet, seules les clés execution_count et outputs disparaissent des cellules markdown ; 0 clé ajoutée ; cell_type/id/source/metadata identiques partout ; les 141 cellules de code sont byte-identiques base↔head (sorties et execution_count compris) ; même nombre de cellules (390 au total) ; métadonnées notebook inchangées.
  3. Cas Sudoku-16 documenté : les 14 cellules markdown à sorties (dont 5 jeux de traces périmées divergentes — +cu128/cuda vs +cpu/cpu, 28s/177/s vs 23s/213/s) sont retirées avec décision mainteneur explicite dans le body (acceptation de la perte, historique conservé dans git) — le body les avait identifiées avant moi, honnêteté documentaire correcte.
  4. Diff : 94 lignes + = les 83 re-sérialisations + en-têtes, aucune ligne de contenu ajoutée ; scan sécurité 0 hit.
  5. Jumeau direct du lot B #20593 (mécanique identique, déjà vérifiée indépendamment) ; correcteur non inclus (livré par #20588, PR A) — périmètre propre.

— Hermes (myia-ai-01) [review bot]

@github-actions

github-actions Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #20595 (fix(notebooks,#20167): retire execution_count/outputs des cellules markdown (lot C)) 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.

@github-actions

github-actions Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Organ-duplication detector ABSTAINS: merge-base unresolved or structural error -- no verdict. See workflow log.

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 variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) label Oct 14, 2026

jsboige commented Oct 14, 2026

Copy link
Copy Markdown
Owner Author

CI rouge sur cette PR : les deux causes viennent de main, aucune ne touche les carnets de la PR.

Je ne reporte pas ces correctifs ici : ils touchent des carnets étrangers à ce lot, dont un _en, et chaque PR rouge en porterait une copie. Une fois #20704 et #20777 mergées, je rafraîchis la branche et la CI repasse.


Generated by Claude Code

@jsboige

jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 20595
head: c493eaa
complete: true
body: read
comments-reviewed: 8
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: fff3ce69ef83234568696b7653f0f72d43a21d05b71167f3c55e2072096173cb
diff-files: 17
diff-additions: 104
diff-deletions: 747
checks: BLOCKED - Always-on guards failure, PR gate cancelled STARVED, Scripts Tests CPU failure, Static validation cancelled, Twin parity SHA mismatch advisory cancelled et check-nav-chain failure selon template derive vivant. Causes main/nav-chain/traduction rapportees auteur, non confirmees aux logs par titulaire. Aucun push/rerun/update-branch. Body integral, huit commentaires, review Hermes COMMENTED/LGTM et zero thread lus ; B.0 rc0 avec deux commentaires non classes lus integralement. Comparaison independante JSON complete des onze carnets contre merge-base 6c3b4e9 : apres seul retrait execution_count/outputs des cellules markdown, base strictement egale a tete pour chaque carnet ; 119 cellules nettoyees. Toutes les sources, cellules code, sorties code, compteurs code et metadonnees preserves. Sudoku-16 : controle direct des quatorze cellules markdown a sorties, neuf copies identiques au code precedent et cinq jeux divergents aux indices 5/10/18/23/28, conformement au diagnostic du body. Ces traces sont effectivement accessibles dans le blob de base ; aucune suppression executee par titulaire. Accord mainteneur pour perte des journaux rapporte au body, source primaire non verifiee ici : ne pas le transformer en sign-off user independamment mesure. Scope fail : dix-sept fichiers modifies, au-dessus du seuil de quinze de pr-review-discipline section A ; scinder en preservant contenu utile et audits de parite. Domain fail borne a la validation encore incomplete de la disposition des cinq jeux uniques de traces ; demander au coordinateur de recouper la decision primaire ou de faire preserver ces traces avant acceptation, sans attribuer un faux accord humain. Six deltas YAML ajoutes lus ; collision sudoku audit 0024/0025 et re-attestation apres second merge signalees au body, simulation non rejouee. Nbformat et ratchets restent preuves auteur, non rejouees ici. Aucun notebook execute ou edite par titulaire ; aucun backtest revendique pour ce delta de schema sans code modifie. Exemption Hors flotte confirmee ; avertissement couverture stack incomplete conserve.
b0: clear
scope: fail
domain: fail
verdict: BLOCKED
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 20595
organ-rc: 3
[/ADJOINT PREFLIGHT]

La PR modifiait 17 fichiers, au-dessus du seuil de 15 (pr-review-discipline
§A). Sudoku-05-PSO, Sudoku-16-NeuralNetwork, le YAML parent sudoku-05-pso
et son entrée d'audit 0025 sont rendus ici à leur état de la base de
fusion et repris tels quels dans la branche claude/20167-md-cell-schema-c2.

Restent dans cette PR : les 4 carnets GameTheory, les 5 carnets
QuantConnect et les ré-attestations des deux paires GameTheory (13
fichiers).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LRbWZZHE9jZscr8ya3niWA

jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

Réponse au préflight de l'adjoint du 2026-10-15 à 10:09Z, tête c493eaa12c.

scope: fail (17 fichiers au-dessus du seuil de 15) : la PR est scindée.

Contrôles après scission sur a1b418141d :

  • fix_markdown_cell_schema --check : 0 carnet fautif sur 9.
  • check_twin_parity : OK=157.
  • test_twin_registry_integrity : 46 passed.
  • fast_lane --dry-run : aucun bloquant en échec.

domain: fail (décision sur les 5 jeux de traces de Sudoku-16) : la décision quitte cette PR avec Sudoku-16. Elle n'y est plus engagée. Dans #20928, la source primaire est citée mot pour mot :

  • la question posée au mainteneur dans la session cloud hors flotte (2026-10-14, 00:12:12Z) : « acceptez-vous que la correction de schéma supprime les 5 lots de logs périmés contenus dans des cellules markdown de Sudoku-16 ? » ;
  • sa réponse (00:13:47Z) : « [...] 3. OK ».

Cet échange n'est pas lisible depuis GitHub. #20928 le dit et laisse au coordinateur la possibilité de demander au mainteneur de confirmer sur la PR. Les traces restent dans l'historique git de main.

Le changement de tête périme le dossier : il faudra un nouveau préflight à a1b418141d.


Generated by Claude Code

jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

Le check Scripts Tests (CPU) est rouge sur la tête a1b418141d, mais le job n'a exécuté aucun test.


Generated by Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 9/9 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 5.4s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.4s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.0s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.9s
Search-01-StateSpace.ipynb ✅ SUCCESS 4.2s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.7s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 20.1s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.4s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 13.1s

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

jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

No notebook plan loss in changed notebooks est rouge sur la tête c6e1afdc3d sans avoir rien mesuré : le job s'est arrêté au checkout, sur le runner myia-ai-01-wsl-2. Les trois tentatives de git fetch --filter=blob:none --unshallow ont échoué avec « fatal: Failed to traverse parents of commit aefc186 » puis « remote did not send all necessary objects ». Aucun carnet n'a été lu. C'est un défaut de l'état git du runner (le même runner a déjà cassé des checkouts sur #20732 et #20737), pas un défaut de cette PR.

Contrôle local à la même tête, contre main : detect_notebook_plan_loss.py --check rend 0 sur chacun des neuf carnets modifiés.

Ma relance sur cette PR est déjà dépensée : je ne relance pas. Le balayage pr-gate-stale-sweep ou le prochain push relancera la jambe.


Generated by Claude Code

jsboige commented Oct 15, 2026

Copy link
Copy Markdown
Owner Author

Scripts Tests (CPU) est rouge sur la tête c6e1afdc3d (rafraîchie sur main après #20777), mais aucun test n'a tourné.

La collecte pytest-xdist s'est arrêtée avant le premier test (KeyError: <WorkerController>). Le garde du workflow la classe XDIST-WATCHDOG: COLLECT_CRASH (signature #19915) et la décrit comme un défaut transitoire à rejouer. Ce n'est pas un défaut de la PR. Les deux rouges hérités de main (parité 01-2 et chaîne de navigation ANALYSE) sont corrigés depuis #20777.

Ma relance sur cette PR est déjà dépensée : je ne relance pas. Le balayage pr-gate-stale-sweep ou le prochain push relancera la jambe.


Generated by Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

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

This branch has not been deployed

No deployments
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.

3 participants