v0.3.2-pre.012
This commit is contained in:
320
deltas/0.3.2/pre.012.md
Normal file
320
deltas/0.3.2/pre.012.md
Normal file
@@ -0,0 +1,320 @@
|
||||
<!-- file: deltas/0.3.2/pre.012.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.3.2-pre.012` — préparation de publication et prompt `0.3.3`
|
||||
|
||||
## 1. Base requise
|
||||
|
||||
Base directe attendue :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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` :
|
||||
|
||||
```text
|
||||
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
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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` :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
Store = persistence/navigation
|
||||
workers/jobs/executors = batch-size, priorité, backlog et policy
|
||||
```
|
||||
|
||||
## 6. Prompt `0.3.3`
|
||||
|
||||
Le nouveau prompt :
|
||||
|
||||
```text
|
||||
prompts/022-V0_3_3_START_PROMPT.md
|
||||
```
|
||||
|
||||
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
|
||||
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 :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
raw transaction table
|
||||
transaction observations
|
||||
indexes/constraints
|
||||
raw queries
|
||||
raw transaction repository
|
||||
contrats DTO/entity/repository pertinents
|
||||
```
|
||||
|
||||
Elle sert à produire une matrice :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
RawTransactionRead
|
||||
RawTransactionWrite
|
||||
RawTransactionObservationRead
|
||||
RawTransactionObservationWrite
|
||||
RawTransactionRetentionRead
|
||||
RawTransactionRetentionWrite
|
||||
```
|
||||
|
||||
sur le même couple Store/PostgreSQL, avec notamment :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```text
|
||||
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
|
||||
|
||||
```text
|
||||
prompts/022-V0_3_3_START_PROMPT.md
|
||||
deltas/0.3.2/pre.012.md
|
||||
```
|
||||
|
||||
## 11. Fichiers modifiés
|
||||
|
||||
```text
|
||||
Cargo.toml
|
||||
CHANGELOG.md
|
||||
ROADMAP.md
|
||||
```
|
||||
|
||||
## 12. Fichiers supprimés
|
||||
|
||||
```text
|
||||
aucun
|
||||
```
|
||||
|
||||
## 13. Surfaces explicitement non rouvertes
|
||||
|
||||
```text
|
||||
README.md
|
||||
RULES.md
|
||||
.env.example
|
||||
config/**
|
||||
crates/**
|
||||
docs/**
|
||||
prompts/001..021
|
||||
```
|
||||
|
||||
En particulier :
|
||||
|
||||
```text
|
||||
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 :
|
||||
|
||||
```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 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 :
|
||||
|
||||
```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-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 :
|
||||
|
||||
```text
|
||||
0.3.2-rel.001
|
||||
```
|
||||
|
||||
La publication stable doit être strictement mécanique :
|
||||
|
||||
```text
|
||||
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.
|
||||
Reference in New Issue
Block a user