Files
khadhroony-solana-project/deltas/0.2.11/pre.012.md
2026-08-26 15:45:02 +02:00

5.5 KiB

Delta 0.2.11-pre.012 — réconciliation documentaire finale Off-chain price

1. Base

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 :

ids=5426 -> id=5426

Le re-smoke opérateur du 2026-08-26 a ensuite confirmé :

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 :

SKIP opérateur

Il n'est jamais converti en PASS fictif.

3. Version technique

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

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 :

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 :

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 :

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

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 :

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 :

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.