# Delta `0.1.4-pre.018-fix.001` — validation frontend/Tauri et conformité Clippy ## Base `0.1.4-pre.018` a été appliquée et le parcours fonctionnel du registre d'éditeurs spécialisés est validé. La validation a toutefois révélé deux défauts de tranche : - `cargo clippy --workspace --all-targets` échoue sur quatre closures du nouveau test `desktop_contract.rs` à cause de la règle workspace `clippy::implicit-return` ; - `npm run check` lance inutilement `vite build`, alors que le build frontend de production appartient déjà à `cargo tauri build` via `beforeBuildCommand = npm run build`. Le build Tauri a également été exécuté trop tôt dans la séquence de validation. La politique KSP est clarifiée : **`cargo tauri build` est la dernière opération**, après tous les contrôles Rust, le type-check frontend et le parcours fonctionnel `tauri dev`. ## Corrections ### Clippy Les closures de `tests/desktop_contract.rs` utilisent désormais des `return` explicites conformément aux règles Rust KSP. Aucun `#[allow(...)]` n'est ajouté. ### Contrôle frontend `package.json` définit désormais : ```text npm run check -> tsc --noEmit ``` Le script `build` reste : ```text npm run build -> tsc && vite build ``` et demeure appelé exclusivement par le hook Tauri de build dans le cycle normal. Le test de contrat desktop vérifie explicitement que : - `beforeBuildCommand` reste `npm run build` ; - `build` contient `tsc` + `vite build` ; - `check` vaut exactement `tsc --noEmit` et ne produit donc aucun bundle. ### Ordre de validation La règle normative **KSP-APP-034** formalise cette politique pour toutes les applications Tauri KSP. La documentation courante fixe l'ordre suivant : 1. `cargo fmt --all` ; 2. `cargo check --workspace` ; 3. `cargo clippy --workspace --all-targets` ; 4. tests Rust ciblés/workspace selon la tranche ; 5. `npm run check` (`tsc --noEmit` uniquement) ; 6. `cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json` et parcours fonctionnel ; 7. **en dernier seulement**, `cargo tauri build -c crates/ksp-app-config-desk/tauri.conf.json`. Le build Tauri déclenche lui-même le build frontend de production ; aucun `vite build` standalone n'est requis. `docs/rules/RULES_KSP.md` est mis à jour dans ce fix afin que cette règle ne dépende plus du seul plan `0.1.4`. ## Version technique ```text workspace.package.version = 0.1.4-pre.18.fix.1 ``` ## Validation attendue Depuis la racine : ```bash cargo fmt --all cargo check --workspace cargo clippy --workspace --all-targets cargo test -p ksp-app-config-desk cargo test -p ksp-config-lib cargo test -p ksp-logging-lib ``` Puis : ```bash cd crates/ksp-app-config-desk npm run check cd ../.. cargo tauri dev -c crates/ksp-app-config-desk/tauri.conf.json ``` Le parcours fonctionnel du registre spécialisé a déjà été validé sur `pre.018` ; un smoke test suffit après application du fix. Après validation de **tout ce qui précède**, terminer par : ```bash cargo tauri build -c crates/ksp-app-config-desk/tauri.conf.json ``` ## Suite Après validation de ce fix, `pre.018` peut être clôturée et `0.1.4-pre.019` peut commencer comme tranche finale de clôture de `0.1.4`.