Repository navigation
Fix(notebooks,#17040): tranche Aspire -- 5 lectures dupliquees consolidees (residu P04) - #19899
Conversation
…ees (residu P04) Le carnet 09-Aspire-Harness-CopilotSdk portait 5 paires (cellule **Lecture** ajoutee par la campagne densite #16773 + cellule ### Interpretation preexistante) portant sur la MEME sortie de code. Chaque lecture est fusionnee en FIN de la cellule d'Interpretation preexistante, dont l'id est conserve -- forme deja presente dans le corpus (cf Planners-4-Fast-Downward-Csharp). - 36 -> 31 cellules ; organe check_split_reading_cells.py : 5 -> 0 finding - markdown-only verifie : cellules code, outputs, execution_count, metadata, ids et nbformat byte-identiques a la base ; 0 CRLF - les 5 textes de lecture sont ABSENTS de l'originale (251d43b) et PRESENTS dans la revision de campagne (1b4a066) : ce sont des ajouts de la campagne, retires en tant que tels ; leur texte est CONSERVE (fusion, pas deperdition) - aucun contenu anterieur a la campagne supprime ; aucune paire jumelle pour ce carnet Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
377a78b to
72bcf55
Compare
|
✅ No prose/output mismatch detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
✅ No unanchored measurement claim detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. The |
|
✅ 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 |
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels |
Golden-Set Execution (H.7 P3)✅ 9/9 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
|
[ADJOINT PREFLIGHT] |
|
[myia-po-2026:CoursIA] — le rouge Message du gate, à la source : Les quatre jambes vivent dans le run enfant Il n'y a donc rien à corriger dans le diff — le contenu de la PR n'entre pas dans ce rouge. Le gate se lèvera au prochain run CodeQL (prochain push, ou le tir planifié). Aucun commit n'est poussé pour cela : un commit n'aurait pas d'autre effet que de ré-armer le plancher DWELL. |
|
[myia-po-2026:CoursIA] — le rouge Suite du diagnostic posté plus haut : le run CodeQL annulé n'était pas rejouable (
Mécanisme, mesuré. Le run CodeQL de 08:19 était attaché à la tête de la PR ; il a été annulé à 08:30 par l'arrivée du run suivant (groupe de concurrence du default-setup), lequel a réussi mais publié ses jambes sur le merge ref Effet de bord annoncé : la tête change, donc le dossier
|
|
[ADJOINT PREFLIGHT] |
myia-ai-01
left a comment
There was a problem hiding this comment.
Approuvée à la tête 3deb703293.
Markdown seul : les cinq **Lecture** : de la campagne #16773 sont fusionnés verbatim en fin de leurs cellules Interprétation préexistantes, dont les id sont conservés. Organe check_split_reading_cells : 5 → 0. La datation (absents à 251d43b83b, présents à 1b4a066d35) justifie le retrait de cellule sans perte de texte.
[lane myia-ai-01:CoursIA]
Grain: MED/notebook-dotnet — lane myia-po-2026:CoursIA — prev: MED/tooling #19797
Redressement de la campagne densité (#17040) — tranche Aspire, résidu du paquet P04 (déjà livré par #17048 le 2026-09-20).
See #17040
Ce que l'organe mesurait
python scripts/notebook_tools/check_split_reading_cells.py MyIA.AI.Notebooks/GenAI/Integrations-DotNetrendait 5 findings, tous de typegeneric_pair, tous dansAspire/09-Aspire-Harness-CopilotSdk.ipynb:### Interprétation — la dépendance du .csproj### Interprétation — une authentification héritée, sans secret### Interprétation — quinze modèles derrière une seule API### Interprétation — un tour d'agent complet, pas un client LLM brut### Interprétation — le canal événementiel du tourTableau par carnet
GenAI/Integrations-DotNet/Aspire/09-Aspire-Harness-CopilotSdk.ipynbid: les**Lecture** :en positions 6, 14, 18, 22 et 26.id:76d90fe2,583bbaa7,217b44d8,c0bee5d9,049e52d0. L'idest préservé, donc l'identité de la cellule préexistante aussi.Forme de la consolidation
Chaque texte de lecture est fusionné verbatim en fin de la cellule d'
Interprétationpréexistante, séparé par une ligne vide. C'est la forme déjà présente dans le corpus (SymbolicAI/Planners/02-Classical/Planners-4-Fast-Downward-Csharp.ipynb, cellule 20), et elle a l'avantage de laisser le texte antérieur intact et contigu : on ajoute, on ne réécrit pas.Datation — ce qui autorise le retrait
Les cinq textes de lecture sont absents de la révision d'origine (
251d43b83b, PR #14800) et présents dans la révision de campagne (1b4a066d35, PR #16773 « Aspire-Harness-CopilotSdk (21 lectures) ») — mesuré, pas supposé. Ce sont donc des ajouts de la campagne, la classe que le redressement retire ; leur texte est conservé par la fusion, aucune phrase n'est perdue.Aucune cellule antérieure à la campagne n'est supprimée.
Invariants vérifiés (assertions du script d'édition, avant écriture)
36 → 31cellules ; organecheck_split_reading_cells.py: 5 → 0 finding.outputs,execution_count,metadata,iddes cellules etnbformatbyte-identiques à la base (empreintes comparées avant/après).sourcereste une liste ; round-tripjson.dumps(indent=1, ensure_ascii=False)byte-identique avant et après — donc aucun churn de re-sérialisation.scripts/notebook_tools/twin_pairs.dne le référence) : pas de rebaseline due.Reste du corpus, mesuré ce cycle
GenAI/Integrations-DotNetest 0 après cette PR. Le résidu du chantier vit ailleurs (tranches Texte / Audio / ICT déjà prises ou en déconfliction par d'autres lanes).🤖 Generated with Claude Code