3.4 KiB
Delta 0.3.5-alpha.8.fix.1
Base requise
0.3.5-alpha.8.
La gate utilisateur du 2026-09-22 valide :
- fmt et les trois audits ;
cargo check --workspace;- les suites
game-realtime-transport-lib,game-realtime-websocket-libetgame-realtime-webtransport-lib; - les deux tests du launcher fallback ;
- le smoke WebSocket ;
- le smoke WebTransport ;
- le smoke de composition fallback, terminé par
game-realtime-transport-fallback-smoke: PASS; - les graphes de dépendances attendus.
La gate complète échoue uniquement sur Clippy strict dans game-realtime-transport-fallback-smoke :
unused import: game_realtime_transport_lib::RealtimeConnection
missing return statement
Les erreurs implicit-return portent uniquement sur des closures qui retournent une future async.
alpha.8 n'est donc pas historisée comme validée avant ce correctif.
Cause
Le launcher importe explicitement RealtimeConnection alors que ses bounds utilisent le chemin qualifié complet : l'import n'est jamais consommé.
En parallèle, la règle workspace clippy::implicit-return s'applique aussi à la valeur de retour des closures. Les formes :
|| async { ... }
doivent donc être écrites :
|| return async { ... }
même lorsque le corps async contient déjà ses propres return explicites.
Correction
La version technique passe à :
0.3.5-alpha.8.fix.1
Le correctif :
- supprime l'import inutilisé
RealtimeConnectiondesrc/main.rs; - rend explicite le
returnde toutes les closures async du sélecteur danssrc/main.rs; - applique la même forme aux closures async des tests unitaires.
Aucun comportement runtime, backend, contrat, mapping d'erreur, endpoint, framing, TLS/pinning ou dépendance n'est modifié.
La politique de fallback reste strictement :
Timeout -> fallback autorisé
Io -> fallback autorisé
Connect -> fallback interdit
et toutes les autres catégories restent non-fallback.
Fichiers modifiés
Cargo.toml
README.md
crates/apps/game-realtime-transport-fallback-smoke/src/main.rs
crates/apps/game-realtime-transport-fallback-smoke/unit_tests/fallback.rs
docs/plans/005-V0_3_5_WEBTRANSPORT_QUIC_POC_PLAN.md
Nouveau fichier :
deltas/0.3.5/alpha.8.fix.1.md
Aucun fichier history/0.3.5/alpha.8.md n'est créé avant une gate entièrement verte.
Plan
Le forecast fonctionnel ne change pas. Après validation de ce fix, 0.3.5-alpha.9 reste la tranche suivante pour le POC datagram isolé si elle demeure justifiée par l'API/backend réellement disponibles.
Validation attendue
cargo fmt --all
cargo fmt --all -- --check
python3 scripts/audit_rust_workspace_rules.py
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates Android Web deltas history
python3 scripts/audit_distribution_layout.py
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p game-realtime-transport-fallback-smoke --all-targets --all-features
cargo run -p game-realtime-transport-fallback-smoke
Le smoke doit terminer par :
game-realtime-transport-fallback-smoke: PASS
Après validation
Créer history/0.3.5/alpha.8.fix.1.md à partir des résultats réellement fournis, puis ouvrir directement 0.3.5-alpha.9 si le POC datagram reste pertinent.