From 5c797827f7ac3b6231fad7d72fea0f65491d0648 Mon Sep 17 00:00:00 2001 From: SinuS Von SifriduS Date: Fri, 4 Sep 2026 14:11:21 +0200 Subject: [PATCH] v0.3.9-pre.001-fix.002 --- Cargo.toml | 4 +- deltas/0.3.9/pre.001-fix.002.md | 116 ++++++++++++++++++ ...9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md | 16 ++- ...V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md | 12 +- 4 files changed, 137 insertions(+), 11 deletions(-) create mode 100644 deltas/0.3.9/pre.001-fix.002.md diff --git a/Cargo.toml b/Cargo.toml index ba5ae71..6807a64 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,12 @@ # file: Cargo.toml -# version: 475 +# version: 476 [workspace] resolver = "3" members = ["crates/ksp-app-backfill-desk", "crates/ksp-app-config-desk", "crates/ksp-app-solprices-desk", "crates/ksp-app-store-desk", "crates/ksp-app-wallet-desk", "crates/ksp-config-lib", "crates/ksp-core-lib", "crates/ksp-interface-lib", "crates/ksp-job-api", "crates/ksp-job-backfill-lib", "crates/ksp-logging-lib", "crates/ksp-offchain-transport-lib", "crates/ksp-onchain-transport-lib", "crates/ksp-program-api", "crates/ksp-store-api", "crates/ksp-store-lib", "crates/ksp-store-postgres-lib", "crates/ksp-wallet-lib"] [workspace.package] -version = "0.3.8" +version = "0.3.9-pre.1.fix.2" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" diff --git a/deltas/0.3.9/pre.001-fix.002.md b/deltas/0.3.9/pre.001-fix.002.md new file mode 100644 index 0000000..ca06fc9 --- /dev/null +++ b/deltas/0.3.9/pre.001-fix.002.md @@ -0,0 +1,116 @@ + + + +# Delta `0.3.9-pre.001-fix.002` — correction de la synchronisation Cargo + +## Base requise + +```text +khadhroony-solana-project v0.3.8 +0.3.9-pre.001 appliquée +0.3.9-pre.001-fix.001 appliquée +workspace.package.version = 0.3.8 +``` + +## Type de livraison + +```text +ksp-general-0.3.9-pre.001-fix.002.zip +``` + +## Objectif + +Corriger l’anomalie de versioning découverte après `pre.001-fix.001`. La livraison initiale `pre.001` avait conservé `workspace.package.version = 0.3.8` en suivant l’exception explicitement écrite dans le prompt 028. Cette exception est incompatible avec la règle normative `VER-ID-009` de `docs/rules/VERSION_WORKFLOW.md`, qui impose à toute prerelease non-fix de synchroniser la version Cargo, même lorsqu’elle est uniquement documentaire. + +Le présent correctif ne réécrit pas les deltas historiques déjà livrés. Il corrige l’état courant et les documents durables qui décrivent cet état. + +## Décision de versioning + +La livraison est un fix de `pre.001`. Puisqu’elle modifie `Cargo.toml`, `VER-ID-007` impose la synchronisation de `workspace.package.version` avec l’identifiant technique du fix et `VER-ID-010` impose la représentation SemVer pointée : + +```text +identifiant livraison = 0.3.9-pre.001-fix.002 +version Cargo = 0.3.9-pre.1.fix.2 +``` + +Le passage direct à `0.3.9-pre.2` n’est pas retenu dans ce fix : `VER-ID-006` réserve un nouveau numéro de prerelease à une nouvelle tranche planifiée. `0.3.9-pre.2` reste donc réservé à `pre.002`, qui porte la création des contrats `ksp-worker-api`. + +## Fichiers modifiés + +```text +Cargo.toml +docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md +docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md +``` + +Modifications : + +```text +Cargo.toml header : 475 -> 476 +workspace.package.version : 0.3.8 -> 0.3.9-pre.1.fix.2 +plan header : 2 -> 3 +validation header : 1 -> 2 +``` + +Le plan reçoit `#### pre.001-fix.002` et sa section de versioning est corrigée. La validation distingue désormais l’état historique erroné de `pre.001` de l’état courant corrigé. + +## Fichiers ajoutés + +```text +deltas/0.3.9/pre.001-fix.002.md +``` + +## Fichiers supprimés + +```text +aucun +``` + +## Historique préservé + +Les fichiers suivants ne sont volontairement pas modifiés : + +```text +deltas/0.3.9/pre.001.md +deltas/0.3.9/pre.001-fix.001.md +prompts/028-V0_3_9_START_PROMPT.md +``` + +Les deux premiers décrivent les livraisons réellement produites. Le prompt reste l’entrée historique de la session ; le présent delta trace explicitement que son exception de versioning était en conflit avec `VER-ID-009`. + +## Validation opérateur disponible avant ce fix + +L’opérateur a exécuté après `pre.001-fix.001` : + +```text +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 +``` + +Résultat fourni : audits Rust propres et audit Markdown propre avec `320 table(s), 729 file(s)`. + +## Validations d’assemblage du présent fix + +Exécuté sur l’arbre assemblé après application du correctif : + +```text +python3 scripts/audit_rust_workspace_rules.py +General Rust rule audit: clean +Rust export completeness audit: 0 candidate(s) +KSP workspace Rust rule audit: clean + +python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas +Markdown table audit: clean (320 table(s), 730 file(s)) +``` + +Le binaire `cargo` n’est pas disponible dans l’environnement d’assemblage ; aucun `cargo fmt/check/clippy/test/tree` du présent fix n’est donc déclaré PASS localement. Le changement Cargo est limité au header documentaire du manifeste et à `workspace.package.version`. + +## Hors périmètre + +```text +aucune création de ksp-worker-api +aucun changement fonctionnel Worker API +aucun audit RAW provider commencé +aucune modification CHANGELOG/ROADMAP +aucun changement Transport/Config/Store +``` diff --git a/docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md b/docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md index 70ceffd..f4f3779 100644 --- a/docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md +++ b/docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md @@ -1,5 +1,5 @@ - + # Plan v0.3.9 — Worker API générique + audit RAW Transaction @@ -536,6 +536,12 @@ Budget cible : **15-20 min**. Vérification des archives et règles, audit archi Remplacement du sizing tabulaire de la section 17 par des sous-sections `### pre.NNN` et `### rel.NNN`, avec insertion des correctifs sous leur tranche via `#### pre.NNN-fix.MMM`. Le découpage technique, les budgets, les sorties attendues et l’ordre des responsabilités restent inchangés. Conformément aux règles documentaires, ce correctif ne modifie pas `workspace.package.version`, qui reste `0.3.8`. +#### `pre.001-fix.002` — synchronisation tardive de la version Cargo + +**Statut : réalisé ; correctif de versioning/build metadata.** + +L’audit de `docs/rules/VERSION_WORKFLOW.md` a mis en évidence que `VER-ID-009` impose à toute prerelease non-fix de synchroniser `workspace.package.version`, même lorsque la tranche est documentaire. L’autorisation contraire présente dans le prompt 028 était donc incompatible avec la règle normative. Le correctif synchronise l’état technique avec son identifiant de fix : `workspace.package.version = 0.3.9-pre.1.fix.2`, conformément à `VER-ID-007` et `VER-ID-010`. + ### `pre.002` — crate + contrats Worker API décidés **Statut : prévu.** @@ -594,13 +600,15 @@ Les numéros restent souples. Un défaut réel peut ouvrir `pre.NNN-fix.MMM` dan ## 18. Versioning de `pre.001` -La présente tranche est strictement documentaire : nouveau plan, nouvelle validation et nouveau delta. Elle ne modifie aucun code/build/runtime/configuration et conserve donc explicitement : +La livraison initiale `pre.001` a été assemblée comme tranche documentaire et a laissé `workspace.package.version = 0.3.8` en suivant une autorisation explicite du prompt 028. Une relecture du document normatif `docs/rules/VERSION_WORKFLOW.md` a toutefois établi que cette exception contredisait `VER-ID-009`, qui impose la synchronisation Cargo pour toute publication non-fix d’une prerelease, y compris lorsqu’elle est documentaire. + +`pre.001-fix.002` corrige donc l’état courant sans réécrire l’historique des deltas précédents : ```text -workspace.package.version = 0.3.8 +workspace.package.version = 0.3.9-pre.1.fix.2 ``` -Cette exception de démarrage est explicitement autorisée par le prompt 028 et cohérente avec `VER-ID-008`. Le premier changement Rust de `pre.002` portera la version technique correspondant à sa livraison selon le workflow KSP. +La forme `pre.1.fix.2` est imposée par `VER-ID-010` pour la livraison `0.3.9-pre.001-fix.002`. La version `0.3.9-pre.2` reste réservée à la future tranche non-fix `pre.002`, conformément à `VER-ID-006`. ## 19. Gate de sortie `pre.001` diff --git a/docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md b/docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md index beac41a..976b01c 100644 --- a/docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md +++ b/docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md @@ -1,5 +1,5 @@ - + # Validation v0.3.9 — Worker API + audit RAW Transaction @@ -34,7 +34,7 @@ Cette matrice suit les preuves de `0.3.9` sans remplacer les deltas. `pre.001` f - [X] Audit Rust post-modification : General clean, export completeness 0, KSP workspace clean. - [X] Audit Markdown post-modification : clean, 321 tables / 728 fichiers. - [X] Diff byte-level contre le ZIP stable : trois ajouts, zéro modification, zéro suppression après retrait des artefacts ignorés. -- [X] `Cargo.toml` reste byte-identique à la base et `workspace.package.version = 0.3.8`. +- [X] La livraison initiale `pre.001` a laissé `Cargo.toml` byte-identique à la base ; cette décision a ensuite été identifiée comme non conforme à `VER-ID-009` et corrigée par `pre.001-fix.002`. Le ZIP ne contient pas `.git`; l’existence du tag n’est pas inspectée directement. Le `rel.001` stable décrit l’opération `tag v0.3.8` et le prompt autorise l’archive stable explicitement fournie comme base. @@ -195,10 +195,12 @@ Aucun item ci-dessous n’est déclaré exécuté en `pre.001`. ## 8. Versioning courant -`pre.001` est doc-only et conserve : +La livraison initiale `pre.001` avait conservé `workspace.package.version = 0.3.8` en suivant l’exception du prompt 028. Cette exception est supplantée par la règle normative `VER-ID-009`. + +Après `pre.001-fix.002`, l’état courant est : ```text -workspace.package.version = 0.3.8 +workspace.package.version = 0.3.9-pre.1.fix.2 ``` -Aucun code/build/runtime/config n’est modifié. Le premier changement Rust de la release est réservé à `pre.002`. +Ce fix modifie `Cargo.toml` et suit donc `VER-ID-007`/`VER-ID-010`. `0.3.9-pre.2` reste la version Cargo de la future tranche non-fix `pre.002`.