v0.3.3-pre.011

This commit is contained in:
2026-08-30 16:37:28 +02:00
parent 282b616a0e
commit 8428b75b96
4 changed files with 187 additions and 12 deletions

View File

@@ -1,12 +1,12 @@
# file: Cargo.toml # file: Cargo.toml
# version: 360 # version: 361
[workspace] [workspace]
resolver = "3" 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"] 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] [workspace.package]
version = "0.3.3-pre.10.fix.1" version = "0.3.3-pre.11"
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"

141
deltas/0.3.3/pre.011.md Normal file
View File

@@ -0,0 +1,141 @@
<!-- file: deltas/0.3.3/pre.011.md -->
<!-- version: 1 -->
# 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
```

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/024-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION_PLAN.md --> <!-- file: docs/plans/024-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION_PLAN.md -->
<!-- version: 11 --> <!-- version: 12 -->
# Plan `0.3.3` — Store/PostgreSQL RawTransaction vertical slice # 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.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.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.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 : Tranche technique courante :
```text ```text
0.3.3-pre.009preuve PostgreSQL live complète RawTransaction 0.3.3-pre.011gate 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é ## 2. Sources et autorité
@@ -1199,13 +1201,19 @@ Tranche matérialisée :
### `0.3.3-pre.011` — gate technique final ### `0.3.3-pre.011` — gate technique final
- fmt ; Tranche matérialisée sans changement fonctionnel :
- `cargo fmt --all` ;
- audits Rust/Markdown ; - audits Rust/Markdown ;
- check workspace ; - `cargo check --workspace` ;
- Clippy all-targets ; - `cargo clippy --workspace --all-targets` ;
- tests Store/API/Config ; - tests ciblés Store API/façade/backend/Config ;
- no-default-features ; - façade testée et compilée avec `--no-default-features` ;
- live opt-in si URI dédiée fournie. - `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 ### `0.3.3-pre.012` — réconciliation documentaire

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/020-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION.md --> <!-- file: docs/validation/020-V0_3_3_STORE_POSTGRES_RAW_TRANSACTION.md -->
<!-- version: 22 --> <!-- version: 23 -->
# Validation `0.3.3` — Store/PostgreSQL RawTransaction vertical slice # 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 nest modifié ; - [PASS statique] aucune logique runtime, SQL de production, migration ou checksum V000/V001 nest modifié ;
- [À FAIRE] gate Cargo opérateur complet de `pre.010-fix.001`. - [À 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`.