v0.2.12-rel.001

This commit is contained in:
2026-08-27 20:32:54 +02:00
parent c73e4c0aec
commit e42688794a
2 changed files with 243 additions and 2 deletions

View File

@@ -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"

241
deltas/0.2.12/rel.001.md Normal file
View File

@@ -0,0 +1,241 @@
<!-- file: deltas/0.2.12/rel.001.md -->
<!-- version: 1 -->
# 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`.