Files
pgr/history/0.0.5/alpha.6.fix.1.md

4.4 KiB
Raw Permalink Blame History

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 :

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 :

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 :

Ran 37 tests in 0.504s

OK

Les audits documentaires affichent :

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 :

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 :

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 :

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.