89 lines
2.9 KiB
Markdown
89 lines
2.9 KiB
Markdown
<!-- file: history/0.3.5/alpha.5.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Historique 0.3.5-alpha.5
|
|
|
|
## Statut
|
|
|
|
`0.3.5-alpha.5` a été validée par l'utilisateur le 2026-09-21. Le backend WebTransport natif est donc prouvé hors harness avec identité TLS locale, pin SHA-256 exact, session HTTP/3/WebTransport réelle, stream fiable principal, round-trip bidirectionnel et fermeture propre.
|
|
|
|
La suite peut ouvrir `0.3.5-alpha.6` pour le chemin client WASM compilable sans réouvrir la preuve native.
|
|
|
|
## Gates statiques et compilation
|
|
|
|
Les commandes utilisateur ont terminé proprement :
|
|
|
|
```text
|
|
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
|
|
```
|
|
|
|
La sortie 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), 294 file(s))
|
|
Distribution layout audit: clean (50 required path(s), 8 forbidden path(s) absent)
|
|
cargo check --workspace: clean
|
|
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean
|
|
```
|
|
|
|
## Tests realtime
|
|
|
|
Le contrat commun reste entièrement propre :
|
|
|
|
```text
|
|
game-realtime-transport-lib: 7 passed; 0 failed
|
|
```
|
|
|
|
La suite WebTransport reste entièrement propre :
|
|
|
|
```text
|
|
unit tests: 11 passed; 0 failed
|
|
establishment integration tests: 2 passed; 0 failed
|
|
realtime_connection integration tests: 1 passed; 0 failed
|
|
robustness integration tests: 6 passed; 0 failed
|
|
```
|
|
|
|
Soit vingt tests WebTransport verts.
|
|
|
|
## Smoke runtime natif
|
|
|
|
La commande :
|
|
|
|
```bash
|
|
cargo run -p game-realtime-webtransport-smoke
|
|
```
|
|
|
|
établit le listener loopback sur un port éphémère, connecte le client avec le hash certificat exact, effectue le round-trip prévu et se termine par :
|
|
|
|
```text
|
|
game-realtime-webtransport-smoke: PASS
|
|
```
|
|
|
|
Le tracing observé confirme aussi l'accept serveur et la connexion client WebTransport réels.
|
|
|
|
## Graphe de dépendances
|
|
|
|
Le graphe direct du smoke contient uniquement les briques techniques attendues, dont `game-realtime-webtransport-lib`, `game-realtime-transport-lib`, le logging et Tokio.
|
|
|
|
Le graphe inverse de `game-realtime-webtransport-lib` contient désormais exactement le consommateur technique attendu :
|
|
|
|
```text
|
|
game-realtime-webtransport-lib
|
|
└── game-realtime-webtransport-smoke
|
|
```
|
|
|
|
Aucune crate engine ou gameplay n'est remontée dans ce graphe.
|
|
|
|
## Conséquence
|
|
|
|
`alpha.6` peut introduire la dépendance navigateur de façon strictement target-specific, adapter le client WASM au même contrat fiable et prouver sa compilation `wasm32-unknown-unknown`. Le runtime navigateur, le host frontend et la preuve TLS W3C restent réservés à `alpha.7`.
|