v0.3.2-rel.001
This commit is contained in:
329
deltas/0.3.2/rel.001.md
Normal file
329
deltas/0.3.2/rel.001.md
Normal file
@@ -0,0 +1,329 @@
|
||||
<!-- file: deltas/0.3.2/rel.001.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.3.2-rel.001` — publication stable Store/PostgreSQL foundation
|
||||
|
||||
## 1. Base requise
|
||||
|
||||
Base directe attendue :
|
||||
|
||||
```text
|
||||
0.3.2-pre.012
|
||||
workspace.package.version = 0.3.2-pre.12
|
||||
```
|
||||
|
||||
Commit attendu pour cette livraison :
|
||||
|
||||
```text
|
||||
v0.3.2-rel.001
|
||||
```
|
||||
|
||||
Tag stable attendu après validation :
|
||||
|
||||
```text
|
||||
v0.3.2
|
||||
```
|
||||
|
||||
## 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.2-pre.12` à `0.3.2` ;
|
||||
- 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.2-pre.010`, exécuté le **29 août 2026** après `cargo clean`, a reconstruit et validé la workspace depuis zéro.
|
||||
|
||||
Il a notamment validé :
|
||||
|
||||
```text
|
||||
cargo clean PASS
|
||||
cargo fmt --all PASS
|
||||
python3 scripts/audit_rust_workspace_rules.py PASS
|
||||
General Rust rule audit clean
|
||||
Rust export completeness audit 0 candidate(s)
|
||||
KSP workspace Rust rule audit clean
|
||||
cargo check --workspace PASS
|
||||
cargo clippy --workspace --all-targets PASS
|
||||
cargo test --workspace 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é
|
||||
cargo tauri build — SOL Prices Desk PASS
|
||||
cargo tauri build — Wallet Desk PASS
|
||||
cargo tauri build — Config Desk PASS
|
||||
```
|
||||
|
||||
Le même gate a rejoué le test PostgreSQL réel opt-in sur un serveur **PostgreSQL major 17** :
|
||||
|
||||
```text
|
||||
postgres_foundation_live PASS
|
||||
bootstrap initial PASS
|
||||
réouverture idempotente PASS
|
||||
bootstrap concurrent sous advisory lock PASS
|
||||
health Ready PASS
|
||||
mismatch checksum PASS
|
||||
recovery après restauration PASS
|
||||
rollback transactionnel injecté PASS
|
||||
close borné PASS
|
||||
```
|
||||
|
||||
Le gate `0.3.2-pre.011`, exécuté le **30 août 2026**, a validé la réconciliation documentaire finale et le bon scope Markdown `deltas/0.3.2` :
|
||||
|
||||
```text
|
||||
cargo fmt --all PASS
|
||||
python3 scripts/audit_rust_workspace_rules.py PASS
|
||||
General Rust rule audit clean
|
||||
Rust export completeness audit 0 candidate(s)
|
||||
KSP workspace Rust rule audit clean
|
||||
python3 scripts/audit_markdown_tables.py PASS — 186 tables / 142 fichiers
|
||||
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-lib --no-default-features 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
|
||||
```
|
||||
|
||||
Enfin, le gate `0.3.2-pre.012`, exécuté le **30 août 2026**, a validé la préparation minimale de publication :
|
||||
|
||||
```text
|
||||
cargo fmt --all PASS
|
||||
python3 scripts/audit_rust_workspace_rules.py PASS
|
||||
General Rust rule audit clean
|
||||
Rust export completeness audit 0 candidate(s)
|
||||
KSP workspace Rust rule audit clean
|
||||
python3 scripts/audit_markdown_tables.py PASS — 186 tables / 144 fichiers
|
||||
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
|
||||
```
|
||||
|
||||
`pre.011` et `pre.012` n'ont rouvert aucun code runtime, aucune migration ni aucune dépendance Store/PostgreSQL.
|
||||
|
||||
## 4. Version stable publiée
|
||||
|
||||
La version Cargo devient :
|
||||
|
||||
```text
|
||||
workspace.package.version = 0.3.2
|
||||
```
|
||||
|
||||
La release stable publiée est :
|
||||
|
||||
```text
|
||||
0.3.2 — Store/PostgreSQL runtime foundation
|
||||
```
|
||||
|
||||
La surface stable comprend notamment :
|
||||
|
||||
```text
|
||||
ksp-store-lib
|
||||
ksp-store-postgres-lib
|
||||
feature postgres par défaut dans la façade
|
||||
mode --no-default-features sans backend PostgreSQL
|
||||
Config std.store avec targets nommés devnet/mainnet/testnet
|
||||
1 Store = 1 RawNetworkId + 1 backend physique
|
||||
tokio-postgres + deadpool-postgres
|
||||
TLS Disabled / VerifyFull via Rustls
|
||||
pool borné et timeouts connect/wait/create/recycle/shutdown
|
||||
Store::open / Store::close
|
||||
runtime_snapshot sans I/O
|
||||
health/readiness portable et redacted
|
||||
moteur privé de migrations KSP
|
||||
V000 bootstrap metadata-only
|
||||
ksp_store_schema_migrations
|
||||
checksum SHA-256
|
||||
advisory lock transactionnel borné
|
||||
bootstrap idempotent et concurrent-safe
|
||||
refus du schema plus récent / historique divergent
|
||||
URI et erreurs PostgreSQL non exposées
|
||||
PostgreSQL >= 15, validé réellement sur major 17
|
||||
```
|
||||
|
||||
Restent volontairement absents de `0.3.2` :
|
||||
|
||||
```text
|
||||
persistence PostgreSQL RawTransaction
|
||||
persistence PostgreSQL RawAccountState
|
||||
repositories SQL métier RAW
|
||||
queries/cursors PostgreSQL métier
|
||||
retention/tombstone/ForceRehydrate PostgreSQL métier
|
||||
CORE / DECODE / SPECIALIZED
|
||||
worker / job / executor
|
||||
Store Desk
|
||||
```
|
||||
|
||||
La frontière stable reste :
|
||||
|
||||
```text
|
||||
ksp-store-api
|
||||
= contrats RAW backend-agnostic
|
||||
|
||||
ksp-store-lib
|
||||
= façade/runtime commun + sélection backend par feature
|
||||
|
||||
ksp-store-postgres-lib
|
||||
= driver/pool/TLS/SQL/migrations/health PostgreSQL privés
|
||||
|
||||
ksp-config-lib
|
||||
= résolution std.store + secrets/env + target réseau/backend
|
||||
```
|
||||
|
||||
`ksp-store-postgres-lib` ne dépend jamais de `ksp-store-lib`, et les consommateurs ordinaires dépendent uniquement de la façade.
|
||||
|
||||
## 5. Trajectoire suivante confirmée
|
||||
|
||||
La suite reste :
|
||||
|
||||
```text
|
||||
0.3.3 vertical slice PostgreSQL RawTransaction complète
|
||||
0.3.4 vertical slice PostgreSQL RawAccountState + complétude Store RAW
|
||||
0.3.5 Interface events partagés réellement nécessaires
|
||||
0.3.6 Job API + premier backfill RAW
|
||||
0.3.7 application backfill/inspection RAW
|
||||
```
|
||||
|
||||
Le prompt actif de la prochaine release est :
|
||||
|
||||
```text
|
||||
prompts/022-V0_3_3_START_PROMPT.md
|
||||
```
|
||||
|
||||
`0.3.3-pre.001` doit commencer par audit/brainstorming/sizing avant SQL lourd et exige l'archive historique :
|
||||
|
||||
```text
|
||||
khadhroony-bot3_v0.5.3-pre.005-fix010.zip
|
||||
```
|
||||
|
||||
Cette archive sert uniquement à réauditer l'ancienne vertical slice transaction PostgreSQL ; elle n'a aucune autorité normative sur l'architecture KSP actuelle.
|
||||
|
||||
## 6. Fichiers ajoutés
|
||||
|
||||
```text
|
||||
deltas/0.3.2/rel.001.md
|
||||
```
|
||||
|
||||
## 7. Fichiers modifiés
|
||||
|
||||
```text
|
||||
Cargo.toml
|
||||
```
|
||||
|
||||
## 8. Fichiers supprimés
|
||||
|
||||
```text
|
||||
aucun
|
||||
```
|
||||
|
||||
## 9. Validations exécutées pour préparer le delta
|
||||
|
||||
Contrôles statiques de l'overlay :
|
||||
|
||||
```text
|
||||
Cargo.toml version 0.3.2
|
||||
payload rel.001 2 fichiers exactement
|
||||
CHANGELOG.md non rouvert
|
||||
ROADMAP.md non rouvert
|
||||
prompt 022 non rouvert
|
||||
README/USAGE non rouverts
|
||||
plan / validation non rouverts
|
||||
architecture / règles non rouvertes
|
||||
Config / schemas / migrations non rouverts
|
||||
code / tests non rouverts
|
||||
aucun fichier de rattrapage présent
|
||||
```
|
||||
|
||||
La préparation de l'archive ne rejoue aucun test Cargo dans l'environnement de génération. Les preuves techniques acquises sont celles des gates opérateur ci-dessus ; le gate stable final reste à exécuter après application.
|
||||
|
||||
## 10. Validation stable après application
|
||||
|
||||
Exécuter avant commit/tag :
|
||||
|
||||
```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.2
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets
|
||||
cargo test --workspace
|
||||
```
|
||||
|
||||
Il n'est pas nécessaire de rejouer les trois builds Tauri, les graphes Cargo ni le smoke PostgreSQL réel : `rel.001` ne modifie ni code/runtime, ni dépendance, ni Config, ni migration, ni surface desktop.
|
||||
|
||||
## 11. Questions ouvertes
|
||||
|
||||
Aucune question ouverte ne bloque la publication de `0.3.2`.
|
||||
|
||||
Les décisions métier/physiques suivantes appartiennent explicitement à `0.3.3-pre.001` :
|
||||
|
||||
```text
|
||||
binding vérifiable database <-> RawNetworkId
|
||||
représentation PostgreSQL sans narrowing des valeurs unsigned
|
||||
V001 RawTransaction + observations
|
||||
clés/contraintes/indexes
|
||||
ordre total et version du cursor
|
||||
atomicité canonical + observation
|
||||
idempotence et conflits concurrents
|
||||
rétention/tombstone/ForceRehydrate physiques
|
||||
mapping SQL -> erreurs Store redacted
|
||||
```
|
||||
|
||||
`RawAccountState` PostgreSQL reste réservé à `0.3.4`.
|
||||
|
||||
## 12. Commit et tag stable
|
||||
|
||||
Après succès du gate stable :
|
||||
|
||||
```text
|
||||
commit : v0.3.2-rel.001
|
||||
tag : v0.3.2
|
||||
```
|
||||
|
||||
Aucun tag intermédiaire `rel.001` n'est requis.
|
||||
|
||||
Commandes Git typiques :
|
||||
|
||||
```bash
|
||||
git add Cargo.toml deltas/0.3.2/rel.001.md
|
||||
git commit -m "v0.3.2-rel.001"
|
||||
git tag v0.3.2
|
||||
git push
|
||||
git push origin v0.3.2
|
||||
```
|
||||
|
||||
## 13. Suite
|
||||
|
||||
Après publication du tag stable `v0.3.2`, ouvrir exclusivement :
|
||||
|
||||
```text
|
||||
0.3.3-pre.001 — PostgreSQL RawTransaction vertical slice
|
||||
```
|
||||
|
||||
avec :
|
||||
|
||||
```text
|
||||
prompts/022-V0_3_3_START_PROMPT.md
|
||||
```
|
||||
|
||||
La session suivante doit recevoir :
|
||||
|
||||
```text
|
||||
archive opérateur exacte de v0.3.2
|
||||
khadhroony-bot3_v0.5.3-pre.005-fix010.zip
|
||||
```
|
||||
|
||||
`0.3.3-pre.001` reste une tranche d'audit/brainstorming/sizing et ne doit pas commencer l'implémentation SQL lourde avant fermeture des décisions de schéma, concurrence, cursorisation et rétention.
|
||||
Reference in New Issue
Block a user