v0.2.12-pre.001

This commit is contained in:
2026-08-26 20:41:45 +02:00
parent db1f8d4a53
commit 9a7eda1aa6
8 changed files with 899 additions and 12 deletions

189
deltas/0.2.12/pre.001.md Normal file
View File

@@ -0,0 +1,189 @@
<!-- file: deltas/0.2.12/pre.001.md -->
<!-- version: 1 -->
# Delta `0.2.12-pre.001` — audit/sizing SOL Prices Desk + Wallet integration
## 1. Base requise
```text
v0.2.11
```
Archive opérateur utilisée : `khadhroony-solana-project-v0.2.11-full-from-gitea.zip`.
Vérifications d'identité :
```text
workspace.package.version = 0.2.11 PASS à l'entrée
deltas/0.2.11/rel.001.md présent
prompts/017-V0_2_12_START_PROMPT.md présent
.git absent de l'archive
```
Le tag stable n'est donc pas revérifiable localement par Git; l'archive opérateur et ses marqueurs internes sont l'autorité de reprise.
## 2. Objectif
Exécuter le gate obligatoire `pre.001` du prompt `0.2.12` sans commencer l'implémentation fonctionnelle : relire règles/architecture, auditer Off-chain/Config/Tauri/Wallet, fixer screen map, DTO/commands, Config/composite, état de présentation, threat model, intégration Wallet, tests/build/live et forecast.
## 3. Décisions prises
```text
nouvelle app ksp-app-solprices-desk
ports 1434/1435
rôle HID provider-agnostic uniquement
composite Price Desk oui
file_id cfg.composite.ksp-app-solprices-desk
components logging + offchain_transport
profil default public_keyless
profil opt-in all_free
profil tests public_keyless
schema composite existant, aucun nouveau format
état présentation backend Tauri en mémoire uniquement
prix IPC chaîne décimale exacte, jamais f64
refresh row + selected/many + all via MarketPriceService
auto-refresh OUT
prix canonique OUT
valorisation USD balance Wallet OUT
nouvelle crate UI/API partagée OUT
Price Desk dialog plugin OUT
Price Desk capabilities core:default + tracing:default
Wallet Off-chain extension additive du composite/runtime
```
L'ajout du nouveau descriptor Config doit être atomique avec les resources Tauri de Config Desk, Wallet Desk et SOL Prices Desk, parce que `prepare_packaged_runtime` parcourt le registry complet.
## 4. Fichiers ajoutés
```text
docs/plans/019-V0_2_12_SOL_PRICES_DESK_PLAN.md
docs/validation/015-V0_2_12_SOL_PRICES_DESK.md
deltas/0.2.12/pre.001.md
```
## 5. Fichiers modifiés
```text
Cargo.toml
docs/000-README.md
docs/plans/000-README.md
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
docs/validation/000-README.md
```
`workspace.package.version` passe à `0.2.12-pre.1` conformément à `VER-ID-009` pour toute prerelease non-fix.
## 6. Fichiers supprimés
```text
aucun
```
## 7. Fichiers volontairement inchangés
```text
ROADMAP.md
CHANGELOG.md
prompts/017-V0_2_12_START_PROMPT.md
docs/architecture/**
config/**
crates/**
.env.example
README/USAGE des crates
```
L'architecture durable contient déjà la frontière HID/Off-chain pertinente. Les Config/runtime/app sources sont réservées aux tranches d'implémentation suivantes. `ROADMAP.md` et `CHANGELOG.md` restent hors `pre.001` et sont réservés au couloir de publication prévu.
## 8. Audit interne exécuté
Points confirmés :
```text
MarketPriceService expose registry/refresh/refresh_many/refresh_all
MarketPriceDecimal exact suffit à l'IPC via projection String
registry/availability sont provider-neutral
ResolvedOffchainTransportConfig possède déjà MarketPriceService
schema composite V1 suffit au nouveau Desk
Wallet composite a logging/transport/wallet et sera étendu additivement
Config packaging copie tout le registry logique
Config Desk ports 1430/1431
Wallet Desk ports 1432/1433
nouvelle paire KSP réservée 1434/1435
capabilities actuelles = core:default + tracing:default
Price Desk n'a besoin ni dialog, ni fs, ni network plugin frontend
```
## 9. Audit externe exécuté
Sources officielles actuelles Tauri 2 et TS-RS réauditées. Tauri `2.11.5` est la release courante observée et la base utilise `tauri = ^2.11`; TS-RS `12.0.0` est courant et la base utilise `ts-rs = ^12.0`. Les patterns `beforeDevCommand`/`beforeBuildCommand`/`devUrl`/`frontendDist`, capabilities et `core:default` restent documentés.
Aucune mise à niveau de dépendance n'est justifiée par `pre.001`.
## 10. Validations exécutées
Sur l'archive extraite dans le sandbox :
```text
python3 scripts/audit_rust_workspace_rules.py PASS
python3 scripts/audit_markdown_tables.py README.md ... crates PASS avant modification
```
Preuve opérateur fournie sur la base stable avant ouverture :
```text
cargo fmt --all PASS
Rust rules audit PASS
Markdown table audit PASS
cargo check --workspace PASS
cargo clippy --workspace --all-targets PASS
cargo test --workspace PASS
```
Après le présent changement documentaire :
```text
python3 scripts/audit_rust_workspace_rules.py PASS
python3 scripts/audit_markdown_tables.py ... deltas/0.2.12 PASS
```
## 11. Validations non exécutées dans ce sandbox
```text
cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test --workspace
cargo tauri dev
cargo tauri build
```
Cause : executable `cargo` absent du sandbox de préparation. Aucune de ces commandes n'est déclarée localement PASS. Le code Rust/config/runtime n'a pas été modifié par `pre.001`; le gate de base Cargo est couvert par la preuve opérateur fournie.
## 12. Forecast souple recalibré
```text
pre.001 audit/sizing/maps/Config/security
pre.002 scaffold SOL Prices Desk
pre.003 Config composite + registry/resources atomiques + bootstrap
pre.004 runtime/registry rows/DTOs
pre.005 refresh row
pre.006 refresh many/all + in-flight/cooldown
pre.007 UX/polish/instrumentation
pre.008 hardening Price Desk
pre.009 Wallet composite/runtime Off-chain
pre.010 Wallet DTO/commands prix
pre.011 Wallet UI prix + non-régressions
pre.012 hardening cross-app
pre.013 gate technique/live + builds finaux
pre.014 réconciliation documentaire
pre.015 prompt suivant + CHANGELOG + ROADMAP
rel.001 publication stable
```
Le scope reste clôturable; aucun redécoupage n'est requis avant `pre.002`.
## 13. Questions ouvertes
Aucune question bloquante pour `pre.002`.
Les détails visuels exacts (largeurs/labels/ordre final des colonnes) pourront être ajustés dans `pre.007` sans rouvrir les frontières provider-neutral, Config ou sécurité.