diff --git a/VERSION b/VERSION
index 70c89dd..f47ceec 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.0.5-alpha.8
+0.0.5-alpha.9
diff --git a/deltas/0.0.5/alpha.9.md b/deltas/0.0.5/alpha.9.md
new file mode 100644
index 0000000..55f3660
--- /dev/null
+++ b/deltas/0.0.5/alpha.9.md
@@ -0,0 +1,178 @@
+
+
+
+# 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
+```
diff --git a/docs/000-README.md b/docs/000-README.md
index 6748d2b..a099189 100644
--- a/docs/000-README.md
+++ b/docs/000-README.md
@@ -1,5 +1,5 @@
-
+
# Documentation PGR
@@ -24,6 +24,7 @@ Les templates techniques copiables sous `templates/` restent séparés des instr
- [`plans/005-V0_0_5_RECONCILIATION_PLAN.md`](plans/005-V0_0_5_RECONCILIATION_PLAN.md) — cadrage, classification et trajectoire active de la réconciliation `0.0.5` ;
- [`studies/001-KSP_GAMES_RECONCILIATION.md`](studies/001-KSP_GAMES_RECONCILIATION.md) — inventaire comparatif des baselines KSP/Games et décisions de généralisation, maintien local ou différé.
+- [`studies/002-TAURI_SKELETON_DECISION.md`](studies/002-TAURI_SKELETON_DECISION.md) — décision `alpha.9` sur la maturité du skeleton Tauri contrôlé et ses prérequis Web encore manquants.
- [`templates/004-FILE_FAMILY_CONTRACTS.md`](templates/004-FILE_FAMILY_CONTRACTS.md) — pattern facultatif pour expliciter les responsabilités et règles de modification de familles de fichiers locales lorsque la complexité le justifie.
- [`templates/005-RELEASE_PLAN.md`](templates/005-RELEASE_PLAN.md) — pattern de plan de release avec clôture/transition explicites et revue d'horizon proportionnée.
- [`validation/003-RUST_EXPORT_COMPLETENESS.md`](validation/003-RUST_EXPORT_COMPLETENESS.md) — contrat, provenance et limites de l'audit Rust facultatif de façade crate-root.
diff --git a/docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md b/docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
index 0c116a9..22041d7 100644
--- a/docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
+++ b/docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
@@ -1,5 +1,5 @@
-
+
# Plan 0.0.5 — réconciliation réelle avec KSP et sasedev-games
@@ -126,11 +126,15 @@ La mesure sur l'ensemble des sources `crates/**/*.rs` est propre pour les quatre
Le profil strict des nouvelles baselines contrôlées retient donc les règles mécaniques de lignes vides, séparation exacte des items distincts, modules production/tests, bloc de traits et blocs de réexports. PGR n'automatise pas un ordre global `enum → struct → impl → fn`, ni un tri visible/privé lorsque la structure métier peut être plus informative. Aucun parser Rust général ni audit composite n'est introduit.
-### alpha.9 — décision de skeleton Tauri pour projets contrôlés
+### alpha.9 — décision de skeleton Tauri pour projets contrôlés — DEFER
-Vérifier si le profil Tauri obtenu et les owners Web disponibles permettent une skeleton specification utile pour les projets que l'organisation contrôle. Le candidat à évaluer utilise le host Cargo direct sans `src-tauri/`, `frontend/`, Vite, TypeScript, Sass et Bootstrap, centralise l'assemblage/les commandes dans `tauri.rs`, utilise TS-RS pour les DTO Rust partagés avec le frontend, conserve WASM dans une unité séparée par défaut et privilégie l'ajout explicite des plugins à partir de leur documentation.
+La revue de readiness confirme que le host est suffisamment cadré : `510-RUST_CARGO.md` possède les règles Rust et le packaging, `710-TAURI.md` possède le layout contrôlé, l'exception `lib + bin`, `tauri.rs`, TS-RS à la frontière host/frontend, les plugins/capabilities, les versions produit et les gates d'orchestration Tauri. Les `8` hosts observés confirment également le layout direct sans `src-tauri/`, `frontend/`, Vite et TypeScript.
-Si les profils Web nécessaires ne sont pas encore assez matérialisés pour posséder proprement Vite/TypeScript/Sass/Bootstrap, consigner explicitement le report de ces choix tout en conservant les conventions Tauri déjà prouvées ; ne pas fabriquer un skeleton décoratif ni faire de `710-TAURI.md` un owner Web de substitution.
+En revanche, PGR ne possède encore aucun profil Web/Vite/TypeScript/Sass. Le candidat organisationnel Vite + TypeScript + Sass + Bootstrap ne peut donc pas être instancié sans que le skeleton devienne de fait propriétaire de règles frontend, ce qui contredirait `220-SKELETONS.md` et le modèle de profils. La décision `alpha.9` est donc `DEFER` : aucun skeleton Tauri `003` n'est créé dans `0.0.5`.
+
+Le futur skeleton reste un candidat explicite et devra au minimum composer la fondation de gouvernance, le skeleton Rust/Cargo, le profil Tauri et les owners Web alors disponibles. Il pourra ensuite sélectionner le layout direct, `frontend/`, Vite + TypeScript + Sass, Bootstrap comme baseline de présentation lorsque pertinente, TS-RS pour les DTO Rust partagés, intégration explicite des plugins/capabilities et séparation de WASM par défaut. Ces choix ne deviennent pas des règles Web dans la présente release.
+
+La condition de sortie du `DEFER` est la matérialisation d'owners Web suffisants pour posséder la structure des sources frontend, la chaîne Vite/TypeScript, Sass/CSS, les artefacts de build et leur validation sans duplication normative dans le skeleton. La décision détaillée est enregistrée dans `docs/studies/002-TAURI_SKELETON_DECISION.md`.
### beta.1 — réconciliation intégrée
diff --git a/docs/skeletons/000-README.md b/docs/skeletons/000-README.md
index 69dd392..6b3e5cd 100644
--- a/docs/skeletons/000-README.md
+++ b/docs/skeletons/000-README.md
@@ -1,5 +1,5 @@
-
+
# Index des skeleton specifications PGR
@@ -20,6 +20,10 @@ Une specification peut se composer avec une fondation plus générale, mais la c
- [`001-PROJECT_GOVERNANCE_FOUNDATION.md`](001-PROJECT_GOVERNANCE_FOUNDATION.md) — fondation composable pour établir la gouvernance locale, la version, la documentation minimale, le workflow retenu et sa validation initiale sans imposer d'architecture applicative.
- [`002-RUST_CARGO_WORKSPACE.md`](002-RUST_CARGO_WORKSPACE.md) — specialization composable d'un workspace Rust/Cargo fondée sur `001`, les profils `500 + 510`, les cinq templates Rust/Cargo et une validation réelle de la toolchain.
-Les familles Java/Android, Web, JNI, Tauri et autres domaines sans pièces suffisantes restent différées selon le plan [`../plans/004-V0_0_4_SKELETONS_PLAN.md`](../plans/004-V0_0_4_SKELETONS_PLAN.md).
+Les familles Java/Android, Web, JNI et autres domaines sans pièces suffisantes restent différées tant que leurs owners normatifs et artefacts d'instanciation ne permettent pas une baseline réellement actionnable.
+
+Le skeleton Tauri a fait l'objet d'une décision explicite en `0.0.5-alpha.9` : le host Rust/Tauri est suffisamment cadré par `510` et `710`, mais PGR ne possède pas encore les owners Web/Vite/TypeScript/Sass nécessaires pour matérialiser proprement la stack frontend candidate des projets contrôlés. Aucun `003-TAURI...` n'est donc créé dans `0.0.5`. La décision et ses conditions de sortie sont enregistrées dans [`../studies/002-TAURI_SKELETON_DECISION.md`](../studies/002-TAURI_SKELETON_DECISION.md).
+
+Un futur skeleton Tauri devra composer les owners existants avec les profils Web réellement matérialisés ; il ne devra pas faire du skeleton lui-même le propriétaire des règles Vite, TypeScript, Sass, Bootstrap ou du package manager.
Aucun fichier placeholder ne doit être ajouté pour réserver un skeleton futur.
diff --git a/docs/studies/000-README.md b/docs/studies/000-README.md
index 9b9b992..8083404 100644
--- a/docs/studies/000-README.md
+++ b/docs/studies/000-README.md
@@ -1,5 +1,5 @@
-
+
# Index des études PGR
@@ -10,3 +10,4 @@ Une étude peut comparer des projets sources, des technologies ou plusieurs opti
## Études actives
- [`001-KSP_GAMES_RECONCILIATION.md`](001-KSP_GAMES_RECONCILIATION.md) — première réconciliation explicite de PGR avec les baselines autoritaires fournies de `khadhroony-solana-project` et `sasedev-games`.
+- [`002-TAURI_SKELETON_DECISION.md`](002-TAURI_SKELETON_DECISION.md) — étude de readiness `alpha.9` déterminant si les owners existants suffisent à matérialiser un skeleton Tauri contrôlé sans transférer au skeleton la propriété normative du frontend.
diff --git a/docs/studies/002-TAURI_SKELETON_DECISION.md b/docs/studies/002-TAURI_SKELETON_DECISION.md
new file mode 100644
index 0000000..a97fc9a
--- /dev/null
+++ b/docs/studies/002-TAURI_SKELETON_DECISION.md
@@ -0,0 +1,141 @@
+
+
+
+# Décision de skeleton Tauri pour projets contrôlés
+
+## Objet
+
+Cette étude enregistre la décision `0.0.5-alpha.9` sur la matérialisation d'un skeleton Tauri pour les nouveaux projets que l'organisation contrôle.
+
+Elle ne redéfinit pas les règles Tauri. Leur owner normatif reste [`../rules/710-TAURI.md`](../rules/710-TAURI.md). Le contrat des skeletons reste possédé par [`../rules/220-SKELETONS.md`](../rules/220-SKELETONS.md).
+
+## Corpus et état observé
+
+Le corpus de réconciliation reste celui de `0.0.5` :
+
+```text
+KSP 0.3.16 6 hosts Tauri
+Games 0.3.5 2 hosts Tauri
+```
+
+Les `8` hosts possèdent le même socle structurel :
+
+```text
+Cargo.toml
+build.rs
+package.json
+tsconfig.json
+tauri.conf.json
+vite.config.ts
+capabilities/
+src/lib.rs
+src/main.rs
+src/tauri.rs
+frontend/
+```
+
+Aucun des `8` hosts n'utilise `src-tauri/`. Tous utilisent Vite et TypeScript. Les `6` hosts KSP utilisent en plus Bootstrap et `sass-embedded`, tandis que les `2` POC Games ne constituent pas une preuve suffisante pour imposer ces deux choix au profil Tauri universel.
+
+KSP apporte également l'usage éprouvé de TS-RS pour les structures Rust partagées avec le frontend. Cette frontière est déjà cadrée par `710-TAURI.md` pour les projets contrôlés.
+
+Ces observations qualifient un **candidat de skeleton organisationnel** ; elles ne suffisent pas à créer des règles Web générales.
+
+## Owners déjà suffisants
+
+Les responsabilités suivantes ont un owner PGR matérialisé :
+
+- gouvernance et composition des skeletons : `200`, `210`, `220` ;
+- Rust/Cargo et skeleton Rust : `510` + `002-RUST_CARGO_WORKSPACE.md` ;
+- plateformes déjà matérialisées lorsqu'elles s'appliquent, notamment Android : `610` ;
+- host Tauri, capabilities, plugins, hooks, version produit et frontière Rust/frontend : `710`.
+
+La partie native du candidat n'a donc pas besoin d'un nouveau propriétaire caché dans le skeleton.
+
+## Owner manquant
+
+PGR `0.0.5` ne possède aucun profil Web dédié pour :
+
+- organisation des sources frontend ;
+- TypeScript comme langage frontend ;
+- Vite comme bundler/dev server ;
+- Sass/CSS et ownership des sorties générées ;
+- framework CSS généraliste tel que Bootstrap ;
+- validation Web proportionnée et artefacts de build correspondants.
+
+Créer immédiatement un skeleton qui configure ces éléments ferait du skeleton le propriétaire normatif implicite de la stack Web. Ce serait contraire au principe suivant : un skeleton sélectionne et compose des owners ; il ne remplace pas les owners manquants.
+
+## Vérification externe Tauri 2
+
+La documentation Tauri 2 courante confirme deux points utiles mais ne comble pas le manque d'owner Web :
+
+- `create-tauri-app` fournit plusieurs choix frontend et Tauri peut aussi être ajouté manuellement à un frontend existant ; le layout standard `src-tauri/` est donc un scaffold supporté, pas une obligation conceptuelle pour les projets PGR contrôlés ;
+- les documentations de plugins décrivent aussi l'installation explicite des dépendances Cargo, l'initialisation Rust, les bindings JavaScript lorsque nécessaires et les permissions/capabilities, ce qui reste compatible avec la convention PGR d'intégration explicite.
+
+Références vérifiées le `2026-09-25` :
+
+-
+-
+-
+-
+
+## Décision
+
+Décision `alpha.9` :
+
+```text
+DEFER
+```
+
+PGR `0.0.5` **ne crée pas** de skeleton Tauri `003`.
+
+Le report est intentionnel : le profil Tauri est suffisamment mûr, mais le skeleton complet ne peut pas encore être instancié sans absorber prématurément les responsabilités Web.
+
+Ce `DEFER` ne remet pas en cause les conventions Tauri déjà normalisées dans `710-TAURI.md` et ne réouvre pas les décisions `alpha.6` à `alpha.8`.
+
+## Candidat conservé
+
+Lorsque les owners Web seront suffisants, le skeleton candidat pour une nouvelle baseline contrôlée devra réévaluer puis, si toujours justifié, composer :
+
+```text
+001-PROJECT_GOVERNANCE_FOUNDATION
++ 002-RUST_CARGO_WORKSPACE
++ profil Tauri 710
++ profils Web réellement applicables
+```
+
+Le candidat organisationnel conserve les choix suivants sans les promouvoir aujourd'hui en règles Web :
+
+- host Cargo direct sans `src-tauri/` ajouté uniquement pour reproduire le scaffold standard ;
+- `frontend/` pour les sources Web ;
+- Vite + TypeScript ;
+- Sass pour la chaîne de styles ;
+- Bootstrap comme baseline de présentation lorsqu'un framework CSS généraliste est utile ;
+- TS-RS pour les DTO Rust possédés par le host et partagés avec TypeScript ;
+- `tauri.rs` comme owner de l'assemblage et des wrappers `#[tauri::command]` ;
+- ajout explicite et revu des plugins, dépendances frontend et capabilities minimales ;
+- WASM dans une unité séparée par défaut ;
+- politique de versions classifiée `CANONICAL` / `MIRROR-EXACT` / `MIRROR-STABLE` selon les owners concernés.
+
+## Conditions de sortie du report
+
+Un futur plan MAY promouvoir ce candidat lorsqu'il existe au minimum des owners suffisants pour :
+
+1. TypeScript et conventions Web contrôlées ;
+2. Vite et ownership des commandes/dev server/build outputs ;
+3. Sass/CSS et statut des artefacts générés ;
+4. validation frontend indépendante de la validation Tauri ;
+5. choix Bootstrap ou alternative clairement classifié comme décision de skeleton plutôt que règle Tauri.
+
+Le futur travail devra alors réexaminer le corpus courant au lieu de supposer que les versions ou outils observés dans KSP/Games restent les bons choix.
+
+## Hors scope
+
+Cette décision ne :
+
+- crée pas de profil Web placeholder ;
+- réserve pas un numéro de release futur ;
+- transforme pas Bootstrap en dépendance Tauri ;
+- impose pas npm plutôt qu'un autre package manager ;
+- intègre pas WASM dans le host ;
+- migre KSP ou Games vers PGR ;
+- modifie pas les règles Tauri déjà stabilisées.