8.5 KiB
Delta 0.3.2-pre.012 — préparation de publication et prompt 0.3.3
1. Base requise
Base directe attendue :
0.3.2-pre.011
workspace.package.version = 0.3.2-pre.11
Le gate opérateur de pre.011, exécuté le 30 août 2026, est entièrement vert :
cargo fmt --all PASS
python3 scripts/audit_rust_workspace_rules.py PASS / clean
python3 scripts/audit_markdown_tables.py PASS / clean — 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 — 126 unit tests + ownership/public API
cargo check -p ksp-store-lib --no-default-features PASS
Le gate technique complet de référence de pre.010 reste également acquis : il a été rejoué après cargo clean, passe cargo test --workspace, les graphes Cargo, les trois builds Tauri Linux et le live PostgreSQL sur major 17.
2. Objectif
Dernière prerelease avant rel.001, strictement limitée à la préparation de publication minimale définie par VER-LIFECYCLE-003 :
bump workspace vers 0.3.2-pre.12
entrée stable candidate 0.3.2 dans CHANGELOG.md
fermeture 0.3.2 et précision de 0.3.3 dans ROADMAP.md
création du prompt 0.3.3
delta pre.012
Aucun code, test, manifest de crate, README/USAGE, plan, validation, architecture, règle, config, schema ou migration n'est rouvert.
3. Version Cargo
0.3.2-pre.11
-> 0.3.2-pre.12
Le header Cargo.toml passe de la version fichier 345 à 346 parce que le fichier est réellement modifié.
4. Changelog 0.3.2
CHANGELOG.md enregistre la fondation stable candidate réellement livrée :
ksp-store-lib + ksp-store-postgres-lib
feature postgres par défaut
Store lié à exactement un RawNetworkId
Config std.store avec targets devnet/mainnet/testnet et URI Secret séparées
tokio-postgres + Deadpool + Rustls
TLS Disabled / VerifyFull
pool/connect/wait/create/recycle/shutdown bornés
V000 bootstrap + ksp_store_schema_migrations
history version/name/SHA-256
advisory transaction lock
health/readiness portable et redacted
84 exports crate-root façade au gate hardening
aucune capability/table RawTransaction ou RawAccountState métier
Il enregistre également le gate technique complet, le live PostgreSQL major 17 et la policy supportée PostgreSQL >= 15.
5. Roadmap
ROADMAP.md :
passe 0.3.2 à [X]
remplace les formulations prospectives par la fondation réellement livrée
conserve 0.3.3 ouverte comme vertical slice RawTransaction complète
précise que 0.3.3 couvre les six capabilities transaction/observation/rétention
conserve RawAccountState + complétude RAW pour 0.3.4
La séparation durable reste :
Store = persistence/navigation
workers/jobs/executors = batch-size, priorité, backlog et policy
6. Prompt 0.3.3
Le nouveau prompt :
prompts/022-V0_3_3_START_PROMPT.md
est confronté à :
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
docs/plans/023-V0_3_2_STORE_POSTGRES_FOUNDATION_PLAN.md
docs/validation/019-V0_3_2_STORE_POSTGRES_FOUNDATION.md
crates/ksp-store-api/src/**
crates/ksp-store-lib/src/**
crates/ksp-store-postgres-lib/src/**
Il impose une première tranche pre.001 d'audit/design avant tout SQL métier lourd.
7. Archive historique requise pour la session suivante
L'archive :
khadhroony-bot3_v0.5.3-pre.005-fix010.zip
reste obligatoire au 0.3.3-pre.001, mais sa portée est réduite à l'ancien RAW transaction PostgreSQL :
raw transaction table
transaction observations
indexes/constraints
raw queries
raw transaction repository
contrats DTO/entity/repository pertinents
Elle sert à produire une matrice :
REPRENDRE / REDESSINER / REPORTER / REJETER
Elle n'est ni une base de code ni une autorité sur ksp-store-api ou l'architecture KSP actuelle.
8. Scope strict du prompt suivant
0.3.3 doit implémenter les six capabilities :
RawTransactionRead
RawTransactionWrite
RawTransactionObservationRead
RawTransactionObservationWrite
RawTransactionRetentionRead
RawTransactionRetentionWrite
sur le même couple Store/PostgreSQL, avec notamment :
migration métier à partir de V001
atomicité canonical + observation
idempotence identical
ERROR_CODE_RAW_CONFLICT pour contenu divergent
get/list cursorisé
network mismatch avant I/O
retention/tombstone/ForceRehydrate
concurrence/rollback
PostgreSQL live gate
Le prompt force pre.001 à fermer plusieurs questions physiques importantes avant code lourd :
binding de la database au RawNetworkId
représentation PostgreSQL des u64/u32 sans narrowing
ordre total + format du cursor
concurrence/idempotence
rétention physique honnête pour Full/Compacted/Archived/Purged
error mapping SQL sûr
Sont explicitement réservés :
0.3.4 -> RawAccountState PostgreSQL + complétude RAW
0.3.5 -> Interface events partagés si consumer réel
0.3.6 -> Job API + premier backfill
0.3.7 -> application backfill/inspection
9. Prévision souple intégrée au prompt
Le prompt réserve :
pre.001 audit contrats/kbot3/schema/concurrence/sizing
pre.002 migration V001 + schema/indexes
pre.003 mapping physique + lectures
pre.004 persistence acquisition atomique + observations
pre.005 list/query + cursor
pre.006 retention/tombstone/ForceRehydrate
pre.007 composition façade + conformance six capabilities
pre.008 PostgreSQL integration réelle RawTransaction
pre.009 hardening/completeness
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.3-pre.001 selon le budget de 15–20 minutes par tranche intermédiaire.
10. Fichiers ajoutés
prompts/022-V0_3_3_START_PROMPT.md
deltas/0.3.2/pre.012.md
11. Fichiers modifiés
Cargo.toml
CHANGELOG.md
ROADMAP.md
12. Fichiers supprimés
aucun
13. Surfaces explicitement non rouvertes
README.md
RULES.md
.env.example
config/**
crates/**
docs/**
prompts/001..021
En particulier :
crates/ksp-store-api/**
crates/ksp-store-lib/**
crates/ksp-store-postgres-lib/**
docs/plans/023-V0_3_2_STORE_POSTGRES_FOUNDATION_PLAN.md
docs/validation/019-V0_3_2_STORE_POSTGRES_FOUNDATION.md
docs/architecture/**
14. Validations de préparation
À exécuter sur l'arbre reconstruit :
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 l'environnement de génération si Cargo n'y est pas disponible.
15. Gate opérateur
La lane est documentaire/de publication ; le gate ciblé suffit :
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-postgres-lib
cargo test -p ksp-config-lib
cargo check -p ksp-store-lib --no-default-features
Le live PostgreSQL, les trois builds Tauri et le workspace lourd n'ont pas besoin d'être rejoués dans cette tranche puisque pre.012 ne touche aucune surface runtime/build/config/dependency.
16. Étape suivante
Si le gate reste vert :
0.3.2-rel.001
La publication stable doit être strictement mécanique :
workspace.package.version = 0.3.2
deltas/0.3.2/rel.001.md
rel.001 ne doit rouvrir ni CHANGELOG.md, ni ROADMAP.md, ni le prompt 0.3.3, ni aucun autre document/code.