v0.3.8-pre.011

This commit is contained in:
2026-09-03 22:31:28 +02:00
parent 516c52ece9
commit 80fe2fd9e2
5 changed files with 461 additions and 5 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/029-V0_3_8_STORE_DESK_PLAN.md -->
<!-- version: 12 -->
<!-- version: 13 -->
# Plan v0.3.8 — Store Desk V1 RAW
@@ -622,7 +622,9 @@ Le hardening V1 centralise la validation offset/limit côté Rust, rejette les d
### pre.011 — security / dependency / release completeness
Dependency firewall, Config composition, IPC/security scans, no-browser-storage, exact module/dependency/capability inventories, coexistence cursor + inspection.
Verrouiller la surface V1 sans ajouter de fonctionnalité métier ni modifier Store API/façade/PostgreSQL. Un nouveau firewall exécutable `release_completeness.rs` doit rendre exacts les inventaires directs Cargo/npm, les modules Rust Store Desk, les commands Tauri et les permissions desktop. La composition Config Store Desk reste exactement `logging + store` sur `devnet/mainnet/testnet`, sans URI ni secret dans le composite.
Le frontend est rescanné contre toute ouverture réseau navigateur, stockage navigateur RAW, dialogue natif ou matérialisation PostgreSQL/SQL. Les DTO/IPC doivent rester backend-neutral et metadata-only, avec les previews RAW bornés uniquement dans les DTO de détail déjà admis. Enfin, la coexistence des deux paradigmes de pagination est verrouillée explicitement : `RawPageCursor`/`RawPageRequest` et les statements PostgreSQL `LIST_*` restent keyset et OFFSET-free pour les machines/workers, tandis que `RawInspectionPageRequest` et les statements `INSPECT_*` conservent leur random access `OFFSET` pour Store Desk/DataTables. Aucun runtime n'est ajouté par cette tranche.
### pre.012 — gate technique final

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/025-V0_3_8_STORE_DESK.md -->
<!-- version: 24 -->
<!-- version: 25 -->
# Validation v0.3.8 — Store Desk V1 RAW
@@ -785,3 +785,40 @@ Le gate opérateur de `0.3.8-pre.10.fix.1` confirme que les audits KSP, `cargo c
- [X] la version workspace devient `0.3.8-pre.10.fix.2` car un test Rust est modifié.
Le gate Cargo du fix reste à rejouer après application du delta.
## 38. Clôture `pre.010-fix.002` et préparation `pre.011` — release completeness
Le gate opérateur de `0.3.8-pre.10.fix.2` est entièrement vert :
```text
General Rust rule audit: clean
Rust export completeness audit: 0 candidate(s)
KSP workspace Rust rule audit: clean
Markdown table audit: clean (314 table(s), 714 file(s))
cargo check --workspace: PASS
cargo clippy --workspace --all-targets: PASS
cargo test -p ksp-app-store-desk: PASS (37 unitaires + 6 dependency + 15 desktop contract + 14 security + 1 public API)
cargo test -p ksp-store-lib: PASS
cargo check -p ksp-store-lib --no-default-features: PASS
```
`pre.011` n'ajoute aucune fonctionnalité runtime. La tranche ajoute un firewall de release completeness Store Desk :
- [X] `workspace.package.version = 0.3.8-pre.11` ;
- [X] inventaires directs Cargo exacts : build, runtime et dev dependencies Store Desk ;
- [X] inventaires npm exacts : runtime et dev dependencies, sans dépendance Select/DataTables parasite ;
- [X] inventaire exact des modules Rust `ksp-app-store-desk` ;
- [X] inventaire exact des dix commands Tauri ;
- [X] capability desktop exacte : fenêtres `splash/main`, permissions uniquement `core:default` et `tracing:default` ;
- [X] composition Config exacte `logging + store` pour `devnet/mainnet/testnet`, profil Logging `supertrace`, sans URI/credential/secret dans le composite ;
- [X] scan frontend hostile : aucun `fetch`/XHR/WebSocket/EventSource, aucun local/session storage/IndexedDB/cookie, aucun dialogue natif, aucune URI PostgreSQL/SQL/type backend physique ;
- [X] inventaire DTO visible exact et absence de `RawPageCursor`, backend physique ou source RAW bytes dans la surface IPC ;
- [X] rows Transaction/Account/Observation restent payload/data/source-byte-free ;
- [X] coexistence cursor + inspection verrouillée : exports `RawPageCursor`/`RawPageRequest` et `RawInspectionPageRequest` simultanés ;
- [X] statements PostgreSQL `LIST_*` historiques restent OFFSET-free ;
- [X] statements `INSPECT_*` restent random-access avec `OFFSET` ;
- [X] Store Desk runtime consomme `RawInspectionPageRequest` et ne consomme jamais `RawPageCursor` ;
- [X] aucun fichier Store API/façade/PostgreSQL/Config/runtime/frontend n'est modifié par `pre.011`.
Contrôles statiques d'assemblage : audits Rust/exports/Markdown propres avant création du delta. Le gate Cargo de `pre.011` reste à rejouer par l'opérateur.