Files
khadhroony-solana-project/deltas/0.3.2/pre.012.md
2026-08-30 06:08:18 +02:00

8.5 KiB
Raw Blame History

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