v0.2.12-pre.004
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/019-V0_2_12_SOL_PRICES_DESK_PLAN.md -->
|
||||
<!-- version: 6 -->
|
||||
<!-- version: 7 -->
|
||||
|
||||
# Plan `0.2.12` — SOL Prices Desk + intégration prix Wallet Desk
|
||||
|
||||
@@ -484,21 +484,21 @@ Correction du scaffold pour reprendre réellement les conventions communes Confi
|
||||
|
||||
### `pre.003` — Composite Config et bootstrap Off-chain
|
||||
|
||||
**Statut : implémenté ; gate opérateur interrompu par un défaut de compilation du canari `config_composition`, corrigé par `pre.003-fix.001`.**
|
||||
**Statut : réalisé ; gate opérateur de tranche PASS après `pre.003-fix.001`.**
|
||||
|
||||
Ajout atomique du composite `cfg.composite.ksp-app-solprices-desk`, de son descriptor registry et des resources packagées nécessaires aux trois Desks concernés, puis bootstrap Config -> Off-chain Transport du nouveau Desk. Le gate exige que le packaging Config reste cohérent ; aucune UI prix n'est ajoutée ici.
|
||||
|
||||
#### `pre.003-fix.001` — Correction du canari ConfigEnvironment sans élargissement de contrat
|
||||
|
||||
**Statut : implémenté ; gate opérateur à confirmer.**
|
||||
**Statut : réalisé ; gate opérateur de tranche PASS.**
|
||||
|
||||
Correction strictement locale du test `config_composition` : le message d'assertion ne tente plus de formater le `Result<ConfigEnvironment, Error>` en `Debug`. `ConfigEnvironment` reste volontairement sans contrat `Debug`; aucun comportement runtime, composite, provider ou frontend n'est modifié.
|
||||
|
||||
### `pre.004` — Runtime prix, registry rows et DTOs
|
||||
|
||||
**Statut : planifié.**
|
||||
**Statut : implémenté ; gate opérateur à confirmer.**
|
||||
|
||||
Création du `MarketPriceRuntime` applicatif, projection provider-neutral du registry, DTOs TS-RS et états initiaux/loading/empty. Les providers restent opaques à l'UI et le prix exact traverse l'IPC sous forme de chaîne décimale, jamais comme vérité `f64`.
|
||||
Création du `MarketPriceRuntime` applicatif, projection provider-neutral du registry, DTOs TS-RS et états initiaux/loading/empty. `list_market_prices` projette les lignes depuis le registry sans dispatch réseau ; l'état de présentation reste uniquement en mémoire backend. Les providers restent opaques à l'UI, le prix exact et les timestamps traversent l'IPC sous forme de chaînes exactes, et aucun refresh n'est encore disponible avant `pre.005`.
|
||||
|
||||
### `pre.005` — Refresh individuel
|
||||
|
||||
@@ -572,7 +572,7 @@ Préparation du prompt de la release suivante, de `CHANGELOG.md` et de `ROADMAP.
|
||||
|
||||
Mécanique de publication stable uniquement, après validation de la dernière prerelease et vérification de la cohérence de release. Aucun défaut fonctionnel ou documentaire ne doit être absorbé par `rel.001`.
|
||||
|
||||
Le point le plus risqué reste `pre.003`; son scope est néanmoins borné parce qu'il ne contient aucune UI prix et traite ensemble le seul invariant de packaging transversal. Le scope global reste raisonnablement clôturable dans une session de release KSP : aucun redécoupage n'est requis avant `pre.002`.
|
||||
Le point de packaging transversal de `pre.003` est désormais fermé. Le prochain risque fonctionnel est borné aux refresh `pre.005`/`pre.006`, sans remettre en cause le découpage souple ni les responsabilités documentaires de clôture.
|
||||
|
||||
## 20. Critères de sortie `pre.001`
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/015-V0_2_12_SOL_PRICES_DESK.md -->
|
||||
<!-- version: 5 -->
|
||||
<!-- version: 6 -->
|
||||
|
||||
# Validation `0.2.12` — SOL Prices Desk + intégration Wallet Desk
|
||||
|
||||
@@ -82,10 +82,10 @@ NOT RUN commande non exécutée dans le contexte indiqué
|
||||
| Price Desk composite file | `config/composite.ksp-app-solprices-desk.json` | PASS |
|
||||
| Price Desk file_id | `cfg.composite.ksp-app-solprices-desk` | PASS |
|
||||
| schema | `schema.composite` existant | PASS |
|
||||
| components | `logging`, `offchain_transport` | PENDING |
|
||||
| default profile | `public_keyless` | PENDING |
|
||||
| optional profile | `all_free` | PENDING |
|
||||
| test profile | `tests` -> offchain `public_keyless` | PENDING |
|
||||
| components | `logging`, `offchain_transport` | PASS |
|
||||
| default profile | `public_keyless` | PASS |
|
||||
| optional profile | `all_free` | PASS |
|
||||
| test profile | `tests` -> offchain `public_keyless` | PASS |
|
||||
| Wallet composite | ajoute offchain `public_keyless` à devnet/temporary/tests | PENDING |
|
||||
| registry/resource count | 11 après nouveau composite | PASS |
|
||||
| registry + resources atomiques | Config + Config Desk + Wallet Desk + Price Desk même tranche | PASS |
|
||||
@@ -96,14 +96,14 @@ NOT RUN commande non exécutée dans le contexte indiqué
|
||||
|
||||
| Canari | Attendu | Statut |
|
||||
|--------------------------------------------|------------------|---------|
|
||||
| app dépend du service/registry générique | oui | PENDING |
|
||||
| branche `coingecko`/`kraken`/etc. dans app | aucune | PENDING |
|
||||
| SDK provider dans app | aucun | PENDING |
|
||||
| reqwest/provider fetch frontend | aucun | PENDING |
|
||||
| endpoint/header/API key dans DTO | aucun | PENDING |
|
||||
| rate limiter/sleep/retry provider dans app | aucun | PENDING |
|
||||
| app dépend du service/registry générique | oui | PASS |
|
||||
| branche `coingecko`/`kraken`/etc. dans app | aucune | PASS |
|
||||
| SDK provider dans app | aucun | PASS |
|
||||
| reqwest/provider fetch frontend | aucun | PASS |
|
||||
| endpoint/header/API key dans DTO | aucun | PASS |
|
||||
| rate limiter/sleep/retry provider dans app | aucun | PASS |
|
||||
| refresh many ordre service | préservé | PENDING |
|
||||
| semantics provider-neutral visibles | oui, sans fusion | PENDING |
|
||||
| semantics provider-neutral visibles | oui, sans fusion | PASS |
|
||||
| prix canonique/fallback/moyenne | aucun | OUT |
|
||||
|
||||
## 7. Security matrix
|
||||
@@ -121,7 +121,7 @@ NOT RUN commande non exécutée dans le contexte indiqué
|
||||
| CWD/resource confusion | canaris propres à chaque app | PENDING |
|
||||
| Price Desk capabilities | `core:default`, `tracing:default` uniquement | PASS |
|
||||
| plugin dialog Price Desk | absent | PASS |
|
||||
| frontend sensitive logging | action/ID/count/code seulement | PENDING |
|
||||
| frontend sensitive logging | action/ID/count/code seulement | PASS |
|
||||
| Wallet VIEW/OWNER/secrets | non-régression | PENDING |
|
||||
|
||||
## 8. Wallet integration matrix
|
||||
@@ -295,3 +295,42 @@ python3 scripts/audit_markdown_tables.py README.md ... deltas PASS
|
||||
cargo fmt/check/clippy/test NOT RUN — cargo indisponible dans le sandbox
|
||||
```
|
||||
|
||||
## 17. Gate `0.2.12-pre.004`
|
||||
|
||||
La tranche introduit la première projection prix applicative sans effectuer de requête provider :
|
||||
|
||||
```text
|
||||
MarketPriceRuntime backend implémenté
|
||||
état présentation mémoire backend uniquement
|
||||
registry -> lignes provider-neutral implémenté
|
||||
MarketPriceProviderRowDto implémenté
|
||||
MarketPriceRuntimeStatusDto implémenté
|
||||
prix exact Option<String>, jamais f64
|
||||
timestamps observation/retry Option<String> exactes en millisecondes Unix
|
||||
list_market_prices implémenté, aucun dispatch réseau
|
||||
états frontend loading / empty / table implémentés
|
||||
refresh row/many/all absent par contrat pre.004
|
||||
frontend fetch/localStorage/sessionStorage absent
|
||||
logging chargement/rendu registry trace sans prix/payload
|
||||
```
|
||||
|
||||
Le gate opérateur précédent est désormais fermé après `pre.003-fix.001` :
|
||||
|
||||
```text
|
||||
cargo fmt --all PASS
|
||||
python3 scripts/audit_rust_workspace_rules.py PASS
|
||||
python3 scripts/audit_markdown_tables.py ... deltas/0.2.12 PASS
|
||||
cargo check --workspace PASS
|
||||
cargo clippy --workspace --all-targets PASS
|
||||
cargo test -p ksp-app-solprices-desk PASS
|
||||
(cd crates/ksp-app-solprices-desk && cargo tauri dev) PASS
|
||||
cargo test --workspace NOT RUN dans ce retour précis
|
||||
```
|
||||
|
||||
Validations sandbox après matérialisation de `pre.004` :
|
||||
|
||||
```text
|
||||
python3 scripts/audit_rust_workspace_rules.py PASS
|
||||
python3 scripts/audit_markdown_tables.py README.md ... deltas PASS
|
||||
cargo fmt/check/clippy/test NOT RUN — cargo indisponible dans le sandbox
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user