# 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-lib` et `game-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` : ```text 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 : ```rust || async { ... } ``` doivent donc être écrites : ```rust || return async { ... } ``` même lorsque le corps `async` contient déjà ses propres `return` explicites. ## Correction La version technique passe à : ```text 0.3.5-alpha.8.fix.1 ``` Le correctif : - supprime l'import inutilisé `RealtimeConnection` de `src/main.rs` ; - rend explicite le `return` de toutes les closures async du sélecteur dans `src/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 : ```text Timeout -> fallback autorisé Io -> fallback autorisé Connect -> fallback interdit ``` et toutes les autres catégories restent non-fallback. ## Fichiers modifiés ```text 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 : ```text 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 ```bash 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 : ```text 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.