# 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.