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

6.3 KiB

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 :

0.2.8-pre.2.fix.1

Livraison / commit attendu :

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

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 :

crates/ksp-onchain-transport-lib/unit_tests/ws_protocol_session.rs

Cinq diagnostics sont concernés :

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é à :

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 :

0.2.8-pre.2

à :

0.2.8-pre.2.fix.1

4. Audit structurel des documents

Références appliquées :

docs/rules/RULES_DOCUMENTATION.md
docs/rules/FILE_CONTRACTS.md
docs/plans/000-README.md
docs/validation/000-README.md

Constats :

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 :

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

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

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 :

deltas/0.2.8/pre.002-fix.001.md

Modifiés :

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 :

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 :

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 :

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 :

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 :

account
logs
program
root
signature
slot

avec réutilisation du wire standard et absence durable de :

block
slotsUpdates
vote

Config Helius, transactionSubscribe et heartbeat restent hors pre.003 conformément au forecast.