Files
khadhroony-solana-project/deltas/0.3.2/pre.011.md
2026-08-30 05:55:29 +02:00

269 lines
8.2 KiB
Markdown

<!-- file: deltas/0.3.2/pre.011.md -->
<!-- version: 1 -->
# 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`.