Skip to content

rename(#16231): Percolation 01/02 canoniques + plan de croissance (#19494) - #19495

Merged
myia-ai-01 merged 9 commits into
mainfrom
feature/16231-percolation-croissance
Oct 7, 2026
Merged

myia-ai-01 merged 9 commits into
mainfrom
feature/16231-percolation-croissance

Conversation

@jsboige

@jsboige jsboige commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/docs — lane myia-po-2027:CoursIA — prev: DEEP/notebook-python #19491

Dispatch ai01-perco-growth-20261006 : (1) appliquer le renommage déjà tranché de Percolation (c.5833146611, prérequis #17783 fusionné), (2) écrire le plan de croissance (issue + section README), articulé à la hiérarchie Probas #14873. Une seule PR pour les deux, arbitrage mainteneur du 25/09 repris dans le claim c.6016332477.

1. Renommage canonique (2 notebooks, outil #17784)

Actuel Cible
Percolation-Supercritique.ipynb Percolation-01-Supercritique-Python.ipynb
Percolation-Lean.ipynb Percolation-02-Lean.ipynb

Table de mapping postée dans l'issue avant la PR : #16231 (c.6017055292). Exécuté par rename_notebooks.py --mapping issue:16231#6017055292 --apply : commit 1 = git mv purs (identité préservée, 0 insertions), commit 2 = référents réécrits sur 11 surfaces (READMEs sous-série + Applications + Probas, LEAN_INVENTORY.md, _quarto.yml, docs/curriculum/recherche.md, docs/curriculum/trading.md, docs/cadrage/grothendieckian-lens.md, ledger, scripts/notebook_tools/detect_paragraph_length.py).

  • Changements de source des carnets : markdown-only — 01 : metadata.papermill.input_path seul (normalisation tolérée, aucune source touchée) ; 02 : titre markdown + metadata papermill. Aucune cellule code modifiée → pas de re-exécution due (exception markdown C.2, prévue par le dispatch).
  • Ledger : 2 insertions pures, CRLF préservé (docs/reference/rename-ledger.tsv).

2. Plan de croissance

Validation

  • regen_quarto_render.py --check-readme-links : les liens README vers les 2 carnets renommés pointent désormais vers les cibles .html rendues (fix d014df11) — les liens .ipynb vers des cibles render-listées sont STALE_LINK (Site: re-brancher les liens notebooks des READMEs de series vers les rendus .html (32/32 liens mesures vers JSON brut) #13025) ; liens vers les anciens noms déjà STALE_LINK en base (backlog, 6 entrées retirées au passage).
  • check_notebook_navlinks.py : OK 0 lien cassé sur les deux carnets renommés.
  • check_docs_links.py --check --base origin/main : OK, aucun nouveau lien cassé (8279 liens).
  • check_notebook_link_render.py : MANQUE 0 (liste de rendu cohérente).
  • check_link_label_agreement.py : 1 désaccord signalé dans docs/curriculum/recherche.md (libellé GameTheory-21 → cible GameTheory-20d), préexistant sur origin/main ligne 125, hors de cette tranche (aucune de mes lignes) — signalé, non touché (principe 3).
  • Catalogue COURSE_CATALOG.generated.* : non régénéré (byte-identique à main, catalog-pr-hygiene).
  • Garde L898/L1356 : aucune PR ouverte ou mergée récente touchant Percolation/**.

See #16231 · See #19494 · See #14873

🤖 Generated with Claude Code


Note d'etat 2026-10-07T17:40Z : la jambe adjacency rouge date de 07:16Z, anterieure aux merges #19582/#19683 (14:30Z/14:33Z) qui terminent la sequence mergee de la lane sur du contenu. Ce re-trigger edited lui donne son passage de re-mesure (l'endpoint rerun-failed-jobs renvoyait HTTP 500, trois tentatives).

jsboige and others added 3 commits October 6, 2026 15:16
Table : issue:16231#6017055292, pilotee par rename_notebooks.py.
Cellules de code citees : jamais reecrites (re-execution C.2 due).
Sorties commitees : jamais touchees.
…nte vers #19494

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

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 commented Oct 6, 2026

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

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

✅ No unanchored measurement claim detected in the notebooks this PR changed.

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

github-actions Bot commented Oct 6, 2026

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.

@github-actions

github-actions Bot commented Oct 6, 2026 •

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 2.8s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.0s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 3.8s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 3.8s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.3s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.1s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 17.3s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.1s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 10.6s

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

@github-actions

github-actions Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #19495 (rename(#16231): Percolation 01/02 canoniques + plan de croissance (#19494)) 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.

…E_LINK #13025)

Les 6 cles NOUVELLES du ratchet STALE_LINK etaient les liens README vers les
carnets renommes en .ipynb : la cible etant dans la liste de rendu, le README
doit lier le sibling .html (l'ipynb brut 404 sur Pages). Les liens vers les
anciens noms etaient deja STALE_LINK en base (backlog preexistant) -- ce fix
retire les 6 nouvelles cles ET 6 entrees du backlog.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the pr-overlap Advisory: another open PR touches the same files (organ #13615) label Oct 6, 2026

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

VERDICT: LGTM (vérifié: diff sha8 par cellule des 2 notebooks renommés, base↔head)

[NanoClaw] — Review protocole v2 : extraction complète base+head des deux .ipynb renommés (raw contents), diff sha8 cellule par cellule, surfaces de référents lues au head, mapping et issue de plan vérifiés firsthand.

Vérifié propre — mesuré firsthand au head d014df11 :

  • Identité des sources préservée : Percolation-01 : 34/34 cellules sha8-identiques base↔head, seul delta = metadata.papermill.input_path (ancien→nouveau nom, duration/end_time inchangés = pas de re-exécution, conforme à l'exception markdown C.2). Percolation-02 : 24/24 cellules identiques sauf la cellule 0 (titre # Percolation-Lean → # Percolation-02-Lean, + suppression d'une ligne vide cosmétique) + metadata papermill. Exactement le périmètre « markdown-only » déclaré, aucune cellule code touchée.
  • Le renommage est complet et traçable : table de mapping postée AVANT la PR (#16231 c.6017055292, 13:13:54Z < création 13:25:18Z) ; 2 lignes au rename-ledger.tsv conformes au format existant (ancien→nouveau→date→lane) ; issue de plan #19494 créée 13:20Z, ouverte, avec le tableau d'état des 3 carnets suivants.
  • Plan de croissance articulé : section README présente (tableau 03-Critique / 04-Sharpness ×2 avec paliers), renvoi #19494, mention de l'arbitrage #16231 et de la hiérarchie Probas #14873 — conforme au dispatch.
  • Référents échantillonnés au head : _quarto.yml (l.1326-1327 nouveaux noms), recherche.md (l.239-240 nouveaux noms + liens), detect_paragraph_length.py (l.312-318 prose référente mise à jour), README sous-série l.14-15 pointant vers les cibles .html rendues (le fix d014df11 revendiqué, règle STALE_LINK #13025).
  • Honnêteté du body confirmée : le désaccord check_link_label_agreement (libellé GameTheory-21 → cible GameTheory-20d) est préexistant — ligne 95 de recherche.md byte-identique base↔head, hors de la tranche. Signalé sans être touché : principe 3 correctement tenu.
  • Checks : ~40 pass au head (navlinks, link-render MANQUE 0, quarto build, gitleaks, papermill ratchet, kernel drift…).

Bornes (déclarées) : 6 surfaces de référents non échantillonnées individuellement (Applications/README, Probas/README, LEAN_INVENTORY, grothendieckian-lens, trading, catalogue — couvertes par les checks check_docs_links 8279 liens OK et nav-chain pass) ; structure commit1/commit2 non inspectée (l'identité de contenu, elle, est prouvée par le diff sha8) ; 1 check cancelled au head (« Static validation H.1/H.3/C.1 », conclusion cancelled, 0 step exécuté, log absent) = annulation d'infra, pas un verdict de contenu — à relire s'il revient en échec réel.

— NanoClaw (myia-ai-01)

@github-actions github-actions Bot added the variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) label Oct 6, 2026
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-po-2027:CoursIA a deja consomme son budget LIGHT du jour (#19369 (merge a 2026-10-06T13:28:17Z)).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour,
toutes categories LIGHT confondues
(guard, doc, refs, ... partagent un seul budget) :
c'est un RATIO, pas un plafond plat. La decision de merge reste au coordinateur.

@github-actions github-actions Bot added the variation-genre-cap-exceeded light_genre > cap partage G-VAR-2 (#10020, advisory) label Oct 6, 2026
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

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

  • CAP-EXCEEDED-BY-GENRE : light_genre > cap partage G-VAR-2 (tally : declared=2 genre=2 cap=1)

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.

@github-actions github-actions Bot removed the variation-genre-cap-exceeded light_genre > cap partage G-VAR-2 (#10020, advisory) label Oct 7, 2026
…tion-croissance

# Conflicts:
#	docs/reference/rename-ledger.tsv
@jsboige

jsboige commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

Conflit docs/reference/rename-ledger.tsv issu du merge de #19360 (lignes rl_17/rl_18 -> Complexity-04c/04d) resolu en union : les 2 lignes Complexity de main + mes 2 lignes Percolation, dates croissantes, CRLF preserve. Nouvelle tete 5224ed86 — merge de resolution, aucun changement de contenu au-dela du ledger. Verifications : vs origin/main = uniquement mes 2 lignes Percolation ajoutees ; vs cf3fda6a = uniquement les 2 lignes Complexity ajoutees ; 0 ligne retiree dans les deux sens.

@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

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

@jsboige

jsboige commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 19495
head: 5224ed8
complete: true
body: read
comments-reviewed: 11
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 4d55f2835998ea466f3f7e8647933f0b631283c9fafccad5d275d25ff1d726eb
diff-files: 12
diff-additions: 40
diff-deletions: 24
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 19495
organ-rc: 0
[/ADJOINT PREFLIGHT]

Resolution du conflit rename-ledger.tsv par union des lignes (dates
croissantes, CRLF preserve) : 2 lignes Percolation (10-05) + 2 lignes
Discrepancy/Search (10-06). Aucune ligne perdue, aucun reecriture.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) variation-tier-inflation declared LIGHT << effective LIGHT-genre (#10020, advisory) variation-genre-cap-exceeded light_genre > cap partage G-VAR-2 (#10020, advisory) variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) labels Oct 7, 2026
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

G-VAR-3 : deux grains LIGHT du meme genre consecutifs -- bloquant (#11170).

G-VAR-3: docs succede a docs -- deux grains LIGHT consecutifs pour la lane myia-po-2027:CoursIA. La regle est un ban absolu (§2): piochez un grain d'UN AUTRE genre, ne retaguez pas le meme travail (#11170). Tenu > 24 h : le coordinateur tranche par [G-VAR-3 OVERRIDE] lane myia-po-2027:CoursIA -- next: <genre> (section 3), il ne laisse pas vieillir. (predecesseur reel: #19511, sequence mergee)

Referentiel du verdict (#15739) -- ce verdict a ete calcule contre : predecesseur #19511 (docs, source merged-sequence), sequence de merges arretee au 2026-10-07T06:42:59Z. Un merge posterieur de la meme lane peut l'avoir invalide -- recalculer avec :

python scripts/ci/variation_adjacency_guard.py --pr-number 19495

variation-protocol.md §2 bannit absolument deux grains du meme GENRE LIGHT consecutifs pour une lane (genres : guard, ledger, docs, readme, test). Le remede n'est pas de retaguer le meme travail avec un autre genre (c'est le gaming que §1 ferme) : il faut piocher un grain d'un genre different pour la prochaine PR.

Pour passer ce gate, remplacez la prev: par un grain precedent d'un genre different (ou changez le genre du grain courant pour un genre de substance differente) :

Grain: <TIER>/<genre> -- lane <machine:workspace> -- prev: <TIER>/<genre-different> #<PR>

Conflit docs/reference/rename-ledger.tsv resolu par union : les 21 lignes
Tweety apportees par main, puis les 2 lignes Percolation de cette branche.
La ligne rebus " origin/main" -- residu de marqueur present dans la merge-base
et deja retiree par main au commit 2063881 -- est abandonnee : on suit le
cote main. Splicing en bytes, CRLF preserves, diff vs main = +2/-0 (les deux
lignes Percolation, aucune autre).

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

jsboige commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

Conflit de base resolu — docs/reference/rename-ledger.tsv est leve, la PR repasse MERGEABLE.

Tete ebfb70993a52 : merge de origin/main dans la branche. Resolution par union — les 21 lignes Tweety apportees par main, puis les 2 lignes Percolation de cette branche.

  • Une ligne rebus origin/main (un marqueur >>>>>>> ampute de son prefixe) trainait dans la merge-base : main l'a deja retiree au commit 20638816ff33. Je suis le cote main et je l'abandonne au lieu de la propager — elle ne porte aucun tab, donc aucune ligne du registre, et rebase_helper la sautait deja en silence.
  • Ecriture par splicing en bytes : le reste du fichier n'est pas touche. 303 lignes, toutes en CRLF, zero LF nu, zero marqueur restant.
  • Preuve que la resolution ne perd rien : git diff origin/main -- docs/reference/rename-ledger.tsv rend +2/-0 — exactement les deux lignes de cette branche, rien d'autre.
  • Les renommages tiennent apres la fusion : Percolation/ porte Percolation-01-Supercritique-Python.ipynb et Percolation-02-Lean.ipynb, et aucun des deux anciens chemins ne subsiste dans l'arbre.

Ce qui reste rouge, et qui n'est pas imputable a cette branche : Scripts Tests (CPU) — base-inherited, le doublon de journaux twin 0019 de la paire search-03-informed sur main, dont le correctif est #19723 — et le PR gate, qui n'est que le miroir de cette jambe. Conflit leve, perimetre inchange.

@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

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

@jsboige

jsboige commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 19495
head: 378d660
complete: true
body: read
comments-reviewed: 15
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 7dbd2e46428ca38207588f8509660e4499bdfcb0db51841c05d3e16b5d9c990b
diff-files: 12
diff-additions: 39
diff-deletions: 24
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
organ: check_adjoint_prevalidation.py
organ-command: python scripts/check_adjoint_prevalidation.py --derive-verdict 19495
organ-rc: 0
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit c8f094b into main Oct 7, 2026
103 checks passed
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) pr-overlap Advisory: another open PR touches the same files (organ #13615) variation-tier-inflation declared LIGHT << effective LIGHT-genre (#10020, advisory)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants