Repository navigation
feat(qc,#11601): un énoncé par exercice (QC-Py-23b) + cellule vide comblée (QC-Py-14) — résiduels tranche 2 - #15953
Conversation
…ellule vide de QC-Py-14 QC-Py-23b portait le seul run >= 3 de la serie QuantConnect/Python (trois stubs d'exercice partageant un enonce unique), et la convention three-exercises-per-notebook exige un markdown devant chaque exercice. L'enonce unique [24] est eclate en intro + un markdown par exercice -- deplacement du texte existant, aucune valeur fabriquee. QC-Py-14 avait une cellule markdown strictement vide (0 caractere, seule du notebook) a la transition etude-de-cas -> blocs de reference Execution ; elle porte maintenant l'intro ancree sur le contenu reel des deux blocs [REFERENCE QC] (Immediate : ordres Market, univers Daily ; VWAP : decoupage sur la journee, Resolution.Minute requise). Markdown-only : sources/execution_count/outputs des 37 cellules code byte-identiques a main. Runs consecutifs QC-Py-23b : 1 -> 0 (organe detect_consecutive_code_cells.py). Les 2 runs restants de QC-Py-14 sont ceux que #15581 a declares benins (stub + bloc [REFERENCE QC]). See #11601 (contribution partielle, tranche 2 des residuels). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
|
Justification d'échappement — Décomposition du verdict du gate (job Aucune autre jambe en échec — les 26 check-runs propres à la tête Pourquoi c'est la base, mesuré sur ma propre exécution : la jambe Pourquoi la lane ne peut rien y faire : ce diff touche 2 Le |
…pt) died at Uploading results (annotations=0), infra not security (#15953 signature identique) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Run 34749605227 : les deux jambes Analyze (actions) et Analyze (javascript-typescript) ont complete leur analyse mais leur upload SARIF est mort silencieusement (22 s sans "Successfully uploaded results", export codeql-failed-run.sarif ensuite) -- classe infra GitHub documentee (CI/Tests du dashboard, cf #15945 pour Analyze (actions) corroborant). Un run default-setup ne se relance pas via API ; un push neuf est le seul declencheur. Aucun changement de contenu. See #15953 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
DWELL mecanique — justification ecrite (aucun geste de cette lane). Verdict du
Les autres checks de cette tete sont tous verts (0 non-vert hors Cette ligne est ecrite ici parce que le P0 « reparer son propre rouge » du picker lit le verdict du |
|
DWELL — plancher mecanique, rien a reparer.
Aucune action de lane n'est disponible sur cette PR : ni re-push (il remettrait le plancher a zero depuis la nouvelle tete), ni Justification ecrite exigee par le picker pour l'echappatoire — lane |
…e canonique) (#15946) * fix(qc,#15719): fournee QuantConnect g2 -- 7 fichiers a 0 finding scan_md_table_syntax Run Mistral Vibe g2-quantconnect (637.6 s, $1.4967) : echappement des pipes non echappes dans les tables markdown (code spans, formules) et ligne vide avant table, sur 7 des 9 fichiers du grain (2 faux positifs connus laisses). Le run avait reecrit les 4 .ipynb en JSON compact sur une ligne -- 9 592 lignes de bruit masquant les 7 vrais changements, et une forme non canonique (40/40 notebooks de main sont en indent=1). Reapplique sur la forme d'origine : diff net +12/-8, seules les sources des cellules 36/37/47/53, 5/12/28, 17 et 13 different. Valide firsthand : scanner 0 finding sur les 7 fichiers ; cellules et outputs preserves a l'identique (QC-Py-20 : 69 cellules / 36 outputs ; quantbook : 20 / 19) ; metadata et nbformat inchanges. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(translation,#15719): resync per-cell de cell-40187a37 — le ratchet hot-subset bloquait la fournee g2 La fournée g2 insère une ligne vide avant le tableau markdown de la cellule research.ipynb#cell-40187a37 (finding NO_BLANK_BEFORE). Cette cellule porte une traduction déposée : son src_hash CSV restait sur la base (7b82648a) -> SRC_DRIFT -> organe bloquant hot_subset rouge (#13551 ratchet). Resync pivot uniquement (text_fr/src_hash/hash_fr -> 6ac2f783), conformément à la procédure per-cell : jamais d'extraction globale. text_en/hash_en intacts (research_en.ipynb inexistant, MISSING_LANG préexistant hors ratchet). Preuve : aller-retour CSV byte-identique avant écriture ; ratchet 2/2 ; suite translation 381 passed / 2 skipped. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * chore: re-trigger CodeQL default-setup — Analyze (javascript-typescript) died at Uploading results (annotations=0), infra not security (#15953 signature identique) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…15957) * fix(gametheory,#12797): enonce par exercice + prose intermediaire (5 notebooks Python, markdown-only) Classe A (three-exercises-per-notebook l.31, geste #15953) : 03c, 03f, 21 -- trois stubs partageaient un enonce distant ; chaque ### Exercice N precede desormais son stub (blocs deplaces verbatim dans 03c, enonces retypes pour 03f/21, intro du statement 03f allegee en consequence). Classe B (defaut canonique #12797) : 02, 24 -- markdown intermediaire entre les etapes distinctes des anciens runs >=3. Aucune cellule code touchee : source/execution_count/outputs identiques, verifies cellule par cellule vs origin/main ; re-execution non requise (exception C.2 markdown-only). Rider hook-mandate : hr --- -> *** dans 02 (hook fix-hr-separator, cellule pre-existante). Registre twin 02 re-baseline dans le commit suivant. See #12797 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * chore(twin,#12797): re-baseline attestation paire GT-2 Part2 (markdown-only cote Python) python_sha deplace par le commit precedant (2 markdowns intermediaires, rider hr hook) ; csharp_sha = HEAD, cote C# intact. Reason renseignee dans l'entree d'audit 0007-2026-09-13. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…mblée (QC-Py-14) — résiduels tranche 2 (#15953) * feat(qc,#11601): un enonce par exercice dans QC-Py-23b + combler la cellule vide de QC-Py-14 QC-Py-23b portait le seul run >= 3 de la serie QuantConnect/Python (trois stubs d'exercice partageant un enonce unique), et la convention three-exercises-per-notebook exige un markdown devant chaque exercice. L'enonce unique [24] est eclate en intro + un markdown par exercice -- deplacement du texte existant, aucune valeur fabriquee. QC-Py-14 avait une cellule markdown strictement vide (0 caractere, seule du notebook) a la transition etude-de-cas -> blocs de reference Execution ; elle porte maintenant l'intro ancree sur le contenu reel des deux blocs [REFERENCE QC] (Immediate : ordres Market, univers Daily ; VWAP : decoupage sur la journee, Resolution.Minute requise). Markdown-only : sources/execution_count/outputs des 37 cellules code byte-identiques a main. Runs consecutifs QC-Py-23b : 1 -> 0 (organe detect_consecutive_code_cells.py). Les 2 runs restants de QC-Py-14 sont ceux que #15581 a declares benins (stub + bloc [REFERENCE QC]). See #11601 (contribution partielle, tranche 2 des residuels). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * ci: retrigger CodeQL default-setup analysis (upload infra failure) Run 34749605227 : les deux jambes Analyze (actions) et Analyze (javascript-typescript) ont complete leur analyse mais leur upload SARIF est mort silencieusement (22 s sans "Successfully uploaded results", export codeql-failed-run.sarif ensuite) -- classe infra GitHub documentee (CI/Tests du dashboard, cf #15945 pour Analyze (actions) corroborant). Un run default-setup ne se relance pas via API ; un push neuf est le seul declencheur. Aucun changement de contenu. See #15953 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Grain: MED/notebook-python — lane myia-po-2024:CoursIA — prev: MED/notebook-lean #15895
Ce que cette PR livre (tranche 2 des résiduels #11601)
Deux défauts mesurés que ni #15581 ni #15872 ne couvrent :
1. QC-Py-23b — le seul run ≥ 3 de la série
QuantConnect/PythonMesure (
detect_consecutive_code_cells.py: 12 notebooks / 15 runs dans la série) : QC-Py-23b portait le seul run de longueur 3 ([25..27], les trois stubs d'exercice). La règle #12797 pose « Ne jamais laisser une série de ≥3 cellules code sans prose ni fusion », etthree-exercises-per-notebook.mdl.31 exige « Chaque exercice précède d'un markdown : contexte + objectif + indices » — or les trois énoncés vivaient dans une seule cellule partagée[24].Geste : éclater
[24]en intro + un markdown### Exercice Npar exercice, l'énoncé immédiatement devant son stub. Déplacement du texte existant (les trois puces), aucune valeur fabriquée. Une seule reformulation : « doubler n_layers de 3 a 5 » → « Augmentezn_layersde 3 a 5 », pour coller au stub (3→5 n'est pas un doublement).2. QC-Py-14 — cellule markdown strictement vide
[49](cell-f02d1e57) : 0 caractère, la seule cellule markdown vide du notebook, assise à la transition étude-de-cas → blocs de référence Exécution. Remplie avec l'intro des deux blocs, ancrée sur leur contenu réel : Immediate = ordres Market immédiats, univers SPY/QQQ/IWM/TLTResolution.Daily; VWAP = découpage sur la journée,Resolution.Minuterequise (commentaire du bloc lui-même).Ce que cette PR ne rouvre PAS
#15581 a déclaré bénins les runs de longueur 2 restants (imports interprétés par la cellule qui suit ; stub + bloc
[REFERENCE QC]; stub → figure dont laLecture du graphiquesuit). Décision respectée : les 2 runs de QC-Py-14 ([45,46],[50,51]) restent, délibérément — cette PR n'interprète aucune sortie de stub.Vérification — organes du dépôt
detect_consecutive_code_cells.pydetect_markdown_rendering.py --checkexecution_count+ outputs)Pre-commit complet (9 hooks, dont H.3) : Passed.
Markdown-only → aucune ré-exécution C.2 due (l'exception « modifs uniquement markdown » s'applique ; preuve : sources/EC/outputs byte-identiques ci-dessus, mesurées par comparaison
git show origin/main:vs arbre de travail).See #11601 (contribution partielle : tranche 2 des résiduels).
🤖 Generated with Claude Code