186 lines
5.5 KiB
Markdown
186 lines
5.5 KiB
Markdown
<!-- file: deltas/0.2.4/rel.001.md -->
|
||
<!-- version: 1 -->
|
||
|
||
# Delta `v0.2.4-rel.001`
|
||
|
||
## Base
|
||
|
||
Base attendue :
|
||
|
||
```text
|
||
v0.2.4-pre.009-fix.001
|
||
```
|
||
|
||
Le fix `pre.009-fix.001` est documentation-only :
|
||
|
||
```text
|
||
workspace.package.version = "0.2.4-pre.9"
|
||
prompt 0.2.5 = version 2
|
||
```
|
||
|
||
Version Cargo cible :
|
||
|
||
```text
|
||
0.2.4
|
||
```
|
||
|
||
## Objectif
|
||
|
||
Publier `0.2.4 — HTTP Blocks + Economics + compliance HTTP finale` sans ajouter de capacité fonctionnelle après `pre.009`.
|
||
|
||
`rel.001` est strictement publicationnelle :
|
||
|
||
- passage du workspace à la version stable `0.2.4` ;
|
||
- clôture `[X]` de `0.2.4` dans le ROADMAP ;
|
||
- ajout de l'entrée stable `0.2.4` au CHANGELOG ;
|
||
- clôture du plan `011` et de la matrice `validation/007` avec les preuves opérateur ;
|
||
- synchronisation des index, de l'inventaire composant et des README/USAGE Transport vers le statut stable ;
|
||
- conservation du prompt `prompts/010-V0_2_5_START_PROMPT.md` version 2 comme point d'ouverture de `0.2.5`.
|
||
|
||
Aucun fichier Rust de production, aucune API publique, aucune configuration runtime, aucune dépendance et aucune feature Cargo ne changent dans cette livraison.
|
||
|
||
## Surface stable publiée
|
||
|
||
La série HTTP `0.2.1`–`0.2.4` est complète :
|
||
|
||
```text
|
||
0.2.1 Foundation 4
|
||
0.2.2 Accounts/Tokens/Cluster 22
|
||
0.2.3 Transactions 11
|
||
0.2.4 Blocks/Economics 15
|
||
-------------------------------------
|
||
Current typed 52/52
|
||
Historical Deprecated/Removed 14/14
|
||
```
|
||
|
||
`0.2.4` publie exactement les dix wrappers Blocks et cinq wrappers Economics.
|
||
|
||
Points sensibles stabilisés notamment :
|
||
|
||
```text
|
||
getBlock moderne + bare encoding legacy deprecated
|
||
transactionDetails full/signatures/none/accounts
|
||
versions transaction numériques génériques
|
||
SIMD-0118 numRewardPartitions omitted/null/value
|
||
SIMD-0291 commission / commissionBps indépendants
|
||
overloads getBlocks et limites runtime auditées
|
||
getBlockProduction range/identity/context
|
||
Economics sans formule/minimum local codé en dur
|
||
getInflationReward ordre/doublons/null positionnels/cardinalité
|
||
```
|
||
|
||
La canary publique référence les 52 wrappers courants plus les deux formes legacy séparées `get_block_legacy` et `get_transaction_legacy`. La canary release fige les ensembles exacts 52 + 14 et leur partition `4/22/11/15`.
|
||
|
||
## Validation opérateur de la candidate
|
||
|
||
Les résultats fournis le **18 août 2026** confirment :
|
||
|
||
```text
|
||
cargo test -p ksp-config-lib OK
|
||
cargo test -p ksp-core-lib OK
|
||
cargo test -p ksp-app-config-desk OK
|
||
cargo test --workspace OK
|
||
```
|
||
|
||
Dans le workspace, Transport passe :
|
||
|
||
```text
|
||
240 unit
|
||
27 public API
|
||
22 release completeness
|
||
```
|
||
|
||
Les canaries Core de dépendances et les canaries Logging d'ownership passent également.
|
||
|
||
Les deux smokes Devnet opt-in ont été exécutés explicitement :
|
||
|
||
```text
|
||
Transport pur Accounts/Tokens/Cluster/Transactions/Blocks/Economics 1 passed
|
||
Config -> Transport -> foundation 1 passed
|
||
```
|
||
|
||
Le smoke Config -> Transport reste une exception transitoire cross-crates et devra migrer vers une future surface d'intégration/orchestration/demo lorsqu'elle existera.
|
||
|
||
Les sorties manuelles `cargo tree` demandées par la candidate ne figurent pas dans le journal opérateur fourni à la construction de `rel.001`. Elles ne sont donc pas marquées artificiellement comme exécutées ; la gate post-application ci-dessous les rejoue avant création du tag stable.
|
||
|
||
## Documentation de clôture
|
||
|
||
Mises à jour :
|
||
|
||
```text
|
||
Cargo.toml
|
||
CHANGELOG.md
|
||
ROADMAP.md
|
||
crates/ksp-onchain-transport-lib/README.md
|
||
crates/ksp-onchain-transport-lib/USAGE.md
|
||
docs/000-README.md
|
||
docs/architecture/004-COMPONENT_INVENTORY.md
|
||
docs/plans/000-README.md
|
||
docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md
|
||
docs/plans/011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md
|
||
docs/validation/000-README.md
|
||
docs/validation/007-V0_2_4_HTTP_FINAL_COMPLIANCE.md
|
||
prompts/000-README.md
|
||
```
|
||
|
||
Ajout :
|
||
|
||
```text
|
||
deltas/0.2.4/rel.001.md
|
||
```
|
||
|
||
Le prompt `prompts/010-V0_2_5_START_PROMPT.md` reste inchangé par `rel.001` et conserve exactement la version 2 livrée par `pre.009-fix.001` : interopérabilité externe `.kspwallet`, threat model offline, metadata protégées, capacités VIEW/OWNER indépendantes, key slots/rotations à auditer et choix KDF/AEAD non préjugés avant `0.2.5-pre.001`.
|
||
|
||
Tous les deltas historiques `0.2.4` précédents restent inchangés.
|
||
|
||
## Commit et tag
|
||
|
||
Identifiant de commit attendu :
|
||
|
||
```text
|
||
v0.2.4-rel.001
|
||
```
|
||
|
||
Le tag stable ne doit être créé qu'après application et validation de ce delta :
|
||
|
||
```text
|
||
v0.2.4
|
||
```
|
||
|
||
## Validation finale après application
|
||
|
||
Gate stable :
|
||
|
||
```bash
|
||
cargo fmt --all
|
||
cargo check --workspace
|
||
cargo clippy --workspace --all-targets
|
||
cargo test --workspace
|
||
```
|
||
|
||
Puis dernière inspection des graphes :
|
||
|
||
```bash
|
||
cargo tree -p ksp-onchain-transport-lib
|
||
cargo tree -p ksp-onchain-transport-lib -d
|
||
cargo tree -p ksp-onchain-transport-lib -e features
|
||
cargo tree -p ksp-onchain-transport-lib -e normal
|
||
|
||
cargo tree -p ksp-config-lib
|
||
cargo tree -p ksp-config-lib -d
|
||
cargo tree -p ksp-config-lib -e features
|
||
cargo tree -p ksp-config-lib -e normal
|
||
```
|
||
|
||
Vérifier en particulier :
|
||
|
||
```text
|
||
ksp-config-lib -> ksp-onchain-transport-lib
|
||
Transport -X-> Config/Store/Program/tracing direct
|
||
aucun solana-client/rpc-client haut niveau
|
||
```
|
||
|
||
Après succès : commit `v0.2.4-rel.001`, puis création du tag `v0.2.4`.
|
||
|
||
La session suivante s'ouvre avec `prompts/010-V0_2_5_START_PROMPT.md` et `0.2.5-pre.001` commence par audit officiel actuel + héritage utile + brainstorming + threat model + sizing avant implémentation cryptographique lourde.
|