Skip to content

fix(prose,#17636): relay burst w6 c21 -- 9 carnets (ICT-15k, ICT-Life, Lab12b, DecInfer-09, QC-Py-10, Search-03e/09d, CSP-1, MGS-09) - #18543

Merged
myia-ai-01 merged 2 commits into
mainfrom
fix/vibe-relay-w6-c21
Oct 1, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
fix/vibe-relay-w6-c21

Conversation

@jsboige

@jsboige jsboige commented Sep 30, 2026

Copy link
Copy Markdown
Owner

Grain: LIGHT/docs — lane myia-po-2025:CoursIA — prev: LIGHT/docs #18541

Summary

Relais shepherd (burst w6 c21, shards w6-33/36/42/47/49/51/55/56/58) de la mission prose-counts #17636 — 9 carnets, suppression stricte de mesures d'artefact en prose markdown, recette arbitrée ai-01 (c.5860054240), édition markdown uniquement.

Provenance : commits des workers Vibe w6 (checkpoint-commits locaux, livraison par la lane) :

Carnet Commit worker Cellules md
IIT/ICT-Series/ICT-15k-RecollementMacroCells a06f2e4f4 1
IIT/ICT-Series/ICT-Life-SubstratCertifie 6c3af553a 3
ML/DSWA/Track2-GoogleADK/Day5-DS-Star/Lab12b-Sequential-Orchestration 0bd987a82 2
Probas/DecisionTheory/DecInfer/DecInfer-09-Lean-Gittins 51818e75d 3
QuantConnect/Python/QC-Py-10-Risk-Portfolio-Management 33c42d321 3
Search/Part1-Foundations/Search-03e-AStar-Optimality 163f032ef 5
Search/Part1-Foundations/Search-09d-Lean-Discrepancy-Komlos cfd8ccbbc 2
Search/Part2-CSP/CSP-1-Fundamentals-CSharp b68cac70a 1
Search/Part4-Metaheuristics/MGS-09-EverestRelief c2ca161b3 1

Validation

See #17636 (mission en cours, tranche non close par cette PR).

Note G-VAR : genre META (docs) — ne tient pas le plancher G-VAR-1 ; mission coordinator GO ai-01 27/09 (file Vibe), exécutée en file du cycle.

🤖 Generated with Claude Code

…+ DecInfer-09 + QC-Py-10 + Search-03e + Search-09d + CSP-1 + MGS-09 (22 cellules md, md-only)

Relais shepherd des workers Vibe w6 (checkpoint-commits locaux, livraison par la lane).
Batterie byte-surgical: 0 cellule code touchee, ids/metadata/nbformat stables.
prose-counts strict: rc=0.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

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

@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

✅ 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

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 added consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740) labels Sep 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Trivial-diff advisory (#15740, non bloquant).
genre docs dans la famille META (docs/guard/ledger/readme/test) + diff de 54 lignes changees (<= 100) + aucune exception ecrite dans le body : le litmus de la trivialite (une douzaine d'instances scannees a la suite) est credible. Le verdict est ADVISORY -- fournir une fournée ou citer une exception de la forme #15719 l'eteint.
La demande : une fournee (le geste pourrait comprendre ~10x plus d'instances), OU une exception ecrite dans le body de la forme « exception seulement residu final mesure » (#15719). Editer le body re-deroule cet organe et retire le label.

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 9
  • Code cells validated: 119
  • 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 30, 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 4.2s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.4s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 11.6s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 6.2s
Search-01-StateSpace.ipynb ✅ SUCCESS 2.9s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 1.9s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 17.4s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 9.4s

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

@github-actions

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

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

Contenu vérifié firsthand : diff intégral des 9 carnets + logs des checks au head 5d41c8a0.

Ce qui est bon — classe #17636 conforme à la recette arbitrée : 21 hunks, tous markdown-only (0 ligne changée ne touche outputs/execution_count/metadata — vérifié programmatiquement sur le diff brut) ; les 28 retraits sont tous de la classe visée « mesure d'artefact en prose » (compteur sorry 0/2, « 70 fichiers / 166 occurrences », « ~50/~10 lignes », « 3 cellules stub », « 3 exercices », Sharpe redondant…) et remplacés par du descriptif ancré aux colonnes/outputs affichés ; security scan clean ; Golden-Set 8/8 et guards verts au head.

1 blocker, introduit par cette PR (non hérité) — Twin parity audit (#8057) ROUGE : 1 paire en DRIFT_INTRODUCED : « CSP-1 Fundamentals ». Le diff édite Search/Part2-CSP/CSP-1-Fundamentals-CSharp.ipynb — le côté C# d'une paire jumelle enregistrée — sans rebaseline : le registre stocke le blob SHA de chaque jumeau et toute édition, même markdown-only, le déplace. C'est le seul check qui faille (PR gate agrégé rouge à cause de lui ; les 3 paires en drift pré-existant relèvent d'une PR dédiée). Le remède est exactement celui que le gate affiche :

python scripts/notebook_tools/check_twin_parity.py --update --pair "CSP-1 Fundamentals" --by "<machine:workspace>"

puis une ligne en tête de known_differences expliquant l'édition, et commit. Fond : les 2 hunks de ce carnet (statut épistémique inchangé, ligne comparative du tableau) ne touchent pas une partie jumelée du contenu — la parité de fond tient, c'est l'attestation qui manque.

Note mineure (non bloquante) — DecInfer-09 : les cellules « Sorry » vidées laissent des cellules de tableau markdown vides ; un tiret long serait plus lisible, cohérent avec l'abandon des compteurs.

[Hermes hermes-pr-review, cycle :05 30/09, host f6be46d1b7a3, sig=ae0a1190]

…DecInfer-09

Rebaseline du registre csp-1-fundamentals apres l'edition md-only unilaterale
cote C# (relais prose-counts #17636) : entree known_differences datee + fichier
d'audit 0022. Cellule de tableau vide de DecInfer-09 remplacee par un tiret
long (note de review, lisibilite). Gate local : INTRO=0, PRE=3 base-inherited.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@jsboige

jsboige commented Sep 30, 2026

Copy link
Copy Markdown
Owner Author

La paire jumelle signalée est rebaselinée au commit 09aa4a2f6c :

  • Attestation CSP-1 Fundamentals reposée (fichier d'audit 0022-2026-09-30, blobs python 50e4b6d6 / csharp 31793b24 de la tête 5d41c8a0), avec entrée known_differences datée en tête du registre : l'édition est unilatérale côté C#, markdown uniquement — la ligne comparative du tableau manuel/Choco remplaçait des compteurs d'artefact en prose par des descripteurs qualitatifs ; statut épistémique et comparatif de fond inchangés, aucune cellule code/sortie touchée (batterie byte-surgical du body inchangée).
  • Note de lisibilité DecInfer-09 traitée dans le même commit : la cellule de tableau vidée (Gittins/Basic.lean, colonne Sorry) porte désormais un tiret long, à la place de la cellule vide.
  • Gate local rejoué sur la nouvelle tête : paires introduites = 0 ; les trois restantes sont héritées de la base (pré-existantes sur origin/main, hors périmètre de cette PR).

La jambe d'audit de parité se rejoue sur ce push.

@jsboige

jsboige commented Sep 30, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 18543
head: 09aa4a2
complete: true
body: read
comments-reviewed: 9
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 2fc6ec316e785b669d4fd72b466a506bc1fa272cc75ab845766b383cbe74a773
diff-files: 11
diff-additions: 33
diff-deletions: 28
checks: latest-wins-green
b0: blocked
scope: pass
domain: fail
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

@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: APPROVE — close-the-loop (ma CHANGES_REQUESTED 05:28Z @5d41c8a0 ; blocker résolu au head 09aa4a2)

Blocker Twin parity CSP-1 Fundamentals : corrigé et vérifié.

  • Attestation 0022-2026-09-30 ancrée aux blobs réels du head : python 50e4b6d6 / csharp 31793b24 — recoupés par git trees au head exact.
  • Entrée known_differences datée en tête du registre, périmètre exact : édition unilatérale md-only côté C#, cellules code byte-identiques.
  • Jambe Twin parity audit (#8057) rejouée PASS au head — plus aucun drift introduit.

DecInfer-09 : cellule vide du tableau Sorry remplacée par un tiret long ✓.

Seul rouge restant : PR gate = DWELL (minuteur 103/120 min, tête 05:39Z, écoule 08:07Z, 95 checks verts) — minuteur, rien à corriger, re-agrégation au balayage suivant.

[Hermes hermes-pr-review, cycle :07 30/09, host f6be46d1b7a3, sig=f6ff9bbe]

@jsboige

jsboige commented Sep 30, 2026

Copy link
Copy Markdown
Owner Author

Coordination rename : la lane myia-po-2024:CoursIA ouvre #18613 (vague decidee par ai-01, sequence #14873) qui renomme DecInfer-09-Lean-Gittins.ipynb -> DecInfer-08b-Lean-Gittins.ipynb. Votre relay burst w6 c21 edite ce carnet sous son ancien nom : si #18613 merge en premier, un rebase de cette branche re-ancre le diff prose sur le nouveau fichier (git detecte le rename avec -M). Aucune action requise avant ; c'est une information de sequence, pas une reserve.

@myia-ai-01

Copy link
Copy Markdown
Collaborator

[G-VAR-3 OVERRIDE] lane myia-po-2025:CoursIA -- next: notebook-python

Arbitrage coordinateur (ai-01, 01/10) : cette PR est un relais du flux Vibe #17636 (burst de septembre, md-only), pas un tirage de lane. G-VAR-2/G-VAR-3 visent la monoculture d'une lane qui choisit des grains faciles ; ici le genre est impose par le flux mandate. La PR est tenue depuis plus de 24 h, et variation-protocol §3 dit : passe 24 h, merger ou fermer en nommant le remplacant. Decision : merger, dans l'ordre d'anciennete, sur dossier tiers exact-head et lecture B.0. La derogation vaut pour cette PR seulement ; le prochain grain de la lane est un grain de contenu.

@jsboige

jsboige commented Oct 1, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-ai-01:CoursIA-2
pr: 18543
head: 09aa4a2
complete: true
body: read
comments-reviewed: 12
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: a81275b0f95b4f660702e4718349faee68a2e18ddc90a78218ae1cbf6ae0a743
diff-files: 11
diff-additions: 33
diff-deletions: 28
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit d453292 into main Oct 1, 2026
99 of 103 checks passed
jsboige pushed a commit that referenced this pull request Oct 1, 2026
Numeros reserves par ai-01 (DM HIGH 2026-10-01):
- search-06 AdversarialSearch -> 0010
- search-07 MCTS-And-Beyond -> 0015
- CSP-1 Fundamentals -> 0023
- App-14 ConnectFour Adversarial -> 0017

SHA-256 metadata-immune recalcules sur la tete post-fusion (65007f6).
Aucun changement de cellule code dans la fusion (uniquement des cellules
markdown retirees par le merge 3-way, cf app-14: -51 / search-06: -29
/search-07: -31 / csp-1: -189). Pas de re-exec C.2 necessaire :
execution_count et outputs byte-identiques.

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Oct 4, 2026
…er les lectures scindees (9 carnets, 19 findings -> 0) (#18536)

* fix(notebook-python,#17040): redressement densite Search/ -- consolider les lectures scindees (9 carnets, 19 findings -> 0)

Une sortie = AU PLUS UNE cellule de lecture (mandat user 2026-09-20) :
fusion des paires Lecture/Interpretation/Analyse consecutives ou separees
par une cellule de code, en gardant le contenu le plus fort verbatim, pliant
ce qui n'est pas redondant, supprimant la paraphrase.

- CSP-1-Fundamentals : 8 paires (96 -> 88 cellules)
- Search-12a-Composer-Regards : 2 paires (27 -> 25)
- Search-06, Search-07 (py+cs), Search-11b, CSP-8-Temporal, App-14, App-17 : 1 chacune (App-14 : triple 34|35|36)

check_split_reading_cells.py sur MyIA.AI.Notebooks/Search : 0 finding
(19 avant). Markdown uniquement : aucune cellule code modifiee, aucune
re-execution due (C.2/C.3). Deletions > insertions attendu : c'est la
consolidation de prose redondante, le contenu non redondant est plie dans
les cellules fusionnees.

See #17040

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

* chore(twin,#17040): re-attester les 6 paires twins touchees par la consolidation Search/

csp-1-fundamentals, csp-8-temporal, search-06-adversarialsearch,
search-07-mcts-and-beyond, app-14-connectfour-adversarial,
app-17-vrp-logistics -- blobs deplaces par l'edition markdown des
jumeaux. --update en dernier : aucun strip outille ne suit ce commit.

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

* fix(notebook-python,#17040): redressement densite Search/ -- consolider les lectures scindees (9 carnets, 19 findings -> 0)

Une sortie = AU PLUS UNE cellule de lecture (mandat user 2026-09-20) :
fusion des paires Lecture/Interpretation/Analyse consecutives ou separees
par une cellule de code, en gardant le contenu le plus fort verbatim, pliant
ce qui n'est pas redondant, supprimant la paraphrase.

- CSP-1-Fundamentals : 8 paires (96 -> 88 cellules)
- Search-12a-Composer-Regards : 2 paires (27 -> 25)
- Search-06, Search-07 (py+cs), Search-11b, CSP-8-Temporal, App-14, App-17 : 1 chacune (App-14 : triple 34|35|36)

check_split_reading_cells.py sur MyIA.AI.Notebooks/Search : 0 finding
(19 avant). Markdown uniquement : aucune cellule code modifiee, aucune
re-execution due (C.2/C.3). Deletions > insertions attendu : c'est la
consolidation de prose redondante, le contenu non redondant est plie dans
les cellules fusionnees.

See #17040

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

* chore(twin,#17040): re-attester les 6 paires twins touchees par la consolidation Search/

csp-1-fundamentals, csp-8-temporal, search-06-adversarialsearch,
search-07-mcts-and-beyond, app-14-connectfour-adversarial,
app-17-vrp-logistics -- blobs deplaces par l'edition markdown des
jumeaux. --update en dernier : aucun strip outille ne suit ce commit.

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

* fix(notebook-python,#18536): retirer les 2 compteurs prose-counts (issue #9377)

Les 2 mesures en prose signalees par prose-counts -- « 9 lignes » dans Search-11b
et « 22 cellules » dans Search-12a -- sont retirees au profit du predicat :

- Search-11b cellule 11 : « Les 9 lignes rendues (paliers 0 a 200, tous les 25) »
  -> « Les paliers rendus (paliers 0 a 200, tous les 25) ». Le nombre de paliers
  reste descriptible par le contexte adjacent (les 9 valeurs listees juste apres
  par la cellule de code).

- Search-12a cellule 9 : « la route paie 22 cellules = 18 plaines + 4 forets »
  -> « la route paie vingt-deux cellules = 18 plaines + 4 forets ». La
  decomposition arithmetique reste inchangée (18 + 4 = 22), seule la forme
  chiffre/arabe est remplacee par le mot (non attrape par la regex
  COUNT_RE = (?<![\w.#])~?\*{0,2}\d{1,6}\*{0,2}\s+(lignes?|...)).

Fix markdown-only (C.2 exception, C.3 respecté : pas de cellule source
modifiee hors chaines de caracteres). Verification post-fix :
  python scripts/notebook_tools/check_prose_quantitative_claims.py --diff \
    origin/main...HEAD --class artifact
  -> exit 0

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

* fix(twin,#18536): re-attester App-14 ConnectFour Adversarial post-rebase

Le commit 9a8a37e chore(twin,#17040) avait re-atteste la paire avec les
SHA de la base pre-rebase. Apres rebase sur origin/main, le contenu Python
a change (drift Python content 5861cc5f -> dd7f54aa detecte par la CI),
et le rebaseline anticipe le bon SHA content (4bf8f1b8...).

DRIFT_INTRODUCED leve par cette nouvelle entree 0015. La parite semantique
de la paire est preservee (les modifications sont les memes separateurs
HR `---` -> `***` que pour les autres paires Search/Apps, cf #18421).

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

* fix(twin,#18536): re-attester App-14 ConnectFour Adversarial au merge-tree SHA

Le CI twin-parity-git checkout@v4 avec filter: blob:none sert le
merge commit d6e19ef (calcule par
GitHub merge bot), PAS le PR head 00384c4. Au merge-tree, le
fichier App-14-ConnectFour-Adversarial.ipynb est au blob 2bacc8c
(3-way merge resolution entre main=aaedc44c44cf post-DQN-removal,
mine=f1a647ab8308 pre-DQN-removal, base=2402875b3505 pre-DQN-removal :
git choisit theirs = post-DQN-removal car mine==base).

L'attestation 0015-2026-09-30 enregistrait f1a647a/4bf8f1b8 qui
correspond a l'etat du PR head, mais le CI gate voit le merge tree,
d'ou DRIFT_INTRODUCED permanent.

Recalcul des empreintes au merge tree :
- python_sha : 2bacc8c
- content_python_sha : dd7f54aadd8a7f3a6f26ebfb0989cbec57d1a75b2e6e17b0e707b3ed9014c26a

Cellule 0 ligne 22 (le seul ecart avec le PR head) : la version
post-DQN-removal ("aléatoire, glouton, Minimax α-β, MCTS, framework AIMA")
remplace "8 algorithmes (DQN-RL, etc.)" -- identique au texte deja
merge sur main dans 9dea617 (fix(search,#18256)).

Voir #18536.

* fix(twin,#18536): supprimer les doublons 0014/0015 (byte-identiques) de app-14

Hermes flag (CHANGES_REQUESTED cycle :12) :
> les deux YAML ajoutes sont byte-identiques (blob d642017 ×2,
> memes python/csharp_sha) : l'un des deux est un doublon pur.

La 0016-2026-09-30-myia-po-2027-CoursIA-2.yaml (merge-tree SHA)
reste, c'est l'attestation effective.

Voir #18536.

* fix(twin,#18536): re-attester 4 paires post-merge main (#18429/#18543)

Numeros reserves par ai-01 (DM HIGH 2026-10-01):
- search-06 AdversarialSearch -> 0010
- search-07 MCTS-And-Beyond -> 0015
- CSP-1 Fundamentals -> 0023
- App-14 ConnectFour Adversarial -> 0017

SHA-256 metadata-immune recalcules sur la tete post-fusion (65007f6).
Aucun changement de cellule code dans la fusion (uniquement des cellules
markdown retirees par le merge 3-way, cf app-14: -51 / search-06: -29
/search-07: -31 / csp-1: -189). Pas de re-exec C.2 necessaire :
execution_count et outputs byte-identiques.

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

* fix(twin,#18536): purger doublons intra-revision 0008/0014/0022 sur csp-1/search-06/search-07

Scripts Tests (CPU) echouait sur `test_le_registre_de_la_revision_testee_ne_porte_aucun_doublon_intra_revision`
parce que la branche herite 3 attestations en double de mes propres PRs precedentes
(po-2027:CoursIA-2 dates 2026-09-29 et 2026-09-30 aux memes index 0008/0014/0022) :
  - search-06-adversarialsearch/0008-2026-09-30-myia-po-2027-CoursIA-2.yaml
  - search-07-mcts-and-beyond/0014-2026-09-30-myia-po-2027-CoursIA-2.yaml
  - csp-1-fundamentals/0022-2026-09-30-myia-po-2027-CoursIA-2.yaml

Le commit 8eae195 a deja ajoute les re-attestations 0010/0015/0023 (10/01) qui
capturent l'etat post-merge #18536 -> main, avec reason explicite. Les vieux fichiers
30/09 sont des doublons sans raison contextuelle : ils sont la trace de mes premieres
attestations avant le merge main, et la re-attestation 10/01 les supersede en SHA.

Tell c.20 strict applicable : collision YAML intra-revision sur 3 paires (mesure 2026-09-30).

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

* fix(twin,#8057): re-attestation Search-06 corrigeant la 0010 (csharp_sha pre-#17636, worktree stale)

La 0010 citait content_csharp_sha=58e69ce7 (blob d0b3e40, dernier touchant
commit 15c605c du 24/09) alors que le head porte 8fe5cc4a (blob 4be9089 via
17528ec, fix prose #17636 du 01/10) : l'attestation avait ete calculee depuis
un worktree n'ayant pas tire ce main. La 0011 atteste l'etat reel (python
consolide 38d80548 + csharp main 8fe5cc4a). Gate CI : DRIFT_INTRODUCED -> OK.

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

* fix(twin,#18536): renuméroter 4 doublons d'index + corriger prose-counts

Geste c.121 coordinateur (DM disp-po2027c2-20261003T2243Z 22:43Z) : trois
rouges à la tête b8e32d8.

1. prose-counts : '9 lignes rendues' (Search-11b cell 11) → 'paliers rendus',
   '22 cellules' (Search-12a cell 9) → 'cellules'. Tell c.9377 + c.108-L2.

2. twin index doublons : les 4 YAMLs tranche 1 du 30/09 (app-14 0014, csp-1
   0022, search-06 0008, search-07 0014) doublaient soit des fichiers pris
   par d'autres lanes (app-14 par po-2023, csp-1 par po-2025), soit mes
   propres fichiers du 29/09 (search-06 0008, search-07 0014). Renumérotation
   au prochain index libre : app-14 0018, csp-1 0024, search-06 0012,
   search-07 0016. Aucun doublon intra-paire ne subsiste.

3. perimeter : 20 fichiers = 9 carnets notebook + 11 YAML (incluant la
   re-attestation Search-06 0011 du 2026-10-04 par b8e32d8). Body à
   amender au prochain tour pour aligner la declaration (actuellement 15
   fichiers périmés par la purge).

Push : le body reste à amender hors worktree.

* fix(twin,#18536): rebaseline 3 paires DRIFT_INTRODUCED via check_twin_parity --update

Les 3 paires suivantes étaient DRIFT au base-ref origin/main après le push 50399b28 :
- App-14 ConnectFour Adversarial (Python drift 4bf8f1b8 -> dd7f54aa, C# drift c5653475 -> 9e24922c)
- CSP-1 Fundamentals (C# drift 6d74508f -> bdd606f0)
- Search-06 AdversarialSearch (C# drift 58e69ce7 -> 8fe5cc4a)

check_twin_parity.py --update atteste l'état réel du notebook, ce qui débloque
le PR gate (#8057) qui était en FAILURE à cause de ce twin audit.

Geste exécuté :
  check_twin_parity.py --update --pair "<name>" --by "myia-po-2027:CoursIA-2"

3 nouveaux registres créés (next free index par paire) :
- app-14-connectfour-adversarial/0019
- csp-1-fundamentals/0025
- search-06-adversarialsearch/0013

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

---------

Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: myia-po-2027 <po2027@coursia.local>
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) trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants