LifePlay-Revival/Docs/Migration/etat/REF/REF1/REF1-CENTRALISATION.md

77 lines
6.6 KiB
Markdown
Raw Normal View History

# REF1-CENTRALISATION : arborescence cible unique des dossiers de travail
Fiche REF1-SPEC-01 (partie 3/3) | 2026-10-15 | Sonnet · REF1 | Statut : **proposition**. Aucun déplacement fait, aucune règle modifiée. L'utilisateur décide.
**Réserve de preuve.** La fiche REF1-INV-01 (Lower · REF1) n'existait pas à la remise de cette fiche. Les chiffres ci-dessous sont des comptages que j'ai faits moi-même (`ls`, établi) ; le détail par dossier (rôle, date, conformité) reste à croiser avec `REF1-INV-01.md` dès qu'elle sera livrée. Rien ici ne dépend d'elle pour être exact, mais la table « ancien → nouveau » est donc limitée aux zones comptées.
## 1. Constat (établi, comptage du 2026-10-15)
| Lieu | Comptage | Lecture |
|---|---|---|
| `Docs\Migration\etat\` | 35 dossiers + 7 fichiers à la racine | Convention doc 29 : `etat\<projet>\<lot>\` ; les 7 fichiers racine (`INVENTAIRE*.md`, `ETAT-*.md`, `L0_ref427.csv`, `MAPPING*.csv`) sont hors convention |
| `etat\` profondeurs | `OPT` : 5 sous-dossiers dont `BC`, `DOC`, `REFAC` = bases (doc 36 §3) ; `AG` : lots + `brouillons` + `fiches` + fichiers `AG-*.md` à plat | Mélange lots, bases et brouillons |
| `etat\` taille | ≈ 241 504 Ko sur disque (`du -s`, en blocs) ; ST 708 fichiers, REPO 346, U58 300, AG 272, portage55 175, CAM 160, EVAL2 105 | |
| `D:\Game\LifePlay_Backup_5.5\` | 370 dossiers (un par lot, nommage libre : `AMEL1-R10`, `AP7-addon`, `BUD1-claude`…) | Sauvegardes de lots ; pas d'index unique |
| `D:\Game\LifePlay_Build_*` | 25 dossiers (`_5.5_DC4`, `_5.8_COMMUN-5…13`, `_5.8_STE-J5`…) | Builds de test et de référence mélangés |
| `Saved\Logs\portage` (copie 5.8) | 463 entrées | Journaux archivés (règle traces 2026-10-13) |
| `.hyperai\` | `INDEX.md`, `README.md`, `docs`, `runtime`, `scripts`, `state` ; `work\` prévu par AGENTS.md | Espace agent partagé par AGENTS.md ; aucun `work\` à ce jour |
| `Tools\` | ≈ 50 fichiers, noms en deux langues (doc 36 §1) | Hors du périmètre « dossiers de travail » ; géré par règle 4 du doc 36 |
| Racine de `D:\Game\` | ≈ 60 entrées hétérogènes (archives `.zip`, `.rar`, modèles 3D, `U58-essai`…) | Hors projet, non couvert ici |
Établi par ailleurs (docs) : trois conventions de dépôt de livrables coexistent : `etat\sandbox\DC#\` (24, copie 5.5, périmé), `etat\<projet>\<lot>\` (29, en vigueur), `.hyperai\work\<date>-<contexte>\` (AGENTS.md, **écarté** par CLAUDE.md du projet qui donne la priorité à doc 29).
## 2. Principe
Une seule racine d'écriture par famille de contenu, nommée par la charte 36 ; **pas de rétroactivité par défaut** (règle 5 du doc 36). La cible s'applique aux nouveaux lots ; l'existant reste en place, indexé.
## 3. Arborescence cible (proposition)
```
Docs\ ← normatif et durable (journal, registre, README, docs 01-NN, correctifs)
Docs\Migration\etat\ ← TRAVAIL, une seule racine
<PROJET>\<LOT>\<LOT>-<TYPE>-<nn>.md ← fiches et livrables (doc 29 + charte 36)
<PROJET>\<LOT>\<LOT>-TACHES.md ← registre du lot
<PROJET>\<LOT>\<LOT>-TRACES.csv ← résumés à la FIN-LOT (32 §15.12)
BASES\<BASE>\ ← bases durables (36 §2 règle 3) : REF, BC (à terme), ...
REPO\ ← tickets du gardien, NUMEROS, REPO-JOURNAL
BOSS\ ← pilotage de Big Boss
TRACES\ ← TRACES-INDEX.csv
ARCHIVE\ ← anciens dossiers figés (ARCH427, portage55, U58...) : NOUVEAU, optionnel
.hyperai\ ← configuration et état de l'éditeur seulement ; pas de work\ (CLAUDE.md prime)
D:\Game\LifePlay_Backup_5.5\<LOT>\ ← instantanés de lot, nom = nom du lot (inchangé)
D:\Game\LifePlay_Build_<ver>_<LOT>\ ← builds, nom = version + lot (inchangé)
Saved\Logs\portage\ ← journaux archivés (inchangé)
```
Les deux seules créations proposées sont `ARCHIVE\` (facultatif) et la règle explicite « `.hyperai\work\` non utilisé » ; le reste est la mise en écriture d'une convention déjà en vigueur.
## 4. Table ancien → nouveau
| Ancien | Nouveau | Nature | Rétroactif ? |
|---|---|---|---|
| `etat\*` à la racine (7 fichiers) | `etat\BASES\INDEX\` ou `ARCHIVE\` | déplacement de 7 fichiers | non (défaut) |
| `etat\OPT\BC`, `OPT\DOC`, `OPT\REFAC` | `etat\BASES\BC`, `BASES\OPT-DOC`, `BASES\OPT-REFAC` | déplacement de bases | **déjà tranché : « Laisser en place » (36 §3)** ; ne pas rouvrir |
| `etat\AG\brouillons`, `AG\fiches` | `etat\AG\<LOT>\` (lot propriétaire) | rangement interne | non |
| `etat\sandbox`, `etat\anim`, `etat\portage55`, `etat\ARCH427`, `etat\U58`, `etat\post-v1` (archives figées) | `etat\ARCHIVE\<nom>` | déplacement de ≈ 700 fichiers | non (défaut) ; option B |
| `.hyperai\work\…` (futur) | `etat\<PROJET>\<LOT>\` | redirection de la règle AGENTS.md | oui, au premier usage |
| `Backup_5.5\<lot>` 370 dossiers | inchangé | — | — |
| `Build_*` 25 dossiers | inchangé | — | — |
| Nouveaux lots | `etat\<PROJET>\<LOT>\<LOT>-<TYPE>-<nn>.md` | règle de création | **oui, tous** |
## 5. Coût (estimé)
| Option | Contenu | Fichiers touchés | Risque |
|---|---|---|---|
| **A (défaut)** | Adopter la cible pour les nouveaux lots seulement ; publier l'arborescence dans `lp-doc`/`lp-lot` (modification de skills hors de ce lot) | 0 déplacé | Faible : l'existant reste lisible ; les renvois du journal CHG ne cassent pas |
| B | A + regrouper les archives figées sous `etat\ARCHIVE\` | ≈ 700 fichiers sur 6 dossiers (U58 300, portage55 175, sandbox 89, anim 90, ARCH427 23, post-v1 13) | Moyen : renvois du journal, du registre et des CHG vers ces chemins à réécrire ou à laisser pointer ; instantané et trace obligatoires |
| C | B + rangement interne d'`AG`, des fichiers racine et des bases d'OPT | ≈ 1 200 fichiers | Élevé et contraire à « Laisser en place » (36 §3) pour OPT |
| D | Ajouter un index unique `etat\INDEX.md` (dossier → rôle → lot) sans déplacer | 1 fichier | Très faible ; donne la plupart du bénéfice de la centralisation |
## 6. Recommandation (estimé)
**A + D** : règle d'écriture unique pour les nouveaux lots, plus un index de `etat\` qui lie chaque dossier à son rôle. On évite les ≈ 700 à 1 200 déplacements et les renvois cassés, tout en supprimant le « on écrit où l'on veut » pour la suite. B seulement si l'utilisateur veut un `etat\` visuellement propre.
## 7. Garde-fous si un déplacement est décidé
Instantané (`Tools\Snapshot.ps1`) avant ; trace (fiche + CHG) ; déplacement, jamais suppression ; PubCheck à 0 ; renvois des CHG relus avant et après ; gardien pour le commit.