From 8428b75b96e3a46a521d5927501e1cc908c98fd2 Mon Sep 17 00:00:00 2001 From: SinuS Von SifriduS Date: Sun, 30 Aug 2026 16:37:28 +0200 Subject: [PATCH] v0.3.3-pre.011 --- Cargo.toml | 4 +- deltas/0.3.3/pre.011.md | 141 ++++++++++++++++++ ...3_3_STORE_POSTGRES_RAW_TRANSACTION_PLAN.md | 26 ++-- ...0-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION.md | 28 +++- 4 files changed, 187 insertions(+), 12 deletions(-) create mode 100644 deltas/0.3.3/pre.011.md diff --git a/Cargo.toml b/Cargo.toml index 2dc423c..11a4d4f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,12 @@ # file: Cargo.toml -# version: 360 +# version: 361 [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-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.10.fix.1" +version = "0.3.3-pre.11" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/khadhroony-solana-project" diff --git a/deltas/0.3.3/pre.011.md b/deltas/0.3.3/pre.011.md new file mode 100644 index 0000000..b310d15 --- /dev/null +++ b/deltas/0.3.3/pre.011.md @@ -0,0 +1,141 @@ + + + +# Delta `0.3.3-pre.011` — gate technique final RawTransaction + +## 1. Base requise + +Base directe attendue : + +```text +0.3.3-pre.10.fix.1 +``` + +Le gate opérateur de `pre.010-fix.001` du 30 août 2026 est entièrement vert : audits, workspace check, Clippy, tests ciblés Store/API/PostgreSQL/Config et compilation façade sans feature PostgreSQL passent. + +La preuve live PostgreSQL 17 complète de référence reste celle de `pre.009-fix.006`. + +## 2. Objectif + +Ouvrir exclusivement le gate technique final de `0.3.3` sans nouveau développement fonctionnel. + +Cette tranche ne modifie aucun : + +```text +src/** +test fonctionnel +migration SQL +Config runtime +manifest de crate +dépendance runtime +README/USAGE +CHANGELOG/ROADMAP +prompt suivant +``` + +## 3. Version + +```text +workspace.package.version = 0.3.3-pre.11 +``` + +Le passage depuis une version fix vers une prerelease normale ferme `pre.010` et ouvre la tranche suivante ; aucune autre propriété Cargo n'est modifiée. + +## 4. Gate technique final attendu + +```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.3.3 + +cargo check --workspace +cargo clippy --workspace --all-targets + +cargo test -p ksp-store-api +cargo test -p ksp-store-lib +cargo test -p ksp-store-lib --no-default-features +cargo test -p ksp-store-postgres-lib +cargo test -p ksp-config-lib +cargo check -p ksp-store-lib --no-default-features + +cargo test --workspace + +cargo tree -p ksp-store-lib --edges normal +cargo tree -p ksp-store-lib -e features +cargo tree -p ksp-store-postgres-lib --edges normal +cargo tree --duplicates +``` + +`cargo clean` peut être exécuté avant ce gate si l'opérateur veut une reconstruction entièrement froide ; il n'est pas un invariant fonctionnel de la release. + +## 5. Replay PostgreSQL réel + +L'URI dédiée étant disponible, le live `RawTransaction` est rejoué comme preuve finale : + +```bash +read -rsp "Dedicated PostgreSQL URI: " KSP_PG_TEST_URI; echo +printf '%s\n' "$KSP_PG_TEST_URI" | cargo test -p ksp-store-postgres-lib --test postgres_raw_transaction_live -- --ignored --nocapture --test-threads=1 +unset KSP_PG_TEST_URI +``` + +Le test conserve son contrat de sécurité : URI via `stdin`, absence d'echo, refus d'une surface KSP préexistante et cleanup des tables qu'il a créées. + +Le live foundation séparé n'est pas requis : le live `RawTransaction` traverse déjà bootstrap V000/V001, réouverture, drift/repair et lifecycle backend. + +## 6. Graphes et packaging + +Les graphes Cargo sont rejoués pour figer les frontières façade/backend/features. + +Aucun build Tauri final n'est imposé dans `0.3.3` : contrairement à `0.3.2`, cette release ne modifie ni resources applicatives, ni packaging `std.store`, ni manifest Tauri. + +## 7. Fichiers ajoutés + +```text +deltas/0.3.3/pre.011.md +``` + +## 8. Fichiers modifiés + +```text +Cargo.toml +docs/plans/024-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION_PLAN.md +docs/validation/020-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION.md +``` + +## 9. Fichiers supprimés + +Aucun. + +## 10. Migrations + +Aucune ressource SQL n'est modifiée. + +```text +V000 d29068b8c13b9dc0cc9ef6aaadd0fa12d41e0fe4c56541a1118c4bfc846a1450 +V001 31488cda2f08f3f46c4cdbdbb6c18c243662fada02eac4487040c8735d72cc51 +``` + +## 11. Validations exécutées dans l'environnement de génération + +```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/0.3.3 +contrôle statique version/payload +contrôle byte-for-byte de migrations/ +``` + +Cargo/rustc/rustfmt ne sont pas disponibles dans l'environnement de génération ; aucun gate Cargo n'est déclaré PASS ici. + +## 12. Questions ouvertes + +Aucune question de design. Tout défaut découvert par ce gate ouvre `pre.011-fix.NNN` avant la réconciliation documentaire. + +## 13. Suite + +Après gate technique et live entièrement verts : + +```text +0.3.3-pre.012 — réconciliation documentaire finale +0.3.3-pre.013 — préparation publication + prompt 0.3.4 +0.3.3-rel.001 — publication stable +``` diff --git a/docs/plans/024-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION_PLAN.md b/docs/plans/024-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION_PLAN.md index 4f81dc0..d124b79 100644 --- a/docs/plans/024-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION_PLAN.md +++ b/docs/plans/024-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION_PLAN.md @@ -1,5 +1,5 @@ - + # Plan `0.3.3` — Store/PostgreSQL RawTransaction vertical slice @@ -34,15 +34,17 @@ Tranches techniques validées : 0.3.3-pre.006 + fix.001 — pagination keyset + cursor V1 0.3.3-pre.007 + fix.001 — archive, purge, compare-and-transition et rejet Compacted 0.3.3-pre.008 + fix.001 — six capabilities PostgreSQL + dispatch façade +0.3.3-pre.009 + fix.001..fix.006 — preuve PostgreSQL 17 complète RawTransaction +0.3.3-pre.010 + fix.001 — hardening/completeness final de la vertical slice ``` Tranche technique courante : ```text -0.3.3-pre.009 — preuve PostgreSQL live complète RawTransaction +0.3.3-pre.011 — gate technique final ``` -Les gates opérateur jusqu'à `pre.008-fix.001` sont verts. `pre.009` n'ajoute aucun comportement métier ni migration : elle matérialise la preuve PostgreSQL réelle opt-in de la vertical slice complète, y compris concurrence, pagination, rétention/rehydrate et rollback/cancellation. +Les gates opérateur jusqu'à `pre.010-fix.001` sont verts. `pre.009-fix.006` a aussi passé le live PostgreSQL 17 complet. `pre.011` n'ajoute aucun comportement métier, test fonctionnel, SQL ou migration : elle rejoue la preuve technique globale avant la réconciliation documentaire. ## 2. Sources et autorité @@ -1199,13 +1201,19 @@ Tranche matérialisée : ### `0.3.3-pre.011` — gate technique final -- fmt ; +Tranche matérialisée sans changement fonctionnel : + +- `cargo fmt --all` ; - audits Rust/Markdown ; -- check workspace ; -- Clippy all-targets ; -- tests Store/API/Config ; -- no-default-features ; -- live opt-in si URI dédiée fournie. +- `cargo check --workspace` ; +- `cargo clippy --workspace --all-targets` ; +- tests ciblés Store API/façade/backend/Config ; +- façade testée et compilée avec `--no-default-features` ; +- `cargo test --workspace` ; +- graphes Cargo normal/features/duplicates ; +- replay opt-in du live PostgreSQL `RawTransaction` sur URI dédiée ; +- aucun build Tauri imposé : `0.3.3` ne modifie ni resources applicatives ni packaging desktop ; +- aucun changement `src/**`, migration SQL, Config runtime, README/USAGE, CHANGELOG/ROADMAP ou prompt suivant. ### `0.3.3-pre.012` — réconciliation documentaire diff --git a/docs/validation/020-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION.md b/docs/validation/020-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION.md index e6a97fd..27779a4 100644 --- a/docs/validation/020-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION.md +++ b/docs/validation/020-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION.md @@ -1,5 +1,5 @@ - + # Validation `0.3.3` — Store/PostgreSQL RawTransaction vertical slice @@ -833,3 +833,29 @@ cargo check -p ksp-store-lib --no-default-features - [PASS statique] aucune logique runtime, SQL de production, migration ou checksum V000/V001 n’est modifié ; - [À FAIRE] gate Cargo opérateur complet de `pre.010-fix.001`. +### `pre.010-fix.001` — clôture opérateur du hardening + +- [PASS] gate standard complet propre le 2026-08-30 ; +- [PASS] audits Rust/Markdown, workspace check et Clippy all-targets ; +- [PASS] `ksp-store-api` : 15 unitaires, 2 boundary, 1 external backend, 7 public API, 5 release completeness, 4 security hardening ; +- [PASS] `ksp-store-lib` : 10 unitaires, 3 boundary, 1 feature mismatch, 5 hardening, 5 public API ; +- [PASS] `ksp-store-postgres-lib` : 41 unitaires, 9 boundary, 7 hardening, 9 public API ; lives normalement ignored ; +- [PASS] `ksp-config-lib` : 128 unitaires, 7 ownership, 17 public API ; +- [PASS] `cargo check -p ksp-store-lib --no-default-features` ; +- [PASS] le canari SQL exact exige les deux formes `ON CONFLICT (signature) DO NOTHING` et `ON CONFLICT (observation_key) DO NOTHING` ; +- [PASS] aucune production, migration ou checksum V000/V001 modifié ; +- [PASS] `pre.010` est fermée et `pre.011` peut ouvrir le gate technique final. + +### `pre.011` — gate technique final + +- [MATÉRIALISÉ] aucune modification fonctionnelle, SQL, migration, Config runtime, README/USAGE, CHANGELOG/ROADMAP ou prompt ; +- [À FAIRE] `cargo fmt --all` + audits Rust/Markdown ; +- [À FAIRE] `cargo check --workspace` + `cargo clippy --workspace --all-targets` ; +- [À FAIRE] tests ciblés `ksp-store-api`, `ksp-store-lib`, `ksp-store-postgres-lib`, `ksp-config-lib` ; +- [À FAIRE] `cargo test -p ksp-store-lib --no-default-features` + `cargo check -p ksp-store-lib --no-default-features` ; +- [À FAIRE] `cargo test --workspace` ; +- [À FAIRE] graphes Cargo façade/backend/features/duplicates ; +- [À FAIRE] replay du live PostgreSQL `postgres_raw_transaction_live` sur URI dédiée ; +- [N/A] builds Tauri : aucune resource applicative ni packaging desktop n'est modifié par `0.3.3` ; +- [INVARIANT] V000/V001 et leurs checksums restent byte-identiques à la preuve live `pre.009-fix.006`. +