284 lines
7.7 KiB
Markdown
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.
|