v0.3.9-pre.001-fix.002

This commit is contained in:
2026-09-04 14:11:21 +02:00
parent b87b7f4505
commit 5c797827f7
4 changed files with 137 additions and 11 deletions

View File

@@ -1,12 +1,12 @@
# file: Cargo.toml # file: Cargo.toml
# version: 475 # version: 476
[workspace] [workspace]
resolver = "3" 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"] 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] [workspace.package]
version = "0.3.8" version = "0.3.9-pre.1.fix.2"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project"

View File

@@ -0,0 +1,116 @@
<!-- file: deltas/0.3.9/pre.001-fix.002.md -->
<!-- version: 1 -->
# 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 lanomalie 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 lexception 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 lorsquelle 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`. Puisquelle modifie `Cargo.toml`, `VER-ID-007` impose la synchronisation de `workspace.package.version` avec lidentifiant 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` nest 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 lentré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
Lopé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 dassemblage du présent fix
Exécuté sur larbre 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` nest pas disponible dans lenvironnement dassemblage ; aucun `cargo fmt/check/clippy/test/tree` du présent fix nest 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
```

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md --> <!-- file: docs/plans/030-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT_PLAN.md -->
<!-- version: 2 --> <!-- version: 3 -->
# Plan v0.3.9 — Worker API générique + audit RAW Transaction # 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 lordre 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`. 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 lordre 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.**
Laudit 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. Lautorisation 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 ### `pre.002` — crate + contrats Worker API décidés
**Statut : prévu.** **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` ## 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 dune prerelease, y compris lorsquelle est documentaire.
`pre.001-fix.002` corrige donc létat courant sans réécrire lhistorique des deltas précédents :
```text ```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` ## 19. Gate de sortie `pre.001`

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md --> <!-- file: docs/validation/026-V0_3_9_WORKER_API_RAW_TRANSACTION_AUDIT.md -->
<!-- version: 1 --> <!-- version: 2 -->
# Validation v0.3.9 — Worker API + audit RAW Transaction # 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 Rust post-modification : General clean, export completeness 0, KSP workspace clean.
- [X] Audit Markdown post-modification : clean, 321 tables / 728 fichiers. - [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] 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`; lexistence du tag nest pas inspectée directement. Le `rel.001` stable décrit lopération `tag v0.3.8` et le prompt autorise larchive stable explicitement fournie comme base. Le ZIP ne contient pas `.git`; lexistence du tag nest pas inspectée directement. Le `rel.001` stable décrit lopération `tag v0.3.8` et le prompt autorise larchive stable explicitement fournie comme base.
@@ -195,10 +195,12 @@ Aucun item ci-dessous nest déclaré exécuté en `pre.001`.
## 8. Versioning courant ## 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 lexception 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 ```text
workspace.package.version = 0.3.8 workspace.package.version = 0.3.9-pre.1.fix.2
``` ```
Aucun code/build/runtime/config nest 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`.