v0.2.8-pre.002-fix.001
This commit is contained in:
250
deltas/0.2.8/pre.002-fix.001.md
Normal file
250
deltas/0.2.8/pre.002-fix.001.md
Normal file
@@ -0,0 +1,250 @@
|
||||
<!-- file: deltas/0.2.8/pre.002-fix.001.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `0.2.8-pre.002-fix.001` — Clippy et normalisation documentaire
|
||||
|
||||
## 1. Objet
|
||||
|
||||
Ce correctif ferme le défaut Clippy observé après application de `0.2.8-pre.002` et audite l'organisation des documents actifs `0.2.8` afin d'éviter les sections désordonnées ou les fichiers fourre-tout.
|
||||
|
||||
La livraison `pre.002.md` reste immutable ; ce fix porte uniquement les corrections nouvelles.
|
||||
|
||||
Version workspace :
|
||||
|
||||
```text
|
||||
0.2.8-pre.2.fix.1
|
||||
```
|
||||
|
||||
Livraison / commit attendu :
|
||||
|
||||
```text
|
||||
0.2.8-pre.002-fix.001
|
||||
v0.2.8-pre.002-fix.001
|
||||
```
|
||||
|
||||
Aucun tag prerelease.
|
||||
|
||||
## 2. Clippy : défaut reproduit par l'opérateur
|
||||
|
||||
Le checkpoint opérateur de `pre.002` a donné :
|
||||
|
||||
```text
|
||||
cargo fmt --all OK
|
||||
python3 scripts/audit_rust_workspace_rules.py clean
|
||||
cargo check --workspace OK
|
||||
cargo clippy --workspace --all-targets FAIL
|
||||
cargo test -p ksp-onchain-transport-lib OK
|
||||
cargo test --workspace OK
|
||||
```
|
||||
|
||||
Le seul blocage est `clippy::implicit_return` dans le nouveau fichier :
|
||||
|
||||
```text
|
||||
crates/ksp-onchain-transport-lib/unit_tests/ws_protocol_session.rs
|
||||
```
|
||||
|
||||
Cinq diagnostics sont concernés :
|
||||
|
||||
```text
|
||||
1 retour explicite manquant après la boucle `while let` de `accept_until_close`
|
||||
2 predicates `find` sans `return` explicite
|
||||
2 closures `map` sans `return` explicite
|
||||
```
|
||||
|
||||
Le runtime WebSocket, les façades protocolaires et les tests fonctionnels ne sont pas en échec : le ciblé Transport et le workspace complet passent avant ce fix.
|
||||
|
||||
## 3. Correction Rust
|
||||
|
||||
Le fix ajoute uniquement les retours explicites exigés par la politique Clippy KSP dans la fixture de test.
|
||||
|
||||
Aucun changement n'est apporté à :
|
||||
|
||||
```text
|
||||
WsSession
|
||||
SolanaStandardWsSession
|
||||
HeliusLaserStreamWsSession
|
||||
WsProtocolKind
|
||||
wire WebSocket
|
||||
reconnect/backpressure/shutdown
|
||||
Config
|
||||
transactionSubscribe
|
||||
heartbeat
|
||||
```
|
||||
|
||||
Comme le correctif modifie du code de test consommé par le build, Cargo passe conformément à `VERSION_WORKFLOW.md` de :
|
||||
|
||||
```text
|
||||
0.2.8-pre.2
|
||||
```
|
||||
|
||||
à :
|
||||
|
||||
```text
|
||||
0.2.8-pre.2.fix.1
|
||||
```
|
||||
|
||||
## 4. Audit structurel des documents
|
||||
|
||||
Références appliquées :
|
||||
|
||||
```text
|
||||
docs/rules/RULES_DOCUMENTATION.md
|
||||
docs/rules/FILE_CONTRACTS.md
|
||||
docs/plans/000-README.md
|
||||
docs/validation/000-README.md
|
||||
```
|
||||
|
||||
Constats :
|
||||
|
||||
```text
|
||||
docs/plans : 000-README puis 001..015, ordre cohérent, aucune collision
|
||||
docs/validation : 000-README puis 001..011, ordre cohérent, aucune collision
|
||||
plan 015 : une seule responsabilité, planifier/auditer la release 0.2.8
|
||||
validation 011 : une seule responsabilité, conserver critères/matrices/preuves 0.2.8
|
||||
deltas/0.2.8 : journal de livraison séparé, aucun second changelog dans docs/
|
||||
```
|
||||
|
||||
Aucun nouveau répertoire ou fichier documentaire durable n'est nécessaire. Les plans historiques `0.2.5` à `0.2.7` sont de taille comparable ou supérieure ; la taille du plan `015` ne justifie donc pas à elle seule un split.
|
||||
|
||||
Deux défauts d'organisation internes sont toutefois corrigés :
|
||||
|
||||
1. le plan présentait les décisions de façade dans une première section puis des décisions d'architecture détaillées beaucoup plus loin ; elles sont regroupées dans une seule section `Architecture et frontières de protocole` ;
|
||||
2. la validation répétait le forecast détaillé alors que `FILE_CONTRACTS.md` attribue cette responsabilité au plan ; cette duplication est supprimée.
|
||||
|
||||
L'ordre du plan actif devient :
|
||||
|
||||
```text
|
||||
état courant
|
||||
forecast souple
|
||||
sources / baseline
|
||||
héritage v0.2.7
|
||||
audit Helius
|
||||
matrice normative
|
||||
architecture et frontières
|
||||
threat model
|
||||
dépendances
|
||||
stratégie de validation / smoke
|
||||
questions reportées
|
||||
critères de split / clôture
|
||||
checkpoint courant
|
||||
```
|
||||
|
||||
La validation reste organisée autour de :
|
||||
|
||||
```text
|
||||
références
|
||||
gate pre.001
|
||||
matrices provider/façades
|
||||
contrat transaction à valider
|
||||
checklists lifecycle/non-régression/sécurité
|
||||
smoke
|
||||
preuves pre.002/fix
|
||||
contrôle structurel docs
|
||||
```
|
||||
|
||||
## 5. État de validation `pre.002` reporté correctement
|
||||
|
||||
Les preuves opérateur reçues sont intégrées à `docs/validation/011-*` :
|
||||
|
||||
```text
|
||||
Transport unit tests 313 passed
|
||||
Transport public API tests 37 passed
|
||||
release completeness 25 passed
|
||||
doctor tests compile_fail 2 passed
|
||||
cargo test -p Transport OK
|
||||
cargo test --workspace OK
|
||||
```
|
||||
|
||||
Le seul gate restant à revalider après application du fix est la chaîne complète, en particulier Clippy.
|
||||
|
||||
## 6. Fichiers de la livraison
|
||||
|
||||
Nouveau :
|
||||
|
||||
```text
|
||||
deltas/0.2.8/pre.002-fix.001.md
|
||||
```
|
||||
|
||||
Modifiés :
|
||||
|
||||
```text
|
||||
Cargo.toml
|
||||
crates/ksp-onchain-transport-lib/unit_tests/ws_protocol_session.rs
|
||||
docs/plans/015-V0_2_8_HELIUS_LASERSTREAM_WEBSOCKET_PLAN.md
|
||||
docs/validation/011-V0_2_8_HELIUS_LASERSTREAM_WEBSOCKET.md
|
||||
```
|
||||
|
||||
Aucun autre fichier n'est nécessaire.
|
||||
|
||||
## 7. Validations exécutées dans le sandbox de préparation
|
||||
|
||||
Exécuté après le fix :
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
Audit structurel local des documents :
|
||||
|
||||
```text
|
||||
DOC STRUCTURE AUDIT: clean
|
||||
docs/plans = 000..015 ordonné
|
||||
docs/validation = 000..011 ordonné
|
||||
H2/H3 plan actif = cohérent
|
||||
H2/H3 validation = cohérent
|
||||
```
|
||||
|
||||
Le sandbox ne fournit pas Cargo/rustfmt ; aucune commande Cargo n'est donc déclarée réussie pour le fix lui-même.
|
||||
|
||||
## 8. Gate opérateur
|
||||
|
||||
Après application :
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
python3 scripts/audit_rust_workspace_rules.py
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets
|
||||
cargo test -p ksp-onchain-transport-lib
|
||||
cargo test --workspace
|
||||
```
|
||||
|
||||
Attendu :
|
||||
|
||||
```text
|
||||
aucun `clippy::implicit_return`
|
||||
aucun warning Rust
|
||||
313+ tests Transport hérités/pré.002 verts
|
||||
37+ public API verts
|
||||
25+ release completeness verts
|
||||
2 doctests compile_fail verts
|
||||
workspace complet vert
|
||||
```
|
||||
|
||||
Si ce checkpoint est vert, `pre.002` + `pre.002-fix.001` sont `DONE` et `pre.003` peut commencer.
|
||||
|
||||
## 9. Suite
|
||||
|
||||
`pre.003` reste inchangé : ajouter uniquement sur `HeliusLaserStreamWsSession` les six familles standard Helius supportées :
|
||||
|
||||
```text
|
||||
account
|
||||
logs
|
||||
program
|
||||
root
|
||||
signature
|
||||
slot
|
||||
```
|
||||
|
||||
avec réutilisation du wire standard et absence durable de :
|
||||
|
||||
```text
|
||||
block
|
||||
slotsUpdates
|
||||
vote
|
||||
```
|
||||
|
||||
Config Helius, `transactionSubscribe` et heartbeat restent hors `pre.003` conformément au forecast.
|
||||
Reference in New Issue
Block a user