Files
khadhroony-solana-project/deltas/0.3.4/pre.001-fix.001.md

4.3 KiB

Delta 0.3.4-pre.001-fix.001 — forecast souple éditable

1. Base requise

Base directe attendue :

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 :

## 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 :

workspace.package.version = 0.3.4-pre.1

Cargo.toml n'est pas modifié.

5. Fichiers ajoutés

deltas/0.3.4/pre.001-fix.001.md

6. Fichiers modifiés

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 :

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 :

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 :

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 :

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 :

Cargo.toml : byte-identique à pre.001
validation 021 : byte-identique à pre.001
deltas/0.3.4/pre.001.md : byte-identique à pre.001