Files
games/history/0.3.4/alpha.4.md
2026-09-21 18:22:19 +02:00

2.7 KiB

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 :

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 :

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 :

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.