# Delta 0.0.5-beta.1 — réconciliation intégrée et transition vers 0.1.0 ## Baseline Version attendue avant application : ```text 0.0.5-alpha.9 ``` Le history `history/0.0.5/alpha.9.md` avec statut `PASS` MUST avoir été appliqué, committé et poussé avant ce delta. Version après application : ```text 0.0.5-beta.1 ``` ## Objet Fermer la phase alpha de `0.0.5` par une réconciliation intégrée des décisions réellement matérialisées, puis préparer la transition vers la première baseline réutilisable `0.1.0` sans inventer d'owners, de skeletons ou de releases futures. Cette tranche : - rejoue la classification KSP/Games sur l'état PGR obtenu ; - vérifie que chaque responsabilité nouvelle possède un owner identifiable et que les conventions locales non généralisées restent hors du noyau ; - inscrit durablement le skeleton Tauri contrôlé comme trajectoire `DEFER` dans `ROADMAP.md`, sans numéro de release réservé ; - maintient les trois autres axes discutés pendant `alpha.8` au stade de candidats d'horizon, hors roadmap engagée ; - réconcilie les points d'entrée durables ; - prépare `prompts/006-V0_1_0_START_PROMPT.md` puisque la mission `0.1.0` est suffisamment connue. ## Décision de roadmap La décision `alpha.9` a déjà établi qu'un skeleton Tauri complet ne peut pas être matérialisé proprement avant l'existence d'owners Web suffisants. Ce report est plus qu'une idée : il résulte d'une étude et possède des conditions de sortie explicites. `ROADMAP.md` enregistre donc : ```text (d) skeleton Tauri pour projets contrôlés ``` sans associer cette trajectoire à `0.1.1`, `0.2.0` ou une autre release hypothétique. Les axes suivants restent en revanche hors roadmap tant qu'une revue d'horizon ne les engage pas : - maturation plus large des profils techniques composables ; - projet documentaire/spécification avec `saselang-bible` comme corpus pilote possible ; - audit de généricité de PGR hors développement logiciel. Cette distinction applique directement `300-DOCUMENTATION.md` : une décision de report réelle peut être conservée comme trajectoire différée, tandis qu'un candidat d'horizon ne devient pas automatiquement un engagement macro. ## Réconciliation intégrée L'étude `001-KSP_GAMES_RECONCILIATION.md` reçoit une matrice de sortie `beta.1` qui confirme notamment : ```text prompt versionné OWNED contrats de fichiers/familles OWNED lifecycle inter-release / horizon OWNED profil Rust contrôlé OWNED audits Rust monotâches OWNED profil Tauri 2 OWNED skeleton Tauri complet DEFER Web/Vite/TypeScript/Sass DEFER Android/JNI spécifique LOCAL/DEFER architectures métier KSP/Games LOCAL ``` La présence d'un owner PGR n'impose pas sa sélection à tous les projets. Applicabilité, composition et overrides restent gouvernés par le modèle de profils. ## Prompt 006 `prompts/006-V0_1_0_START_PROMPT.md` prépare la reprise après publication réelle de `v0.0.5`. Il fixe uniquement ce qui est déjà décidé : - baseline autoritaire `pgr-v0.0.5.zip` et rapport post-tag séparé lorsqu'il existe et est `PASS` ; - cible `0.1.0`, première tranche `0.1.0-alpha.1` ; - audit complet de la stable avant extension ; - mission de première baseline réellement réutilisable ; - nécessité de produire/consolider le plan `0.1.0` pendant `alpha.1` ; - revue d'horizon obligatoire avant fermeture ; - skeleton Tauri conservé `DEFER` tant que ses préconditions ne sont pas réellement satisfaites. Le prompt MUST NOT être interprété comme un plan détaillé de `0.1.0` ni comme une promesse de matérialiser tous les candidats d'horizon. ## Documentation durable `README.md` résume désormais les capacités réellement apportées par `0.0.5` sans recopier le plan de release. `docs/000-README.md` expose les deux contrats de validation Rust et le prompt de reprise candidat `006`. Le plan `005` enregistre le résultat de la réconciliation intégrée et conserve les responsabilités `rc.1`, stable et `publish.001` déjà attribuées. ## Hors scope Cette tranche ne : - crée pas de skeleton Tauri `003` ; - crée pas de profil Web placeholder ; - attribue pas de release au travail Tauri différé ; - ajoute pas les trois candidats d'horizon à la roadmap engagée ; - modifie pas `CHANGELOG.md`, réservé à la préparation RC puis à la stable ; - migre pas KSP ou Games ; - change pas les règles Rust/Tauri fermées pendant les alphas. ## Validation opérateur Après application du history `PASS` de `alpha.9`, commit/push de cette tranche, puis application du présent delta : ```bash test "$(cat VERSION)" = '0.0.5-beta.1' test -f history/0.0.5/alpha.9.md test -f deltas/0.0.5/beta.1.md test -f prompts/006-V0_1_0_START_PROMPT.md test ! -e history/0.0.5/beta.1.md grep -A2 '^## Statut$' history/0.0.5/alpha.9.md | grep -Fx 'PASS' grep -Fx '' README.md grep -Fx '' ROADMAP.md grep -Fx '' docs/000-README.md grep -Fx '' docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md grep -Fx '' docs/studies/001-KSP_GAMES_RECONCILIATION.md grep -Fx '' prompts/006-V0_1_0_START_PROMPT.md python3 -B -m unittest discover -s tests -v python3 -B scripts/audit_markdown_headers.py \ README.md RULES.md ROADMAP.md CHANGELOG.md docs deltas history prompts python3 -B scripts/audit_markdown_tables.py \ README.md RULES.md ROADMAP.md CHANGELOG.md docs deltas history prompts python3 -B scripts/audit_markdown_links.py \ README.md RULES.md ROADMAP.md CHANGELOG.md docs deltas history prompts python3 -B - <<'PY' from pathlib import Path import re history = Path("history/0.0.5/alpha.9.md").read_text(encoding="utf-8") assert re.search(r"## Statut\s+PASS\s", history) roadmap = Path("ROADMAP.md").read_text(encoding="utf-8") assert "(d) skeleton Tauri pour projets contrôlés" in roadmap assert "Aucun numéro de release n'est réservé pour ce travail" in roadmap assert "saselang-bible" not in roadmap study = Path("docs/studies/001-KSP_GAMES_RECONCILIATION.md").read_text(encoding="utf-8") for phrase in ( "## Réconciliation intégrée `beta.1`", "skeleton Tauri contrôlé complet", "`DEFER`", "repris dans `ROADMAP.md` sans numéro de release", "Les trois axes plus larges identifiés pendant `alpha.8` restent des **candidats d'horizon**", ): assert phrase in study, phrase plan = Path("docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md").read_text(encoding="utf-8") for phrase in ( "Le `DEFER` du skeleton Tauri contrôlé est suffisamment décidé", "`prompts/006-V0_1_0_START_PROMPT.md` est préparé", "il ne transforme pas le skeleton Tauri différé en obligation de `0.1.0`", ): assert phrase in plan, phrase prompt = Path("prompts/006-V0_1_0_START_PROMPT.md").read_text(encoding="utf-8") for phrase in ( "# Prompt de démarrage 0.1.0 — première baseline réutilisable", "pgr-v0.0.5.zip", "pgr-0.0.5-publish.001-report.md", "Version cible : `0.1.0`. Première tranche attendue : `0.1.0-alpha.1`.", "Le skeleton Tauri contrôlé reste `DEFER`", "Le plan `0.1.0` MUST programmer une revue d'horizon avant la clôture stable.", ): assert phrase in prompt, phrase assert not any(Path("docs/skeletons").glob("003-TAURI*.md")) print("0.0.5 beta.1 integrated reconciliation: clean (owners reconciled, Tauri defer roadmapped, horizon candidates remain uncommitted, prompt 006 prepared)") PY git diff --check git add VERSION README.md ROADMAP.md \ docs/000-README.md \ docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md \ docs/studies/001-KSP_GAMES_RECONCILIATION.md \ prompts/006-V0_1_0_START_PROMPT.md \ deltas/0.0.5/beta.1.md git diff --cached --check git status --short ``` La sortie Git attendue avant ajout du history est exactement : ```text M README.md M ROADMAP.md M VERSION A deltas/0.0.5/beta.1.md M docs/000-README.md M docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md M docs/studies/001-KSP_GAMES_RECONCILIATION.md A prompts/006-V0_1_0_START_PROMPT.md ```