# Delta `0.2.11-rel.001` — publication stable Off-chain price transport ## 1. Base requise Base directe attendue : ```text 0.2.11-pre.013 workspace.package.version = 0.2.11-pre.13 ``` Commit attendu pour cette livraison : ```text v0.2.11-rel.001 ``` Tag stable attendu après validation : ```text v0.2.11 ``` ## 2. Responsabilité de `rel.001` Cette livraison effectue uniquement la mécanique de publication stable définie par le cycle KSP. Elle : - passe `workspace.package.version` de `0.2.11-pre.13` à `0.2.11` ; - ajoute le présent delta `rel.001` ; - ne corrige ni code, ni test, ni config/schema, ni README/USAGE, ni plan/validation, ni architecture/règle, ni prompt, ni `CHANGELOG.md`, ni `ROADMAP.md`. Tout défaut appartenant à un couloir antérieur doit renvoyer vers une prerelease appropriée ; `rel.001` n'est jamais une tranche de rattrapage. ## 3. Preuves acquises avant publication Le gate opérateur de `0.2.11-pre.013`, exécuté le **26 août 2026**, est intégralement vert : ```text cargo fmt --all PASS python3 scripts/audit_rust_workspace_rules.py PASS General Rust rule audit clean Rust export completeness audit 0 candidate(s) KSP workspace Rust rule audit clean python3 scripts/audit_markdown_tables.py PASS tables / files 127 / 124 cargo check --workspace PASS cargo clippy --workspace --all-targets PASS cargo test --workspace PASS ``` Les suites directement concernées conservent notamment : ```text Off-chain Transport unit 58/58 PASS Off-chain dependency boundary 6/6 PASS Off-chain public API 7/7 PASS Off-chain release completeness 2/2 PASS Off-chain security hardening 3/3 PASS Config unit 120/120 PASS Config ownership 5/5 PASS Config public API 16/16 PASS ``` Le gate technique/live acquis avant les lanes documentaire et publication reste valide : ```text smoke SOL/USD keyless 7/7 providers PASS smoke SOL/USD keyed SKIP opérateur ``` Le smoke keyed n'est pas requalifié en PASS. Les graphes Cargo finaux avaient déjà été contrôlés dans la lane technique ; `pre.012` et `pre.013` n'ont modifié aucune dépendance ni source runtime. ## 4. Version stable publiée La version Cargo devient : ```text workspace.package.version = 0.2.11 ``` La release stable publiée est : ```text 0.2.11 — Off-chain price transport ``` Les acquis fonctionnels et documentaires ont été finalisés avant `rel.001`, notamment : ```text SOL/USD uniquement en V1 8 adapters REST sans SDK provider MarketPriceDecimal exact sans vérité canonique f64 MarketPriceObservation avec sémantique/provenance/timestamps explicites registry + availability provider-neutral rate limits/cooldowns possédés par Off-chain Transport refresh / refresh_many / refresh_all génériques batch V1 séquentiel et déterministe Config std.offchain_transport V1 sans dépendance inverse origines provider fixes et credentials possédés par Config DexScreener pair explicite sans discovery aucun fallback, consensus ou moyenne KSP smoke keyless final 7/7 PASS smoke keyed SKIP opérateur ``` ## 5. Fichiers ajoutés ```text deltas/0.2.11/rel.001.md ``` ## 6. Fichiers modifiés ```text Cargo.toml ``` ## 7. Fichiers supprimés ```text aucun ``` ## 8. Validations exécutées pour préparer le delta Contrôles statiques de l'overlay : ```text Cargo.toml version 0.2.11 payload rel.001 2 fichiers exactement aucun fichier de rattrapage présent ``` La préparation de l'archive ne rejoue pas les smokes live ni les graphes Cargo. Le gate stable final reste à exécuter après application du delta et avant commit/tag. ## 9. Validations non exécutées pendant la préparation Ne sont volontairement pas rejoués pour construire l'overlay : ```text smoke keyless live smoke keyed live cargo tree / cargo tree --duplicates ``` Le changement est limité au signal de version Cargo et au présent delta ; ces contrôles n'apporteraient aucune nouvelle preuve sur le runtime ou les dépendances. ## 10. Validation stable après application Exécuter avant publication : ```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 ``` Si l'overlay appliqué est exactement `0.2.11-rel.001` : - aucun smoke live n'est à rejouer ; - aucun `cargo tree` n'est à rejouer. ## 11. Décisions de publication Aucune nouvelle décision fonctionnelle ou architecturale n'est introduite par `rel.001`. La publication confirme uniquement que : 1. `0.2.11-pre.013` est la candidate directe de la release stable ; 2. les lanes technique/live, documentaire et préparation de publication sont closes ; 3. `CHANGELOG.md`, `ROADMAP.md` et `prompts/017-V0_2_12_START_PROMPT.md` restent inchangés dans `rel.001` ; 4. le smoke keyed reste `SKIP opérateur` et n'est pas transformé en preuve inexistante ; 5. la prochaine release s'ouvre exclusivement depuis le tag stable `v0.2.11`. ## 12. Questions ouvertes Aucune question ouverte ne bloque la publication de `0.2.11`. Les credentials nécessaires au smoke keyed restent une contrainte opérateur connue et n'altèrent pas le contrat stable déjà validé par les tests déterministes et le smoke keyless final. ## 13. Commit et tag stable Après succès du gate stable : ```text commit : v0.2.11-rel.001 tag : v0.2.11 ``` Aucun tag intermédiaire `rel.001` n'est requis. Commandes Git typiques : ```bash git add Cargo.toml deltas/0.2.11/rel.001.md git commit -m "v0.2.11-rel.001" git tag v0.2.11 git push git push origin v0.2.11 ``` ## 14. Suite Après publication du tag stable `v0.2.11`, ouvrir : ```text 0.2.12-pre.001 — SOL Prices Desk + intégration prix Wallet Desk ``` avec : ```text prompts/017-V0_2_12_START_PROMPT.md ``` `pre.001` commence impérativement par l'audit/sizing desktop défini dans ce prompt avant tout scaffold ou développement UI lourd.