Skip to content

[EPIC] Consolidation globale du dépôt — parapluie anti-entropie (axes A-F, 2026-09-17) #16473

Description

@jsboige

Mandat user, 2026-09-17 (verbatim)

« J'aimerais que tu crée un nouvel Epic de consolidation globale du dépôt. Les scripts, la doc, et même certains Notebooks se sont éparpillés, certains lakes auraient dû être mutualisés et/ou renommés, les issues de renumérotation et consolidation des Notebooks trainent des pieds, je pense qu'un Epic parapluie ne fera pas de mal pour aider à faire avancer tout ça. La dette technique a de plus en plus de mal à être payée avec un gisement d'issues ouvertes en vol, et je pense qu'à défaut de pouvoir diminuer significativement le nombre d'issues disponibles au picker, augmenter la densité d'issues qui luttent contre l'entropie aidera à compenser celles qui en rajoutent. »

Pourquoi cette Epic et pas une nouvelle vague par axe

Trois Epics chapeau couvrent déjà le périmètre — chacune avec un mandat explicite et un refus d'être remplacée :

Epic chapeau Périmètre Mandat explicite
#5081 — Nommage canonique et parcours des notebooks numérotation, accrétions, noyaux, catalogue notebooks « Cette Epic reste le programme canonique unique de consolidation des noms, numéros, accrétions et parcours. Elle n'est pas remplacée par une nouvelle Epic. »
#4362 — Lean, harmoniser Mathlib, mutualiser les checkouts, regrouper les lakes Lean lakes, Mathlib, anti-prolifération Épique chapeau de l'axe Lean — la mutualisation 15 lakes × 90 Go (#13962/#16034) y est explicitement inscrite
#13737 — Consolidation structurelle 30 périmètres audit repo-wide, V1/V2/V3 sub-issues Épique de fond de la consolidation structurelle

Cette Epic parapluie ne les concurrence pas — elle les coiffe, et assume trois fonctions que les trois chapeau ne portent pas :

  1. Augmenter la densité d'issues qui luttent contre l'entropie. Le user le dit : le pool ouvert grossit, la dette se paie mal, et une partie du stock crée de l'entropie au lieu d'en résorber. Cette Epic rend visibles les issues orphelines (hors chapeau) qui répondent au mandat des chapeau mais n'y sont pas inscrites, et les rattache comme sous-grains — pour que le picker les remonte avec le bon cadrage.
  2. Diagnostiquer pourquoi les issues de consolidation trainent des pieds. Le motif [EPIC] Les body d'Epic ne sont jamais réécrits — 47/51 ignorent leurs propres livraisons #13906 (47/51 Epics ouvertes ont un body périmé) est exactement ce qui produit la stagnation : une issue fille que le chapeau ne mentionne pas devient intrava­ble hors de son contexte, et le picker la saute. Cette Epic rend le diagnostic mesurable.
  3. Forcer la consolidation ≠ archiver à l'échelle du repo. Rappel CLAUDE.md global : « Consolider ≠ Archiver ». Cette Epic vérifie qu'aucune archive (_archive/, .scratch-attic/, _runtime/) ne se crée sans preuve de préservation, et que les fusions (Lean lakes, doublons notebooks, scripts jumeaux) citent leurs numéros de ligne avant de disparaître.

Périmètre — 6 axes complémentaires des chapeau existants

A. Renumérotation notebooks — sous-grains hors #5081

Issue Sujet État
#13753 Renum Infer OPEN
#13757 Renum GenAI Video OPEN
#13770 Renum Search Part3-Advanced OPEN
#14944 Renum GameTheory fermer trou OPEN — gate candidate-delivered à confronter à la livraison réelle
#15289 Renumérotation casse 9 liens catalogue OPEN
#15615 Renum GameTheory (autre tranche) OPEN
#15612 Renum Lean OPEN
#16151 Numérotation 00 vs 01 GenAI/FineTuning OPEN
#13742, #13746, #13748, #13751, #14623 Sub-issues V3 #13737 OPEN — doublonnerait avec celles-ci si non déconflictées

Geste attendu : rattacher nominativement ces issues à #5081 (sous forme de liens Part of #5081 ou inscription au body chapeau), sans dupliquer la doctrine. #5081 reste seul habilité à fixer le canon.

B. Doublons / jumeaux / consolidation notebooks

Issue Sujet État
#16121 detect_solution_leaks doublons FP 9/25 OPEN — defect ratchet
#16040 check_duplicate_notebook_index 224/822 OPEN — ledger
#16111 check_twin_parity BlockingIOError OPEN — defect ratchet
#15962 Doublons instruments audit OPEN
#14624 check_link_label_agreement 32 désaccords OPEN — organe livré via PR #14625, résorber le stock
#16231 Nomenclature notebooks suffixe noyau OPEN
#14032 GameTheory consolider GT-28 et GT-28b OPEN — tranche récente #16179

Geste attendu : ces doublons/twins sont detectés par des ratchets CI ; leur résorption est soit (a) une suppression légitime (deux notebooks vraiment jumeaux), soit (b) une preuve de distinction à porter dans le body d'un notebook. Aucune de ces issues ne doit fermer sur le label seul.

C. Lakes Lean — sous-grains hors #4362

Issue Sujet État
#13962 Junctions NTFS cluster Mathlib (15 lakes, ~90 Go) OPEN — gain espace massif
#16034 Sub-issue #4362 : junctions po-2027 (15 lakes, 90 GB recoverable) OPEN
#16181 Kernel Lean 4 WSL find_lake_root OPEN

Geste attendu : #13962 et #16034 sont déjà rattachés à #4362 (vérifier l'inscription dans le body chapeau #4362). #16181 est une dette infra cross-canonique. Les 3 ensemble gagnent ~90 Go d'espace disque et divisent par ~15 la surface de mise à jour Mathlib.

D. Scripts sprawl & doublons CLI

Issue Sujet État
#3323 Scripts consolidation (CLOSED — résidu MCP ×3, one-shots obsolètes, 777 MB logs scheduling) CLOSED mais résiduel : le closure laisse 3 quasi-doublons kill-MCP et ~777 MB de logs qui ne se reloquent pas
#295 Agent surface convergence : retire scripts and infralink-* command sprawl OPEN
#15289 Renames sécurisés (geste lié, transversal) OPEN

Geste attendu : réouvrir le résidu #3323 en sous-grain nommé (sans rouvrir l'Epic close — créer une sous-EPIC Part of #9535 pour la dépollution scripts), et rattacher #295 comme deuxième sous-grain du même chapeau.

E. Doc sprawl & catalogue

Issue Sujet État
#206 [P3][Docs] Rebrand README, consolidate 150+ markdown files, fix malformed CHANGELOG OPEN — 150+ md, mesure 2026-09
#52 Docs consolidation and repo hygiene (root doc sprawl, nul file, .planning/) OPEN
#9 Doc sprawl checker (organe) OPEN
#14623 Sub-issue V3 #13737 (consolidation structurelle, axe doc) OPEN

Geste attendu : ces 4 sous-grains couvrent l'axe doc + catalogue. #14623 est déjà inscrite à #13737 ; les trois autres doivent l'être — ou être rattachées à #9535 (nettoyage & rangement) si elles concernent des artefacts morts, à #13737 si elles concernent la structure.

F. Fraîcheur des Epics elles-mêmes (#13906)

L'Epic #13906 — « Les body d'Epic ne sont jamais réécrits — 47/51 ignorent leurs propres livraisons » — est directement la cause structurelle de la stagnation que le user invoque. Ses 7 têtes de classe :

Geste attendu : tant que #13906 n'est pas livré (organe scripts/epic_body_staleness.py), cette Epic parapluie est elle-même un risque de plus dans la liste : un body long qui s'écrit aujourd'hui sera périmé dans 30 jours. Le sous-grain F assume l'engagement :

Le body de cette Epic sera réécrit à chaque livraison de #13906 (inscription au sommaire, mise à jour de l'avancement). Pas de réécriture en place — bloc > État mesuré au <date> ajouté en tête, historique préservé (cf. #5081 §Relance 2026-09-10 pour le modèle).

Ce que cette Epic ne fait pas

Acceptance

  1. Cartographie : un audit repo-wide (scripts/audit_consolidation_orphans.py) qui liste les issues orphelines (non rattachées à un chapeau de consolidation) par axe (A-F), avec la preuve (commentaire / See #N / chemin de fichier). Pas un verdict : un tri.
  2. Rattachement : chaque sous-grain listé en §A-F reçoit, dans les 14 jours suivant la création de cette Epic, soit (a) un Part of #<chapeau> + une inscription dans le body chapeau, soit (b) un refus motivé par écrit (pourquoi cette issue n'appartient pas au chapeau). Aucune issue A-F ne reste orpheline sans justification écrite.
  3. Liaison [EPIC] Les body d'Epic ne sont jamais réécrits — 47/51 ignorent leurs propres livraisons #13906 : tracker l'organe scripts/epic_body_staleness.py ; réécrire le présent body à chaque livraison de l'organe (cf. §F). Le critère de mort d'un sous-grain est l'inscription au chapeau, pas sa closure (qui peut être prématurée — leçon fondateur feat(symbolicai,#10759): Lean-19-Sendov-Complex-Analysis (grain 2/2) — Sendov + Phelps-Rodriguez digest T. Tao 2026 #10761, fix(gametheory,#12580): call_llm_provider reel vLLM + cassette rejouable (lift Hermes reserve) #12798, fix(lean-ci,#12330): SocialChoice sorry-gate fail-open grep -> CERTIFIED.txt contract + lean-axiom.yml wiring #12347).
  4. Densité picker vérifiée : mesurer, sur 7 jours après ouverture, que la proportion de grains R1/G-VAR-1 (DEEP de contenu, axe B/C en particulier) monte par rapport aux 7 jours précédents — signal que les orphelins sont devenus actionnables.
  5. Aucun git mv orphelin : aucun déplacement de notebook / script / lake lié à cette Epic ne se fait sans See #<chapeau>-<sub> cité dans le commit et une preuve de préservation (cf. CLAUDE.md global « Consolider ≠ Archiver »).

Lane d'origine et tag

Cette Epic est coordonnateur-agnostique — elle ne réclame aucune lane. Les sous-grains seront piochés par le picker selon les règles habituelles (R5 pool global, R6/R7 variété).

Grain: META/consolidation — lane myia-po-2023:CoursIA-2 — prev: DEEP/notebook-python #16466 (PR #16466 = kernel-drift-guard REPAIR — dernier grain DEEP.CONTENU mergé avant création de cette Epic).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    EPICEpic tracking issue with sub-issues

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions