diff --git a/Cargo.toml b/Cargo.toml index e9e6a3e..9778ab9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ resolver = "3" members = ["crates/ksp-app-config-desk", "crates/ksp-app-wallet-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-logging-lib", "crates/ksp-offchain-transport-lib", "crates/ksp-onchain-transport-lib", "crates/ksp-wallet-lib"] [workspace.package] -version = "0.2.11-pre.13" +version = "0.2.11" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" diff --git a/deltas/0.2.11/rel.001.md b/deltas/0.2.11/rel.001.md new file mode 100644 index 0000000..a9c8446 --- /dev/null +++ b/deltas/0.2.11/rel.001.md @@ -0,0 +1,224 @@ + + + +# 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.