# Delta `0.3.1-pre.011` — préparation de publication et prompt `0.3.2` ## 1. Base requise ```text 0.3.1-pre.010 workspace.package.version = 0.3.1-pre.10 ``` Le gate opérateur de `pre.010`, exécuté le **29 août 2026**, est propre : ```text cargo fmt --all PASS python3 scripts/audit_rust_workspace_rules.py PASS / clean python3 scripts/audit_markdown_tables.py PASS / clean — 186 tables / 135 fichiers cargo check --workspace PASS cargo clippy --workspace --all-targets PASS cargo test -p ksp-store-api PASS unit 15/15 dependency_boundary 2/2 external_backend 1/1 public_api 7/7 release_completeness 5/5 security_hardening 4/4 ``` Le gate technique lourd de référence de `pre.008`, exécuté après `cargo clean`, a également validé le workspace complet, les tests ciblés, `cargo test --workspace`, les trois builds Tauri et les graphes Cargo. Le seul nom de package erroné utilisé dans la première séquence (`ksp-program-lib`) a été immédiatement remplacé par `cargo test -p ksp-program-api`, qui passe intégralement. ## 2. Objectif Dernière prerelease avant `rel.001`, strictement limitée à la préparation de publication : ```text bump workspace vers 0.3.1-pre.11 ajout de l'entrée stable candidate 0.3.1 dans CHANGELOG.md fermeture 0.3.1 et trajectoire 0.3.2..0.3.7 dans ROADMAP.md création du prompt 0.3.2 delta pre.011 ``` Aucun code, test, manifest de crate, README/USAGE, plan, validation, architecture ou règle normative n'est rouvert. ## 3. Version Cargo ```text 0.3.1-pre.10 -> 0.3.1-pre.11 ``` ## 4. Changelog `0.3.1` `CHANGELOG.md` enregistre la surface stable candidate réellement livrée : ```text ksp-store-api uniquement RawTransaction + observation RawAccountState + observation primitives RAW/provenance/hash/timestamp queries cursorisées sans plafond métier KSP 10 capabilities object-safe idempotence/conflit rétention/tombstone/force-rehydrate ExpectedStateMismatch 60 exports crate-root backend externe canari aucun PostgreSQL/runtime Config/Transport/Program/Logging aucune surface STRUCTURAL/DECODED/DOMAIN ``` Il enregistre aussi le gate de référence après `cargo clean` et le redécoupage final : ```text 0.3.2 fondation Store/PostgreSQL 0.3.3 RawTransaction PostgreSQL 0.3.4 RawAccountState + complétude RAW ``` ## 5. Roadmap `ROADMAP.md` : ```text passe 0.3.1 à [X] réduit explicitement 0.3.2 à la fondation runtime/backend ajoute 0.3.3 RawTransaction ajoute 0.3.4 RawAccountState + complétude renumérote Interface / Job / application en 0.3.5 / 0.3.6 / 0.3.7 reclasse les TODO déjà matérialisés par 0.3.1 ``` La règle de pagination reste visible : Store navigue/cursorise ; batch-size, priorité et policy appartiennent aux futurs workers/jobs/executors. ## 6. Prompt `0.3.2` Le nouveau prompt est confronté à : ```text docs/rules/PROMPT_STRUCTURE.md docs/rules/VERSION_WORKFLOW.md docs/rules/FILE_CONTRACTS.md docs/rules/RULES_KSP.md docs/rules/RULES_DEPENDENCIES.md 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 docs/architecture/009-ACQUISITION_WORKERS_AND_JOBS.md docs/plans/022-V0_3_1_STORE_RAW_PLAN.md docs/validation/018-V0_3_1_STORE_RAW.md ``` L'archive historique reste requise : ```text khadhroony-bot3_v0.5.3-pre.005-fix010.zip ``` mais seulement pour réauditer les éléments physiques Store/PostgreSQL pertinents : runtime, pool, Config, migrations, schema/versioning et health. Elle n'est jamais une base de code. Références externes vérifiées lors de la préparation du prompt, le **29 août 2026** : ```text PostgreSQL stable : 18.6 tokio-postgres : 0.7.18 ``` Le prompt impose de réauditer ces versions à l'ouverture réelle de `0.3.2`. ## 7. Scope strict du prompt suivant `0.3.2` ouvre ensemble : ```text ksp-store-lib ksp-store-postgres-lib ``` pour : ```text features/backend dispatch Store settings/lifecycle Config std.store connexion/pool/TLS PostgreSQL migrations/bootstrap privés health/readiness seulement si justifié PostgreSQL integration réelle ``` Sont explicitement réservés : ```text 0.3.3 -> RawTransaction PostgreSQL complet 0.3.4 -> RawAccountState PostgreSQL + complétude RAW ``` Aucune table RAW métier n'est demandée à `0.3.2`. ## 8. Prévision souple intégrée au prompt Le prompt réserve : ```text pre.001 audit/threat model/dependencies/sizing pre.002 scaffold deux crates + feature graph pre.003 settings/backend selection/lifecycle pre.004 Config std.store pre.005 connexion/pool/TLS pre.006 migrations/bootstrap pre.007 composition facade/backend + diagnostics pre.008 PostgreSQL integration réelle pre.009 hardening/completeness/feature matrix pre.010 gate technique final pre.011 réconciliation documentaire pre.012 préparation de publication rel.001 publication stable ``` La prévision reste souple et doit être recalibrée par `0.3.2-pre.001`. ## 9. Fichiers ajoutés ```text prompts/021-V0_3_2_START_PROMPT.md deltas/0.3.1/pre.011.md ``` ## 10. Fichiers modifiés ```text Cargo.toml CHANGELOG.md ROADMAP.md ``` ## 11. Fichiers supprimés Aucun. ## 12. Surfaces explicitement non rouvertes ```text README.md RULES.md .env.example config/** crates/** docs/** prompts/001..020 ``` En particulier : ```text crates/ksp-store-api/** docs/plans/022-V0_3_1_STORE_RAW_PLAN.md docs/validation/018-V0_3_1_STORE_RAW.md docs/architecture/** ``` ## 13. Validations de préparation À exécuter sur l'arbre reconstruit : ```text audit Rust workspace audit Markdown contrôle exact du payload overlay contrôle versions/file headers contrôle qu'aucun fichier hors lane n'est modifié ``` Aucun résultat Cargo nouveau n'est revendiqué par la génération de cette tranche. ## 14. Gate opérateur La lane est documentaire/de publication ; un gate ciblé suffit : ```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.1 cargo check --workspace cargo clippy --workspace --all-targets cargo test -p ksp-store-api ``` Le gate lourd workspace/Tauri a déjà été exécuté sur `pre.008` et aucune surface code/runtime/dependency n'est rouverte depuis. ## 15. Étape suivante Si le gate reste vert : ```text 0.3.1-rel.001 ``` La publication stable doit être strictement mécanique : ```text workspace.package.version = 0.3.1 deltas/0.3.1/rel.001.md ``` `rel.001` ne doit rouvrir ni `CHANGELOG.md`, ni `ROADMAP.md`, ni le prompt `0.3.2`.