# Historique 0.3.4-beta.1 ## Statut `0.3.4-beta.1` a été validée par l'utilisateur le 2026-09-21. La gate large est entièrement propre : audits statiques, formatage, check, Clippy strict, test workspace complet, smoke runtime WebSocket et graphes de dépendances. Aucun `beta.1.fix.N` n'est requis. Le comportement peut être gelé en `0.3.4-rc.1` sans créer de beta supplémentaire artificielle. ## Gates statiques et compilation La sortie utilisateur confirme : ```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), 271 file(s)) Distribution layout audit: clean (50 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 compile intégralement sous `0.3.4-beta.1`, y compris les deux crates realtime et `game-realtime-websocket-smoke`. ## Test workspace complet La commande : ```bash cargo test --workspace --all-targets --all-features ``` est propre avec **53 tests réussis, 0 échec** sur l'ensemble des suites exécutées. La gate couvre notamment : - `engine-v1-common` : 8 tests ; - `engine-v1-platform-api` : 3 tests ; - `engine-v1-sdl` : 5 tests ; - `game-android-entrypoint` : 2 tests ; - `game-assets-lib` : 2 tests ; - `game-logging-lib` : 1 test d'intégration ; - `game-realtime-transport-lib` : 7 tests ; - `game-realtime-websocket-lib` : 5 tests unitaires, 1 loopback et 5 tests de robustesse ; - `game-reflex-poc` : 4 tests ; - `game-snake-poc` : 5 tests ; - `game-snake-poc-wasm` : 5 tests. Les autres targets bin/lib de runners et hosts concernés s'exécutent également sans échec avec zéro test lorsqu'ils ne possèdent pas de suite propre. ## Smoke runtime La commande : ```bash cargo run -p game-realtime-websocket-smoke ``` passe hors harness `#[test]` et affiche : ```text game-realtime-websocket-smoke: PASS ``` Le log de validation montre un bind éphémère `127.0.0.1:39077`, une connexion cliente réelle, l'accept serveur et la fermeture propre. Ce numéro de port décrit uniquement cette exécution ; le smoke continue d'utiliser `127.0.0.1:0`. ## Graphe de dépendances `cargo tree -p game-realtime-websocket-lib --edges normal` confirme le backend attendu : - `futures-util 0.3.34` ; - `game-realtime-transport-lib` ; - Tokio `1.53.1` ; - `tokio-tungstenite 0.30.0` / Tungstenite `0.30.0` ; - tracing. Aucune pile TLS n'apparaît dans le graphe normal fourni. L'arbre inverse : ```bash cargo tree -i game-realtime-websocket-lib --workspace --edges normal ``` ne contient qu'un consommateur workspace : ```text game-realtime-websocket-smoke ``` Aucune crate sous `crates/games/` ou `crates/engines/` ne dépend donc du backend WebSocket. ## Conclusion beta La beta valide la baseline fonctionnelle et ses frontières sans régression transverse. La RC peut se limiter au gel de publication, à la documentation durable, au changelog, à l'historique et à la préparation du prompt `0.3.5`.