v0.3.8-pre.012

This commit is contained in:
2026-09-03 23:21:23 +02:00
parent e01fe88594
commit cfbf849e2a
4 changed files with 225 additions and 5 deletions

View File

@@ -1,12 +1,12 @@
# file: Cargo.toml
# version: 470
# version: 471
[workspace]
resolver = "3"
members = ["crates/ksp-app-backfill-desk", "crates/ksp-app-config-desk", "crates/ksp-app-solprices-desk", "crates/ksp-app-store-desk", "crates/ksp-app-wallet-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-interface-lib", "crates/ksp-job-api", "crates/ksp-job-backfill-lib", "crates/ksp-logging-lib", "crates/ksp-offchain-transport-lib", "crates/ksp-onchain-transport-lib", "crates/ksp-program-api", "crates/ksp-store-api", "crates/ksp-store-lib", "crates/ksp-store-postgres-lib", "crates/ksp-wallet-lib"]
[workspace.package]
version = "0.3.8-pre.11.fix.1"
version = "0.3.8-pre.12"
edition = "2024"
license = "MIT"
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"

135
deltas/0.3.8/pre.012.md Normal file
View File

@@ -0,0 +1,135 @@
<!-- file: deltas/0.3.8/pre.012.md -->
<!-- version: 1 -->
# Delta `0.3.8-pre.012` — gate technique final Store Desk
## 1. Base requise
Base directe obligatoire :
```text
0.3.8-pre.011-fix.001
```
Le gate opérateur de cette base est entièrement vert : audits Rust/Markdown, workspace check, Clippy sans warning, Store Desk avec ses 6 canaris de release completeness, Store façade et compilation `--no-default-features` passent.
## 2. Objectif
Ouvrir exclusivement le gate technique final de `0.3.8` sans nouveau développement fonctionnel ni réconciliation documentaire durable.
Cette tranche ne modifie aucun :
```text
src/**
test fonctionnel
frontend/**
manifest de crate
dépendance ou feature
Store API/façade/PostgreSQL
SQL/schema/migration
Config/capability Tauri
README/USAGE
CHANGELOG/ROADMAP
prompt suivant
```
## 3. Version
```text
workspace.package.version = 0.3.8-pre.12
```
Aucune autre propriété Cargo n'est modifiée.
## 4. Gate déterministe final
```bash
cargo fmt --all -- --check
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 --all-features -- -D warnings
cargo test --workspace --all-targets --all-features
cargo check -p ksp-store-lib --no-default-features
cargo tree -p ksp-app-store-desk --edges normal
cargo tree -p ksp-app-store-desk -e features
cargo tree -p ksp-store-lib --edges normal
cargo tree -p ksp-store-lib -e features
cargo tree --duplicates
```
Ce gate est séquentiel : tout échec bloque `pre.012`, même si un shell interactif poursuit les commandes suivantes. Aucun succès ultérieur ne masque un Clippy/test/check antérieur en échec.
## 5. Smoke read-only opt-in
Si un Store PostgreSQL opérateur sûr est disponible, le smoke desktop s'effectue **avant** le build final via :
```bash
(cd crates/ksp-app-store-desk && cargo tauri dev)
```
Parcours minimal :
```text
Store health = ready
charger une page RAW Transactions
charger une page RAW Accounts, même vide
ouvrir un détail Transaction/Account lorsqu'une row existe
charger la table Observation du détail, vide autorisé
fermer l'application et vérifier le shutdown Store propre
```
Le smoke est strictement read-only. Il ne doit déclencher aucune archive, purge, force-rehydrate, backfill, write ou autre mutation. Sans environnement live sûr explicitement disponible, le smoke reste non exécuté et aucune réussite n'est revendiquée.
## 6. Build Tauri final
Après tous les contrôles déterministes et le smoke éventuel, exécuter **en toute dernière opération lourde** :
```bash
(cd crates/ksp-app-store-desk && cargo tauri build)
```
Un échec du build ouvre `pre.012-fix.NNN`.
## 7. Fichiers ajoutés
```text
deltas/0.3.8/pre.012.md
```
## 8. Fichiers modifiés
```text
Cargo.toml
docs/plans/029-V0_3_8_STORE_DESK_PLAN.md
docs/validation/025-V0_3_8_STORE_DESK.md
```
## 9. Fichiers supprimés
Aucun.
## 10. Validations de l'environnement d'assemblage
```text
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
contrôle statique version/scope/header
reconstruction exacte de l'overlay sur pre.011-fix.001
```
Cargo/rustc/rustfmt/Tauri ne sont pas disponibles dans l'environnement d'assemblage ; aucun gate Cargo ni build Tauri n'est déclaré PASS ici.
## 11. Suite
Après gate entièrement vert :
```text
0.3.8-pre.013 — réconciliation documentaire finale
0.3.8-pre.014 — préparation publication + prompt suivant
0.3.8-rel.001 — publication stable
```
Tout défaut découvert avant cette clôture ouvre `pre.012-fix.NNN`.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/029-V0_3_8_STORE_DESK_PLAN.md -->
<!-- version: 13 -->
<!-- version: 14 -->
# Plan v0.3.8 — Store Desk V1 RAW
@@ -628,7 +628,36 @@ Le frontend est rescanné contre toute ouverture réseau navigateur, stockage na
### pre.012 — gate technique final
`cargo fmt --check`, audits, check/clippy/tests workspace complets selon règles, cargo trees, duplicates, `cargo tauri build`, smoke PostgreSQL read-only opt-in si environnement sûr.
Ouvrir exclusivement la preuve technique finale sur la candidate déjà durcie, sans nouveau runtime, frontend, DTO, contrat Store, SQL, migration, Config, dépendance ou test fonctionnel. Le gate est séquentiel : tout échec invalide la tranche même si le shell poursuit ensuite d'autres commandes.
Ordre attendu avant le build desktop final :
```bash
cargo fmt --all -- --check
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 --all-features -- -D warnings
cargo test --workspace --all-targets --all-features
cargo check -p ksp-store-lib --no-default-features
cargo tree -p ksp-app-store-desk --edges normal
cargo tree -p ksp-app-store-desk -e features
cargo tree -p ksp-store-lib --edges normal
cargo tree -p ksp-store-lib -e features
cargo tree --duplicates
```
Si un environnement PostgreSQL opérateur sûr est disponible, un smoke **strictement read-only** est exécuté ensuite via Store Desk : Store `ready`, page Transaction, page Account, détail/observations lorsqu'une row existe, puis fermeture propre. Aucune archive, purge, force-rehydrate ou autre mutation n'est admise.
Le build Tauri est l'ultime opération lourde de la tranche :
```bash
(cd crates/ksp-app-store-desk && cargo tauri build)
```
Un défaut ouvre `pre.012-fix.NNN`; aucune réconciliation README/USAGE durable n'est faite avant un gate entièrement vert.
### pre.013 — réconciliation documentaire finale

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/025-V0_3_8_STORE_DESK.md -->
<!-- version: 26 -->
<!-- version: 27 -->
# Validation v0.3.8 — Store Desk V1 RAW
@@ -835,3 +835,59 @@ Le gate opérateur de `0.3.8-pre.11` confirme que les audits KSP, `cargo check -
- [X] la version workspace devient `0.3.8-pre.11.fix.1` car un test Rust est modifié.
Le gate Cargo du fix reste à rejouer après application du delta.
## 40. Clôture `pre.011-fix.001` et ouverture `pre.012` — gate technique final
Le gate opérateur de `0.3.8-pre.11.fix.1` est entièrement vert. La correction du firewall `release_completeness.rs` élimine les dix diagnostics `clippy::implicit-return` sans modifier les assertions ni les inventaires :
```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), 716 file(s))
cargo check --workspace: PASS
cargo clippy --workspace --all-targets: PASS, aucun warning
cargo test -p ksp-app-store-desk: PASS
37 unitaires
6 dependency-boundary
15 desktop-contract
14 desktop-security
1 public-API
6 release-completeness
cargo test -p ksp-store-lib: PASS
cargo check -p ksp-store-lib --no-default-features: PASS
```
`pre.011` est donc fermée sans réserve. `pre.012` n'ajoute aucun développement fonctionnel ; elle synchronise uniquement la prerelease et matérialise le gate technique final.
Gate déterministe requis :
```bash
cargo fmt --all -- --check
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 --all-features -- -D warnings
cargo test --workspace --all-targets --all-features
cargo check -p ksp-store-lib --no-default-features
cargo tree -p ksp-app-store-desk --edges normal
cargo tree -p ksp-app-store-desk -e features
cargo tree -p ksp-store-lib --edges normal
cargo tree -p ksp-store-lib -e features
cargo tree --duplicates
```
Les commandes constituent une séquence unique : un échec de format, audit, check, Clippy, test, feature-gate ou graphe bloque la clôture, même si le shell continue ensuite.
Smoke PostgreSQL/desktop : opt-in uniquement si le Store configuré est un environnement sûr en lecture. Il doit se limiter à ouvrir le Store, obtenir `ready`, charger une page Transaction et Account, ouvrir un détail/les observations lorsqu'une row existe, puis fermer proprement. Aucun chemin archive/purge/force-rehydrate ou autre mutation n'est admis. L'absence d'environnement live sûr est documentée et n'autorise aucune réussite inventée.
Après tous les contrôles précédents, le build Store Desk est exécuté **en dernière opération** :
```bash
(cd crates/ksp-app-store-desk && cargo tauri build)
```
Tout défaut ouvre `pre.012-fix.NNN` avant `pre.013`.