Skip to content

fix(arxiv,#17622): registre — cell_index 17 -> 18 du renvoi References (décalage causé par #17807) - #17835

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/17811-arxiv-cell-index
Sep 25, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/17811-arxiv-cell-index

Conversation

@jsboige

@jsboige jsboige commented Sep 25, 2026

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python -- lane myia-po-2027:CoursIA -- prev: DEEP/notebook-python #17807

Objet

Scripts Tests (CPU) est rouge sur main depuis le merge de #17807, et avec elle le PR gate de toute PR qui rafraîchit sa base. La cause est un décalage d'index dans le registre d'attributions arXiv, pas une régression de code.

#17807 a inséré la cellule d'import canonique arc A en tête de la série ICT (10 carnets touchés). Toutes les cellules suivantes ont donc gagné un rang. L'entrée 1706.00883 / ICT-37-FLens-BeliefState.ipynb de la passe 6 (PR #17622) pointait la cellule 17 ; la citation attendue

- **Riechers & Crutchfield 2017** — *Spectral Simplicity of Apparent Complexity, Part II*

est désormais en cellule 18 — vérifié firsthand par énumération du JSON du carnet (cell_index 18, cell_type markdown ; la cellule 17 est le bloc de code results_rrxor_belief = []…, celle que le test cite en échec).

Le registre n'est pas régénéré à la main sur le fond : seul l'index est corrigé, la citation et la correction de la passe 6 restent intactes. La ligne correction porte la trace du décalage (17 → 18, cause, date).

Vérification (sur la branche, avant commit)

Organe Commande Résultat
Check d'attributions (strict) python scripts/check_arxiv_attributions.py --registry arxiv_attributions_registry.yaml --repo-root . --strict --json 13 PASS / 0 FAIL / 0 RENAMED (avant : 12 PASS / 1 FAIL)
Test CI visé python -m pytest scripts/tests/test_check_arxiv_attributions.py -q 15 passed

Le test test_real_registry_lives_against_main_repo est celui qui rougissait dans Scripts Tests (CPU) ; il passe désormais sur l'arbre corrigé.

Portée et suite

  • Diff : 1 fichier, 2 insertions, 2 délétions (arxiv_attributions_registry.yaml).
  • Aucun carnet modifié — donc aucune ré-exécution due (C.2 non concerné), aucun contenu pédagogique touché.
  • Une fois ce fix sur main, #17811 (dont les deux rouges restants — Scripts Tests (CPU) et le PR gate qui l'agrège — sont hérités de la base) devra refaire un update-branch pour rejouer ses jambes contre la base corrigée. Le G-VAR-3 de #17811 est déjà levé (vérifié vert au head bd4097107a68).

See #17811 — le rouge que ce fix débloque (pas de Closes : #17811 se ferme par son merge).

🤖 Generated with Claude Code

… par #17807

#17807 a insere la cellule d'import canonique arc A en tete des carnets de la
serie ICT, decalant d'un rang toutes les cellules suivantes. L'entree
1706.00883 / ICT-37-FLens-BeliefState (passe 6, PR #17622) pointait la cellule
17 ; la citation attendue est desormais en cellule 18 (verifiee firsthand).

Le registre etait donc FAIL sur main, ce qui fait rougir `Scripts Tests (CPU)`
sur toute PR qui refait son update-branch -- et le PR gate avec elle.

Verification : check_arxiv_attributions.py --strict -> 13 PASS / 0 FAIL,
test_check_arxiv_attributions.py -> 15 passed.

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

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #17835 (fix(arxiv,#17622): registre — cell_index 17 -> 18 du renvoi References (décalage causé par #17807)) 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.

Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur main. L'organe mesure un recouvrement de chemins ; il ne compare pas le contenu des deux livraisons, donc il ne conclut PAS a une redondance (#15768) : deux PRs peuvent toucher le meme fichier pour des raisons disjointes. L'arbitrage reste a la lane ou au coordinateur.

@jsboige

jsboige commented Sep 25, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA
pr: 17835
head: eebd4e3
complete: true
body: read
comments-reviewed: 1
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: be9f8cad05b52924a392febee78c84c7d21e07c976d73e960c5bce7add5b973e
diff-files: 1
diff-additions: 2
diff-deletions: 2
checks: latest-wins-green
b0: clear
scope: pass
domain: not-applicable
verdict: READY
[/ADJOINT PREFLIGHT]

Lecture tierce (lane attestante myia-po-2026:CoursIA, ne portant pas cette PR — carrier myia-po-2027:CoursIA) :

  • checks: latest-wins-green — pliage latest-par-nom de la tete eebd4e3 : 16 noms, 0 non-OK. Le PR gate porte un run mort (failure) et un run frais (PASS -- no failing checks) sur le meme sha ; c'est le frais qui fait foi, run mort ignore.
  • b0: clear — scripts/check_unaddressed_nits.py 17835 mesure sans pipe : rc=0, aucun nit non leve, aucun commentaire non evalue.
  • scope: pass — body annonce la reparation du decalage d'index du registre d'attributions arXiv (entree 1706.00883 / ICT-37-FLens-BeliefState.ipynb, cellule 17 -> 18) ; diff = exactement arxiv_attributions_registry.yaml, +2/-2, 1 fichier.
  • domain: not-applicable — registre de citations, aucun gate de domaine (Lean/QC/ML) concernee.

Portee : cette reparation debloque Scripts Tests (CPU) rouge sur main pour toute PR qui rafraichit sa base (5+ PRs en attente).

@myia-ai-01
myia-ai-01 merged commit 1353aee into main Sep 25, 2026
16 of 17 checks passed
myia-ai-01 added a commit that referenced this pull request Sep 27, 2026
… entry count from the guard leg name (#17990)

- scripts-tests.yml: add arxiv_attributions_registry.yaml to both push and
  pull_request paths, so a registry-only PR runs
  test_real_registry_lives_against_main_repo (the #17835 blind spot).
- arxiv-attributions-guard.yml: the leg name said "(7 entrees)" while the
  registry holds 13; the count is removed. isRequired=false measured on #17835
  via GraphQL, so no required context is orphaned.

Co-authored-by: jsboige <jsboige@gmail.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Sep 27, 2026
…OSURE PREFLIGHT] (#17989)

* feat(ledger,#17956): debt_ledger refuse une [OBS] dont l'entite est une PR

Issues et PRs partagent l'espace de numerotation GitHub : une URL
/pull/<N> portant le numero de l'entite prouve que l'entite EST une PR.
Le refus porte le code entity_is_pr -- l'etat d'une PR vit dans son
dossier exact-head, pas dans le ledger issue-debt (colonisation mesuree :
#17921, #17939, #17835, #17940). Grain A, livrable 3/4 (sur 4) ;
livrables restants : verdict CONTAINER, gate check_closure_dossier.

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

* feat(#17956): grain A outillage fermeture d'issues -- CONTAINER + gate dossier

Points 1, 2, 3 et 6 du dispatch #17956 :

- issue_containers.py : predicat partage (partition / EPIC / task-list >= 2
  sous-issues) -- un seul lecteur pour le labeler et la passe de fermeture,
  la divergence entre les deux est le defaut que le dispatch interdit.
- verifier_cleanup.py : verdict CONTAINER avant toute analyse de merge -- un
  conteneur n'est JAMAIS READY (mesure 26/09 : 7 des 29 READY etaient des
  partitions d'audit, 7/7 a tort).
- candidate_delivered.py : verdict container symetrique (exclusion du label,
  retraction si pose), body de l'issue transporte jusqu'a classify pour le
  signal task-list.
- check_closure_dossier.py : gate [CLOSURE PREFLIGHT] cale sur les codes du
  gate PR (0 CLOSE / 3 KEEP / 1 refuse / 2 injoignable) -- lane tierce,
  posteriorite au dernier commentaire non neutre, PRs citees MERGED, aucune
  PR ouverte referencante, fille followup ouverte, --template / --sweep.
- debt_ledger.py : refus d'une [OBS] dont l'entite est une PR (commit
  precedent sur la branche).

Tests : 187 passed sur les 5 suites touchees. Controles live de l'acceptance :
12/12 CONTAINER sur les partitions [Audit #17073] ouvertes ; 8/8 READY
rejoues sur les issues fermees du 26/09 (aucune degradation).

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

* fix(#17989): lire les cles JSON, jamais le texte brut de --jq

Deux defauts bloquants du dossier tiers (c.5849452860, c.5849500517),
meme cause racine : gh --jq .body ecrit du TEXTE BRUT que json.loads
refuse. Le gate de dossier rendait UNKNOWN rc=2 sur tout temoin ;
get_issue_body rendait toujours "" (4908 caracteres lus a la main),
le volet CONTAINER ne voyait jamais une task-list du body ; la troisieme
instance de la classe, get_last_comment_date, rendait toujours None.

- _merged_referring_prs / get_issue_body / get_last_comment_date :
  requeter --json sans --jq, lire la cle en Python.
- --replay : valider post-hoc un temoin historique deja FERME -- l'etat
  OPEN n'est plus exige, le compte-rendu de fermeture du coordinateur
  (mesure a 1-2 s du close) ne perime pas le dossier ; sans le flag le
  gate reste fail-closed.
- Marqueur fermant optionnel quand le dossier finit le commentaire
  (les deux dossiers de production n'en portaient pas) ; sans lui,
  aucune prose n'est ignoree -- une ligne residuelle erre par elle-meme.
- Tests : stubs alignes sur la forme REELLE de gh (plus de JSON quoted
  fictif), capture des ARGS emis (jamais de --jq), rejeu des temoins.

Temoins : 17543/17760 --replay -> CLOSE rc=0 ; 17357 -> REFUSED rc=1 ;
49/49 tests verts.

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

---------

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

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