155 lines
5.5 KiB
Markdown
155 lines
5.5 KiB
Markdown
<!-- file: deltas/0.2.11/pre.012.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.2.11-pre.012` — réconciliation documentaire finale Off-chain price
|
|
|
|
## 1. Base
|
|
|
|
```text
|
|
0.2.11-pre.011-fix.001
|
|
```
|
|
|
|
Cette tranche est exclusivement le couloir de réconciliation documentaire finale. Elle ne modifie aucun comportement Rust, test, schema, Config exécutable, endpoint provider, dépendance ou feature. Le seul fichier `.rs` touché est la rustdoc crate-root, afin de retirer une référence obsolète à `pre.010`.
|
|
|
|
## 2. Fermeture de la lane technique/live
|
|
|
|
Le gate `pre.011` a passé les validations déterministes complètes et les graphes Cargo. Son premier smoke keyless a tenté les sept providers et a isolé CoinMarketCap comme seul échec.
|
|
|
|
`pre.011-fix.001` a corrigé le builder CoinMarketCap Simple Price V2 :
|
|
|
|
```text
|
|
ids=5426 -> id=5426
|
|
```
|
|
|
|
Le re-smoke opérateur du `2026-08-26` a ensuite confirmé :
|
|
|
|
```text
|
|
keyless_market_price_providers_live_smoke 1/1 PASS
|
|
providers keyless réellement couverts 7/7 PASS
|
|
```
|
|
|
|
Les sept adapters couverts sont Coinbase Exchange, CoinGecko, CoinMarketCap, CoinPaprika, DexScreener, Jupiter et Kraken.
|
|
|
|
Le smoke keyed Birdeye/CoinGecko Demo/CoinMarketCap Basic/Jupiter Free n'a pas été exécuté faute des quatre credentials gratuits simultanés. Son statut final reste donc explicitement :
|
|
|
|
```text
|
|
SKIP opérateur
|
|
```
|
|
|
|
Il n'est jamais converti en PASS fictif.
|
|
|
|
## 3. Version technique
|
|
|
|
```text
|
|
workspace.package.version = 0.2.11-pre.12
|
|
commit attendu = v0.2.11-pre.012
|
|
aucun tag prerelease
|
|
```
|
|
|
|
Le changement Cargo est mécanique ; aucune sémantique runtime ne change.
|
|
|
|
## 4. Documents réconciliés
|
|
|
|
```text
|
|
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
|
|
docs/plans/018-V0_2_11_OFFCHAIN_PRICE_TRANSPORT_PLAN.md
|
|
docs/validation/014-V0_2_11_OFFCHAIN_PRICE_TRANSPORT.md
|
|
crates/ksp-offchain-transport-lib/README.md
|
|
crates/ksp-offchain-transport-lib/USAGE.md
|
|
crates/ksp-offchain-transport-lib/src/lib.rs — rustdoc seulement
|
|
docs/000-README.md
|
|
```
|
|
|
|
Les README/USAGE Config ont été relus mais ne nécessitent aucun changement : le document `std.offchain_transport`, les règles de provenance Secret/Public et la direction `Config -> Off-chain Transport` y sont déjà décrits durablement.
|
|
|
|
## 5. Réconciliation finale du contrat `0.2.11`
|
|
|
|
La release candidate porte exactement :
|
|
|
|
```text
|
|
SOL/USD uniquement
|
|
8 adapters REST V1
|
|
reqwest sans SDK provider
|
|
MarketPriceDecimal exact sans vérité canonique f64
|
|
MarketPriceObservation avec sémantique/provenance/timestamps
|
|
registry + availability provider-neutral
|
|
rate limits/cooldowns possédés par Off-chain Transport
|
|
refresh / refresh_many / refresh_all génériques
|
|
refresh multiple V1 séquentiel et déterministe
|
|
Config std.offchain_transport
|
|
origines provider fixes
|
|
DexScreener pair address explicite, aucune discovery
|
|
aucun fallback, consensus ou moyenne KSP
|
|
```
|
|
|
|
Le statut `QuotaUnavailable` est documenté comme état générique représentable. `0.2.11` ne prétend pas disposer d'un compteur quota live authoritative pour chaque provider.
|
|
|
|
Les erreurs de schema/wire provider sont déjà classées par le code `market_price.provider_response_invalid`; la validation finale ne les laisse plus artificiellement `PLANNED`.
|
|
|
|
## 6. Références durables
|
|
|
|
`crates/ksp-offchain-transport-lib/README.md` devient la référence de responsabilité/architecture de la crate et `USAGE.md` la référence d'utilisation de la façade `market_price` ainsi que des commandes de smoke opt-in.
|
|
|
|
Le statut de brouillon `pre.010` est supprimé. Le README enregistre le résultat live final keyless `7/7` et le statut keyed `SKIP opérateur` sans transformer les conditions commerciales des providers en garantie KSP.
|
|
|
|
La séquence fonctionnelle conserve la release suivante :
|
|
|
|
```text
|
|
0.2.12 — ksp-app-solprices-desk + intégration prix dans Wallet Desk
|
|
```
|
|
|
|
`0.2.12` reste HID : aucune logique provider, endpoint, credential, rate-limit ou normalisation prix ne doit migrer dans Tauri/frontend.
|
|
|
|
## 7. Frontière avec `pre.013`
|
|
|
|
Cette tranche ne touche pas :
|
|
|
|
```text
|
|
CHANGELOG.md
|
|
ROADMAP.md
|
|
prompt 0.2.12
|
|
```
|
|
|
|
Ces surfaces appartiennent exclusivement à `pre.013`, en plus de son bump Cargo mécanique et de son delta.
|
|
|
|
Si un défaut technique ou documentaire durable est découvert après le gate de `pre.012`, il ne doit pas être glissé dans `pre.013`; une nouvelle prerelease du couloir approprié doit être ouverte.
|
|
|
|
## 8. Fichiers ajoutés/modifiés
|
|
|
|
```text
|
|
Cargo.toml
|
|
docs/000-README.md
|
|
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
|
|
docs/plans/018-V0_2_11_OFFCHAIN_PRICE_TRANSPORT_PLAN.md
|
|
docs/validation/014-V0_2_11_OFFCHAIN_PRICE_TRANSPORT.md
|
|
crates/ksp-offchain-transport-lib/README.md
|
|
crates/ksp-offchain-transport-lib/USAGE.md
|
|
crates/ksp-offchain-transport-lib/src/lib.rs
|
|
deltas/0.2.11/pre.012.md
|
|
```
|
|
|
|
## 9. Gate opérateur
|
|
|
|
Comme `pre.012` ne modifie aucune surface technique :
|
|
|
|
```bash
|
|
cargo fmt --all
|
|
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/0.2.11
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets
|
|
cargo test --workspace
|
|
```
|
|
|
|
Aucun smoke live ni `cargo tree` n'est à rejouer si le delta est appliqué exactement : le smoke keyless `7/7` et les graphes Cargo appartiennent à la lane technique/live déjà fermée.
|
|
|
|
## 10. Suite
|
|
|
|
Si ce gate est vert :
|
|
|
|
```text
|
|
0.2.11-pre.013 — préparation minimale de publication
|
|
```
|
|
|
|
`pre.013` reste limitée au prompt de `0.2.12`, à `CHANGELOG.md`, à `ROADMAP.md`, au bump Cargo mécanique et à son delta.
|