# Delta `0.3.2-pre.011` — réconciliation documentaire finale Store/PostgreSQL ## 1. Base requise Base directe attendue : ```text 0.3.2-pre.010 ``` Commit attendu : ```text v0.3.2-pre.011 ``` Archive overlay attendue : ```text ksp-general-0.3.2-pre.011.zip ``` Cette tranche suit le gate technique final `pre.010` et n'ajoute aucun comportement runtime. ## 2. Résultat du gate technique `pre.010` Le gate opérateur `0.3.2-pre.010` a été rejoué après `cargo clean` et fournit les preuves suivantes : ```text audits Rust PASS cargo check --workspace PASS cargo clippy --workspace --all-targets PASS tests ciblés de toutes les crates PASS ksp-store-lib default + --no-default-features PASS cargo test --workspace PASS graphes Cargo normal/features/duplicates exécutés 3 builds Tauri Linux PASS PostgreSQL live foundation PASS — major 17 ``` La ligne d'audit Markdown du journal opérateur `pre.010` a utilisé par erreur `deltas/0.3.1` au lieu de `deltas/0.3.2`. L'overlay `pre.010` avait été audité dans l'environnement de génération avec le chemin correct ; `pre.011` rejoue explicitement le scope complet `deltas/0.3.2`. Cette erreur de scope de commande ne constitue pas un défaut runtime et n'ouvre pas un `pre.010-fix`. ## 3. Objectif Appliquer `VER-LIFECYCLE-006` et figer les documents durables de la fondation Store/PostgreSQL avant la préparation de publication minimale : ```text README/USAGE ksp-store-lib README/USAGE ksp-store-postgres-lib README/USAGE ksp-config-lib pour std.store index docs global index plans index validations plan 023 validation 019 ``` Cette tranche ne finalise pas `CHANGELOG.md`, `ROADMAP.md` ni le prompt `0.3.3`. ## 4. Documentation de `ksp-store-lib` Le nouveau README fixe durablement : ```text façade runtime backend-neutral feature postgres par défaut 1 Store = 1 RawNetworkId + 1 backend physique aucun multiplexage automatique de bases/réseaux Config propriétaire des targets et secrets aucun type PostgreSQL physique réexporté aucune capability RAW PostgreSQL encore implémentée ``` Le nouveau USAGE documente : ```text dépendance consumer normale uniquement vers ksp-store-lib construction programmatique de StoreSettings Store::open / runtime_snapshot / health / close résolution recommandée via ksp-config-lib settings pool/bootstrap/TLS surface health sûre limite fonctionnelle de la fondation ``` ## 5. Documentation de `ksp-store-postgres-lib` Le README et le USAGE fixent la crate comme backend physique, non comme seconde façade : ```text consumer ordinaire -X-> ksp-store-postgres-lib bridge façade/tests seulement pool Deadpool borné TLS Disabled / VerifyFull via Rustls roots système + AWS-LC moteur de migrations KSP privé V000 bootstrap + ksp_store_schema_migrations history version/name/SHA-256 + advisory transaction lock health/runtime snapshots sûrs PostgresBackendError = kind + phase statique aucune table/repository/capability RAW métier ``` La politique durable reste PostgreSQL >= 15 pour la validation de fondation ; le major effectivement exercé reste enregistré dans la matrice et non figé comme dépendance runtime maximale. ## 6. Réconciliation Config `ksp-config-lib/README.md` et `USAGE.md` documentent désormais : ```text cfg.std.store / schema.std.store Config -> Store avec default-features = false sélection de target nommée RawNetworkId explicite provenance Secret obligatoire de l'URI PostgreSQL variables KSP_SECRET_STORE_DEVNET_POSTGRES_URI KSP_SECRET_STORE_MAINNET_POSTGRES_URI KSP_SECRET_STORE_TESTNET_POSTGRES_URI targets committed devnet/mainnet/testnet bases PostgreSQL indépendantes par target absence de routage multi-target dans Store ``` Aucune lecture d'environnement n'est déplacée vers Store/backend. ## 7. Indexes et documents de release Les indexes durables référencent maintenant le plan `023` et la validation `019` ainsi que la documentation des deux crates runtime. Le plan `023` enregistre le résultat réel de `pre.010`, la correction de scope Markdown à rejouer et la matérialisation documentaire de `pre.011`. La matrice `019` est réconciliée avec les preuves réelles de `pre.002` à `pre.010`, y compris : ```text ksp-store-api non régressé pool/TLS/bootstrap/health/close hardening/security feature mismatch no-env PostgreSQL live major 17 en pre.008 et pre.010 3 builds Tauri au gate final aucun TODO technique applicable à 0.3.2 ``` Le seul statut restant avant fermeture de `pre.011` est son propre gate documentaire opérateur. ## 8. Documents relus et volontairement inchangés Les architectures suivantes ont été relues sur la surface finale `pre.010` : ```text docs/architecture/003-COMPONENT_CONTRACTS.md docs/architecture/004-COMPONENT_INVENTORY.md docs/architecture/005-DEPENDENCY_GRAPH.md docs/architecture/008-DATA_MATERIALIZATION_AND_STORE.md ``` Elles sont déjà cohérentes avec le split façade/backend et ne sont pas modifiées artificiellement. Le choix documentaire de `0.3.1-pre.009` de ne pas créer un README/USAGE propre à `ksp-store-api` n'est pas rouvert par cette release runtime/backend. ## 9. Hors scope préservé Aucun élément suivant n'est introduit : ```text RawTransaction PostgreSQL persistence/query/retention RawAccountState PostgreSQL persistence/query/retention SQL métier RAW repository métier batch/backlog/priority worker/job Store Desk nouvelle migration nouvelle dépendance nouveau test fonctionnel modification src/** ``` ## 10. Fichiers ajoutés ```text crates/ksp-store-lib/README.md crates/ksp-store-lib/USAGE.md crates/ksp-store-postgres-lib/README.md crates/ksp-store-postgres-lib/USAGE.md deltas/0.3.2/pre.011.md ``` ## 11. Fichiers modifiés ```text Cargo.toml crates/ksp-config-lib/README.md crates/ksp-config-lib/USAGE.md docs/000-README.md docs/plans/000-README.md docs/plans/023-V0_3_2_STORE_POSTGRES_FOUNDATION_PLAN.md docs/validation/000-README.md docs/validation/019-V0_3_2_STORE_POSTGRES_FOUNDATION.md ``` ## 12. Fichiers supprimés ```text aucun ``` ## 13. Version Cargo La prerelease non-fix synchronise : ```text workspace.package.version = 0.3.2-pre.11 ``` Aucune dépendance, feature ou configuration Cargo n'est modifiée en dehors de cette version. ## 14. Validation de génération L'environnement de génération ne fournit pas `cargo`/`rustc`; aucun résultat Cargo local n'est donc déclaré PASS par ce delta. Les audits Python applicables ont été rejoués après matérialisation de l'overlay, avec le chemin Markdown exact `deltas/0.3.2` : ```text General Rust rule audit: clean Rust export completeness audit: 0 candidate(s) KSP workspace Rust rule audit: clean Markdown table audit: clean (186 table(s), 142 file(s)) ``` Cette preuve corrige explicitement le défaut de scope de la commande Markdown observé dans le journal opérateur `pre.010`. ## 15. Gate opérateur après application ```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 -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 ``` Le smoke PostgreSQL réel, les graphes Cargo complets, `cargo test --workspace` et les trois builds Tauri ne sont pas rejoués par nécessité dans cette tranche documentaire : ils sont déjà le gate technique vert de `pre.010` et `pre.011` ne modifie aucun code, dépendance, config runtime, resource Tauri ou migration. ## 16. Suite Si le gate documentaire `pre.011` est vert, la seule prerelease restante est `pre.012`, strictement limitée à la préparation de publication : ```text Cargo.toml CHANGELOG.md ROADMAP.md prompts/022-V0_3_3_START_PROMPT.md deltas/0.3.2/pre.012.md ``` Aucun README, USAGE, plan, validation, architecture, code, test, schema ou config ne devra être rouvert dans `pre.012`.