0.0.5-alpha.9

This commit is contained in:
2026-09-25 17:59:25 +02:00
parent c331da5114
commit 9f596f30b2
7 changed files with 338 additions and 9 deletions

178
deltas/0.0.5/alpha.9.md Normal file
View File

@@ -0,0 +1,178 @@
<!-- file: deltas/0.0.5/alpha.9.md -->
<!-- version: 1 -->
# 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 '<!-- version: 15 -->' docs/000-README.md
grep -Fx '<!-- version: 12 -->' docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
grep -Fx '<!-- version: 4 -->' docs/skeletons/000-README.md
grep -Fx '<!-- version: 2 -->' docs/studies/000-README.md
grep -Fx '<!-- version: 1 -->' 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
```