From 695d1080bda9c3e98496d3c92d27180ea3e3b85c Mon Sep 17 00:00:00 2001 From: SinuS Von SifriduS Date: Fri, 28 Aug 2026 06:36:52 +0200 Subject: [PATCH] v0.2.13-pre.006 --- Cargo.toml | 4 +- deltas/0.2.13/pre.006.md | 141 +++++++++++++++++++++++ docs/plans/020-V0_2_13_INTERFACE_PLAN.md | 45 +++++++- 3 files changed, 184 insertions(+), 6 deletions(-) create mode 100644 deltas/0.2.13/pre.006.md diff --git a/Cargo.toml b/Cargo.toml index e6670cf..00b3c03 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,12 @@ # file: Cargo.toml -# version: 308 +# version: 309 [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.5.fix.1" +version = "0.2.13-pre.6" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" diff --git a/deltas/0.2.13/pre.006.md b/deltas/0.2.13/pre.006.md new file mode 100644 index 0000000..cb9f150 --- /dev/null +++ b/deltas/0.2.13/pre.006.md @@ -0,0 +1,141 @@ + + + +# Delta `0.2.13-pre.006` — gate technique final Interface + +## 1. Base requise + +Cette tranche s'applique exclusivement après `0.2.13-pre.005-fix.001`. + +Le gate opérateur du fix est intégralement vert : + +```text +cargo fmt --all PASS +python3 scripts/audit_rust_workspace_rules.py PASS / clean +python3 scripts/audit_markdown_tables.py ... PASS / clean +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 Core-only confirmé +cargo tree --duplicates inspecté +``` + +Le faux positif `tracing::` de `pre.005` est donc fermé sans changement de production ni de dépendances. + +## 2. Objectif + +Préparer le gate technique final de `0.2.13` sans rouvrir la surface fonctionnelle. + +Aucun nouveau type wire, aucun codec, aucun test métier, aucune dépendance et aucun comportement runtime ne sont ajoutés. Les canaris existants suffisent déjà à vérifier : + +```text +ProgramAccountMeta +ProgramInstruction +bornes 255 / 10_240 +ordre et doublons +Pubkey opaque +Debug borné +erreurs sans payload hostile +consumer externe +façade crate-root +inventaire exact de production +firewall source / manifest +Core-only dependency graph +``` + +## 3. Décision de tranche + +`pre.006` reste un gate pur. Ajouter un nouveau test uniquement pour matérialiser le numéro de prerelease augmenterait la surface de changement sans renforcer une propriété non couverte. La tranche modifie donc seulement la version workspace, le plan, la validation et le présent delta. + +## 4. Version + +La prerelease non-fix synchronise la version Cargo conformément à `VER-ID-009` : + +```text +0.2.13-pre.5.fix.1 +→ +0.2.13-pre.6 +``` + +Commit attendu après validation : + +```text +v0.2.13-pre.006 +``` + +Aucun tag prerelease. + +## 5. Fichiers ajoutés + +```text +deltas/0.2.13/pre.006.md +``` + +## 6. Fichiers modifiés + +```text +Cargo.toml +docs/plans/020-V0_2_13_INTERFACE_PLAN.md +docs/validation/016-V0_2_13_INTERFACE.md +``` + +## 7. Fichiers supprimés + +Aucun. + +## 8. Surface explicitement inchangée + +```text +crates/ksp-interface-lib/src/** +crates/ksp-interface-lib/tests/** +crates/ksp-interface-lib/unit_tests/** +crates/ksp-interface-lib/Cargo.toml +crates/ksp-interface-lib/README.md +crates/ksp-interface-lib/USAGE.md +CHANGELOG.md +ROADMAP.md +prompts/** +architectures / règles +``` + +La réconciliation README/USAGE et des documents durables reste réservée à `pre.007`. La préparation du prompt suivant, du CHANGELOG et du ROADMAP reste réservée à `pre.008`. + +## 9. Validations exécutées à la génération + +```text +python3 scripts/audit_rust_workspace_rules.py PASS / clean +python3 scripts/audit_markdown_tables.py ... PASS / clean (162 tables, 119 files) +contrôle du diff PASS / 3 modifiés + 1 ajouté +``` + +Aucun `cargo` n'est disponible dans l'environnement de génération ; aucun PASS Cargo local n'est revendiqué. + +## 10. Gate opérateur + +```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 -p ksp-interface-lib +cargo test -p ksp-logging-lib --test ownership +cargo test --workspace +cargo tree -p ksp-interface-lib --edges normal +cargo tree --duplicates +``` + +## 11. Décisions prises + +- le scope fonctionnel `0.2.13` est figé ; +- aucun codec générique n'est introduit ; +- Interface reste passive et sans logging runtime ; +- `ksp-core-lib` reste l'unique dépendance normale directe ; +- aucun smoke réseau n'est pertinent pour cette crate wire pure ; +- `pre.007` ne commence qu'après gate `pre.006` intégralement vert. + +## 12. Questions ouvertes + +Aucune question technique bloquante pour `0.2.13`. La seule étape suivante après gate vert est la réconciliation documentaire finale. diff --git a/docs/plans/020-V0_2_13_INTERFACE_PLAN.md b/docs/plans/020-V0_2_13_INTERFACE_PLAN.md index f58ed47..edb2408 100644 --- a/docs/plans/020-V0_2_13_INTERFACE_PLAN.md +++ b/docs/plans/020-V0_2_13_INTERFACE_PLAN.md @@ -1,5 +1,5 @@ - + # Plan `0.2.13` — Interface / wire foundation @@ -401,13 +401,13 @@ Ajouter l'instruction `{ program_id, accounts, data }`, constructeur validé, ac ### pre.005 — adversarial + consumer externe + API/dependency hardening -**Statut : réalisé ; gate opérateur ciblé PASS, workspace bloqué par faux positif du canari Logging ; `pre.005-fix.001` préparé.** +**Statut : réalisé ; `pre.005-fix.001` validé, gate opérateur intégralement PASS.** Fermer les cas limites, surface crate-root, consumer externe, firewall source/manifest et graphes Cargo. Ne pas ajouter un second domaine wire opportuniste. ### pre.006 — gate technique final -**Statut : prévu** +**Statut : préparé ; gate opérateur à confirmer.** Exécuter workspace complet, canaris de complétude/public API/dependencies, `cargo tree` et audit final du scope exact. Aucun README/USAGE final ni préparation de publication. @@ -601,5 +601,42 @@ concat!("tracing", "::") Le test Interface continue donc de refuser un chemin direct vers Tracing dans les sources de production, tandis que le scanner Logging ne confond plus la donnée du canari avec un usage runtime réel. -Aucun fichier `src/` de production, aucune dépendance, aucune API publique, aucune borne et aucune décision de logging ne sont modifiés. La version technique devient `0.2.13-pre.5.fix.1` parce que le fix touche un test Rust. `pre.006` reste bloqué jusqu'au gate workspace vert du fix. +Aucun fichier `src/` de production, aucune dépendance, aucune API publique, aucune borne et aucune décision de logging ne sont modifiés. La version technique devient `0.2.13-pre.5.fix.1` parce que le fix touche un test Rust. + +Le gate opérateur du fix est désormais intégralement vert : fmt, audits Rust/Markdown, `cargo check --workspace`, Clippy, tests Interface, canari Logging ciblé, `cargo test --workspace` et graphes Cargo sont tous validés/inspectés. Le faux positif est donc fermé sans élargissement du scope. + +## 21. Gate technique final préparé `pre.006` + +`pre.006` n'ajoute aucun code, aucun test et aucune dépendance. Les canaris existants couvrent déjà la surface publique, le consumer externe, les bornes, le Debug borné, les erreurs sûres, l'inventaire exact et le firewall de dépendances. + +La tranche se limite à figer l'état technique suivant avant réconciliation documentaire : + +```text +workspace.package.version 0.2.13-pre.6 +production Interface inchangée +tests Interface inchangés +surface crate-root 6 exports exacts +modules production 4 fichiers exacts +dépendance normale Interface ksp-core-lib uniquement +codec / serde / solana-instruction absents +ksp-logging-lib / tracing runtime Interface absents +network/live smoke N/A pour foundation wire pure +``` + +Le gate opérateur final à rejouer est : + +```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 -p ksp-interface-lib +cargo test -p ksp-logging-lib --test ownership +cargo test --workspace +cargo tree -p ksp-interface-lib --edges normal +cargo tree --duplicates +``` + +Après gate vert, `pre.007` est autorisé et devient exclusivement la réconciliation documentaire finale.