Files
games/deltas/0.3.5/alpha.4.fix.1.md

3.4 KiB

Delta 0.3.5-alpha.4.fix.1

Base requise

0.3.5-alpha.4, candidate dont la gate utilisateur du 2026-09-21 a passé fmt, audits, cargo check, les sept tests du contrat realtime commun et l'ensemble des vingt tests WebTransport, mais a échoué sur Clippy strict.

alpha.4 n'est pas historisée comme validée : cargo clippy --workspace --all-targets --all-features -- -D warnings reste rouge jusqu'à ce correctif.

Cause

Clippy signale une unique violation clippy::implicit-return dans l'implémentation de RealtimeReceiver::receive() :

error: missing `return` statement
  --> crates/common/game-realtime-webtransport-lib/src/webtransport.rs:449:38

return Box::pin(async move { self.receive_frame().await });
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^

Le return externe est déjà explicite, mais la closure async move contient encore une expression terminale implicite, interdite par les règles Clippy strictes du workspace.

Les mêmes résultats fournis par l'utilisateur confirment parallèlement que :

  • les audits Rust/workspace, Markdown et distribution sont propres ;
  • cargo check --workspace est propre ;
  • les sept tests de game-realtime-transport-lib passent ;
  • les onze tests unitaires, deux tests d'établissement, un test de round-trip et six tests de robustesse de game-realtime-webtransport-lib passent ;
  • le graphe direct/inverse du backend WebTransport reste celui attendu.

Le défaut est donc purement un écart de style/lint ; aucun défaut fonctionnel WebTransport n'est observé dans cette gate.

Correction

La version technique passe à :

0.3.5-alpha.4.fix.1

La future retournée par RealtimeReceiver::receive() explicite aussi son return interne :

return Box::pin(async move { return self.receive_frame().await });

Aucun comportement runtime, état du parseur incrémental, framing, deadline, mapping d'erreur, lifecycle, API publique ou dépendance n'est modifié.

Fichiers modifiés

Cargo.toml
README.md
crates/common/game-realtime-webtransport-lib/src/webtransport.rs
docs/plans/005-V0_3_5_WEBTRANSPORT_QUIC_POC_PLAN.md

Nouveau fichier :

deltas/0.3.5/alpha.4.fix.1.md

Aucun fichier history/0.3.5/alpha.4.md n'est créé avant une gate entièrement verte du correctif.

Plan

Le forecast fonctionnel ne change pas. Après validation de ce fix, 0.3.5-alpha.5 reste strictement la tranche du smoke WebTransport natif hors harness.

Validation attendue

Le correctif touche du code Rust et la version workspace ; la gate repart depuis le début :

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-lib --all-targets --all-features
cargo test -p game-realtime-webtransport-lib --all-targets --all-features

Aucun cargo tree supplémentaire n'est requis : ce fix ne change ni dépendance, ni feature, ni frontière de crate, et le tree de alpha.4 a déjà été produit.

Après validation

Créer history/0.3.5/alpha.4.fix.1.md à partir des résultats réellement fournis, puis ouvrir directement 0.3.5-alpha.5.