Repository navigation
Conversation
…ard sur docs/ 60 blobs .md CRLF sur 588 sous docs/ sur origin/main (2026-11-04), tous attr/ vide : aucun CRLF revendique. L'attribut rend la garde aveuglante sur la classe ; la renormalisation des 60 fichiers part en PR de fournee separee. Test de cablage : test_gitattributes_carries_docs_md_eol_rule. Au passage : encoding=utf-8 sur les 6 appels subprocess pre-existants du fichier (exige par le hook check-subprocess-encoding des l'edition). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
Avertissements consultatifsTrivial-diff advisory (#15740, non bloquant). G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
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 G-VAR-2 light cap reached (advisory, non bloquant). Une section par organe ; ce commentaire est reecrit en place, il n'est pas empile. |
Path-collision (organ #13359/#13615)Cette PR #24724 (
|
Grain: LIGHT/guard — lane myia-po-2027:CoursIA — prev: MED/guard #24703
Volet 1 sur 2 : l'attribut + son câblage (la fournée de renormalisation part en PR séparée)
docs/**/*.md text eol=lfdans.gitattributes(à la racine du dépôt, pas sous.github/). Ajouter l'attribut EST le câblage :eol-blob-guard(scripts/ci/check_eol_blobs.py, enregistrée bloquante dansfast_lane_registry.pyTRANCHE19) lit les attributs à l'exécution — sans règle sousdocs/, la garde ne voyait que les blobs déjà soustext/lfet restait structurellement aveugle sur toutdocs/.Mesures avant/après (exigées par l'issue)
.mdCRLF sousdocs/sur origin/main (b1e8a04, mesuré 2026-11-04)git ls-files --eol -- docs | grep -cE 'i/crlf.*\.md$')eol=crlfou-text) sousdocs/docs/README.mddepuis origin/main (sans règle,core.autocrlf=false)git diff --cached --stat= 1060 lignes)Contrôle positif (« un garde qu'on n'a jamais vu rougir n'est pas un garde »)
Sur la branche, blob CRLF planté sous le nouvel attribut (
git hash-object -w --no-filters+git update-index --cacheinfo, même technique que le test d'intégrationtest_main_mixed_blob_flagged_rc1) sur un fichier dedocs/archive/ledgers-reviews/— la garde rend rc=1 et nomme la remédiation :Contrôle négatif sur la branche propre : rc=0. Couverture du glob vérifiée par
git check-attr text eolaux profondeurs 0 / 2 / 3 (docs/README.md,docs/reference/…,docs/archive/ledgers-reviews/…) :text: set, eol: lfpartout —**matche la profondeur arbitraire, même correction de glob que #14570 pourMyIA.AI.Notebooks.État transitoire assumé (motif du volet 2)
Après merge, les 60 blobs CRLF existants sous
docs/passent sous attributtext eol=lf: une PR qui en touche un rougit sureol-blob-guard, avec pour remédiationgit add --renormalize <path>— la fonction-forçage voulue. Les PRs qui ne les touchent pas restent vertes (la garde ne voit que les fichiers du diff). Volet 2 = PR de fournée séparée :git add --renormalizesur les 60.md, acceptationgit ls-files --eol -- docs | grep -cE 'i/crlf.*\.md$'→ 0. Une PR par classe, comme demandé au dispatch : le diff de câblage reste lisible, la fournée porte les 60 renormalisations.Test de câblage
test_gitattributes_carries_docs_md_eol_rule(scripts/tests/test_check_eol_blobs.py) : la disparition de la lignedocs/**/*.md text eol=lfde.gitattributesfait rougir la suite. 16/16 tests verts.Rider mécanique du pre-commit : le fichier de test entrant dans le diff a surfacé 6 appels
subprocess.run(..., text=True)préexistants sansencoding=— corrigés parencoding="utf-8", errors="replace"(recette exacte du hookcheck-subprocess-encoding). Aucun changement de logique.Aucun carnet touché.
See #23547 — le volet 2 (fournée) reste à livrer, l'issue ne se ferme pas ici.
🤖 Generated with Claude Code