# Delta 0.0.5-alpha.9 — décision de skeleton Tauri contrôlé ## Baseline et version Baseline attendue : commit opérateur complet de `0.0.5-alpha.8`, réalisé après application de `history/0.0.5/alpha.8.md` avec statut `PASS`. Version après application : ```text 0.0.5-alpha.9 ``` ## Mission Décider si les owners PGR réellement matérialisés permettent de créer un skeleton Tauri actionnable pour les projets contrôlés sans transformer ce skeleton en propriétaire implicite de règles Web encore absentes. ## Scope REPLACE : ```text VERSION docs/000-README.md docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md docs/skeletons/000-README.md docs/studies/000-README.md ``` ADD : ```text deltas/0.0.5/alpha.9.md docs/studies/002-TAURI_SKELETON_DECISION.md ``` DELETE : aucun. Aucun fichier `docs/skeletons/003-TAURI*.md` n'est créé. ## Décision Résultat : ```text DEFER ``` Le host Tauri est suffisamment cadré par les owners existants : Rust/Cargo, Tauri, plateformes applicables et règles générales de skeleton. La partie frontend candidate ne l'est pas encore : PGR ne possède aucun profil Web/Vite/TypeScript/Sass. Créer maintenant le skeleton obligerait donc sa specification à posséder de fait la structure et la validation Web, alors qu'un skeleton doit composer des owners et non compenser leur absence. ## Candidat conservé La décision ne rejette pas le skeleton organisationnel. Elle conserve comme hypothèse à réévaluer lorsque les owners Web existeront : ```text host Cargo direct + frontend/ + Vite + TypeScript + Sass + Bootstrap lorsque pertinent + TS-RS pour les DTO Rust partagés + tauri.rs comme owner Tauri + plugins/capabilities explicitement intégrés + WASM séparé par défaut ``` Aucune de ces lignes ne crée dans `0.0.5` un owner Web qui n'existe pas encore. ## Sources et vérification La décision repose d'abord sur les baselines KSP `0.3.16` et Games `0.3.5` déjà autoritaires pour la réconciliation. La préparation a également vérifié la documentation Tauri 2 courante concernant la flexibilité du frontend, le scaffold `src-tauri/`, l'initialisation manuelle et l'installation explicite des plugins/capabilities. L'étude détaillée est `docs/studies/002-TAURI_SKELETON_DECISION.md`. ## Hors scope Cette tranche ne : - crée pas un skeleton décoratif ; - matérialise pas les futurs profils Web ; - modifie pas `710-TAURI.md` ; - choisit pas un package manager universel ; - modifie pas les règles Rust fermées par `alpha.7/alpha.8` ; - réserve pas une release pour le futur skeleton. ## Validation opérateur Après application du history `PASS` de `alpha.8`, commit/push de cette tranche, puis application du présent delta : ```bash test "$(cat VERSION)" = '0.0.5-alpha.9' test -f history/0.0.5/alpha.8.md test -f deltas/0.0.5/alpha.9.md test -f docs/studies/002-TAURI_SKELETON_DECISION.md test ! -e docs/skeletons/003-TAURI.md test ! -e docs/skeletons/003-TAURI_CONTROLLED_PROJECT.md test ! -e history/0.0.5/alpha.9.md grep -A2 '^## Statut$' history/0.0.5/alpha.8.md | grep -Fx 'PASS' grep -Fx '' docs/000-README.md grep -Fx '' docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md grep -Fx '' docs/skeletons/000-README.md grep -Fx '' docs/studies/000-README.md grep -Fx '' docs/studies/002-TAURI_SKELETON_DECISION.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.8.md").read_text(encoding="utf-8") assert re.search(r"## Statut\s+PASS\s", history) study = Path("docs/studies/002-TAURI_SKELETON_DECISION.md").read_text(encoding="utf-8") for phrase in ( "Décision `alpha.9` :", "DEFER", "Aucun des `8` hosts n'utilise `src-tauri/`.", "PGR `0.0.5` **ne crée pas** de skeleton Tauri `003`.", "PGR `0.0.5` ne possède aucun profil Web dédié", "001-PROJECT_GOVERNANCE_FOUNDATION", "002-RUST_CARGO_WORKSPACE", "Bootstrap comme baseline de présentation lorsqu'un framework CSS généraliste est utile", ): assert phrase in study, phrase index = Path("docs/skeletons/000-README.md").read_text(encoding="utf-8") assert "Aucun `003-TAURI...` n'est donc créé dans `0.0.5`." in index assert "profils Web réellement matérialisés" in index plan = Path("docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md").read_text(encoding="utf-8") assert "### alpha.9 — décision de skeleton Tauri pour projets contrôlés — DEFER" in plan assert "aucun skeleton Tauri `003` n'est créé dans `0.0.5`" in plan assert "### beta.1 — réconciliation intégrée" in plan assert not any(Path("docs/skeletons").glob("003-TAURI*.md")) print("0.0.5 alpha.9 Tauri skeleton decision: clean (host ready, Web owners missing, decorative skeleton rejected, exit conditions recorded)") PY git diff --check git add VERSION \ docs/000-README.md \ docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md \ docs/skeletons/000-README.md \ docs/studies/000-README.md \ docs/studies/002-TAURI_SKELETON_DECISION.md \ deltas/0.0.5/alpha.9.md git diff --cached --check git status --short ``` La sortie Git attendue avant ajout du history est exactement : ```text M VERSION A deltas/0.0.5/alpha.9.md M docs/000-README.md M docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md M docs/skeletons/000-README.md M docs/studies/000-README.md A docs/studies/002-TAURI_SKELETON_DECISION.md ```