0.0.5-alpha.6.fix.2
This commit is contained in:
167
deltas/0.0.5/alpha.6.fix.2.md
Normal file
167
deltas/0.0.5/alpha.6.fix.2.md
Normal file
@@ -0,0 +1,167 @@
|
||||
<!-- file: deltas/0.0.5/alpha.6.fix.2.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.0.5-alpha.6.fix.2 — convention Tauri contrôlée et gate robuste
|
||||
|
||||
## Baseline et version
|
||||
|
||||
Baseline attendue : commit opérateur complet de `0.0.5-alpha.6.fix.1`, réalisé après application de `history/0.0.5/alpha.6.fix.1.md` avec statut `FAIL`.
|
||||
|
||||
Version avant application :
|
||||
|
||||
```text
|
||||
0.0.5-alpha.6.fix.1
|
||||
```
|
||||
|
||||
Version après application :
|
||||
|
||||
```text
|
||||
0.0.5-alpha.6.fix.2
|
||||
```
|
||||
|
||||
## Cause du fix
|
||||
|
||||
`alpha.6.fix.1` conserve une gate Python invalide : une phrase contenant `l'extérieur` est placée dans une chaîne simple et son apostrophe provoque encore `SyntaxError: unterminated string literal`.
|
||||
|
||||
La revue opérateur demande en parallèle de confronter le profil non seulement aux configurations Tauri mais aux règles complètes KSP/Games. Cette seconde passe montre qu'une convention de projet contrôlé plus riche est déjà éprouvée et doit être distinguée du contrat Tauri universel.
|
||||
|
||||
## Scope
|
||||
|
||||
REPLACE :
|
||||
|
||||
```text
|
||||
VERSION
|
||||
docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
|
||||
docs/rules/710-TAURI.md
|
||||
docs/studies/001-KSP_GAMES_RECONCILIATION.md
|
||||
```
|
||||
|
||||
ADD :
|
||||
|
||||
```text
|
||||
deltas/0.0.5/alpha.6.fix.2.md
|
||||
```
|
||||
|
||||
DELETE : aucun.
|
||||
|
||||
## Décisions
|
||||
|
||||
Le fix établit pour les nouveaux projets Tauri contrôlés une convention forte mais adaptable :
|
||||
|
||||
- host Cargo direct, sans `src-tauri/` ajouté par réflexe ;
|
||||
- fichiers Tauri/frontend principaux à la racine de la crate et sources Rust sous `src/` ;
|
||||
- frontend versionné sous `frontend/` ;
|
||||
- `lib.rs` comme façade, `main.rs` comme launcher mince et `tauri.rs` comme owner de l'assemblage et des wrappers `#[tauri::command]` ;
|
||||
- modules cohérents par fenêtre/responsabilité et modules communs pour les helpers réellement partagés ;
|
||||
- TS-RS obligatoire dans le profil strict lorsque des DTO/enum/struct Rust possédés par le host sont partagés avec un frontend TypeScript, sauf incompatibilité documentée ;
|
||||
- bindings générés reconstruisibles et non modifiés manuellement ;
|
||||
- intégration explicite des plugins préférée à une commande de commodité opaque ;
|
||||
- WASM séparé du host Tauri par défaut.
|
||||
|
||||
Vite, TypeScript, Sass et Bootstrap restent le candidat de stack/skeleton pour les projets contrôlés ; ils ne deviennent pas des invariants universels du framework Tauri tant que leurs owners Web ne sont pas matérialisés.
|
||||
|
||||
## Replanification
|
||||
|
||||
La seconde lecture des règles KSP/Games montre que `alpha.7` serait trop large si elle mélangeait conventions sémantiques, nomenclature et tous les audits de formatage. Le forecast devient :
|
||||
|
||||
```text
|
||||
alpha.7 profil Rust strict + chemins + nomenclature des crates
|
||||
alpha.8 formatage Rust structurel + audits monotâches
|
||||
alpha.9 décision de skeleton Tauri pour projets contrôlés
|
||||
beta.1 réconciliation intégrée
|
||||
```
|
||||
|
||||
KSP est utilisé comme référence stricte ; Games sert à identifier ce qui doit rester `SHOULD`, sélectionnable ou project-specific.
|
||||
|
||||
## Validation opérateur
|
||||
|
||||
Après application du history `FAIL` de `alpha.6.fix.1`, commit/push de cette tranche, puis application du présent fix :
|
||||
|
||||
```bash
|
||||
test "$(cat VERSION)" = '0.0.5-alpha.6.fix.2'
|
||||
test -f history/0.0.5/alpha.6.fix.1.md
|
||||
test -f deltas/0.0.5/alpha.6.fix.2.md
|
||||
test ! -e history/0.0.5/alpha.6.fix.2.md
|
||||
|
||||
grep -A2 '^## Statut$' history/0.0.5/alpha.6.fix.1.md | grep -Fx 'FAIL'
|
||||
grep -Fx '<!-- version: 3 -->' docs/rules/710-TAURI.md
|
||||
grep -Fx '<!-- version: 6 -->' docs/studies/001-KSP_GAMES_RECONCILIATION.md
|
||||
grep -Fx '<!-- version: 7 -->' docs/plans/005-V0_0_5_RECONCILIATION_PLAN.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.6.fix.1.md").read_text(encoding="utf-8")
|
||||
assert re.search(r"## Statut\s+FAIL\s", history)
|
||||
|
||||
tauri = Path("docs/rules/710-TAURI.md").read_text(encoding="utf-8")
|
||||
for phrase in (
|
||||
"## Convention renforcée pour les projets contrôlés",
|
||||
"sans couche `src-tauri/` ajoutée uniquement pour reproduire `create-tauri-app`",
|
||||
"`src/tauri.rs` SHOULD posséder l'assemblage Tauri et les wrappers `#[tauri::command]`",
|
||||
"partagés avec le frontend MUST utiliser TS-RS comme source de génération",
|
||||
"WASM reste normalement une unité séparée de la crate Tauri",
|
||||
):
|
||||
assert phrase in tauri, phrase
|
||||
|
||||
study = Path("docs/studies/001-KSP_GAMES_RECONCILIATION.md").read_text(encoding="utf-8")
|
||||
for phrase in (
|
||||
"Commun aux `8` hosts Tauri observés",
|
||||
"aucun ne possède `src-tauri/`",
|
||||
"KSP plus strict mais réutilisable",
|
||||
"Nomenclature des crates",
|
||||
):
|
||||
assert phrase in study, phrase
|
||||
|
||||
plan = Path("docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md").read_text(encoding="utf-8")
|
||||
for phrase in (
|
||||
"### alpha.7 — profil Rust strict, chemins et nomenclature explicite",
|
||||
"### alpha.8 — formatage Rust structurel et audits monotâches",
|
||||
"### alpha.9 — décision de skeleton Tauri pour projets contrôlés",
|
||||
):
|
||||
assert phrase in plan, phrase
|
||||
|
||||
print("0.0.5 alpha.6.fix.2 Tauri convention audit: clean (8 hosts reconciled, strict controlled layout separated from universal framework)")
|
||||
PY
|
||||
|
||||
git diff --check
|
||||
|
||||
git add VERSION \
|
||||
docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md \
|
||||
docs/rules/710-TAURI.md \
|
||||
docs/studies/001-KSP_GAMES_RECONCILIATION.md \
|
||||
deltas/0.0.5/alpha.6.fix.2.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.6.fix.2.md
|
||||
M docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
|
||||
M docs/rules/710-TAURI.md
|
||||
M docs/studies/001-KSP_GAMES_RECONCILIATION.md
|
||||
```
|
||||
|
||||
## Transition
|
||||
|
||||
### PASS
|
||||
|
||||
Créer/appliquer `history/0.0.5/alpha.6.fix.2.md`, committer/pousser le fix, puis poursuivre avec `alpha.7`.
|
||||
|
||||
### FAIL
|
||||
|
||||
Rester dans `0.0.5-alpha.6.fix.M`. Ne pas commencer la réconciliation Rust tant que la convention Tauri et sa gate ne sont pas fermées proprement.
|
||||
Reference in New Issue
Block a user