170 lines
4.8 KiB
Markdown
170 lines
4.8 KiB
Markdown
<!-- 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 d’intégration du nouveau Desk.
|
||
|
||
Aucune capability Store, requête métier, pagination server-side ou dépendance backend n’est 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 d’inté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 d’inté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 l’unique 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 l’application
|
||
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 l’environnement d’assemblage
|
||
|
||
```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 l’environnement d’assemblage
|
||
|
||
`cargo` n’est 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 qu’après fermeture de ce gate.
|
||
|
||
## Décisions prises
|
||
|
||
- `vite.config.ts` du Store Desk suit strictement le template KSP commun ; seules l’identité, 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.
|