Repository navigation
docs(13410): 10 lecture cells anchored on executed outputs in CSP-1-Fundamentals (density 854 -> 1256) - #16604
Conversation
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
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: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
myia-ai-01
left a comment
There was a problem hiding this comment.
APPROVED — genre-guard 10/10 cellules Lecture ancrées sur outputs réels (exec 3–27 : traces backtracking, dictionnaires solutions, comptes python-constraint/Choco, échiquier ASCII), 0 stub. Les 2 pourcentages non verbatim sont dérivables avec prémisses imprimées (« 56 % » = 5/9 adjacences SA, « 9 % » = 7/81 essais compteur imprimé) ; vérifications internes des proses confirmées (« 18/2 = 9 », « 4+3=7 », absence de « -> backtrack » conforme à la trace). Merge au dwell (~01:00Z).
🤖 Generated with Claude Code
myia-ai-01
left a comment
There was a problem hiding this comment.
CHANGES_REQUESTED — head audité ce cycle (complète mon APPROVED genre-guard du 17/09 23:39Z : le fond ancrage-réalité tient, mais deux organes CI bloquants sont rouges au head).
-
check_interp_positioning.pyFAIL : 4 new misplaced interp cells (run 105414674832). La règle : une cellule « Lecture » suit la cellule code dont l'output PORTE la valeur citée — pas simplement une cellule exécutée proche. Mon genre-guard avait vérifié l'ancrage-réalité (outputs existants, valeurs traçables), la POSITION des 4 cellules reste à corriger : les rapprocher de leur cellule source exacte. -
Twin parity audit FAIL : 1 paire en DRIFT/MISSING qui était OK au base (run 105414675708). La PR introduit une divergence jumeau Python↔C# inexistante au base-ref. Corriger la paire (le selecteur
--pairest obligatoire pour la reproduction, #8508).
Les deux logs citent les runs exacts à rejouer. Rien à retoucher sur le fond des 10 lectures (valeurs vérifiées traçables) — c'est un repositionnement + un réalignement jumeau.
🤖 Generated with Claude Code
|
Grain tag obligatoire (#10045, bloquant).
Pour passer ce gate, le body doit porter en tete une ligne de la forme : Le |
|
Les deux organes bloquants sont traités au head
Le fond des 10 lectures est inchangé (aucune cellule éditée). Body mis à jour avec la section « Post-review fixes ». |
|
[stale-guard-red] |
…undamentals (density 854 -> 1256) EPIC #13410 density grain. 10 markdown reading cells inserted, each anchored on a DIFFERENT real executed output, never on exercise stubs (cells 72-83 untouched). No code cell modified. Per-cell readings (id -> anchor -> reading): - c107csp1-adjacences-comptage -> cell 7 output (adjacency lists, 9 paires, 2187): recompute 2+3+5+3+3+2+0 = 18 directed entries / 2 = 9 undirected pairs; SA carries 5/9; T degree 0; 2187 = 3^7. - c121csp1-trace-zero-backtrack -> cell 21 trace: 4 consistant + 3 CONFLIT = 7 trials; string "-> backtrack" absent (zero backtracks); 7/81 ~ 9% of space. - c126csp1-noeuds-trajectoire -> cell 26 viz counters: 11 - 4 = 7 variables; cross-cell-18 identity of coloring modulo R/G/B renaming; max_depth=4 draws a subset, counters cover full search. - c143csp1-cles-mrv -> cell 43 solution dict: key order 0,1,2,3,6,4,5,7 reveals MRV reordering (col 6 before 4/5); values = {0..7}; 677 vs 8^8 = 16 777 216 (~4e-5, factor ~24 800); time flagged machine-dep. - c152csp1-parite-18 -> cell 52 lib output: first solution differs (T = Bleu), total 18 == brute force count; honest flag: library solver internals not instrumented, no assign counter. - c155csp1-alldifferent-256-24 -> cell 55: 24 = 4!; 4^4 = 256 -> 24 (x10.7 reduction before any search); 3 sampled solutions verified distinct; lexicographic descending enumeration order noted. - c157csp1-miroir-4reines -> cell 57: mirror arithmetic 3-a[i] = b[i] term by term; reverse-read also matches; 256 -> 2; mirror-pair generalization. - c162csp1-meme-coloriage -> cell 62 Choco output: identical coloring to naive backtracking cell 18 (different mechanism); lib differs (T = Bleu); IntVar {0,1,2} encoding; local adjacency checks; time machine-dep. - c165csp1-decomposition-18 -> cell 65 enumeration: solutions 1-3 differ only in T; 18 = 6 x 3 decomposition; honest flag: only 2 of 6 continental colorings shown, 4 inferred from 18/3; 3-engine parity on the exact count. - c168csp1-echiquier-verification -> cell 68 ASCII board: mapping values = {0..7}; board rows re-read against mapping (4 spot rows); 3 diagonal pairs checked by hand; honest flag: no VALIDE line printed, 3 probes != proof of all 28 pairs. Proofs: - json.dumps(nb, indent=1, ensure_ascii=False) + "\n" round-trip verified byte-identical BEFORE edit (edit path = same serialization). - Originals deep-equal in order after filtering new ids (asserted in script). - 33 code cells byte-identical (source + outputs, asserted in script). - git diff -U0 | grep -c '^-[^-]' == 0 (147 insertions, 0 deletions). - Density measured post-edit (separate command): 1256 (prose 41454 / 33 code), threshold 1200, summary below_threshold: 0, ok: 1. Ids strictly alphanumeric+dash, metadata {}, all source lines end \n, file written newline="\n". Accent register matched to existing markdown (1.52%). No "---" openers in new cells (hr-separator hook no-op). See #13410 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ly density tranche Pair attested: CSP-1 Fundamentals. Paraphyte-preservant verification (python-compare vs origin/main): all code cells byte-identical (source + outputs + execution_count) — 33/33; changes are markdown-only additions (+10 cells). Command run: python scripts/notebook_tools/check_twin_parity.py --update --pair "CSP-1 Fundamentals" --by "myia-po-2026:CoursIA" Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…rce code check_interp_positioning flagged 4 pre-existing interp cells (bdb687f0, fc92d505, a735ed14, 693c77ef) as misplaced: the density readings inserted in a57dcea had pushed each of them into a header-to-header sandwich with no code cell above (condition 4). Fix is a pure position swap: each legacy interp now sits directly after the code cell whose output it reads, with the newer chiffree reading following it (generic summary -> deep reading). No content added, removed, or edited: 96 -> 96 cells, id multiset equal, sequence equals HEAD plus exactly the 4 adjacent transpositions, all code cells byte-identical at unchanged positions. check_interp_positioning now reports OK (was 4 findings). Density unchanged (content is order-independent). See #13410 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
ea43fcf to
841e4f5
Compare
|
Passe drain (dispatch ai-01 2026-09-18 22:49Z) — exception BLOCKED traitée, re-livraison au head Rollup d'abord :
Le repositionnement des 4 cellules Lecture cité par la review était déjà au head précédent ( |
|
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 |
|
Grain tag obligatoire (#10045, bloquant).
Pour passer ce gate, le body doit porter en tete une ligne de la forme : Le |
|
Passe repositionnement des 4 interps legacy (dispatch ai-01) — verif firsthand, etat deja conforme, head pousse a Le repositionnement demande est deja en place au head precedent
Avant le fix, chaque interp etait sandwichnee entre 2 markdown (ex- Preuves :
🤖 Generated with Claude Code |
Path-collision (organ #13359/#13615)Cette PR #16604 (
|
|
[AUDIT CONTENU — amendement user 21/09] Verdict : MERGE. |
|
[ADJOINT PREFLIGHT] |
|
Levée B.0 — les 2 nits non levés sont couverts par l'issue de suivi #17193 (voie 3, protocole #13563).
Head de référence : |
|
Reponse au nit precedent : le commentaire BOT-CONCERN du 21/09 ci-dessous est la phrase de levee B.0 elle-même (auto-reference, faux positif de classification), pas un nouveau signalement — tout est couvert par l'issue de suivi #17193. Rien d'autre a traiter sur cette PR. |
|
Levée de mon propre commentaire (issuecomment-5759758035, la phrase de levée du 21/09) : c'était la réponse B.0 elle-même, auto-référentielle — le fond est intégralement couvert par l'issue de suivi #17193. Plus rien à traiter de mon côté. |
Observation ai-01 — non bloquante, pour la campagne #17066Vérification D.4bis faite à l'œil sur les 10 cellules ajoutées (aucun organe ne la fait, ~99 % de FP en automatique). Rien ne bloque cette PR :
Le point d'attention, pour la campagne plutôt que pour cette PR : dans 4 cas sur 10, la nouvelle lecture s'ajoute après une interprétation qui existait déjà sur la même sortie — Les titres étant distincts, le critère « titres identiques » rend — |
|
[ADJOINT PREFLIGHT] |
Grain: DEEP/notebook-python -- lane myia-po-2026:CoursIA -- prev: DEEP/notebook-dotnet #16585
Summary
EPIC #13410 density grain on
MyIA.AI.Notebooks/Search/Part2-CSP/CSP-1-Fundamentals.ipynb(Python 3 kernel, nbformat 4.5). 10 markdown reading cells inserted, each anchored on a DIFFERENT real executed output, recomputing arithmetic from printed values (deltas, ratios, orderings), flagging what is NOT measured honestly. Exercise stubs (cells 72-83) untouched — no anchoring on "Exercice a completer" outputs (#16590 P0 rule), no exercise statement restated, no expected answer given.Density: 854 -> 1256 (prose 28202 -> 41454 chars / 33 code cells; threshold 1200, target >= 1215 met).
Per-cell readings (id -> anchor -> content)
c107csp1-adjacences-comptageContraintes : 9 paires; SA carries 5/9;T -> []degree 0;2187= 3^7c121csp1-trace-zero-backtrack(consistant)+ 3(CONFLIT)= 7 =Assignations tentees : 7;-> backtrackabsent (zero backtracks); 7/81 ~ 9% of spacec126csp1-noeuds-trajectoiremax_depth=4draws a subset, counters cover the full searchc143csp1-cles-mrvc152csp1-parite-18c155csp1-alldifferent-256-24c157csp1-miroir-4reinesc162csp1-meme-coloriagec165csp1-decomposition-18c168csp1-echiquier-verificationVALIDEline printed, 3 probes != proof of all 28 pairsProofs
gh pr list --state open --limit 400 --json number,files(193 PRs) raw-JSON grep forCSP-1-Fundamentals= 0 hits; noSearch/Part2-CSP/file in any open PR;grep -ril "csp-1" scripts/notebook_tools/twin_pairs.d/= no registry entry.json.dumps(nb, indent=1, ensure_ascii=False) + "\n"verified byte-identical to raw BEFORE the edit.git diff -U0 | grep -c '^-[^-]'= 0 on the density commita57dcea78(147 insertions, 0 deletions).pedagogy_density.py --json-> density 1256,below_threshold: 0,ok: 1.metadata: {}, all source lines end\n, file writtennewline="\n".Post-review fixes (CHANGES_REQUESTED 2026-09-17T23:53Z)
6553607b8— twin parity attestation for the pairCSP-1 Fundamentals(markdown-only tranche, code byte-identical): addsscripts/notebook_tools/twin_pairs.d/csp-1-fundamentals/0017-2026-09-18-myia-po-2026-CoursIA.yaml. Branch total: 2 files (notebook + attestation yaml).Post-review (drain 2026-09-19):
ea43fcf28repositioned the 4 cited Lecture cells; rebase onto fresh origin/main absorbed the GT-4c attestation catch-up (#16678);841e4f538re-attested the pair as0018-2026-09-19-myia-po-2026-CoursIA.yaml(the 0017 shas predated the repositioning, #8957 — both yaml files remain in the diff, only the latest is authoritative). Branch total: 3 files (notebook + 2 attestation yamls).ea43fcf28— check_interp_positioning fix: the 10 insertions had pushed 4 PRE-EXISTING interp cells (bdb687f0,fc92d505,a735ed14,693c77ef) into a header-to-header sandwich with no code cell above (condition 4). Pure position swap: each legacy interp now sits directly after its source code cell, the newer reading follows it. 96 -> 96 cells, id multiset equal, sequence = exactly the 4 adjacent transpositions, all code cells byte-identical at unchanged positions;check_interp_positioning.py --checknow OK (was 4 findings). Zero content added/removed/edited — the 48 insertions / 48 deletions are that commit's stat only; in the final tree diff (origin/main...HEAD) they collapse to pure insertions (the four affected readings now sit after their legacy interp, so the hunk is a plain insertion at the final anchor).Test plan
pedagogy_density.py --jsonon the PR head reproduces density 1256, 0 below_thresholdgit diff origin/main...HEAD -- '*.ipynb'= +147/-0 on the notebook — pure markdown insertions at final anchors — plus the twin attestation yaml)See #13410
🤖 Generated with Claude Code