diff --git a/Cargo.toml b/Cargo.toml index ef3f171..c0e3305 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,12 @@ # file: Cargo.toml -# version: 311 +# version: 312 [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-interface-lib", "crates/ksp-logging-lib", "crates/ksp-offchain-transport-lib", "crates/ksp-onchain-transport-lib", "crates/ksp-wallet-lib"] [workspace.package] -version = "0.2.13-pre.8" +version = "0.2.13" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" diff --git a/deltas/0.2.13/rel.001.md b/deltas/0.2.13/rel.001.md new file mode 100644 index 0000000..b97d83c --- /dev/null +++ b/deltas/0.2.13/rel.001.md @@ -0,0 +1,285 @@ + + + +# Delta `0.2.13-rel.001` — publication stable Interface / wire foundation + +## 1. Base requise + +Base directe attendue : + +```text +0.2.13-pre.008 +workspace.package.version = 0.2.13-pre.8 +``` + +Commit attendu pour cette livraison : + +```text +v0.2.13-rel.001 +``` + +Tag stable attendu après validation : + +```text +v0.2.13 +``` + +## 2. Responsabilité de `rel.001` + +Cette livraison effectue uniquement la mécanique de publication stable définie par le cycle KSP et `VER-LIFECYCLE-012`. + +Elle : + +- passe `workspace.package.version` de `0.2.13-pre.8` à `0.2.13` ; +- ajoute le présent delta `rel.001` ; +- ne corrige ni code, ni test, ni manifest de crate, 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 du gate technique final `0.2.13-pre.006`, exécuté le **28 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 +cargo check --workspace PASS +cargo clippy --workspace --all-targets PASS +cargo test -p ksp-interface-lib PASS +cargo test -p ksp-logging-lib --test ownership PASS +cargo test --workspace PASS +cargo tree -p ksp-interface-lib --edges normal PASS / inspecté +cargo tree --duplicates PASS / inspecté +``` + +Le graphe ciblé est resté strictement : + +```text +ksp-interface-lib +└── ksp-core-lib + └── solana-pubkey +``` + +Le gate opérateur de la réconciliation documentaire `0.2.13-pre.007`, exécuté le **28 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 — 164 tables / 120 fichiers +cargo check --workspace PASS +cargo clippy --workspace --all-targets PASS +cargo test -p ksp-interface-lib PASS +cargo test --workspace PASS +``` + +Enfin, le gate opérateur de la préparation minimale de publication `0.2.13-pre.008`, exécuté le **28 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 — 164 tables / 122 fichiers +cargo check --workspace PASS +cargo clippy --workspace --all-targets PASS +cargo test -p ksp-interface-lib PASS +cargo test --workspace PASS +``` + +`pre.008` n'a rouvert aucun code, test, README/USAGE, plan, validation ou architecture. Elle a préparé uniquement `Cargo.toml`, `CHANGELOG.md`, `ROADMAP.md`, le prompt suivant et son delta. + +## 4. Version stable publiée + +La version Cargo devient : + +```text +workspace.package.version = 0.2.13 +``` + +La release stable publiée est : + +```text +0.2.13 — Interface / wire foundation +``` + +La surface stable comprend : + +```text +Pubkey canonique réexporté depuis ksp-core-lib +ProgramAccountMeta passif à champs privés +ProgramInstruction passif à champs privés +MAX_PROGRAM_INSTRUCTION_ACCOUNTS = 255 +MAX_PROGRAM_INSTRUCTION_DATA_LEN = 10_240 +ordre et doublons des account metas conservés +Program Pubkeys opaques acceptés +Error/Result Core pour les violations de bornes +contextes d'erreur limités à field / actual_len / maximum_len +Debug borné sans account material ni payload data +six exports crate-root exacts +quatre modules Rust de production exacts +consumer externe canari +firewall de dépendances canari +release completeness canari +``` + +La dependency direction stable reste : + +```text +ksp-interface-lib + -> ksp-core-lib + -> solana-pubkey +``` + +Sont volontairement absents de cette foundation : + +```text +serde / serde_json +borsh / wincode / bincode +solana-instruction +ksp-logging-lib / tracing runtime Interface +reqwest / tonic / tokio / réseau +Program API / Program Lib +Store / Config / Wallet / Tauri +``` + +## 5. Fichiers ajoutés + +```text +deltas/0.2.13/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.13 +Cargo.toml header version 312 +payload rel.001 2 fichiers exactement +CHANGELOG.md non rouvert +ROADMAP.md non rouvert +prompt 019 non rouvert +README/USAGE non rouverts +plan / validation non rouverts +code / tests non rouverts +aucun fichier de rattrapage présent +``` + +La préparation de l'archive ne rejoue aucun test Cargo dans l'environnement de génération. 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 +cargo check --workspace +cargo clippy --workspace --all-targets +cargo test -p ksp-interface-lib +cargo test --workspace +cargo tree -p ksp-interface-lib --edges normal +cargo tree --duplicates +smokes réseau/live +``` + +Le changement est limité au signal de version Cargo et au présent delta ; ces contrôles doivent uniquement être rejoués dans le gate stable défini ci-dessous lorsque requis. + +## 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.13 +cargo check --workspace +cargo clippy --workspace --all-targets +cargo test --workspace +``` + +Aucun smoke réseau/live ni nouveau graphe Cargo n'est requis : `rel.001` ne modifie ni runtime, ni code métier, ni dépendances. + +## 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.13-pre.008` est la candidate directe de la release stable ; +2. les lanes technique, documentaire et préparation de publication sont closes ; +3. `CHANGELOG.md`, `ROADMAP.md` et `prompts/019-V0_2_14_START_PROMPT.md` restent inchangés dans `rel.001` ; +4. `ksp-interface-lib` reste une façade wire passive et Core-only ; +5. `ksp-program-api` reste réservé à `0.2.14` et ne doit pas être rétro-injecté dans Interface ; +6. l'archive historique `khadhroony-bot3_v0.5.3-pre.005-fix010.zip` reste obligatoire pour l'audit `0.2.14-pre.001`, mais n'est pas une autorité architecturale ; +7. la prochaine release s'ouvre exclusivement depuis le tag stable `v0.2.13`. + +## 12. Questions ouvertes + +Aucune question ouverte ne bloque la publication de `0.2.13`. + +Les choix exacts concernant les contrats extensibles de `ksp-program-api`, les outcomes/proofs et l'héritage éventuel de concepts kbot3 appartiennent à l'audit/sizing de `0.2.14-pre.001` et ne constituent pas une dette bloquante de `0.2.13`. + +## 13. Commit et tag stable + +Après succès du gate stable : + +```text +commit : v0.2.13-rel.001 +tag : v0.2.13 +``` + +Aucun tag intermédiaire `rel.001` n'est requis. + +Commandes Git typiques : + +```bash +git add Cargo.toml deltas/0.2.13/rel.001.md +git commit -m "v0.2.13-rel.001" +git tag v0.2.13 +git push +git push origin v0.2.13 +``` + +Après le tag, produire l'archive opérateur stable KSP `v0.2.13` qui servira de première autorité à la session suivante. + +## 14. Suite + +Après publication du tag stable `v0.2.13`, ouvrir : + +```text +0.2.14-pre.001 — Program API foundation +``` + +avec : + +```text +prompts/019-V0_2_14_START_PROMPT.md +``` + +Le démarrage de `0.2.14-pre.001` exige les deux archives prévues par le prompt : + +```text +archive opérateur KSP correspondant exactement à v0.2.13 +khadhroony-bot3_v0.5.3-pre.005-fix010.zip +``` + +L'audit kbot3 doit être réellement rejoué avant toute implémentation lourde de `ksp-program-api`.