Files
khadhroony-solana-project/deltas/0.3.4/pre.013.md
2026-08-31 00:46:52 +02:00

284 lines
7.7 KiB
Markdown

<!-- file: deltas/0.3.4/pre.013.md -->
<!-- version: 1 -->
# Delta `0.3.4-pre.013` — préparation de publication et prompt `0.3.5`
## 1. Base requise
Base directe attendue :
```text
0.3.4-pre.012
workspace.package.version = 0.3.4-pre.12
```
Le gate opérateur de `pre.012`, exécuté le **31 août 2026**, est entièrement vert : audits Rust/Markdown, `cargo check --workspace`, Clippy all-targets, tests ciblés Store/API/PostgreSQL/Config et `cargo check -p ksp-store-lib --no-default-features` passent.
Le gate Markdown confirme :
```text
240 tables / 151 fichiers
```
`pre.012` n'a rouvert ni code fonctionnel ni migration ; la préparation de publication peut donc commencer sans correctif intermédiaire.
## 2. Objectif
Dernière prerelease avant `rel.001`, strictement limitée à la préparation de publication minimale définie par `VER-LIFECYCLE-003` :
```text
workspace.package.version -> 0.3.4-pre.13
finalisation publication de CHANGELOG.md
clôture de 0.3.4 et précision de 0.3.5 dans ROADMAP.md
création de prompts/024-V0_3_5_START_PROMPT.md
delta pre.013
```
Aucun README, USAGE, plan, validation, architecture, règle, source Rust, test, Config, schema ou migration n'est rouvert.
## 3. Version
Conformément à `VER-ID-009` :
```text
workspace.package.version = 0.3.4-pre.13
```
Le header du `Cargo.toml` racine est incrémenté uniquement parce que ce fichier est réellement modifié.
## 4. `CHANGELOG.md`
Une entrée stable `0.3.4` est ajoutée en tête et synthétise :
```text
RAW capabilities Store/PostgreSQL 10/10
4 RawAccount* ajoutées aux 6 RawTransaction*
V002 additive RawAccountState/RawAccountObservation
32 ressources V002
checksum V002 ff21605ed45f7ab4c0f92bbb692700b4118a9488b04d50a31d259ac59bdb550e
V000/V001 immuables
u64 exact NUMERIC(20,0)
bytes account complets <= 16 MiB
acquisition state+observation atomique
idempotence/conflit exacts
observation supplémentaire reference-guarded
metadata Yellowstone observation-only
pagination keyset (slot,pubkey,state_hash)
cursor KSPA V1 109 bytes anti-replay
aucune rétention destructive account
live PostgreSQL 17 vert
workspace + no-default-features + graphes verts
```
Le changelog référence également le prompt `0.3.5` et précise que l'archive kbot3 n'y est pas requise.
## 5. `ROADMAP.md`
L'entrée `0.3.4` passe à `[X]` et décrit la surface stable effectivement validée.
L'entrée `0.3.5` est précisée sans préjuger du résultat de son `pre.001` :
```text
ksp-interface-lib uniquement
matrice HTTP/WS/Yellowstone/Helius
logs / slot-root-slotsUpdates / transaction status / vote à auditer
seuls les faits event-only réellement convergents et utiles sont matérialisés
aucune duplication RawTransaction/RawAccountState
aucun event bus
aucune dépendance Interface -> Transport/Store
```
Les étapes `0.3.6` et `0.3.7` restent inchangées.
## 6. Prompt `0.3.5`
Le nouveau prompt ouvre :
```text
0.3.5 — ksp-interface-lib : modèles passifs/event-only réellement partagés
```
Base autoritaire :
```text
v0.3.4
```
Le `pre.001` est réservé à :
```text
lecture règles/architecture
inventaire Interface actuel
inventaire Store RAW 10/10
inventaire des surfaces HTTP/WS/gRPC/provider event-like
identification des consumers
matrice producer -> nature de fait
matrice de convergence sémantique
ownership Interface/Transport/Store/composition
anti-duplication RawTransaction/RawAccountState
API sketch des seuls types admis
bornes / Debug / Clone / non_exhaustive
graphe cible
threat model
sizing
plan 026 + validation 022
```
Le prompt interdit une grande enum `Event`, l'Option-soup, les DTOs provider promus tels quels, un event bus, une nouvelle persistence et tout codec/logging runtime non justifié.
## 7. Archive historique
`0.3.5` **n'exige pas** :
```text
khadhroony-bot3_v0.5.3-pre.005-fix010.zip
```
La raison est explicite dans le prompt : l'autorité de cette tranche est la sémantique actuelle déjà implémentée dans KSP, complétée par les sources officielles actuelles HTTP/WS/Yellowstone lorsque nécessaire. Un ancien modèle d'events ne doit pas piloter le contrat public par inertie.
## 8. Prévision souple `0.3.5`
Le prompt réserve :
```text
pre.001 audit consumers/sémantiques/ownership + sizing
pre.002 première famille passive retenue
pre.003 famille supplémentaire seulement si justifiée
pre.004 API publique + consumer externe + anti-duplication
pre.005 hardening/completeness Interface
pre.006 gate technique final
pre.007 réconciliation documentaire
pre.008 préparation publication
rel.001 publication stable
```
Le nombre réel de familles et de prereleases reste recalibrable par `pre.001` ; aucun quota minimal d'events n'est imposé.
## 9. Fichiers ajoutés
```text
prompts/024-V0_3_5_START_PROMPT.md
deltas/0.3.4/pre.013.md
```
## 10. Fichiers modifiés
```text
Cargo.toml
CHANGELOG.md
ROADMAP.md
```
## 11. Fichiers supprimés
```text
aucun
```
## 12. Surfaces explicitement non rouvertes
```text
README.md
RULES.md
crates/**
docs/**
config/**
migrations/**
prompts/001..023
```
Hormis le nouveau delta, aucun fichier sous `docs/` ou `crates/` n'est modifié.
## 13. Migrations
Aucune migration n'est modifiée.
Les checksums stables restent :
```text
V000 d29068b8c13b9dc0cc9ef6aaadd0fa12d41e0fe4c56541a1118c4bfc846a1450
V001 31488cda2f08f3f46c4cdbdbb6c18c243662fada02eac4487040c8735d72cc51
V002 ff21605ed45f7ab4c0f92bbb692700b4118a9488b04d50a31d259ac59bdb550e
```
## 14. Validations exécutées pendant la génération
```text
python3 scripts/audit_rust_workspace_rules.py
-> General Rust rule audit: clean
-> Rust export completeness audit: 0 candidate(s)
-> KSP workspace Rust rule audit: clean
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.3.4
-> Markdown table audit: clean (240 table(s), 153 file(s))
scope exact pre.012 -> pre.013
-> 2 fichiers ajoutés
-> 3 fichiers modifiés
-> aucun fichier supprimé
-> DIFF_SCOPE=PASS
crates/** inchangé
-> PASS
docs/** inchangé
-> PASS
config/** inchangé
-> PASS
migrations/** byte-identiques
-> PASS
```
Les cinq fichiers de la lane minimale sont donc les seuls fichiers ajoutés/modifiés.
## 15. Validations non exécutées pendant la génération
La toolchain Cargo/Rust opérateur n'est pas supposée disponible dans l'environnement de génération. Aucun `cargo check`, Clippy ou test Cargo post-overlay n'est revendiqué sans exécution réelle.
Aucun live PostgreSQL supplémentaire n'est requis par cette tranche : `pre.013` ne modifie ni code, ni tests, ni migrations.
## 16. Gate opérateur demandé
```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.4
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
```
## 17. Décisions prises
```text
0.3.4 est techniquement/documentairement fermé avant publication
0.3.5 reste limité à ksp-interface-lib et à ses docs/tests propres
les events persistants/replayables restent Store API
les DTOs protocol/provider restent Transport
aucun event bus n'est ouvert
aucune archive kbot3 n'est requise pour 0.3.5
les candidats event-only restent soumis à une matrice de convergence en pre.001
```
## 18. Questions ouvertes
Aucune pour la publication `0.3.4`.
Les questions de sélection exacte des events appartiennent explicitement à `0.3.5-pre.001`.
## 19. Suite
Si le gate `pre.013` est propre :
```text
0.3.4-rel.001
```
La livraison `rel.001` reste mécanique et minimale : version Cargo stable + delta uniquement. Elle ne corrige aucun défaut documentaire ou fonctionnel.