140 lines
4.3 KiB
Markdown
140 lines
4.3 KiB
Markdown
<!-- file: deltas/0.3.4/pre.001-fix.001.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta `0.3.4-pre.001-fix.001` — forecast souple éditable
|
|
|
|
## 1. Base requise
|
|
|
|
Base directe attendue :
|
|
|
|
```text
|
|
0.3.4-pre.001
|
|
workspace.package.version = 0.3.4-pre.1
|
|
```
|
|
|
|
Le gate opérateur de `pre.001` du 30 août 2026 est entièrement propre : audits Rust/Markdown, `cargo check --workspace`, Clippy, tests ciblés Store/Config et `cargo check -p ksp-store-lib --no-default-features` passent.
|
|
|
|
## 2. Motif du correctif
|
|
|
|
Le sizing recalibré de `docs/plans/025-V0_3_4_STORE_POSTGRES_RAW_ACCOUNT_PLAN.md` était présenté sous forme de tableau. Cette forme décrit correctement le forecast mais ne permet pas d'insérer proprement l'historique des correctifs sous la prerelease concernée.
|
|
|
|
Le projet possède déjà une convention documentaire adaptée : chaque prerelease du forecast est une sous-section `### pre.NNN` et chaque correctif éventuel est une sous-sous-section `#### pre.NNN-fix.MMM` placée directement sous sa tranche.
|
|
|
|
## 3. Correction
|
|
|
|
La section `Sizing recalibré` devient un forecast souple éditable :
|
|
|
|
```text
|
|
## Sizing recalibré — prereleases souples
|
|
### pre.NNN — objet
|
|
#### pre.NNN-fix.MMM — correctif éventuel
|
|
```
|
|
|
|
Chaque tranche expose désormais :
|
|
|
|
- un statut modifiable ;
|
|
- son budget cible ;
|
|
- sa responsabilité technique principale ;
|
|
- un emplacement naturel pour les fixes successifs.
|
|
|
|
Le découpage `pre.001` à `pre.013` puis `rel.001`, les budgets et les responsabilités techniques restent inchangés. Le correctif ajoute seulement la hiérarchie documentaire nécessaire à l'historique futur.
|
|
|
|
`pre.001-fix.001` est lui-même enregistré sous `pre.001` dans ce forecast.
|
|
|
|
## 4. Version Cargo inchangée
|
|
|
|
Ce correctif est strictement documentaire. Conformément à `VER-ID-008` :
|
|
|
|
```text
|
|
workspace.package.version = 0.3.4-pre.1
|
|
```
|
|
|
|
`Cargo.toml` n'est pas modifié.
|
|
|
|
## 5. Fichiers ajoutés
|
|
|
|
```text
|
|
deltas/0.3.4/pre.001-fix.001.md
|
|
```
|
|
|
|
## 6. Fichiers modifiés
|
|
|
|
```text
|
|
docs/plans/025-V0_3_4_STORE_POSTGRES_RAW_ACCOUNT_PLAN.md
|
|
```
|
|
|
|
Le header documentaire du plan passe de `version: 1` à `version: 2` parce que ce fichier est réellement modifié.
|
|
|
|
## 7. Fichiers non modifiés
|
|
|
|
En particulier :
|
|
|
|
```text
|
|
Cargo.toml
|
|
src/**
|
|
tests/**
|
|
config/**
|
|
migrations/**
|
|
docs/validation/021-V0_3_4_STORE_POSTGRES_RAW_ACCOUNT.md
|
|
deltas/0.3.4/pre.001.md
|
|
```
|
|
|
|
Le delta historique `pre.001.md` reste immuable ; le correctif est tracé uniquement dans le nouveau delta `pre.001-fix.001.md` et dans le forecast du plan.
|
|
|
|
## 8. Invariants techniques
|
|
|
|
Aucun changement n'est apporté au design V002 figé par `pre.001` :
|
|
|
|
```text
|
|
2 tables seulement
|
|
PK state = (pubkey, slot, state_hash)
|
|
BYTEA pour les bytes/fixed-width
|
|
NUMERIC(20,0) pour les u64 non bornés à i64
|
|
atomicité state + observation
|
|
idempotence par comparaison exacte
|
|
pagination keyset (slot, pubkey, state_hash)
|
|
cursor account V1 KSPA distinct de KSPT
|
|
10 capabilities RAW finales = 6 transaction + 4 account
|
|
```
|
|
|
|
## 9. Gate opérateur hérité
|
|
|
|
Le gate exécuté sur `0.3.4-pre.001` avant ce correctif documentaire est PASS :
|
|
|
|
```text
|
|
General Rust rule audit: clean
|
|
Rust export completeness audit: 0 candidate(s)
|
|
KSP workspace Rust rule audit: clean
|
|
Markdown table audit: clean (240 table(s), 134 file(s))
|
|
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-postgres-lib: PASS
|
|
cargo test -p ksp-config-lib: PASS
|
|
cargo check -p ksp-store-lib --no-default-features: PASS
|
|
```
|
|
|
|
Comme le fix ne touche ni code, ni build, ni runtime, ni config, ni migration, aucun nouveau live PostgreSQL n'est requis. L'audit Markdown doit simplement rester propre après la restructuration du plan.
|
|
|
|
## 10. Validation post-fix
|
|
|
|
Les audits statiques applicables ont été rejoués après la restructuration :
|
|
|
|
```text
|
|
General Rust rule audit: clean
|
|
Rust export completeness audit: 0 candidate(s)
|
|
KSP workspace Rust rule audit: clean
|
|
Markdown table audit: clean (239 table(s), 135 file(s))
|
|
```
|
|
|
|
La diminution d'une table correspond exactement au remplacement du tableau de sizing par des sous-sections ; le fichier delta supplémentaire porte le nombre de fichiers Markdown audités à 135.
|
|
|
|
Contrôles de scope :
|
|
|
|
```text
|
|
Cargo.toml : byte-identique à pre.001
|
|
validation 021 : byte-identique à pre.001
|
|
deltas/0.3.4/pre.001.md : byte-identique à pre.001
|
|
```
|