v0.3.8-pre.006-fix.001

This commit is contained in:
2026-09-03 16:28:13 +02:00
parent 3a38914be7
commit 8130e01b70
11 changed files with 139 additions and 29 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/025-V0_3_8_STORE_DESK.md -->
<!-- version: 12 -->
<!-- version: 13 -->
# Validation v0.3.8 — Store Desk V1 RAW
@@ -512,3 +512,29 @@ Le smoke `cargo tauri dev` de Store Desk démarre aussi correctement ; le journa
- [X] aucune migration, query métier d'inspection, détail RAW ou changement de capability Tauri n'est ajouté en `pre.006`.
Le gate Cargo opérateur de `pre.006` reste à exécuter après application du delta.
## 27. Gate opérateur `pre.006` et ouverture de `pre.006-fix.001`
Le gate opérateur de `0.3.8-pre.6` est fonctionnellement vert : audits Rust/Markdown, `cargo check --workspace`, `cargo clippy --workspace --all-targets`, `ksp-config-lib` (128 unitaires + intégrations), `ksp-store-lib`, `--no-default-features`, Store Desk et les quatre autres Desk apps passent. Le smoke `cargo tauri dev` confirme également le composite `mainnet`, Logging `supertrace`, l'ouverture/health Store, les traces frontend et la fermeture Store bornée.
Il subsiste toutefois un warning Rust récurrent :
```text
warning: unused import: `self::store_runtime::StoreRuntime`
--> crates/ksp-app-store-desk/src/lib.rs
```
Le réexport `StoreRuntime` est requis par la règle de façade crate-root et ne doit pas être supprimé. Le défaut est inverse : le module propriétaire utilise encore le nom nu `StoreRuntime` au lieu de `crate::StoreRuntime`. La revue de conformité étendue de Store Desk relève le même motif pour plusieurs items partagés déjà réexportés : `CommandErrorDto`, `FrontendLogPayloadDto`, `SplashSettings`, `SplashOrderDto`, `StoreStartup` et `StoreRuntime`.
`pre.006-fix.001` applique donc `RUST-IMPORT-009`, `RUST-IMPORT-012` et `RUST-API-004` dans la crate Store Desk :
- [X] tous les items `pub`/`pub(crate)` partagés concernés restent réexportés via `lib.rs` ;
- [X] leurs usages dans leur module propriétaire passent par `crate::Item` ;
- [X] `StoreRuntime` et `StoreStartup` utilisent `crate::StoreRuntime` / `crate::StoreStartup` jusque dans les `impl`, signatures et constructions ;
- [X] les champs DTO partagés utilisent `crate::CommandErrorDto` ;
- [X] le bridge frontend prend `crate::FrontendLogPayloadDto` ;
- [X] les `impl` splash utilisent `crate::SplashSettings` et `crate::SplashOrderDto` ;
- [X] `WINDOW_LABEL_MAIN` et `WINDOW_LABEL_SPLASH`, utilisés exclusivement dans leur module, redeviennent privés au lieu d'être `pub(crate)` sans façade crate-root ;
- [X] un canari `dependency_boundary` verrouille ces chemins et la distinction item partagé / helper local privé.
Aucun composite Config, Store runtime, query, SQL, DTO wire, commande Tauri, frontend, DataTables ou comportement de fermeture n'est modifié.