LifePlay-Revival/Docs/Migration/etat/ETAT-INVENTAIRE-PROPOSITION.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

21 KiB
Raw Blame History

ETAT-INVENTAIRE-PROPOSITION — réorganisation de Docs\Migration\etat\ par projet / lot

Fiche ETAT-T1 — Niveau N1 — Modèle prévu lp-inventory | utilisé Sonnet 5.5 (identifiant claude-sonnet-5-5, non vérifiable depuis l'agent) — Agent lp-inventory — Skills lp-paths, lp-doc, sk-protocol (+ sk-recount)

Date : 2026-10-09. Lecture seule partout sauf ce livrable. Aucun déplacement, renommage, suppression, commande git. Lot U7 ouvert : etat/U58/U7/ exclu de tout plan. Racine de travail : R5 = D:\Game\LifePlay-master 5.5\Docs\Migration\etat ; copie 5.8 : R8 = D:\Game\LifePlay-master 5.8\Docs\Migration\etat. Preuve : « établi » = sortie de commande rejouable (commande donnée) ; « estimé » = déduit (raisonnement donné) ; « incertain » = à trancher.

1. Comptes (établi)

Commandes (Git Bash, depuis R5) et sorties brutes :

Quoi Commande Résultat
Fichiers à la racine find . -maxdepth 1 -type f | wc -l 288
Dossiers à la racine find . -maxdepth 1 -mindepth 1 -type d | wc -l 9
Fichiers, tout l'arbre find . -type f | wc -l 537
Dossiers sous la racine (récursif) find . -mindepth 1 -type d | wc -l 59 (60 avec la racine)
Taille du -sh etat 76 Mo
Suivi git git ls-files Docs/Migration/etat | wc -l ; git check-ignore -v 0 suivi ; ignoré par .gitignore:74 /Docs/Migration/etat/
Copie de secours ls D:\Game\LifePlay_Backup_5.5\etat existe (mentionnée README ; contenu non comparé, incertain)

Par dossier de premier niveau (for d in */; do find $d -type f \| wc -l; done) : sandbox 70, U58 122, VQ 12, PUB2 11, L4-CX-B02_essai1_rejete 10, PROP 9, SK 6, commit_plan 5, PUB1 4 = 249. Contrôle : 288 + 249 = 537 (confirmé). Détail : sandbox = DC0 3, DC1 5, DC2 6, DC3 6, DC4 10, S0 2, S1 4, S2 3, S3 5, S4 3, S5 3, S6 1, S7 4, S8 1, SB0 1, SB1 4, SB2 6, SB4 3 (somme 70). U58 = UA 8, U0 7, U1 8, U2 7, U3 8, U4 23, U5 9, U6 16, U7 36 (somme 122). VQ = VQ0..VQ5 (2+3+3+2+1+1 = 12). Types à la racine : 273 .txt, 14 .csv, 1 .md (find . -maxdepth 1 -type f ! -name '*.txt' liste 15 non-txt : 14 csv + COMMIT-CART.md).

Copie 5.8 (R8) : 316 fichiers à la racine, 455 au total, 40 sous-dossiers (find, mêmes commandes). Mêmes 9 dossiers ; R8\U58 = 12 fichiers (contre 122 en 5.5) ; sandbox 70, etc. Différence de racine (diff <(ls R5) <(ls R8)) : 4 fichiers seulement en 5.5 (AP7 ×2 du 08/10 soir, U1 ×2) ; 32 seulement en 5.8 (AP7 ×3 du 08/10, U2..U7 : *_Build_*, *_BuildLog_*, *_LPTestStringCompat_*, U5_*, dont 7 U7_* écrits par Tools\Build.ps1 pendant U7). 316 = 288 − 4 + 32 (confirmé). Proposition : ne pas fusionner R8 avec R5, ne pas le déplacer tant que U7 est ouvert.

2. Classement et projets proposés

Noms de projet (justification) :

  • portage55/ : lots L0–L7 du portage 4.27 → 5.5 ; docs 04 (lots L0..L7), 05 (CX-B/CX-C), 07 (architecture), journal. Nom cohérent avec l'exemple de la demande.
  • anim/ : AP1–AP7, doc 20 « Chaîne d'animations » (la demande donne etat/anim/AP5/).
  • sandbox/ : existant, S0–S8, SB0–SB4, DC0–DC4 ; docs 21, 22, 23, 24. Y ajouter PairCol (doc 21 le cite) ; DOC-MOD relève du doc 23 → sandbox/DOC-MOD (ou modding/, à décider).
  • U58/ : existant ; docs 27, 28.
  • VQ/ : existant ; docs 25, 26.
  • SK/ : existant ; doc 28 § 5 (lot SK).
  • publication/ (nouveau) : PUB1, PUB2, commit_plan, COMMIT-CART ; doc 27 (règles PUB1/PUB2, ligne 67), mémoire lifeplay-github-publication. Aucun CHG propre (commits git 6f7155a, 2cf416c, bfc6c3a, 32fe84f).
  • post-v1/ (nouveau) : correctifs isolés hors portage initial sans doc NN dédié : PawnGlobal, PawnDyn, PROP, STUDIO-EST. Estimé : à défaut de doc, rattachement via Journal ; Docs/Migration/correctifs/ existe déjà (patchs P01–P06), donc éviter ce nom.

Tableau projet → lot → doc NN → CHG → dossier cible → nb fichiers

Doc « J » = Journal seul. CHG = colonne « Lot » de Journal_Modifications.md (commande : awk -F'|' '/^\| CHG-/{print $2,$4}' Journal_Modifications.md). « racine » = fichiers à déplacer depuis la racine de R5.

Projet Lot (préfixe) Doc NN CHG Dossier cible Fichiers
portage55 L0 02, 03, 04 001–006 portage55/L0/ 8 (7 csv L0_* + L0_ref427.csv ; voir § 4)
portage55 L1 04, 05 007–010 portage55/L1/ 2
portage55 L2 04, 05 011–013 portage55/L2/ 1
portage55 L4-CX-B01 04, 05 018 portage55/L4-CX-B01/ 7
portage55 L4-CX-B02 essai 1 (dossier existant) 05 019–020 portage/L4-CX-B02/essai1_rejete/ (renommer en portage55/L4-CX-B02/essai1_rejete/) 10 (dossier)
portage55 L4-CX-B02b 05 022 portage55/L4-CX-B02b/ 10
portage55 L4-CX-B03 05 023 portage55/L4-CX-B03/ 5
portage55 L4-CX-B04 05 024 portage55/L4-CX-B04/ 10
portage55 L4-CX-B07 05 035 portage55/L4-CX-B07/ 12
portage55 L4-CX-B08 05 029 portage55/L4-CX-B08/ 4
portage55 L5-diag 04, 05 027–030 (lot L5) portage55/L5-diag/ 21
portage55 L6e (+ L6e-CX-B09, B09b, B09c) 04 032, 033 portage55/L6e/ (sous-préfixes conservés dans les noms) 17 (2 + 11 + 3 + 1)
portage55 L6f 04 034 portage55/L6f/ 13
portage55 L7a 04, 05, 07 036 portage55/L7a/ 8
portage55 L7b 04, 05 037–039 portage55/L7b/ 6
portage55 L7d 04, 07 050 portage55/L7d/ 9
portage55 L7h 04, 07 044 portage55/L7h/ 8
portage55 L7i (+ L7i_CX-B12_assets.txt) 04, 05, 07 040–043 portage55/L7i/ 19
portage55 L7j 04, 05, 07 052–054 portage55/L7j/ 4
portage55 L7l 04, 05, 07 053–057 portage55/L7l/ 2
anim AP2 20 206 anim/AP2/ 2
anim AP3 20 207 anim/AP3/ 5
anim AP4 20 208 anim/AP4/ 7
anim AP5 (+ AP5_Room_Dailies_CDO.txt) 20 209 anim/AP5/ 18
anim AP6 20 210–211 anim/AP6/ 5
anim AP7 20 (23, 28 le citent) 221–224 anim/AP7/ 50
sandbox DC2 (racine) 24 235 sandbox/DC2/ (dossier existant, 6 fichiers) +4
sandbox DC3 (racine) 24 236 sandbox/DC3/ (existant, 6) +1
sandbox PairCol 21 (§ lots S4, LPPairCollisionTest) 122–139 sandbox/PairCol/ 10
sandbox DOC-MOD 23 225–227 sandbox/DOC-MOD/ (ou modding/DOC-MOD/) 4
sandbox S0–S8, SB0–SB4, DC0–DC4 (déjà rangés) 21, 22, 24 212–220 ; 228–232 ; 233–236, 245 inchangé sandbox/<lot>/ 70 (existants)
post-v1 PawnGlobal J seul 144 post-v1/PawnGlobal/ 3
post-v1 PawnDyn J seul 145 post-v1/PawnDyn/ 4
post-v1 PROP (dossier existant) J, Registre (ERR-043) 244 post-v1/PROP/ (ou inchangé : 5 citations Docs) 9 (dossier)
post-v1 STUDIO-EST aucun (voir § 3) aucun post-v1/STUDIO-EST/ 6
publication PUB1 (dossier existant) 27 (l. 67) aucun publication/PUB1/ 4 (dossier)
publication PUB2 (dossier existant) 27 (l. 67) aucun publication/PUB2/ 11 (dossier)
publication commit_plan (dossier) + COMMIT-CART.md aucun aucun publication/commit_plan/ 5 + 1
U58 UA, U0–U6 (existants) 27, 28 248 ; 249–250 ; 251 (U1) inchangé U58/<lot>/ 86
U58 U7 (EN COURS) 27, 28 — ne pas toucher U58/U7/ 36
U58 U1 (racine : U1_LPAuditBlueprintCalls_*) 27, 28 251 U58/U1/ (dossier existant, 8) +2
VQ VQ0–VQ5 (existants) 25, 26 237–240, 241–242 (VQ-fix) ; VQ1/VQ2 : pas de ligne propre dans la colonne Lot inchangé VQ/<lot>/ 12
SK SK-ARBRE, SK-T1.. (existant) 28 § 5 aucun libellé « SK » dans la colonne Lot (249 cite les fiches etat/) inchangé SK/ 6

Contrôle de somme des fichiers racine à déplacer : portage55 (8+2+1+7+10+5+10+12+4+21+17+13+8+6+9+8+19+4+2 = 166) ; anim (2+5+7+18+5+50 = 87) ; sandbox racine (4+1+10+4 = 19) ; post-v1 (3+4+6 = 13) ; publication (COMMIT-CART 1) ; U58 (2). Total 166 + 87 + 19 + 13 + 1 + 2 = 288 (égal au compte racine, confirmé). Dossiers existants à ne pas éclater : 9, dont 1 (L4-CX-B02_essai1_rejete) à rattacher à portage55/L4-CX-B02/.

Commande de classement rejouable (compte par lot, racine) : find . -maxdepth 1 -type f | sed 's|./||' | sed -E 's/^(L[0-9][a-z]?(-CX-B[0-9]+[a-z]?|-diag)?|L6e-CX-B09[bc]?|AP[0-9]|DC[0-9]|DOC-MOD|PairCol|PawnDyn|PawnGlobal|STUDIO-EST|U1|COMMIT-CART)[_.-].*/\1/; s/^L7i_CX-B12.*/L7i/' | sort | uniq -c Sortie (lot=n) : AP2=2 AP3=5 AP4=7 AP5=18 AP6=5 AP7=50 COMMIT-CART=1 DC2=4 DC3=1 DOC-MOD=4 L0=8 L1=2 L2=1 L4-CX-B01=7 L4-CX-B02b=10 L4-CX-B03=5 L4-CX-B04=10 L4-CX-B07=12 L4-CX-B08=4 L5-diag=21 L6e=2 L6e-CX-B09=11 L6e-CX-B09b=3 L6e-CX-B09c=1 L6f=13 L7a=8 L7b=6 L7d=9 L7h=8 L7i=19 L7j=4 L7l=2 PairCol=10 PawnDyn=4 PawnGlobal=3 STUDIO-EST=6 U1=2 (somme 288).

Remarques : les préfixes cités dans la fiche (DATA, UI, SKIN, O7, ERR, H1–H3, L3, L6a, L7c/e/g/k, AP1) n'ont aucun fichier à la racine (ls \| grep -cE '^(DATA\|UI\|SKIN\|O7\|ERR\|H[123]\|L3\|L6a\|L7c\|L7e\|L7g\|L7k\|AP1)' → 0). Les « résumés *_Build_* » ne sont présents à la racine de R5 que sous forme AP5/AP6/AP7_Build_* (13) ; ceux de U2–U7 sont dans R8.

3. Orphelins et inconnus

Aucun fichier de la racine ni de sous-dossier n'est sans rattachement (288/288 classés). Éléments au rattachement fragile :

Élément Fichiers Problème Rattachement proposé (estimé)
STUDIO-EST_LPDumpFunction_20261007-0925..0930* 6 ni CHG ni doc NN (grep STUDIO dans Docs\Migration\*.md : 0 ligne propre) ; dumps CharGen du 2026-10-07 09:26, lot STUDIO-EST post-v1/STUDIO-EST/ ; à confirmer par l'utilisateur (entre doc 07 « studio » et 20)
COMMIT-CART.md, commit_plan/ (5) 6 fiches CP-T1/T3 du 2026-10-07 ; aucune citation dans les docs NN ni le Journal publication/ (estimé : plan de commits par phase avant PUB1/PUB2)
PUB1/, PUB2/ 15 sans CHG ; une seule citation (doc 27, l. 67) publication/
PawnGlobal_*, PawnDyn_* 7 CHG-144/145 seulement, aucun doc NN post-v1/
AP5_Room_Dailies_CDO.txt 1 seul fichier AP sans horodatage anim/AP5/
L4-CX-B02_essai1_rejete/ 10 essai annulé (CHG-019 « annulé par Restore ») ; nom de dossier cité 1 fois (Journal) portage55/L4-CX-B02/essai1_rejete/
Journal vs. U2–U6 — README dit « CHG-001 à CHG-251 » ; U2–U6 clos selon la mémoire, mais aucune CHG > 251 dans le Journal du dépôt 5.5 (dernière : U1, 251) à vérifier : CHG U2–U6 peut-être seulement dans la copie 5.8 (R8/Journal 5.8 : 66 citations etat/ contre 65, signe d'une entrée de plus). Incertain.

4. Références cassables (établi, chiffrées)

Motif : etat[/\\]+[A-Za-z0-9_.<>$%{}()*-]+ (grep -rhoE, ici P). Chaque cellule = nombre d'occurrences ; « sous-dossier » = cible déjà dans un dossier (sandbox, VQ, U58, PROP, PUB1/2, SK, commit_plan) ; « racine » = cible fichier ou motif à la racine ou gabarit <lot>.

Corpus Fichiers citant Occurrences sous-dossier racine
R5\..\*.md Docs 5.5 (hors etat) 13 140 (112 lignes) 90 50
Docs 5.8 (hors etat) 13 141 91 50
Mémoire ...\memory\ 6 9 7 2 (gabarits etat\<Lot>_..., etat/<projet>)
Skills addon LifePlay-Sandbox\Tools\claude\skills 9 23 14 9 (gabarits)
Skills %USERPROFILE%\.claude\skills 0 0 0 0
Tools\*.ps1 5.5 4 5 0 5
Tools\*.ps1 5.8 4 7 0 7
Addon Tools (*.ps1, *.py, hors skills) 0 0 — — (seul etat.json d'AnimPipeline.ps1, sans rapport)
Code 5.5 (Source, Plugins\*.h/.cpp, Config) 4 4 3 (VQ ×2, sandbox/S5) 1 (Source\LifePlay\LPModDailies.h:5 cite etat/L6f_dump_Person.txt)
Addon (Plugins\*.h/.cpp 12, Docs 7, README.md 1) — 20 20 (sandbox/SB1, SB2, S1, S3) 0

Commandes : grep -rcE "$P" <chemin> [--exclude-dir=etat] (par fichier) et grep -rhoE "$P" ... \| wc -l (occurrences) ; partage sous-dossier/racine : sed -E 's/etat[\/\\]+//' | awk sur le premier segment. Écart non élucidé : le détail par fichier Docs racine donne 51 (02:1, 03:2, 04:1, 09:1, Journal:46) contre 50 par le partage par segment ; la différence d'une unité tient au traitement d'un jeton, à retrancher en rejouant (incertain, impact nul sur la décision).

Citations par nom exact d'un fichier de la racine (sans préfixe etat/) : grep -rhoFf rootfiles.txt Docs\Migration (hors etat) Source ... → 53 occurrences, 51 noms distincts : lots L4 19, L7i 4, L7b 4, L7a 3, L7d 3, L6f 3 (dont LPModDailies.h), AP5 5, AP6 2, AP7 2 (dont 28_Synthese...md:185), L1 2, L5 2, L6e 2, L0 1. Elles se superposent aux 50 citations « racine » du tableau (Journal en grande majorité : 46 lignes).

Ce qu'un déplacement des 288 fichiers casserait, par nature :

  1. Journal (46 occurrences racine, 65 au total) et docs 02/03/04/09 : chemins historiques (preuves de CHG). Ne pas réécrire (le Journal est une trace) : parade = table de correspondance.
  2. Scripts à chemin dur (cassent à l'exécution) : Tools\CheckIntegrity.ps1:25 lit Docs\Migration\etat\L0_ref427.csv (5.5 seulement ; 5.8 sans CheckIntegrity dans la liste citante). Rupture immédiate de -Ref427.
  3. Scripts qui écrivent à la racine par défaut (créeraient de nouveau le désordre) : RunCommandlet.ps1 (5.5 :28, 5.8 :36 : Docs\Migration\etat\$name.txt) ; Build.ps1 5.8 (:52 ${Lot}_BuildLog_, :61 ${Lot}_Build_ ; 5.5 n'a pas de Build.ps1, ls Tools) ; ReimportCorrectif.ps1 (5.5 :34 $etat, écritures :48 _dump_, :62 _dryrun, :70 _application, :80 _diff) ; exemple d'aide AssetHeaders.ps1:13 (etat\headers_BPs.csv, doc seulement).
  4. ReimportCorrectif.ps1 : Remove-Item (Join-Path $etat "${Id}_<Commandlet>_*.txt") (5.5 :50, :64, :71) : nettoyage par motif à la racine ; si le script écrit ailleurs sans adapter ces motifs, les résumés de commandlet s'accumuleraient (risque, pas rupture).
  5. Skills et mémoire (gabarits, 11 occurrences / 9 fichiers) : lp-build:31, lp-commandlets:22, lp-validate:50 (nom de sortie etat\<lot>_...), lp-doc (2), lp-lot (2 dont :48), lp-paths:33,43, memory\lifeplay-build-pitfalls.md:15, modele-sequencage.md:123. lp-paths et lp-lot disent déjà etat\<projet>\<lot>\ pour les livrables ; seuls les résumés auto de commandlet (<Lot>_<Commandlet>_<horodatage>.txt) restent annoncés à la racine.
  6. Code : un seul commentaire cassé (LPModDailies.h:5). Les 19 commentaires sandbox//VQ/ ne bougent pas si ces dossiers restent en place (recommandé).
  7. Copie 5.8 : mêmes docs (141) ; R8 continue d'être alimentée par Build.ps1 à la racine pendant U7.

Parade proposée

  1. Table de correspondance etat/MAPPING.csv (ancien → nouveau, une ligne par fichier + une ligne par motif L5-diag_dump55_*), et la même table résumée par préfixe dans le document d'inventaire (§ 5). Le Journal et les docs restent intacts ; le lecteur applique la table. Alternative non retenue : réécrire 46 lignes du Journal (perte de traçabilité).
  2. Mise à jour des scripts (hors portée de cette fiche) : CheckIntegrity.ps1:25 → etat\portage55\L0\L0_ref427.csv ; RunCommandlet.ps1, Build.ps1, ReimportCorrectif.ps1 : ajouter une fonction commune qui déduit le dossier du préfixe de lot (^AP\d → anim\<lot>, ^L\d → portage55\<lot>, ^U\d → U58\<lot>, etc.) ou un paramètre -EtatSub, créée si absente ; adapter les Remove-Item aux nouveaux chemins. À faire en lot propre (deux copies, 5.8 en dernier, après U7), avec test à blanc (-DryRun si présent, sinon commandlet de test sur un lot jetable).
  3. Skills/mémoire : remplacer dans 7 skills et 2 mémoires les gabarits etat\<Lot>_<Commandlet>_... par etat\<projet>\<lot>\... ; skills dans l'addon (commit addon puis pin, comme pour lp-*).
  4. Code : corriger le seul commentaire LPModDailies.h:5 dans un lot de code, ou le laisser (commentaire).
  5. Pas de jonctions/liens individuels (288) : refusés, fragiles sous Windows et hors git.

5. Plan de déplacement proposé (étapes ; rien n'est exécuté)

Contrainte de mémoire : mv seulement vers LifePlay_Backup_5.5\<lot> avec chemin rapporté, rm interdit. En conséquence, copier vers la nouvelle structure puis déplacer les originaux vers D:\Game\LifePlay_Backup_5.5\etat_reorg_<date>\ (équivaut à un déplacement tout en respectant la règle) ; décision utilisateur requise sur ce mode (ou autorisation d'un Move-Item interne).

  1. Décisions utilisateur : noms de projets (§ 2), sort de PROP/PUB1/PUB2 (rangés à plat ou sous post-v1/publication), nom du document d'inventaire, mode copie+archive.
  2. Instantané : robocopy/copie de R5 vers D:\Game\LifePlay_Backup_5.5\etat_reorg_<date>\avant\ ; manifeste manifest.csv (chemin, taille, SHA256 : Get-ChildItem -Recurse -File | Get-FileHash) ; attendu 537 lignes. Même chose pour R8 (316 + 139 = 455), U7 exclu des déplacements mais inclus dans l'instantané.
  3. Ouvrir un lot (lp-lot) avec entrée CHG dans le Journal (retour arrière = restauration du manifeste).
  4. Générer MAPPING.csv à blanc (script en lecture seule) : ancien chemin → nouveau chemin ; contrôles : 288 lignes racine, aucun doublon de cible, aucune cible dans U58\U7\.
  5. Copier par projet, dans l'ordre de risque croissant : anim (87), publication (16 dont les dossiers PUB), post-v1 (13), sandbox racine (19), portage55 (166 + 10 de l'essai 1), U58\U1 (2). Après chaque projet : recompte (find <cible> -type f \| wc -l) et hachage contre le manifeste.
  6. Adapter les scripts (parade 2) et les 7 skills / 2 mémoires (parade 3), tester sur un lot jetable ; ne pas toucher à U58\U7\ ni aux U7_* de la racine 5.8.
  7. Recompter : 537 fichiers au total en 5.5, racine vide de fichiers (hors README/MAPPING/inventaire), 0 fichier hors manifeste, grep des chemins cassés (§ 4) : le compte « racine » des citations doit être couvert par MAPPING.csv à 100 %.
  8. Archiver les originaux (mouvement vers etat_reorg_<date>\avant\ déjà copié, jamais de suppression) ; mettre à jour README.md (ligne etat/), lp-paths, lp-lot.
  9. Après clôture de U7 (porte G-U7) : refaire les étapes 1–7 pour U58\U7 (36 fichiers) et pour R8 (316 racine), avec le même MAPPING, ou laisser R8 telle quelle (alimentée par Build.ps1) ; décision utilisateur. Ne pas fusionner R8 dans R5.

6. Squelette du futur document d'inventaire (etat/README.md ou etat/INVENTAIRE.md : choix de l'utilisateur)

Recommandation (estimée) : etat/INVENTAIRE.md, car etat/ est hors git et README.md est ambigu avec Docs\Migration\README.md.

# INVENTAIRE — etat/ (preuves locales, hors dépôt)
Fiche <Id> — Niveau — Modèle prévu | utilisé — Agent — Skills        (en-tête sk-protocol)
Date de relevé : <date> ; commande de dénombrement : <find ...> ; compte brut : <n fichiers, m dossiers>
Règle : etat/<projet>/<lot>/ ; fichiers nommés <lot>_<sujet>[_<horodatage>].<ext> ; rien à la racine.
## 1. Projets (un par ligne)
| Projet | Dossier | Doc NN | Journal (CHG) | Registre (ERR) | Statut du lot | Fichiers |
## 2. Lots
| Projet | Lot | Dossier | Doc NN § | CHG | Date | Fichiers | Sauvegarde (Backup_5.5\<lot>) |
## 3. Table de correspondance ancien → nouveau (préfixe → dossier ; détail : MAPPING.csv)
| Ancien motif (racine) | Nouveau dossier | Citations connues (Docs/Journal/skills/scripts) |
## 4. Conventions des scripts (RunCommandlet, Build, ReimportCorrectif) : dossier par défaut, paramètre -EtatSub
## 5. Orphelins et rattachements à confirmer
## 6. Copies : R8 (5.8) — politique (non fusionnée), copie de secours LifePlay_Backup_5.5\etat
## 7. Historique des réorganisations (date, CHG, manifeste, SHA du manifeste)

Compte rendu sk-protocol / sk-recount

  • Recomptes croisés : (1) 537 = 288 + 249 (racine + somme des dossiers) ; (2) 288 = somme des préfixes (uniq -c) = somme du tableau § 2 (166 + 87 + 19 + 13 + 1 + 2) ; (3) R8 316 = 288 − 4 + 32 ; (4) sandbox 70 et U58 122 recomptés par sous-dossier.
  • Un écart d'une unité non élucidé : 50 contre 51 citations racine dans les docs 5.5 (méthodes différentes), sans effet sur la parade.
  • Incertitudes : contenu exact de la copie LifePlay_Backup_5.5\etat non comparé ; CHG des lots U2–U6 non trouvées dans le Journal 5.5 ; rattachement de STUDIO-EST, COMMIT-CART/commit_plan, PawnDyn/PawnGlobal estimé faute de doc NN ; modèle utilisé non vérifiable.
  • Écarts à la fiche : aucun interdit franchi ; fichier écrit : ce livrable seul. Fichiers temporaires dans le dossier scratchpad de la session (rootfiles.txt), hors projet.

Suite : l'orchestrateur doit trancher les décisions de l'étape 0 (noms de projets, mode copie+archive, nom du document d'inventaire), puis ouvrir un lot ETAT-T2 (script de génération de MAPPING.csv à blanc, lecture seule), état : inventaire et proposition livrés, rien déplacé.