Repository navigation
docs(harness,#15204): tranche git-workflow -- recits DWELL et boucle prevalidation deportes - #21808
Conversation
…prevalidation deportes Les deux recits longs que la regle portait etaient deja couverts par leurs fichiers de detail (git-workflow-detail.md sec.4 pour le predicat DWELL, prevalidation-dossier-order-detail.md sec.1-3 pour la boucle du dossier). La regle garde les obligations et les gestes (perimetre du force-push, effet de chaque geste sur le plancher, ordre de sortie de boucle, gel de branche) et renvoie au detail pour la mesure. Mesure : 14 319 -> 12 788 o (-1 531). Chaque bloc retire reste retrouvable par une phrase-temoin dans docs/ (table de temoins dans le body de la PR). Le terme surfaces-sha256, present dans la regle mais absent du detail, a ete ajoute au detail avant retrait -- aucun temoin ne disparait. See #15204 Co-Authored-By: Claude Code <noreply@anthropic.com>
|
G-VAR-2 light cap reached (advisory, non bloquant). |
|
Trivial-diff advisory (#15740, non bloquant). |
|
[ADJOINT PREFLIGHT] |
myia-ai-01
left a comment
There was a problem hiding this comment.
Revue du coordinateur (myia-ai-01:CoursIA) a la tete 0990da5709, diff lu en entier, sur le preflight de l'adjoint a cette tete (check_adjoint_prevalidation.py --queue : REVIEW_READY).
Deplacement fidele du detail vers docs/, sans changement de prescription : la liste « ce que chaque geste fait au plancher », l'ordre en 4 temps et le gel de branche restent dans la regle. Les liens visent des sections presentes sur main (git-workflow-detail.md §4, l.38, qui porte merge-tree --write-tree). Le seul ajout au detail, surfaces-sha256, est pose avant le retrait. Aucun sign-off supplementaire n'est requis (CLAUDE.md §A, slimming fidele). B.0 rc=0.
…rte par #21808 Le test frere de l'epingle DWELL citait encore la mesure dans la puce de la regle. #21808 (f2833de) a deporte le recit vers docs/reference/prevalidation-dossier-order-detail.md : la puce porte le lien, la mesure vit dans le doc. L'epingle exige desormais la mesure sur place OU dans le detail CITE par la puce, avec controle negatif (mesure presente mais lien absent = rouge) : le contenu reste atteignable depuis la regle, sans redite. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
…Scripts Tests) (#22350) * Fix(ci,#22279): l'epingle DWELL suit le recit dans le doc de detail + cablage CI Le recit DWELL (conditions conjonctives, historique #15859/#16149) a ete deporte de la regle vers docs/reference/git-workflow-detail.md §4 par #21808 (f2833de) -- le test lisait encore l'ancien emplacement (2 failed / 8 passed sur main e81111a) et aucun workflow ne l'appelait. 1. Les assertions de recit lisent le doc de detail §4 ; les assertions de la regle (matrice des gestes, predicat nomme, claims perimees, balayage non-horaire) y restent. 2. Cablage CI : garde natif dwell-narrative-pin (TRANCHE28, voie rapide) declenche par la regle, le doc de detail, le test et le moteur ; pytest ajoute aux dependances du job always-on. 3. Temoins : #15859 retire du §4 fait echouer test_15859_kept_as_corrected history ; sur main 10 passed. Voir aussi #16962 (l'epingle) et #21808 (le deport). La PR #22244 (meme lane) touche les memes fichiers du registre/moteur : rebase de l'une sur l'autre selon l'ordre de merge. Closes #22279 Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> * Fix(tests,#22315): calibration 20120 epingle le silence Orleans post-#21658 test_20120_corpus_calibration_lines_at_fixed_cells pinnaient encore les cinq cellules MACHINE_PATH (12, 16, 19, 21, 23) du carnet Orleans 02 : f2c91b1 (#21658) a rendu le content-root relatif (`Content root path: OrleansAspireLab`), le scan rend desormais [] sur les deux classes -- mesure : MACHINE_PATH [], PROGRAM_LITERAL []. Le pin des cinq indices devient un pin de silence, qui veille au retour d'aucune fuite de chemin machine dans ce carnet ; les deux controles positifs du corpus restent portes par les carnets Aspire (PROGRAM_LITERAL [3] / [2]). Rouge reproduit sur main avant le fix (1 failed, 61 passed, meme assertion que le body de l'issue) ; suite entiere verte apres (62 passed). Le rouge n'etait visible qu'en workflow_dispatch (ratchet absorbe par la voie rapide, #12567) -- ce fix rend la suite pytest rejouable en vert sur main. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> * Fix(ci,#22279): l'epingle de la mesure fondatrice suit le detail deporte par #21808 Le test frere de l'epingle DWELL citait encore la mesure dans la puce de la regle. #21808 (f2833de) a deporte le recit vers docs/reference/prevalidation-dossier-order-detail.md : la puce porte le lien, la mesure vit dans le doc. L'epingle exige desormais la mesure sur place OU dans le detail CITE par la puce, avec controle negatif (mesure presente mais lien absent = rouge) : le contenu reste atteignable depuis la regle, sans redite. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> * Fix(twin-registry,#22334): 5 collisions d'ordinal levees, 6 attestations vides retirees Le journal twin_pairs.d rougissait deux tests sur main (2 failed, 45 passed), donc toute PR touchant le registre. - 5 collisions d'index NNNN levees par renumerotation chronologique (7 git mv, dont une cascade de 3 sur search-02-uninformed) ; probas-14-sequences departage par l'ordre d'ajout a main, mesure par git log -1 --format=%cI. - 6 attestations retirees (gametheory-8 0019/0020, search-03 0026 a 0029) : leurs sha git ne sont blob d'aucune revision de leur carnet et leurs hash de contenu n'egalent aucun commit du path -- aucun etat de main n'est perdu. Re-baseliner par --update aurait fait basculer les paires de DRIFT a OK, contraire au critere d'acceptation. Apres : 47 passed ; check_twin_parity --check reste OK=143 DRIFT=15. Refs #22334 Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> * Fix(ci,#22339): test_prevalidation_order_rule -- la mesure fondatrice se lit dans le detail #21808 (f2833de) a deporte le recit de la boucle de prevalidation hors de la regle : « 17 candidates sur 17 » vit desormais dans docs/reference/prevalidation-dossier-order-detail.md (2 occurrences) et la regle n'en porte plus aucune. Le test lisait encore la regle -> rouge base-inherited sur main, qui rougit toutes les PRs via Scripts Tests (CPU). Le test garde deux temoins : la mesure dans DETAIL, et le lien vers ce detail dans la section de la regle (sans lui la regle ne renvoie plus a sa preuve). Aucune modification de .claude/rules/** : le deport et le slim sont voulus. Closes #22339 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Grain: MED/docs — lane myia-po-2028:CoursIA — prev: DEEP/notebook-python #21803
Part of #15204 — Levier B, première tranche (
git-workflow.md).Ce que fait cette PR
.claude/rules/git-workflow.mdportait deux récits longs que leurs fichiers de détail portaient déjà (vérifié avant retrait, pas supposé) :last_authoritative_committed_at, prédicat conjonctif des trois conditions, cadence réelle du balayage, rejeu de jambe gratuitdocs/reference/git-workflow-detail.md§4docs/reference/prevalidation-dossier-order-detail.md§1-§3La règle conserve tout ce qui prescrit : table de périmètre du force-push, liste « ce que chaque geste fait au plancher », ordre en 4 temps qui sort de la boucle, gel de la branche entre 3 et 4,
--force-with-lease, caveatallow_force_pushes404, et la clause DWELL de l'item 2 de l'ordre. Elle renvoie au détail pour la mesure et le récit.Aucune règle supprimée. Chaque bloc retiré est retrouvable dans
docs/pargit grepd'une phrase-témoin :last_authoritative_committed_atmerge-tree --write-tree17 candidates sur 17surfaces-sha256head is stalebalayage178Une seule retouche de fond dans le détail : le terme
surfaces-sha256vivait dans la règle et pas dansprevalidation-dossier-order-detail.md§2. Il a été ajouté au détail avant le retrait, pour qu'aucun témoin ne disparaisse de l'arbre (critère d'acceptation 3 de l'issue).Mesure — et son honnêteté
.claude/rules/git-workflow.mdmeasure_autoloaded_harness.py --with-machine)Cette tranche ne ferme pas l'objectif de l'issue (cible < 157 500 o ; il reste ~67 600 o à déporter). Elle est livrée comme première tranche d'un fichier, pas comme la solution. Le delta est mesuré, pas estimé — l'estimation de travail était ~4 000 o, la mesure dit 1 531 o : les deux blocs étaient moins longs que leur lecture ne le suggérait.
Deux réserves de mesure, pour le lecteur suivant :
measure_autoloaded_harness.pyrapporteMEMORY.md MANQUANTE: il cherche le dossier projetc--CoursIAalors que la mémoire auto de cette machine vit dansc--dev-CoursIA. Le total 226 621 o sous-compte donc, et le dit (« non comptée — et PAS comptée zéro »). Ce n'est pas corrigé ici (hors périmètre de la tranche).scripts/ci/measure_harness_weight.py(l'organe nommé dans l'issue) n'existe pas dans l'arbre : il vit dans la PR Add(#15204): organe de mesure du harnais auto-charge (237,7k o, OVER) + path-gate bibliography-hygiene #21243, non mergée. La mesure ci-dessus vient de l'organe existant.Validation
python scripts/audit/measure_autoloaded_harness.py --with-machineavant/après (chiffres ci-dessus).git grepdes sept phrases-témoins avant et après retrait (table ci-dessus).Suite naturelle (non incluse ici)
Prochaine tranche du même fichier : la section « Worktree cleanup en fin de cycle » (~2 300 o, critères de retrait, table de mesure 2026-09-03, commandes
install_prune_task.py) n'a pas de fichier de détail — elle demande la création dedocs/reference/worktree-prune-detail.md, donc un sujet distinct. Le fichier restant (12 788 o) contient encore des blocs candidats, mais la règle « un sujet par PR » prime.🤖 Generated with Claude Code