# Delta 0.3.4-alpha.3.fix.1 ## Cause La gate utilisateur de `0.3.4-alpha.3` s'est arrêtée avant compilation lors du chargement des manifests Cargo : ```text error inheriting `futures-util` from workspace root manifest's `workspace.dependencies.futures-util` Caused by: `default-features = false` cannot override workspace's `default-features` ``` Le même défaut était présent sur `tokio-tungstenite` mais n'était pas encore affiché parce que Cargo s'arrêtait sur la première dépendance invalide. `alpha.3` n'est donc pas historisée comme validée et aucune tranche `alpha.4` n'est ouverte avant fermeture de ce défaut. ## Correction Le workspace passe à : ```text 0.3.4-alpha.3.fix.1 ``` Les deux dépendances concernées portent désormais la désactivation de leurs features par défaut directement dans `[workspace.dependencies]` : ```toml futures-util = { version = "0.3.34", default-features = false } tokio-tungstenite = { version = "0.30.0", default-features = false } ``` La crate `game-realtime-websocket-lib` hérite ensuite de ces réglages et ajoute uniquement les features dont elle a besoin : ```toml futures-util = { workspace = true, features = ["sink", "std"] } tokio-tungstenite = { workspace = true, features = ["connect", "handshake"] } ``` Les features Tokio restent inchangées. Aucun TLS n'est ajouté et aucun code Rust/API/comportement transport n'est modifié. ## Pourquoi ce placement Cargo autorise une crate membre à enrichir les `features` d'une dépendance héritée du workspace, mais pas à remplacer localement la valeur `default-features` définie par l'héritage. La politique `default-features = false` doit donc être possédée par la déclaration workspace lorsqu'elle est commune à l'utilisation héritée. Ce fix corrige les deux dépendances concernées immédiatement afin d'éviter qu'une seconde erreur identique apparaisse après correction de `futures-util` seulement. ## Fichiers modifiés ```text Cargo.toml README.md crates/common/game-realtime-websocket-lib/Cargo.toml docs/plans/004-V0_3_4_REALTIME_TRANSPORT_WEBSOCKET_PLAN.md ``` Nouveau fichier : ```text deltas/0.3.4/alpha.3.fix.1.md ``` Aucun fichier `history/0.3.4/alpha.3.md` n'est créé : une entrée `history/` n'existe qu'après validation réussie du jalon qu'elle décrit. ## 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-lib --all-targets --all-features cargo test -p game-realtime-websocket-lib --all-targets --all-features cargo tree -p game-realtime-websocket-lib --edges normal ``` La validation recommence depuis le début de la gate, car `alpha.3` n'a jamais atteint une compilation Cargo valide.