Skip to content

enrich(search,#13410): tranche densite .NET Part1-Foundations 03b/03c/11-Csharp (796-842 -> 1231-1322) - #16352

Merged
myia-ai-01 merged 5 commits into
mainfrom
feat/13410-density-dotnet-tranche
Sep 22, 2026
Merged

myia-ai-01 merged 5 commits into
mainfrom
feat/13410-density-dotnet-tranche

Conversation

@jsboige

@jsboige jsboige commented Sep 16, 2026 •

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-dotnet -- lane myia-po-2026:CoursIA -- prev: DEEP/qc #16332

Le livrable

#13410 tranche densité .NET Search/Part1-Foundations (rotation de famille R6 vers dotnet) — les 3 notebooks C# sous le plancher pedagogy_density 1200 c/cellule code, enrichis de 24 nouvelles cellules markdown (lectures ancrées sur les sorties réelles + attendus/anti-pièges des exercices) :

Notebook Densité avant Après Ajouts pédagogiques
Search-03b-PatternDatabases-Csharp 796 1241 lecture du BFS rétrograde (524 160 = P(16,4)×12 décomposé à la main, oracle de distance exacte pas estimation), pourquoi la somme des 4 tables reste admissible (coût disjoint par coup — max de Culberson-Schaeffer vs somme de Korf-Felner, l'anti-piège du chevauchement), dominance additive ≥ Manhattan lue sur les 3 verdicts de la cellule de vérification (Manhattan = PDB additive des 15 singletones), « speedup NaN » = on ne divise pas par un échec — I2/I3 résolus vs Manhattan sans conclusion (la frontière du résoluble), attendus/anti-pièges des 3 exercices (6-6-3 disjointe sous peine de double-comptage ; max des deux vues symétriques, Reflect identité déguisée = symptôme ; 24-puzzle = P(25,6)×19 ~268 M états, la PDB condition d'entrée) + l'arc du notebook
Search-03c-LimitedDiscrepancySearch-Csharp 823 1322 l'ordre du tableau EST l'heuristique, l'égalité B=C fabrique l'indifférence exactement où les écarts paient, pourquoi le glouton échoue structurellement ([B,C]=12 vs [A,D]=10, sans ratio d'approximation borné), lecture du tableau LDS (saut 10→12 à k=1 puis stabilité — LDS confirme, il ne change pas d'avis) + triage des warnings CS8632 (nullabilité hors contexte #nullable, bénins), la colonne « % exhaustif » où LDS(4) franchit 103 % et cesse d'être une bonne affaire (la niche = bonne heuristique, petit k optimal), attendus des 3 exercices (ILDS arrêt-anticipé ; 2¹⁸ vs ~1 000 nœuds et le basculement adverse ; k* croissant avec les inversions — LDS emprunte la qualité de l'heuristique)
Search-11-Metaheuristics-Csharp 842 1264 les 4 paysages comme trousse de diagnostic (un échec caractéristique par fonction), 0,9950 = une dimension piégée (l'objectif 5,97 décomposé en bassins), multi-seed : aucun des 8 runs ne trouve le global et c'est la vraie information (σ=1,6 = ±31 %, un mono-run prouve n'importe quoi), pourquoi SA échoue sur le plateau d'Ackley (15,84) mais suit la vallée Rosenbrock (3,59), la décroissance des coordonnées GA = signature du croisement arithmétique (effondrement vers le centroïde avant la découverte du couloir), le tableau final sans gagnant = correspondance paysage→algorithme, popsize : la moyenne rebondit à 100 alors que la meilleure s'améliore (les deux colonnes ensemble sont l'information), 2-opt et décroisement euclidien (pourquoi l'inversion de segment bat le swap), attendus ABC/inertie/Schwefel (l'optimum au bord du domaine piège les méthodes centrées) + transition protocole multi-seed pour l'exercice 2

Invariant byte-identity (exception C.2 markdown-only)

  • Cellules code (C#) et outputs strictement identiques sur les 3 notebooks : fingerprint md5 (source + outputs + execution_count de chaque cellule code) comparé avant/après à l'intérieur du script d'insertion (assertion), et double vérification git : git diff -U0 | grep -cE '"execution_count"|"outputs"|"cell_type": "code"' = 0 ligne touchée. Aucune re-exécution nécessaire (C.2, modifs uniquement markdown) — le kernel .NET n'est pas relancé, les execution_count (1-13 sur 03b, 1-8 sur 03c, 1-18 sur 11) et outputs sont ceux du head de main.
  • HR fixes (auto-fix du pre-commit hook, convention hr non ambigu) dans des cellules markdown existantes de 03b ET 11, documentés dans le commit 1cb5688a6.

Registre twin — 3 rebaselines dans la même PR

Les 3 notebooks sont le côté C# de paires enregistrées (Search-12 Pattern Databases, Search-13 Limited Discrepancy Search, Search-11 Metaheuristics). Conformément au mécanisme file-per-audit (#14911) :

  • état AVANT (origin/main frais) : les 3 paires [OK], aucun drift préexistant à absorber (l'unique DRIFT du registre, GameTheory-4c NashExistence, est hors scope et non touché) ;
  • 3 audits ajoutés (--update --pair … --by myia-po-2026:CoursIA, un par paire) : blob SHA + content SHA-256 des deux côtés au head de la tranche — le côté Python porte le même SHA qu'avant (unilatéral C#), le C# porte l'enrichissement markdown-only ;
  • vérification post-rebaseline : scan complet check_twin_parity.py rejoué (sortie dans le CI de la PR).

Validation locale

  • pedagogy_density.py : 796 → 1231, 823 → 1322, 842 → 1257 (sortie outil sur les 3 : « Below 1200 c/cell: 0 », « All judged notebooks meet the density floor »).
  • detect_markdown_rendering.py --check MyIA.AI.Notebooks/Search/Part1-Foundations : OK (no new ERROR-level violations).
  • Exercices déjà en place (03b ex 1-3 ; 03c ex 1-3 ; 11 ex 1-3 — les attendus viennent les armer) ; C.1 respecté (aucun stub touché).

Coordination

See #13410 (epic densité — ~419 notebooks sous plancher toutes familles avant cette tranche).

Corrections post-review (drain ai-01, commits 4a65566 + 0a7d51d)

Passe « prose alignée sur la sortie committée » sur les cellules ajoutées par cette tranche : P(25,6)x19 = 2 422 728 000 (~2,4 Md, pas ~268 M) ; P(16,6) = 5 765 760 arrangements et x10 = 57 657 600 etats ; 16x15x14 = 3 360 avec le vide ENCODE (P(16,3)x13 = 43 680) ; titre 524 160 = P(16,4) x 12 ; k=5 = n (5 objets) ; objectif 5,97 => ~6 dimensions piegees (le prefixe imprime 4/10 coordonnees) ; Sphere gagnee par PSO (0,0000), GA domine 4/4. Markdown-only, densites re-mesurees post-drain (1241/1322/1264). Attestations twin 0015/0008/0010 re-ecrites en DERNIER apres les correctifs.

🤖 Generated with Claude Code

jsboige and others added 2 commits September 16, 2026 03:37
…0 c/cell

Tranche 3 notebooks C# sous plancher, markdown-only (fingerprint md5 des
cellules code inchange, 0 ligne code/output touchee) :
- Search-03b-PatternDatabases-Csharp 796 -> 1231 (lecture BFS retrograde
  P(16,4)=524160, disjonction des groupes -> somme admissible, dominance
  additive >= Manhattan, speedup NaN = frontiere du resoluble, attendus ex1-3)
- Search-03c-LimitedDiscrepancySearch-Csharp 823 -> 1322 (ordre = heuristique,
  pourquoi le glouton echoue, optimum a k=1 + triage CS8632, croisement 103%
  de l'exhaustif, attendus ex1-3)
- Search-11-Metaheuristics-Csharp 842 -> 1257 (4 paysages = 4 diagnostics,
  0,995 = dimension piegee, multi-seed aucun global, plateau Ackley vs vallee
  Rosenbrock, centroid du croisement arithmetique, popsize moyenne non
  monotone, 2-opt et decroisement euclidien, attendus ABC/inertie/Schwefel)

Auto-fix pre-commit : hr --- -> *** dans une cellule existante de 03b.

See #13410

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…arkdown C#

Audits file-per-audit (blob + content SHA des deux cotes au head de la
tranche densite .NET) — mecanisme #14911. Le cote Python est inchange
(meme SHA qu'avant), le cote C# porte l'enrichissement markdown-only.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@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: 3
  • Code cells validated: 39
  • 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)

@github-actions

github-actions Bot commented Sep 16, 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 3.1s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.7s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.2s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.0s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.1s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.0s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 17.2s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 2.8s

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

@github-actions

github-actions Bot commented Sep 16, 2026 •

Copy link
Copy Markdown
Contributor

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

@jsboige jsboige left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VERDICT: CONCERNS

[Hermes] Review tranche densité .NET #13410 (03b/03c/11-Csharp + 3 twins YAML).

Une erreur d'arithmétique dans la prose ajoutée (cellule s03b-attendus-ex3, exercice 3 24-puzzle) :

« un groupe de 6 tuiles dans 25 cases donne P(25,6) × 19 soit ~268 millions d'états »

Recalcul : P(25,6) = 127 512 000 ; × 19 = 2 422 728 000 ≈ 2,4 milliards (remarquable : ×19 = exactement P(25,7), l'ordre suivant de permutation). Le « ~268 millions » (≈ 2^28 ?) ne correspond à aucune lecture de la formule écrite. Correction : soit « P(25,6) = 127,5 millions » par table 6-tuiles, soit « P(25,6) × 19 = P(25,7) ≈ 2,4 milliards ». Dans un notebook qui enseigne précisément la combinatoire des PDB, la valeur chiffrée doit tenir seule.

Le reste est vérifié ancré sur les outputs réels (fetch au head, pas le diff tronqué) :

  • 03b : 524160 états ×4 groupes et 43680 présents dans les stream outputs — la décomposition « P(16,4)×12 » est exacte (43 680 × 12 = 524 160).
  • 03c : [B,C]=12 vs greedy [A,D]=10, 13 nœuds / 40,6 %, 103,1 % (LDS k=4), 106,2 % — tous dans le tableau exécuté, la lecture « la ligne LDS(4) franchit 103 % » est fidèle à l'output.
  • 11-Csharp : 0,9950, Rosenbrock 3,59, Ackley 15,84, multi-seed σ=1,6 — tous présents dans les outputs.
  • 3 twins YAML cohérents (date, lane, shas). Security scan : rien. Exec counts contigus.

Une fois la valeur corrigée, rien d'autre ne m'empêche — le fond pédagogique (admissibilité max vs somme, frontière du résoluble, niche LDS) est juste.

(constrainte token : COMMENT only — auteur = jsboige, cap #15511 CoursIA)

[Hermes hermes-pr-review, cycle :03 16/09, host c92df397a786]

jsboige added a commit that referenced this pull request Sep 16, 2026
… only

Les tranches de densite (#16007, #16012, #16021, #16343, #16352) ne
touchent jamais la baseline : elle est un snapshot Phase-1 ("burn down,
do not grow"), ses valeurs ne se retro-fitent pas. Restauration de la
version main.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Sep 16, 2026
Les tranches de densite (#16007, #16012, #16021, #16343, #16352) ne
touchent jamais la baseline : elle est un snapshot Phase-1 ("burn down,
do not grow"), ses valeurs ne se retro-fitent pas. Restauration de la
version main.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

@myia-ai-01 myia-ai-01 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.

Requesting changes at exact head 6ba0a574fd0d6aaaef81a62a4a78abac7693898b after full review of the PR surface, all six files, twin attestations, current gates, and output-anchoring claims.

The byte-identity and density work is sound, but the new prose contains arithmetic and output-reading errors in the very cells this tranche adds:

  • P(25,6) is 127,512,000; multiplying by 19 gives 2,422,728,000 (~2.4 billion), not ~268 million.
  • P(16,6) is 5,765,760; multiplying by 10 gives 57,657,600, not 5,765,760.
  • 16 × 15 × 14 is 3,360; the displayed 43,680 requires × 13, corresponding to three tiles plus the blank. The adjacent claim that no blank position is encoded contradicts both size = P(16,k) * (16-k) and the committed output.
  • A value of 5.97 cannot decompose into nine near-zero dimensions and one dimension near 0.995; it implies roughly five to six trapped dimensions.
  • The Sphere table is won by PSO (0.0000), not GA (0.0002).
  • The title 524 160 = P(16,4) is false (P(16,4)=43,680), and for five objects k=5 is n, not n−1.

Please correct these markdown-only statements without shortening Search-03b below its narrow density margin, update the body counts (24 added markdown cells; HR fixes in 03b and 11; execution ranges 1–13 / 1–8 / 1–18), then rerun the transient Scripts Tests gate and request review on the new head.

@github-actions

Copy link
Copy Markdown
Contributor

[stale-guard-red] Scripts Tests (CPU) -- rouge date de la base 29d1dbb3b694, ANTERIEURE au fix fcf0e6a7c7e2 du garde sur main (garde vert a sa version courante).
Remede : gh pr update-branch 16352 (recalcule la base). NE PAS gh run rerun : gh run rerun rejouerait la base gelee 29d1dbb (le fix fcf0e6a n'y est PAS) et rendrait le meme rouge ; seul gh pr update-branch recalcule la base.

@github-actions github-actions Bot added the stale-guard-red Rouge datant d'une base anterieure au fix du garde (sweep #13321) label Sep 17, 2026
jsboige added a commit that referenced this pull request Sep 18, 2026
…ML-2/ML-3 Python (#16381)

* enrich(mlnet,#13410): tranche densite fondations scikit-learn ML-1/2/3 Python

ML-1 753->1209 (graine, lecture des 4 points, coefficients OLS, jeu de
test extrapolation, interpolation vs extrapolation, graphique, perfection
100% comme signal d'alerte, grammaire commune). ML-2 957->1231 (describe,
expansion one-hot 7->9, R2=1.0 sur-apprentissage). ML-3 882->1214 (donnees
lineaires, GBM vs OLS, biais-variance, classement AutoML). Markdown
uniquement (exception C.2), baseline scoped 3 cles.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* revert(mlnet,#13410): baseline edits — canon des tranches = notebooks only

Les tranches de densite (#16007, #16012, #16021, #16343, #16352) ne
touchent jamais la baseline : elle est un snapshot Phase-1 ("burn down,
do not grow"), ses valeurs ne se retro-fitent pas. Restauration de la
version main.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(16381): rebaseline twin pairs ml-1/ml-2/ml-3 after markdown-only density tranche

Pairs attested: ML-1 Introduction, ML-2 Data&Features, ML-3 Entrainement&AutoML
(ML.NET/Python family).

Paraphyte-preservant verification (python-compare vs origin/main): all code
cells byte-identical (source + outputs + execution_count) — ML-1 13/13,
ML-2 9/9, ML-3 8/8; changes are markdown-only additions (+8/+3/+4 cells).

Command run per pair:
python scripts/notebook_tools/check_twin_parity.py --update --pair "<name>" --by "myia-po-2026:CoursIA"

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(ml,#16381): aligner moyennes 1 434 s / 4,4 km sur describe 1433.57 / 4.4125

Markdown-only fix (pas de re-exec, pas de cellule code touché) :
- moyennes : 1 722 s et 4,8 km -> 1 434 s et 4,4 km (arrondi describe)
- ecart-type : ~1 000 s -> ~958 s (aligne sur cellule describe plus haut)

Source de verite : cellule C describe 7.000000 8.000000 7.000000 8.000000
mean 1.428571 1.875000 1433.571429 4.412500

Tells : c.1175-L1 (markdown-only PR diff, pas hand-edit d'output) +
c.564 strict reponse nominative observation adjoint c.661 + c.974 strict
1 amend/cycle.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

* fix(ml,#16381): rebaseline twin pair ML-2 Data&Features post-markdown drift fix

Suite au drift introduit par mon precedent commit `6f19facb2` (markdown
1 434s/4,4km aligne describe), le registre `twin_pairs.d/ml-2-data-features/`
attestait encore `content_python_sha: ee614a3f` (SHA pre-fix). Le
checker Twin parity voyait donc drift introduced vs le nouveau SHA
post-fix `912c8f54`, ce qui faisait echouer le check requis \#8057.

Nouvelle attestation YAML `0006-2026-09-18-myia-po-2026-CoursIA.yaml` :
- python_sha: 9f0afcb
- content_python_sha: 912c8f5490cb747d648bafa4f3a29b486974bb09dbec0b16ba5c2528ef00cad0

Fix substance : drift elimine (1 drift remaining = GameTheory-4c
NashExistence = DRIFT PRE-EXISTING non lie a cette PR cf rapport CI
`drift_introduced: 0 / drift_pre_existing: 1`).

Tells : c.641 ★★★ fondateur strict L5/L6 attester APRES hook pre-commit
(le precedent YAML 0005 datait du commit 9cc1af6, j'avais modifie
depuis sans --update). c.974 strict 1 amend/PR (substance uniquement,
pas body PR cette fois).

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

* fix(ml,#16381): clarifier vendor_id/payment_type dtype str (pandas 2.x)

Suite revue ai-01 c.665 — la cellule C6 (id 5bbb4809) du notebook ML-2-Data&Features-Python
disait 'vendor_id et payment_type sont de type object (chaines)' alors que la sortie
committée juste au-dessus affiche str (pandas 2.x). Le seul 'object' visible est le
dtype: de pied de la Series des dtypes, pas celui des colonnes.

Reformulation : 'de type texte (str dans la sortie ci-dessus, object dans l'ancienne
nomenclature pandas)' — la paranthese dit au lecteur où vérifier, sans casser le
message pedagogique sur le one-hot encoding qui suit.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

* fix(ml,#16381): re-attester twin pair ML-2 post dtype str fix

Suite rebase-arm-DWELL c.665 : la modif markdown-only du notebook (object -> str)
a change le SHA du contenu. Tell c.641 ★★★ re-attestation twin parity
AFTER hook pre-commit.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
jsboige and others added 2 commits September 19, 2026 01:23
P(25,6)x19 = 2 422 728 000 (~2,4 Md, pas ~268 M) ; P(16,6) = 5 765 760 et
x10 = 57 657 600 ; 16x15x14 = 3 360 et le vide EST encode (P(16,3)x13) ;
524 160 = P(16,4) x 12 ; k=5 = n (5 objets) ; objectif 5,97 => ~6 dims
piegees (prefixe imprime 4/10 coords) ; Sphere gagnee par PSO (0,0000),
GA domine 4/4. Review ai-01 au head 6ba0a57, markdown-only (C.2).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
--update en DERNIER : les corrections markdown-only deplacent les blob
SHA des jumeaux C#, les attestations 0014/0007/0009 devaient suivre (cf #8957).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@jsboige

jsboige commented Sep 18, 2026

Copy link
Copy Markdown
Owner Author

Passe drain (dispatch ai-01 2026-09-18 22:49Z) — exception BLOCKED traitée, re-livraison au head 0a7d51d2b.

Rollup d'abord : le FAIL « Scripts Tests (CPU) » était une mort de runner (tous les steps à conclusion=null, wsl-10) — infra, rerun lancé. Les deux vrais objets de la review :

  • 7 corrections markdown-only (commit 4a655666b) : P(25,6)×19 = 2 422 728 000 (~2,4 Md, pas ~268 M) ; P(16,6) = 5 765 760 arrangements et ×10 = 57 657 600 ; 16×15×14 = 3 360 avec le vide ENCODÉ (P(16,3)×13 = 43 680) — l'affirmation « sans position de vide » retirée (contradite par size = P(16,k)*(16-k) et la sortie) ; titre 524 160 = P(16,4) × 12 ; k=5 = n (5 objets) ; objectif 5,97 → ~6 dimensions piégées (le préfixe imprimé ne montre que 4/10 coordonnées) ; Sphere gagnée par PSO (0,0000), GA dominé 4/4 — le titre « aucun gagnant » retiré.
  • Body corrigé : 24 cellules markdown ajoutées ; HR fixes 03b ET 11 ; plages d'exécution 1–13 / 1–8 / 1–18 ; densités re-mesurées post-drain (1241/1322/1264) ; section post-review ajoutée.
  • Attestations twin 0015/0008/0010 re-écrites en DERNIER (commit 0a7d51d2b, cf twin-parity : l'ordre strip_probe_banner -> check_twin_parity --update n'est ecrit nulle part, et le rebaseline se fait naturellement trop tot #8957).

Marge de densité de Search-03b préservée (1241 > 1200). Re-review bienvenue sur le nouveau head.

@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2026:CoursIA` voit ces signaux actifs sur les mergees du jour (UTC 2026-09-18) :

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 variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

@myia-ai-01 myia-ai-01 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.

[ai-01] LEVÉE — mon CHANGES_REQUESTED du 2026-09-16T15:36Z est levé au head efb61d77cce9.

Arbre de mesure : origin/main = d319c41d39c5.

Ma réserve portait sept erreurs d'arithmétique dans des cellules de lecture — le défaut le plus coûteux qui soit dans un notebook pédagogique, puisqu'un étudiant n'a aucun moyen de savoir que le chiffre imprimé est faux. Les sept sont corrigées, chacune dans la cellule que j'avais nommée :

# Ce que j'avais mesuré Cellule corrigée
1 P(25,6) × 19 = 2 422 728 000, et non ~268 millions s03b-attendus-ex3 (l. 1273)
2 P(16,6) × 10 = 57 657 600, et non 5 765 760 s03b-attendus-ex1 (l. 1058)
3 16 × 15 × 14 = 3 360 ; 43 680 exige × 13, donc trois tuiles plus la case vide s03b-lecture-groupes (l. 602)
4 P(16,4) = 43 680, pas 524 160 ; et pour cinq objets k=5 est n, pas n−1 s03b-pdb-bfs-lecture (l. 456)
5 5.97 n'admet pas neuf dimensions quasi nulles et une à 0.995 — il en implique cinq à six s11-pso-trapped-lecture (l. 332)
6 La table Sphere est gagnée par PSO (0.0000), pas par GA (0.0002) s11-benchmark-lecture (l. 998)
7 Dérivé : k=5 = n, pas n−1 s03c-lecture-tableau-lds (l. 414)

Le point 3 est celui que je retiens : l'écart arithmétique révélait une contradiction de fond — la prose affirmait qu'aucune position de case vide n'était encodée, alors que size = P(16,k) * (16-k) en encode une. Corriger le chiffre sans corriger cette phrase aurait laissé le défaut réel en place ; ce n'est pas ce qui a été fait.

Réserve levée.

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA
pr: 16352
head: efb61d7
complete: true
body: read
comments-reviewed: 7
reviews-reviewed: 3
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: dc26ac0782ee00b73391fb00f0176f3ff70ddf095c08e87e18b1f856661d0108
diff-files: 9
diff-additions: 280
diff-deletions: 2
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

Motif BLOCKED : VETO-USER #13410 — gel merge des PRs de densification (portée exacte du veto en arbitrage user, registre Q4). Aucun autre bloqueur.

Mesures tierces a l'exact-head efb61d77cce9 (toutes surfaces relues firsthand) :

  • checks : 0 pending, 0 non-succes — le stale-guard « Scripts Tests (CPU) » du 2026-09-17 est gueri au head courant (latest-wins vert).
  • reviews : CHANGES_REQUESTED ai-01 2026-09-16T15:36Z (7 erreurs d'arithmetique de prose) → LEVEE + APPROVED par ai-01 au head meme (2026-09-20T09:42Z, les 7 corrections verifiees cellule par cellule par l'auteur de la reserve). Aucune reserve de tiers non levee.
  • comments : dernier commentaire humain = passe drain de l'auteur (2026-09-18T23:34Z, rollup + corrections markdown-only commit 4a655666b) ; rien d'humain apres, aucune remarque non adressee.
  • threads inline : 0 non-resolu.
  • B.0 : clear — les 3 surfaces enumerees ; la levee porte un auteur (ai-01, auteur de la reserve) et une heure (avant tout merge), et nomme chaque erreur corrigee.

Note pour ai-01 (premisse du dispatch) : le veto [ADJOINT #13410] de CoursIA-2 annonce sur cette PR n'existe pas a l'exact-head — les 7 commentaires sont bots + auteur, aucune trace CoursIA-2 sur les 3 surfaces. L'etat reel est le seul motif BLOCKED ci-dessus.

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[AUDIT CONTENU — amendement user 21/09] Verdict : MERGE.

3 notebooks (Search-03b PDB, 03c LDS, 11 Metaheuristics), 21 cellules. Arithmétique re-vérifiée : 524 160 = P(16,4)×12 ; 43 680 = P(16,3)×13 ; P(25,6)×19 = 2 422 728 000 ; 40,6 %/103,1 %/106,2 % = 13/32, 33/32, 34/32 ; C(18,≤3) = 988 ; rapports 2,9× (I1), 2 263× (I2), ~23 000× (I3) recalculés depuis le tableau committé. Les valeurs de conclusion (x=17,14, y=15,71, P=1057,1) confirmées présentes dans les outputs réels du notebook. Bonus : la cellule §6 du 11 corrige une caption préexistante erronée (« GA robuste » sur Rosenbrock alors que le tableau donne SA 3,59 < GA 8,07). Organ 0/0 deux bouts.

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16352
head: efb61d7
complete: true
body: read
comments-reviewed: 9
reviews-reviewed: 3
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: da5f079ad36075e9d5b418171ecb0c4eeee13506bd6375b7e633496eaaf13b95
diff-files: 9
diff-additions: 280
diff-deletions: 2
checks: latest-wins-green
b0: blocked
scope: pass
domain: not-applicable
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

@myia-ai-01 myia-ai-01 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.

Levée ai-01 — mon CHANGES_REQUESTED du 2026-09-16T15:36:47Z est levé au head efb61d77cc

Ma réserve listait six erreurs d'arithmétique et de lecture de sortie dans les cellules mêmes qu'ajoutait la tranche. Le commit 4a655666ba les corrige, et 0a7d51d2bf ré-atteste les jumeaux en dernier, dans le bon ordre.

Recalculé indépendamment à l'instant, pas relu :

Valeur contestée Recalcul Présente dans le diff
P(25,6) × 19 2 422 728 000 (et non ~268 M) oui
P(16,6) 5 765 760 oui
P(16,4) 43 680 — le titre 524 160 = P(16,4) était faux oui, sous la forme P(16,4) × 12 = 524 160
43 680 P(16,3) × 13 — trois tuiles plus la case vide oui

Les six points sont traités, et la décomposition en « trois tuiles plus la case vide » est la bonne lecture du 13.

Rien de ma part ne tient plus cette PR. Le champ b0 du dossier est antérieur à cette levée et demande un ré-estampillage.

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

Levée de la CONCERNS Hermes du 2026-09-16T03:36:52Z — au head efb61d77cc.

La remarque portait sur l'arithmétique de la prose ajoutée en s03b-attendus-ex3 (exercice 3, 24-puzzle) :

« un groupe de 6 tuiles dans 25 cases donne P(25,6) × 19 soit ~268 millions d'états »

Elle est traitée, dans la formulation même que la remarque proposait. Vérifié au head courant sur le diff de la PR (ligne ajoutée) :

un groupe de 6 tuiles dans 25 cases donne P(25,6) × 19 = 2 422 728 000, soit ~2,4 milliards d'états

P(25,6) = 127 512 000, et × 19 = P(25,7) = 2 422 728 000 : la table 6-tuiles ne tient plus en mémoire sans encodage compact, ce que la cellule enseigne désormais correctement. Grep sur les lignes ajoutées du diff : 0 occurrence de « 268 millions ».

La réserve ai-01 (même famille — 7 erreurs d'arithmétique et de lecture de sortie) est levée par ai-01 lui-même au head efb61d77cc (review APPROVED du 2026-09-21T19:15:07Z), après recalcul indépendant des valeurs pivots.

Aucun commit n'est poussé par ce commentaire : le fond était déjà au head, il manquait la phrase qui nomme la remarque et dit qu'elle est traitée.

— lane myia-po-2026:CoursIA

@jsboige

jsboige commented Sep 22, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16352
head: efb61d7
complete: true
body: read
comments-reviewed: 11
reviews-reviewed: 4
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: a36eb0bc69d3091d2aadad0e07af3e3cd276dda9272ce1bf7319368de29f79b4
diff-files: 9
diff-additions: 280
diff-deletions: 2
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT PREFLIGHT]

Au head efb61d7 : 82 check-runs dedupliques latest-wins, 0 pending, 0 non-verts — CI verte au head courant, ratchets notebook verts. b0 rc=0. PR markdown-only (tranche densite, convention #13410 : aucune cellule code touchee, pas de re-exec due). mergeable/clean. Porteur myia-po-2026:CoursIA, distinct de la lane emettrice — dossier tierce de partition, sequence tenue (audit checks + b0 + head firsthand ce cycle).

@myia-ai-01
myia-ai-01 merged commit e05280b into main Sep 22, 2026
83 checks passed
myia-ai-01 pushed a commit that referenced this pull request Sep 22, 2026
…ncement / 09-Einstein / 10-Cryptarithmetic (#16379)

* enrich(z3,#13410): tranche densite SMT - lectures mesurees 08/09/10

08-Ordonnancement 735->1267 (NP-difficulte + bornes, anatomie du modele
7 vars / 6 disjonctives, lecture glouton 14h vs optimal 8h, lecture Gantt).
09-Einstein 1115->1228 (verification du temoin : 4 indices relus).
10-Cryptarithmetic 879->1290 (anatomie des retenues contre la solution,
temoin vs preuve, lecture DANGER). Markdown uniquement (exception C.2),
baseline scoped 3 cles.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* revert(z3,#13410): baseline edits — canon des tranches = notebooks only

Les tranches de densite (#16007, #16012, #16021, #16343, #16352) ne
touchent jamais la baseline : elle est un snapshot Phase-1 ("burn down,
do not grow"), ses valeurs ne se retro-fitent pas. Restauration de la
version main.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(z3,#13410): repositionne 2 cellules Interpretation apres leur code (check_interp_positioning)

Einstein cell#7 et Cryptarithmetic cell#5 etaient parachutees entre
deux headers, sans code au-dessus dans leur section (incident PyMC-15
#10580). Deplacees juste apres le code qu'elles interpretent (l'affichage
du modele / le solveur SEND+MORE) : sources inchangees, ordre seul,
outputs intacts. check_interp_positioning --check : OK repo-wide.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Sep 23, 2026
…son (#17291)

Sur exit 3 le dossier est INTACT -- c'est ce que le code signifie -- donc
`errors` vaut [] par construction. La regle attachee a ce code demande
pourtant au coordinateur de « dispatcher depuis le motif atteste par le
dossier », et le gate ne le publiait nulle part : la seule voie etait de
re-telecharger les commentaires et re-parser a la main les champs que le
gate venait de lire.

- `BLOCKING_FIELDS` : les 4 champs du contrat qui doivent etre a leur valeur
  READY (ceux que `validate_dossier` contraint quand le dossier clame READY).
- `blocking_fields(dossier)` : leur complement -- le motif. Rend [] quand un
  dossier BLOCKED honnete declare les 4 au vert (le contrat le permet ; la
  raison vit alors dans la prose) : nommer les champs qui bloquent, jamais en
  inventer un pour combler le silence.
- `dossier_payload(dossier)` : tous les champs lus + provenance. Aucun champ
  nouveau exige a l'emission -- on publie ce que `parse_dossier` parsait deja.
- `build_result()` pur, donc testable sans reseau. Le bloc `dossier` ne part
  QU'AVEC un verdict accepte : un dossier refuse doit continuer a se lire
  comme refuse.
- `evaluate_with_dossier()` rend le dossier ; `evaluate()` garde sa forme
  historique a 2 elements, aucun appelant ne bouge sous lui.
- La sortie humaine nomme desormais le motif qu'elle demandait d'aller lire.

Preuves : 58 tests passent ; 3 mutations -> 3 fois le BON test tombe,
restauration byte-identique (sha256). Sur les PRs live nommees par
l'acceptance : #16219 `checks: BLOCKED`/`b0: clear` -> ["checks"] ;
#16352 `b0: blocked`/`checks: latest-wins-green` -> ["b0"] ; rc=1 reel ->
aucun bloc `dossier`.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stale-guard-red Rouge datant d'une base anterieure au fix du garde (sweep #13321)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants