v0.1.4-pre.018-fix.001

This commit is contained in:
2026-08-16 20:34:34 +02:00
parent 035e25cb1f
commit 8f7df2d06e
8 changed files with 164 additions and 48 deletions

View File

@@ -0,0 +1,95 @@
<!-- file: deltas/0.1.4/pre.018-fix.001.md -->
<!-- version: 1 -->
# 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`.