2.9 KiB
Historique 0.3.4-alpha.5
Statut
0.3.4-alpha.5 a été validée par l'utilisateur le 2026-09-21. La gate complète est propre et le smoke runtime WebSocket distinct du harness de test affiche explicitement game-realtime-websocket-smoke: PASS avec sortie zéro.
Aucun alpha.5.fix.N n'est requis. Les critères d'entrée en beta sont satisfaits ; la suite ouvre 0.3.4-beta.1 sans nouveau scope fonctionnel.
Gates statiques et Rust
La gate fournie est propre :
General Rust rule audit: clean
Rust export completeness audit: 0 candidate(s)
games.sasedev workspace audit: clean
Markdown table audit: clean (5 table(s), 269 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 compilé porte 0.3.4-alpha.5, y compris le launcher game-realtime-websocket-smoke.
Tests transport et WebSocket
Le contrat transport-neutral reste propre :
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 :
unit tests: 5 passed; 0 failed
loopback: 1 passed; 0 failed
robustness: 5 passed; 0 failed
Les scénarios couvrent notamment les invariants de configuration, les mappings capacité/backpressure, le round-trip binaire, le close propre, les tailles hors limite, Text interdit, peer drop abrupt et timeout de handshake silencieux.
Smoke runtime
La commande :
cargo run -p game-realtime-websocket-smoke
s'exécute avec succès hors harness #[test] sur un port loopback éphémère. Le log fourni montre :
realtime WebSocket smoke started
WebSocket listener bound address=127.0.0.1:42419
loopback endpoint bound endpoint="ws://127.0.0.1:42419/"
WebSocket peer accepted peer=127.0.0.1:42388
WebSocket client connected endpoint="ws://127.0.0.1:42419/"
game-realtime-websocket-smoke: PASS
realtime WebSocket smoke passed
Le port est alloué dynamiquement ; les valeurs ci-dessus décrivent uniquement cette exécution de validation.
Graphe du smoke
cargo tree -p game-realtime-websocket-smoke --edges normal confirme que le launcher dépend directement de :
game-logging-lib;game-realtime-transport-lib;game-realtime-websocket-lib;- Tokio ;
- tracing.
Le backend WebSocket reste sur Tokio 1.53.1, tokio-tungstenite 0.30.0 et Tungstenite 0.30.0. Aucune pile TLS n'apparaît dans le graphe normal fourni.
Conclusion alpha
La phase alpha a désormais produit et validé le contrat transport-neutral, le backend WebSocket, la robustesse, les cas négatifs et la preuve runtime publique. La beta peut se limiter à la validation large et à la recherche de régressions, conformément au plan actif.