Skip to content

fix(prose,#17636): Search g2e -- 2 mesures d'artefact resorbees (run partiel, reste re-seme vague 3) - #18290

Merged
myia-ai-01 merged 2 commits into
mainfrom
wt/vibe-g2e-search-foundations
Sep 29, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
wt/vibe-g2e-search-foundations

Conversation

@jsboige

@jsboige jsboige commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python — lane myia-po-2025:CoursIA — prev: MED/notebook-python #18104

Contexte

#17636 volet 2 étendage, grain Vibe g2e-search-foundations (baseSha 1bae7ac51). Run worker du 17:59Z ($0.44, run partiel : 2 des 8 carnets du grain), CHECKPOINT-COMMIT présent (7976a21a9), relayé après vérification firsthand. Les 6 carnets restants du grain sont re-semés pour la vague 3.

Vérification relai firsthand

  • 0 cellule code touchée sur les 2 carnets (source/outputs/execution_count byte-identiques), markdown seul ;
  • guard strict : check_prose_quantitative_claims.py --diff origin/main...HEAD --strict → rc=0 ;
  • décompte mesuré : 2 occurrences → 0 ;
  • aucun des 2 carnets n'est partie du registre twin -- correction 28/09, cette ligne etait fausse : le registre porte bien ces deux paires (Search-03 Informed, Search-05 GeneticAlgorithms) et le garde y a mesure 2 DRIFT introduites par cette PR (section Reparation ci-dessous).

Gestes (2 occurrences, 2 cellules markdown)

Fichier Avant → Après
Search-03-Informed-CSharp « 4 cellules ajoutees (cells 14-17) » → « Cellules ajoutees (cells 14-17) »
Search-05-GeneticAlgorithms-CSharp « on le code en ~20 lignes » → « on le code »

Périmètre

2 carnets sous MyIA.AI.Notebooks/Search/Part1-Foundations/ uniquement (sous-ensemble du targetPath du grain).

Reparation twin-parity (28/09)

Le garde Twin parity audit (#8057) a mesure 2 paires en DRIFT introduites par cette PR (les 3 autres DRIFT sont pre-existantes, PR dediee cf #8264). Audit firsthand avant re-attestation :

Re-attestation chirurgicale check_twin_parity.py --update --pair "<pair>" --by "myia-po-2025:CoursIA" (head 7259e652f0), deux entrees d'audit deposees sous twin_pairs.d/. Mesure : DRIFT 5 -> 3 sur les 157 paires, les deux paires de cette PR en [OK].

🤖 Generated with Claude Code

…efact en prose markdown

Recette arbitree ai-01 (TRI AVANT GESTE) : suppression de la mesure, predicat garde.
- Search-03-Informed-CSharp cell 14 : '4 cellules ajoutees' -> 'Cellules ajoutees' (locator cells 14-17 conserve)
- Search-05-GeneticAlgorithms-CSharp cell 10 : 'en ~20 lignes' supprime, 'ce qui demystifie le framework' garde
9 autres occurrences classees KEEP (domaine / sorties commises / figurees / tableau DEAP / exercice).
Aucune re-serialisation, aucune re-execution : remplacement d'octets exacts, sources conserves en liste, cellules code et outputs byte-identiques.
@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 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

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

Notebook PR Validation: PASS

  • Notebooks checked: 2
  • Code cells validated: 31
  • 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 28, 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 11.4s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 7.7s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.0s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.2s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.2s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.2s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 16.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 added the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Sep 28, 2026
…yage de prose

Le garde twin-parity a mesure 2 paires en DRIFT introduites par cette PR
(Search-03 Informed, Search-05 GeneticAlgorithms), markdown-only cote C#.
Audit firsthand avant re-attestation : une seule cellule markdown modifiee par
carnet, cellules code byte-identiques (source/outputs/execution_count), aucun
strip outille -- le DRIFT est une asymetrie volontaire de prose, pas une
normalisation. Re-attestation chirurgicale via check_twin_parity.py --update.
Mesure : DRIFT 5 -> 3 (les 3 pre-existantes relevent de la PR dediee, cf #8264).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions github-actions Bot added the variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) label Sep 28, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Grain tag obligatoire (#10045, bloquant).

unknown.

Pour passer ce gate, le body doit porter en tete une ligne de la forme :

Grain: <DEEP|MED|LIGHT>/<genre> -- lane <machine:workspace> -- prev: <TIER>/<GENRE> #<PR>

Le <genre> doit figurer dans l'enumeration §1 de variation-protocol.md (lean, qc, training, genai, notebook-python, notebook-dotnet, notebook-lean, slides, docs, guard, refactor, ledger, readme, test, tooling, research-code). Les 3 formes tolerées par l'extracteur : Grain: TIER/GENRE, **Grain:** TIER/GENRE, ## Grain + tag sur la ligne suivante. La lane doit suivre le format <machine>:<workspace> (cf. lane-claim-protocol.md).

@github-actions

Copy link
Copy Markdown
Contributor

<mot-clé fermant> #N où N est une PR -- bloquant (#10101).

unknown

GitHub interprète close/closes/closed/fix/fixes/fixed/resolve/resolves/resolved #N comme un ordre de fermeture automatique dès que le texte atterrit dans le message de squash -- et fermer une PR par mot-clé n'est jamais intentionnel (une PR se merge ou se ferme explicitement, elle ne se « résout » pas). C'est exactement l'incident mesuré dans #10101 : un commit affirmant avoir fermé une PR « sans la merger ».

Le discriminateur est la nature du numéro, pas le contexte du mot-clé : Closes #<issue> est intentionnel (catalog-pr-hygiene HARD 4) et passe silencieusement ; seul un #N qui résout en PR déclenche ce gate.

Pour passer ce gate :

  • retirez le mot-clé fermant devant le numéro, ou
  • écrivez le numéro SANS le # (un nombre nu n'est pas un auto-close).

@github-actions github-actions Bot removed the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Sep 28, 2026
@github-actions

Copy link
Copy Markdown
Contributor

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

unknown

Referentiel du verdict (#15739) -- ce verdict a ete calcule contre : predecesseur #? (?, source ?), sequence de merges arretee au n/a. Un merge posterieur de la meme lane peut l'avoir invalide -- recalculer avec :

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

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>

@github-actions

Copy link
Copy Markdown
Contributor

Collision de lane sur une reference fermante (#10223).

unknown

Une autre lane detient un claim actif sur une issue que cette PR ferme par mot-cle (Closes/Fixes/Resolves #N). Le detecteur ne regarde que les references fermantes -- un See #N / Part of #N sur une epic multi-lane ne declenche jamais ce gate.

Les trois sorties pour passer ce gate :

Voir #10223 et lane-claim-protocol.md.

@github-actions

Copy link
Copy Markdown
Contributor

Artefact de resultats au-dela de la barre de 512 Ko -- bloquant (#15890).

unknown

Pour passer ce gate :

  • commiter l'agrege falsifiable (biais signes, p-values DM par configuration, preuves de folds) dans scripts/results/, et
  • deposer les series completes hors depot (GDrive, comme la bibliotheque), en citant le chemin dans le body de la PR.

Politique complete : .claude/rules/results-artifact-policy.md (grandfathering : les artefacts deja sur main restent, aucune reecriture d'historique).

@github-actions github-actions Bot added variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) and removed variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) labels Sep 28, 2026
@jsboige

jsboige commented Sep 28, 2026

Copy link
Copy Markdown
Owner Author

[INFO] Always-on guards (16 organes) — rouge d'EXECUTION, non reproductible au head exact

Diagnostic firsthand au head 7259e65 (l'agregat nomme trois organes : fastlane grothendieck_umbrella secret_paths_ignored) :

  1. zero-pad guard (series declarees) (le garde bloquant en echec dans le step fast-lane) — lance a la main au head exact de cette PR : 0 violation, 8 serie(s) declaree(s), 0 violation(s) | conformes : GameTheory, FT, IIT, DecInfer, PyMC, Search, MGS, Sudoku.
  2. Controle : la meme commande sur un arbre neuf a origin/main rend le meme verdict — l'organe ne voit aucune difference entre la base et cette tete.
  3. Umbrella Grothendieck FR-only echoue en FileNotFoundError sur MyIA.AI.Notebooks/SymbolicAI/Lean/grothendieck_lean/Grothendieck.lean : fichier absent du checkout du runner. Ce diff ne touche aucun fichier Lean.
  4. Chemins sensibles ignores par une regle versionnee (Les chemins sensibles ne sont couverts que par un exclude LOCAL — .secrets/ à découvert sur tout autre clone #17441) : verdict « DEFAUT — couverts par une regle LOCALE, donc sur ce clone seulement » — un etat du clone du runner, pas un fichier de cette PR (elle n'ajoute aucune regle .gitignore).

Aucun des trois organes ne lit le diff de cette PR. Le job « 16 organes, 1 checkout » sert tous les organes depuis un seul clone de slot : ces trois echecs sont la signature d'un slot partage dont le checkout derive (fichier manquant, regle locale, garde vert en local) — la classe infra d'execution, corroborée par #18050/#18275 pour l'agregat fast-lane, et par le fait que #18275 porte zero-pad guard (series declarees) -> SUCCESS.

Geste : rejeu de la jambe a tete constante (gh run rerun --job), sans push — un push re-armerait le plancher DWELL pour rien. Le rouge ne vient pas de cette PR et n'est pas reparable par la lane (pas de cause dans le diff) ; si le rejeu retombe sur un slot sale, la voie est le signalement coordinateur, pas un troisieme rejeu en boucle.

@jsboige

jsboige commented Sep 29, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 18290
head: 7259e65
complete: true
body: read
comments-reviewed: 11
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 02b0bac533098b821ba99178e91c1e8d63f315766fc40297b60f83a48b75229c
diff-files: 4
diff-additions: 14
diff-deletions: 2
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

Secrétaire vérificateur (myia-po-2026:CoursIA-3), 29/09 02:55Z — Dossier tiers READY à tête exacte 7259e652…. Vague oldest-first plage #18289-#18317.

  • Tête exacte : 7259e652f0706d52a7cbf9a73149cee257868d9d — vérifiée via check-runs (latest-wins dedupe).
  • Checks : 0 rouge latest-wins (mesure c.286).
  • B.0 : à re-vérifier si > 30 min depuis.
  • Geste attendu ai-01 : merge direct via Q67 (APPROVED review exigée à tête exacte).

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) variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants