0.0.5-alpha.6.fix.1

This commit is contained in:
2026-09-25 10:19:35 +02:00
parent 0f6a2e21eb
commit 33bf835b7f
8 changed files with 389 additions and 29 deletions

View File

@@ -0,0 +1,102 @@
<!-- file: history/0.0.5/alpha.6.fix.1.md -->
<!-- version: 1 -->
# History 0.0.5-alpha.6.fix.1 — composition Tauri/Rust/frontend
## Statut
FAIL
La gate opérateur de `0.0.5-alpha.6.fix.1` exécutée le `2026-09-25` valide la suite Python globale, les trois audits Markdown et le scope Git attendu, mais le contrôle structurel ciblé du fix échoue encore avant ses assertions : une phrase contenant l'apostrophe de `l'extérieur` est placée dans une chaîne Python délimitée elle-même par des quotes simples, ce qui produit `SyntaxError: unterminated string literal`.
La revue opérateur associée apporte en outre une clarification plus complète du modèle Tauri/Rust attendu. Les règles réellement versionnées dans KSP et Games montrent que plusieurs conventions avaient été sous-estimées : layout Tauri direct sans `src-tauri/`, `frontend/` explicite, `lib.rs` façade, `main.rs` launcher mince, `tauri.rs` centralisant l'assemblage et les wrappers `#[tauri::command]`, séparation du WASM et, dans KSP, contrats frontend TS-RS générés depuis les DTO Rust.
Le statut global est donc `FAIL`. Le fix doit être corrigé sans absorber encore la réconciliation Rust générale ni la future matérialisation d'un skeleton Tauri complet.
## Baseline et version
La tranche part du commit opérateur de `0.0.5-alpha.6` :
```text
0f6a2e2 0.0.5-alpha.6
```
Le push vers `origin/master` a réussi avant l'application de `alpha.6.fix.1`.
La version contrôlée après application du delta est :
```text
0.0.5-alpha.6.fix.1
```
`history/0.0.5/alpha.6.md` est présent avec statut `FAIL`; `deltas/0.0.5/alpha.6.fix.1.md` est présent et `history/0.0.5/alpha.6.fix.1.md` était absent pendant la gate.
## Validation opérateur observée
L'opérateur a fourni les sorties du `2026-09-25` depuis `~/Projects/pgr`, à `09:16:02`–`10:08:50`.
Les contrôles de présence, statut et révision ont réussi. La suite Python globale a exécuté `37` tests, tous réussis :
```text
Ran 37 tests in 0.504s
OK
```
Les audits documentaires affichent :
```text
Markdown header audit: clean (148 file(s))
Markdown table audit: clean (7 table(s), 148 file(s))
Markdown link audit: clean (148 local link(s), 148 file(s))
```
`git diff --check` et `git diff --cached --check` n'ont produit aucun diagnostic.
Le scope Git observé est exactement :
```text
M VERSION
A deltas/0.0.5/alpha.6.fix.1.md
M docs/architecture/003-RULE_PROFILE_MODEL.md
M docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
M docs/rules/700-FRAMEWORKS.md
M docs/rules/710-TAURI.md
M docs/studies/001-KSP_GAMES_RECONCILIATION.md
```
## Échec du contrôle ciblé
Le heredoc contient notamment une chaîne Python simple avec le texte `l'extérieur`. L'apostrophe ferme prématurément la chaîne et produit :
```text
SyntaxError: unterminated string literal (detected at line 10)
```
Le message de succès attendu du contrôle ciblé n'a donc pas été produit. Une gate obligatoire du fix reste en échec.
## Clarification issue de la revue KSP/Games
La relecture des règles et layouts réels confirme :
- les `6` applications Desk KSP et les `2` applications Tauri Games possèdent toutes directement à la racine de leur crate `Cargo.toml`, `build.rs`, `package.json`, `tsconfig.json` et `tauri.conf.json`, ainsi que `src/` et `frontend/`; aucune n'utilise `src-tauri/` ;
- KSP formalise `lib.rs` comme façade, `main.rs` comme launcher mince et `tauri.rs` comme owner des wrappers `#[tauri::command]`; Games reprend la même séparation `lib.rs`/`tauri.rs` ;
- KSP impose pour ses apps Desk les bindings TS-RS générés depuis les DTO Rust comme source de vérité frontend ; Games n'a pas encore ce contrat, ce qui en fait un candidat fort pour la convention stricte des projets contrôlés plutôt qu'un invariant universel de Tauri ;
- Games formalise explicitement que WASM reste une crate distincte de la crate Tauri ;
- les règles de noms de crates et la discipline Rust stricte sont plus larges que Tauri et doivent être traitées dans les tranches Rust suivantes.
## Résultat
`0.0.5-alpha.6.fix.1` est enregistré `FAIL`.
## Transition
Appliquer le présent history puis committer/pousser `0.0.5-alpha.6.fix.1`.
La correction suivante est :
```text
0.0.5-alpha.6.fix.2
```
Elle doit rendre la gate ciblée robuste et compléter le profil Tauri avec les conventions fortement éprouvées qui appartiennent réellement à ce scope, tout en replanifiant séparément les conventions Rust/nomenclature et les audits de style restants.