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 :
- 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; - la validation répétait le forecast détaillé alors que
FILE_CONTRACTS.mdattribue 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.