diff --git a/Cargo.toml b/Cargo.toml index 70f1bb2..f280947 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,12 @@ # file: Cargo.toml -# version: 301 +# version: 302 [workspace] resolver = "3" members = ["crates/ksp-app-config-desk", "crates/ksp-app-solprices-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.12-pre.11" +version = "0.2.12" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" diff --git a/deltas/0.2.12/rel.001.md b/deltas/0.2.12/rel.001.md new file mode 100644 index 0000000..1a163e9 --- /dev/null +++ b/deltas/0.2.12/rel.001.md @@ -0,0 +1,241 @@ + + + +# Delta `0.2.12-rel.001` — publication stable SOL Prices Desk + projection prix Wallet + +## 1. Base requise + +Base directe attendue : + +```text +0.2.12-pre.011-fix.001 +workspace.package.version = 0.2.12-pre.11 +``` + +`pre.011-fix.001` est documentaire uniquement et ne modifie pas la version Cargo de `pre.011`. + +Commit attendu pour cette livraison : + +```text +v0.2.12-rel.001 +``` + +Tag stable attendu après validation : + +```text +v0.2.12 +``` + +## 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.12-pre.11` à `0.2.12` ; +- 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 la lane technique finale `0.2.12-pre.009-fix.001`, exécuté le **27 août 2026**, a validé : + +```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 143 / 125 +cargo check --workspace PASS +cargo clippy --workspace --all-targets PASS +cargo test -p ksp-app-solprices-desk PASS +cargo test --workspace PASS +SOL Prices composition live smoke PASS +cargo tauri build — SOL Prices Desk PASS +cargo tauri build — Wallet Desk PASS +cargo tauri build — Config Desk PASS +``` + +Les trois builds Tauri ont produit leurs bundles Linux `.deb`, `.rpm` et `.AppImage` en version Cargo `0.2.12-pre.9.fix.1`. + +Le gate opérateur de la lane de réconciliation documentaire `0.2.12-pre.010`, exécuté le **27 août 2026**, a ensuite validé : + +```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 143 / 127 +cargo check --workspace PASS +cargo clippy --workspace --all-targets PASS +cargo test --workspace PASS +``` + +Les lanes `pre.011` puis `pre.011-fix.001` n'ont rouvert aucun code fonctionnel, test, Config, README/USAGE, plan, validation ou architecture. `pre.011` a préparé uniquement `Cargo.toml`, `CHANGELOG.md`, `ROADMAP.md`, le prompt suivant et son delta ; `pre.011-fix.001` a uniquement renforcé le prompt `018-V0_2_13_START_PROMPT.md` et son delta, sans changement de version Cargo. + +## 4. Version stable publiée + +La version Cargo devient : + +```text +workspace.package.version = 0.2.12 +``` + +La release stable publiée est : + +```text +0.2.12 — SOL Prices Desk + projection prix Wallet +``` + +Les acquis fonctionnels et documentaires finalisés avant `rel.001` comprennent notamment : + +```text +ksp-app-solprices-desk provider-neutral +8 providers SOL/USD via ksp-offchain-transport-lib +refresh individuel / sélectionné / global +batch applicatif borné à 1..=64 +prix exact conservé sous forme de chaîne +availability et retry génériques +timestamps provider/KSP distincts +aucun polling, fallback ou consensus dans SOL Prices Desk +composite Config dédié SOL Prices Desk +projection Wallet minimale et provider-neutral +refresh balance + refresh_all SOL/USD +a moyenne SOL/USD consumer-owned côté Rust +équivalent USD exact du solde côté Rust +absence de f64/f32 pour moyenne et équivalent +prix auxiliaire : N.A. sans invalidation d'une balance Solana réussie +version bundle Tauri dérivée de Cargo +package.json privé non autoritatif pour la release KSP +smoke live de composition SOL Prices PASS +builds Tauri Linux des trois Desks PASS +``` + +## 5. Fichiers ajoutés + +```text +deltas/0.2.12/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.12 +Cargo.toml header version 302 +payload rel.001 2 fichiers exactement +CHANGELOG.md non rouvert +ROADMAP.md non rouvert +prompt 018 non rouvert +aucun fichier de rattrapage présent +``` + +La préparation de l'archive ne rejoue pas les smokes live, les builds Tauri 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 +SOL Prices composition live smoke +cargo tauri build — SOL Prices Desk +cargo tauri build — Wallet Desk +cargo tauri build — Config Desk +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, le frontend, les providers 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.12 +cargo check --workspace +cargo clippy --workspace --all-targets +cargo test --workspace +``` + +Si l'overlay appliqué est exactement `0.2.12-rel.001` : + +- le smoke live de composition n'est pas à rejouer ; +- les builds Tauri ne sont pas à 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.12-pre.011-fix.001` est la candidate directe de la release stable ; +2. les lanes technique/live/build, documentaire et préparation de publication sont closes ; +3. `CHANGELOG.md`, `ROADMAP.md` et `prompts/018-V0_2_13_START_PROMPT.md` restent inchangés dans `rel.001` ; +4. la politique de version desktop Cargo-owned validée en `pre.009-fix.001` reste le contrat stable ; +5. l'archive historique `khadhroony-bot3` reste une source d'idées non normative pour le prochain audit ; +6. la prochaine release s'ouvre exclusivement depuis le tag stable `v0.2.12`. + +## 12. Questions ouvertes + +Aucune question ouverte ne bloque la publication de `0.2.12`. + +Les décisions de surface concernant `ksp-interface-lib`, l'héritage éventuel de concepts kbot3 et la frontière exacte avec `ksp-program-api` restent volontairement des questions de cadrage de `0.2.13-pre.001`; elles ne constituent pas une dette bloquante de `0.2.12`. + +## 13. Commit et tag stable + +Après succès du gate stable : + +```text +commit : v0.2.12-rel.001 +tag : v0.2.12 +``` + +Aucun tag intermédiaire `rel.001` n'est requis. + +Commandes Git typiques : + +```bash +git add Cargo.toml deltas/0.2.12/rel.001.md +git commit -m "v0.2.12-rel.001" +git tag v0.2.12 +git push +git push origin v0.2.12 +``` + +## 14. Suite + +Après publication du tag stable `v0.2.12`, ouvrir : + +```text +0.2.13-pre.001 — Interface foundation +``` + +avec : + +```text +prompts/018-V0_2_13_START_PROMPT.md +``` + +`pre.001` commence impérativement par l'audit/sizing défini dans ce prompt, y compris la matrice de réévaluation des idées issues de `khadhroony-bot3`, avant toute implémentation lourde de `ksp-interface-lib`.