# Historique 0.3.4-alpha.4 ## Statut `0.3.4-alpha.4` a été validée par l'utilisateur le 2026-09-21. Les limites, deadlines et cas négatifs du backend WebSocket compilent dans le workspace, passent Clippy strict et tous les tests ciblés sont propres. Aucun `alpha.4.fix.N` n'est requis. La revue suivant cette gate a néanmoins identifié qu'aucun smoke runtime distinct du harness de test n'avait encore été exécuté. La suite ouvre donc `0.3.4-alpha.5` pour cette preuve avant la beta. ## Gates statiques et Rust La gate fournie est propre : ```text General Rust rule audit: clean Rust export completeness audit: 0 candidate(s) games.sasedev workspace audit: clean Markdown table audit: clean (5 table(s), 267 file(s)) Distribution layout audit: clean (49 required path(s), 8 forbidden path(s) absent) cargo fmt --all: clean cargo fmt --all -- --check: clean cargo check --workspace: clean cargo clippy --workspace --all-targets --all-features -- -D warnings: clean ``` Le workspace compilé porte `0.3.4-alpha.4`, y compris `game-realtime-transport-lib` et `game-realtime-websocket-lib`. ## Tests transport et WebSocket Le contrat transport-neutral reste propre : ```text cargo test -p game-realtime-transport-lib --all-targets --all-features 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out ``` Le backend WebSocket valide ensuite : ```text unit tests: 5 passed; 0 failed loopback: 1 passed; 0 failed robustness: 5 passed; 0 failed ``` Les onze tests WebSocket couvrent notamment les defaults et invariants de configuration, les mappings capacité/backpressure, le round-trip binaire et close propre, les tailles hors limite, Text interdit, peer drop abrupt et timeout de handshake silencieux. ## Graphe de dépendances `cargo tree -p game-realtime-websocket-lib --edges normal` confirme toujours la frontière attendue : - `game-realtime-websocket-lib` dépend directement de `game-realtime-transport-lib`, `futures-util 0.3.34`, `tokio 1.53.1`, `tokio-tungstenite 0.30.0` et `tracing 0.1.44` ; - `tokio-tungstenite 0.30.0` apporte `tungstenite 0.30.0` ; - aucune pile TLS `native-tls`/`rustls` n'apparaît dans le graphe normal ; - aucune crate gameplay ou moteur ne dépend du backend WebSocket. ## Limite de la preuve Cette gate est suffisante pour valider techniquement `alpha.4`, mais elle reste composée d'audits, compilation, lint et tests Cargo. Même le round-trip localhost est exécuté sous `#[test]`. La validation runtime opérateur manque encore. `alpha.5` doit donc fournir un exécutable de smoke séparé qui utilise uniquement l'API publique sur un vrai socket loopback et dont le code de sortie atteste le résultat.