v0.3.8-pre.002-fix.001

This commit is contained in:
2026-09-03 11:31:41 +02:00
parent 6a1892792c
commit 74890a6268
8 changed files with 243 additions and 22 deletions

View File

@@ -0,0 +1,169 @@
<!-- file: deltas/0.3.8/pre.002-fix.001.md -->
<!-- version: 1 -->
# Delta `0.3.8-pre.002-fix.001` — conformité Vite Desk et Clippy du scaffold Store Desk
## Base requise
Base directe attendue :
```text
0.3.8-pre.002
workspace.package.version = 0.3.8-pre.2
```
La livraison est :
```text
0.3.8-pre.002-fix.001
workspace.package.version = 0.3.8-pre.2.fix.1
commit = v0.3.8-pre.002-fix.001
tag = aucun
```
Le fix modifie du code/configuration consommé par le build ; la version Cargo est donc synchronisée conformément à `VER-ID-007` et `VER-ID-010`.
## Objectif
Corriger deux défauts réels du scaffold `pre.002` sans ouvrir le périmètre de `pre.003` :
1. `crates/ksp-app-store-desk/vite.config.ts` nétait pas strictement conforme au gabarit des autres `ksp-app-*-desk` ;
2. le gate opérateur a révélé deux erreurs `clippy::implicit-return` dans les tests dintégration du nouveau Desk.
Aucune capability Store, requête métier, pagination server-side ou dépendance backend nest introduite.
## Diagnostic Vite
La comparaison avec `ksp-app-config-desk`, `ksp-app-wallet-desk`, `ksp-app-solprices-desk` et `ksp-app-backfill-desk` a identifié trois divergences non justifiées :
```text
server.hmr au lieu de server.ws
options SCSS quietDeps/silenceDeprecations/verbose absentes
otherassets/[name][hash][extname] au lieu de otherassets/[name][extname]
```
Le fichier Store Desk est réaligné sur le template Backfill Desk. Après normalisation :
```text
nom fichier/app Store -> Backfill
ports 1438/1439 -> 1436/1437
header version 2 -> 1
```
les deux fichiers doivent être byte-for-byte identiques.
Un test dintégration matérialise désormais ce canari.
## Correction Clippy et warnings de tests
Le retour opérateur a montré :
```text
cargo check --workspace: PASS
cargo clippy --workspace --all-targets: FAIL
```
avec exactement deux erreurs `clippy::implicit-return` dans les helpers `parse_json` de :
```text
crates/ksp-app-store-desk/tests/desktop_contract.rs
crates/ksp-app-store-desk/tests/desktop_security.rs
```
Les retours sont rendus explicites avec `return ...;`.
Les quatre crates de tests dintégration reçoivent aussi une documentation crate-level afin de supprimer les warnings `missing_docs` observés :
```text
dependency_boundary.rs
desktop_contract.rs
desktop_security.rs
public_api.rs
```
## Invariants préservés
```text
DataTables reste lunique owner visuel de la pagination
aucun pager Store parallèle
serverSide Store réel reste différé
aucun Store ouvert par le scaffold
aucun SQL dans lapplication
aucune dépendance ksp-store-* ajoutée
aucune dépendance Transport/Job ajoutée
ports Store Desk = 1438/1439
```
Le fix ne change pas le sizing ni le périmètre fonctionnel de `pre.002`.
## Fichiers ajoutés
```text
deltas/0.3.8/pre.002-fix.001.md
```
## Fichiers modifiés
```text
Cargo.toml
crates/ksp-app-store-desk/vite.config.ts
crates/ksp-app-store-desk/tests/dependency_boundary.rs
crates/ksp-app-store-desk/tests/desktop_contract.rs
crates/ksp-app-store-desk/tests/desktop_security.rs
crates/ksp-app-store-desk/tests/public_api.rs
docs/validation/025-V0_3_8_STORE_DESK.md
```
## Fichiers supprimés
```text
aucun
```
## Validations exécutées dans lenvironnement dassemblage
```text
python3 scripts/audit_rust_workspace_rules.py
-> General Rust rule audit: clean
-> Rust export completeness audit: 0 candidate(s)
-> KSP workspace Rust rule audit: clean
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas
-> Markdown table audit: clean (314 table(s), 693 file(s))
```
Contrôles complémentaires :
```text
Vite template normalization equality against the common Desk pattern: PASS
Store Desk test lint regression audit: PASS
fix scope audit: 1 ajout, 7 modifications, 0 suppression
archive integrity: unzip -t
```
## Validations non exécutées dans lenvironnement dassemblage
`cargo` nest pas disponible dans cet environnement. Le gate opérateur requis après application est :
```bash
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-app-store-desk
cargo tree -p ksp-app-store-desk --edges normal
cargo tree -p ksp-app-store-desk -e features
```
`pre.003` ne doit commencer quaprès fermeture de ce gate.
## Décisions prises
- `vite.config.ts` du Store Desk suit strictement le template KSP commun ; seules lidentité, les ports et le header de version peuvent différer.
- le canari dégalité Vite devient une preuve durable du scaffold ;
- les erreurs/warnings révélés par le gate opérateur appartiennent au fix de `pre.002` et sont corrigés avant toute progression fonctionnelle.
## Questions ouvertes
Aucune pour ce correctif.