Files
khadhroony-solana-project/deltas/0.3.1/rel.001.md
2026-08-29 12:33:09 +02:00

273 lines
8.6 KiB
Markdown

<!-- file: deltas/0.3.1/rel.001.md -->
<!-- version: 1 -->
# Delta `0.3.1-rel.001` — publication stable Store API RAW foundation
## 1. Base requise
Base directe attendue :
```text
0.3.1-pre.011
workspace.package.version = 0.3.1-pre.11
```
Commit attendu pour cette livraison :
```text
v0.3.1-rel.001
```
Tag stable attendu après validation :
```text
v0.3.1
```
## 2. Responsabilité de `rel.001`
Cette livraison effectue uniquement la mécanique de publication stable définie par `VER-LIFECYCLE-012`.
Elle :
- passe `workspace.package.version` de `0.3.1-pre.11` à `0.3.1` ;
- ajoute le présent delta `rel.001` ;
- ne corrige ni code, ni test, ni manifest de crate, ni README/USAGE, ni plan/validation, ni architecture/règle, ni prompt, ni `CHANGELOG.md`, ni `ROADMAP.md`.
Tout défaut appartenant à un couloir antérieur doit renvoyer vers une prerelease appropriée ; `rel.001` n'est jamais une tranche de rattrapage.
## 3. Preuves acquises avant publication
Le gate technique complet de `0.3.1-pre.008`, exécuté le **29 août 2026** après `cargo clean`, a reconstruit et validé la workspace depuis zéro :
```text
cargo clean PASS
cargo fmt --all PASS
python3 scripts/audit_rust_workspace_rules.py PASS
General Rust rule audit clean
Rust export completeness audit 0 candidate(s)
KSP workspace Rust rule audit clean
python3 scripts/audit_markdown_tables.py PASS
cargo check --workspace PASS
cargo clippy --workspace --all-targets PASS
cargo test --workspace PASS
cargo tauri build — SOL Prices Desk PASS
cargo tauri build — Wallet Desk PASS
cargo tauri build — Config Desk PASS
cargo tree -p ksp-store-api --edges normal inspecté
cargo tree --duplicates inspecté
```
Le test ciblé `ksp-program-api`, initialement invoqué sous un nom de package erroné dans la séquence opérateur, a ensuite été rejoué explicitement avec le bon package et est passé intégralement.
Le gate ciblé de la préparation minimale de publication `0.3.1-pre.011`, exécuté le **29 août 2026**, est également vert :
```text
cargo fmt --all PASS
python3 scripts/audit_rust_workspace_rules.py PASS
General Rust rule audit clean
Rust export completeness audit 0 candidate(s)
KSP workspace Rust rule audit clean
python3 scripts/audit_markdown_tables.py PASS — 186 tables / 137 fichiers
cargo check --workspace PASS
cargo clippy --workspace --all-targets PASS
cargo test -p ksp-store-api PASS
unit 15 passed
dependency_boundary 2 passed
external_backend 1 passed
public_api 7 passed
release_completeness 5 passed
security_hardening 4 passed
doc-tests 0 failed
```
Les tranches `pre.009`, `pre.010` et `pre.011` n'ont rouvert aucun code Rust de `ksp-store-api` ni aucune dépendance runtime ; elles ont porté la réconciliation documentaire, le redécoupage de la trajectoire Store/PostgreSQL puis la préparation de publication.
## 4. Version stable publiée
La version Cargo devient :
```text
workspace.package.version = 0.3.1
```
La release stable publiée est :
```text
0.3.1 — Store API RAW foundation
```
La surface stable comprend notamment :
```text
ksp-store-api
RawTransaction + RawTransactionObservation
RawAccountState + RawAccountObservation
primitives RAW bornées et redaction-safe
10 capabilities backend-agnostic fines et object-safe
queries/cursors sans plafond métier arbitraire imposé par Store
outcomes d'idempotence et de conflit
lifecycle RawTransaction Full -> Compacted -> Archived -> Purged
RawTransactionTombstone minimal
ForceRehydrate explicite
ExpectedStateMismatch pour compare-and-transition concurrent
60 exports crate-root exacts
runtime dependency normale : ksp-core-lib uniquement
```
Restent volontairement absents de `0.3.1` :
```text
ksp-store-lib runtime
ksp-store-postgres-lib
PostgreSQL / SQL / migrations runtime
Config std.store
worker / job / executor policy
N2 STRUCTURAL
N3 DECODED
N4 DOMAIN
RawLog persistant
TransactionStatusObservation commun
backend-specific rows / SQL ids
```
La frontière de responsabilité stable reste :
```text
ksp-store-api
= modèles persistants/replayables + capabilities backend-agnostic
ksp-interface-lib
= contrats passifs/event-only inter-composants lorsqu'ils existent
worker / job / executor
= batch-size, priorité, stratégie de sélection, policy de traitement
```
La pagination Store reste une primitive de navigation/cursorisation. Une limite physique future d'un backend peut être exposée ou gérée par continuation, mais Store n'invente pas de plafond métier global inférieur.
## 5. Trajectoire suivante confirmée
Le redécoupage final conserve `ksp-store-lib` et `ksp-store-postgres-lib` développés ensemble à chaque release, en trois slices verticales :
```text
0.3.2 fondation runtime/backend PostgreSQL
0.3.3 vertical slice PostgreSQL RawTransaction complète
0.3.4 vertical slice PostgreSQL RawAccountState + complétude Store RAW
0.3.5 Interface events partagés réellement nécessaires
0.3.6 Job API + premier backfill RAW
0.3.7 application backfill/inspection RAW
```
Le prompt actif de la prochaine release est :
```text
prompts/021-V0_3_2_START_PROMPT.md
```
Il exige l'archive historique `khadhroony-bot3_v0.5.3-pre.005-fix010.zip` pour l'audit ciblé des anciennes surfaces Store/PostgreSQL, sans lui donner d'autorité normative sur KSP.
## 6. Fichiers ajoutés
```text
deltas/0.3.1/rel.001.md
```
## 7. Fichiers modifiés
```text
Cargo.toml
```
## 8. Fichiers supprimés
```text
aucun
```
## 9. Validations exécutées pour préparer le delta
Contrôles statiques de l'overlay :
```text
Cargo.toml version 0.3.1
payload rel.001 2 fichiers exactement
CHANGELOG.md non rouvert
ROADMAP.md non rouvert
prompt 021 non rouvert
README/USAGE non rouverts
plan / validation non rouverts
architecture / règles non rouvertes
code / tests non rouverts
aucun fichier de rattrapage présent
```
La préparation de l'archive ne rejoue aucun test Cargo dans l'environnement de génération. Les preuves techniques acquises sont celles des gates opérateur ci-dessus ; le gate stable final reste à exécuter après application.
## 10. Validation stable après application
Exécuter avant commit/tag :
```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 --workspace
```
Il n'est pas nécessaire de rejouer les trois builds Tauri, les graphes Cargo ni les smokes live : `rel.001` ne modifie ni code/runtime, ni dépendance, ni Config, ni surface desktop.
## 11. Questions ouvertes
Aucune question ouverte ne bloque la publication de `0.3.1`.
Les choix de pool, TLS, mécanisme de migrations/checksums/verrouillage, forme exacte de `StoreSettings/std.store` et health/readiness appartiennent à l'audit/sizing de `0.3.2-pre.001`.
Les capabilities PostgreSQL métier `RawTransaction` et `RawAccountState` restent volontairement reportées à `0.3.3` et `0.3.4` respectivement.
## 12. Commit et tag stable
Après succès du gate stable :
```text
commit : v0.3.1-rel.001
tag : v0.3.1
```
Aucun tag intermédiaire `rel.001` n'est requis.
Commandes Git typiques :
```bash
git add Cargo.toml deltas/0.3.1/rel.001.md
git commit -m "v0.3.1-rel.001"
git tag v0.3.1
git push
git push origin v0.3.1
```
## 13. Suite
Après publication du tag stable `v0.3.1`, ouvrir exclusivement :
```text
0.3.2-pre.001 — Store runtime / PostgreSQL foundation
```
avec :
```text
prompts/021-V0_3_2_START_PROMPT.md
```
La session suivante doit recevoir :
```text
archive opérateur exacte de v0.3.1
khadhroony-bot3_v0.5.3-pre.005-fix010.zip
```
`0.3.2-pre.001` reste une tranche d'audit/brainstorming/sizing avant implémentation lourde et doit préserver strictement le découpage `0.3.2` / `0.3.3` / `0.3.4` défini en fin de `0.3.1`.