190 lines
6.6 KiB
Markdown
190 lines
6.6 KiB
Markdown
<!-- 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é.
|