diff --git a/Cargo.toml b/Cargo.toml index a239f55..2453692 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ 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-program-api", "crates/ksp-store-api", "crates/ksp-store-lib", "crates/ksp-store-postgres-lib", "crates/ksp-wallet-lib"] [workspace.package] -version = "0.3.3-pre.13" +version = "0.3.3" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" diff --git a/deltas/0.3.3/rel.001.md b/deltas/0.3.3/rel.001.md new file mode 100644 index 0000000..511fb7b --- /dev/null +++ b/deltas/0.3.3/rel.001.md @@ -0,0 +1,152 @@ + + + +# Delta `0.3.3-rel.001` — publication stable Store/PostgreSQL RawTransaction + +## 1. Base requise + +Base directe attendue : + +```text +0.3.3-pre.013 +workspace.package.version = 0.3.3-pre.13 +``` + +Commit attendu pour cette livraison : + +```text +v0.3.3-rel.001 +``` + +Tag stable attendu après validation : + +```text +v0.3.3 +``` + +## 2. Responsabilité de `rel.001` + +Cette livraison effectue uniquement la mécanique de publication stable définie par `VER-LIFECYCLE-012`. + +Elle : + +- passe `workspace.package.version` de `0.3.3-pre.13` à `0.3.3` ; +- ajoute le présent delta `rel.001` ; +- ne corrige ni code, ni test, ni manifest de crate, ni Config, ni migration, 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 technique final `0.3.3-pre.011`, exécuté le **30 août 2026**, a validé le workspace complet, les graphes Cargo et le replay PostgreSQL réel. + +Il a notamment validé : + +```text +cargo fmt --all PASS +python3 scripts/audit_rust_workspace_rules.py PASS +python3 scripts/audit_markdown_tables.py PASS +cargo check --workspace PASS +cargo clippy --workspace --all-targets PASS +cargo test --workspace PASS +cargo test -p ksp-store-lib --no-default-features PASS +cargo check -p ksp-store-lib --no-default-features PASS +cargo tree -p ksp-store-lib --edges normal inspecté +cargo tree -p ksp-store-lib -e features inspecté +cargo tree -p ksp-store-postgres-lib --edges normal inspecté +cargo tree --duplicates inspecté +``` + +Le même gate a rejoué la vertical slice `RawTransaction` sur **PostgreSQL major 17** : + +```text +postgres_raw_transaction_live PASS +bootstrap V000 + V001 PASS +binding réseau PASS +schema_autoupdate repair PASS +canonical + observation atomiques PASS +idempotence / conflit PASS +concurrence identique / divergente PASS +pagination ASC / DESC et cursor replay PASS +Full -> Archived -> Purged PASS +ForceRehydrate PASS +races de rétention PASS +rollback sur cancellation PASS +réouverture finale PASS +cleanup PASS +``` + +La réconciliation documentaire `0.3.3-pre.012-fix.001` puis la préparation de publication `0.3.3-pre.013` ont ensuite été validées par le gate ciblé sans modifier le comportement runtime ni les migrations. + +Le checkpoint opérateur final de `0.3.3-pre.013`, exécuté le **30 août 2026**, est vert : + +```text +General Rust rule audit clean +Rust export completeness audit 0 candidate(s) +KSP workspace Rust rule audit clean +Markdown table audit clean — 214 tables / 158 files +cargo check --workspace PASS +cargo clippy --workspace --all-targets PASS +cargo test -p ksp-store-api PASS +cargo test -p ksp-store-lib PASS +cargo test -p ksp-store-postgres-lib PASS +cargo test -p ksp-config-lib PASS +cargo check -p ksp-store-lib --no-default-features PASS +``` + +## 4. Surface stable publiée + +`0.3.3` publie la vertical slice PostgreSQL complète de `RawTransaction` : + +- six capabilities `RawTransaction*` implémentées par `PostgresBackend` et dispatchées par `Store` ; +- canonical transaction et acquisition observation atomiques ; +- idempotence exacte et conflits divergents explicites ; +- pagination keyset déterministe avec cursor opaque lié au réseau, à la direction et à la plage ; +- rétention physique `Full`, `Archived`, `Purged`, tombstone et `ForceRehydrate` ; +- `Compacted` explicitement unsupported tant qu'aucune représentation physique réelle n'existe ; +- schéma PostgreSQL V001 mono-réseau, compatible `u64` exact via `NUMERIC(20,0)` ; +- vérification/introspection de schéma, réparations additives contrôlées et historique de migration immuable ; +- erreurs backend/façade bornées et sans fuite d'URI, SQL, payload ou texte serveur. + +Restent hors scope de cette release : + +- implémentation physique `RawAccountState` ; +- STRUCTURAL/N2 et décodage Program ; +- Interface events partagés ; +- jobs/workers/backfills ; +- politiques worker de batching, priorité, scheduling et rétention ; +- application d'inspection Store. + +## 5. Invariants de migration + +Les migrations publiées restent celles validées avant `rel.001` : + +```text +V000 d29068b8c13b9dc0cc9ef6aaadd0fa12d41e0fe4c56541a1118c4bfc846a1450 +V001 31488cda2f08f3f46c4cdbdbb6c18c243662fada02eac4487040c8735d72cc51 +``` + +`rel.001` ne modifie aucun SQL ni checksum de migration. + +## 6. Version stable et suite + +La version Cargo publiée devient : + +```text +workspace.package.version = 0.3.3 +``` + +Après validation de cette lane mécanique : + +```text +commit : v0.3.3-rel.001 +tag : v0.3.3 +``` + +La session suivante repart de la base stable `v0.3.3` et exécute : + +```text +prompts/023-V0_3_4_START_PROMPT.md +``` + +pour ouvrir `0.3.4 — Store/PostgreSQL RawAccountState + complétude/conformance RAW`.