0.3.5-beta.2
This commit is contained in:
101
history/0.3.5/beta.1.fix.1.md
Normal file
101
history/0.3.5/beta.1.fix.1.md
Normal file
@@ -0,0 +1,101 @@
|
||||
<!-- file: history/0.3.5/beta.1.fix.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Historique 0.3.5-beta.1.fix.1
|
||||
|
||||
## Statut
|
||||
|
||||
`0.3.5-beta.1.fix.1` a été validée par l'utilisateur le 2026-09-22. Le correctif ferme uniquement la dérive de version du host navigateur découverte pendant la gate large `beta.1`; il ne modifie aucun backend, protocole, fallback, datagram ou scénario de mesure.
|
||||
|
||||
La validation cumulée `beta.1` + `beta.1.fix.1` confirme le workspace complet, les smokes realtime natifs, la caractérisation release, le chemin navigateur/WASM réel et la cross-compilation Android ARM64/API 21 du backend WebTransport.
|
||||
|
||||
## Gate large héritée de beta.1
|
||||
|
||||
La gate `beta.1` a confirmé :
|
||||
|
||||
```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), 312 file(s))
|
||||
Distribution layout audit: clean (66 required path(s), 8 forbidden path(s) absent)
|
||||
cargo check --workspace: clean
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean
|
||||
cargo test --workspace --all-targets --all-features: 77 passed; 0 failed
|
||||
```
|
||||
|
||||
Les smokes runtime natifs ont tous terminé par `PASS` :
|
||||
|
||||
```text
|
||||
game-realtime-websocket-smoke: PASS
|
||||
game-realtime-webtransport-smoke: PASS
|
||||
game-realtime-webtransport-datagram-smoke: PASS
|
||||
game-realtime-transport-fallback-smoke: PASS
|
||||
```
|
||||
|
||||
Le fallback valide WebTransport en priorité, le passage vers WebSocket sur un `Timeout` classifié et la visibilité d'une erreur `InvalidConfiguration` non éligible au fallback.
|
||||
|
||||
## Mesures beta.1
|
||||
|
||||
La caractérisation release `game-realtime-transport-measure` a terminé par `PASS` avec :
|
||||
|
||||
```text
|
||||
WebSocket establishment median : 42 us
|
||||
WebTransport establishment median : 963 us
|
||||
WebSocket RTT median : 19 us
|
||||
WebTransport RTT median : 12 us
|
||||
WebSocket throughput 128 x 64 KiB : 2933.255 MiB/s
|
||||
WebTransport throughput 128 x 64 KiB : 646.338 MiB/s
|
||||
WebSocket window 64 x 1 KiB : 1.471 MiB/s
|
||||
WebTransport window 64 x 1 KiB : 153.084 MiB/s
|
||||
WebTransport datagram : 64/64 reçus, payload 256 octets, client_max=1381, server_max=1381
|
||||
```
|
||||
|
||||
Ces valeurs décrivent uniquement ce run loopback. Elles ne constituent pas un classement général WebSocket/WebTransport et ne sont pas extrapolées à Internet ou au mobile.
|
||||
|
||||
La conclusion technique reste :
|
||||
|
||||
```text
|
||||
CONCLUSION webtransport=retain scope=second-backend reason=reliable-browser-fallback-datagram-capabilities
|
||||
```
|
||||
|
||||
## WASM et host navigateur
|
||||
|
||||
`beta.1` puis `beta.1.fix.1` ont confirmé :
|
||||
|
||||
- check, Clippy `--lib` et build de `game-realtime-webtransport-lib` pour `wasm32-unknown-unknown` ;
|
||||
- build de `game-realtime-webtransport-browser-smoke` pour WASM ;
|
||||
- génération `wasm-bindgen` ;
|
||||
- TypeScript/Vite propre ;
|
||||
- host npm synchronisé sur `0.3.5-beta.1.fix.1` ;
|
||||
- audit `DIST-LAYOUT-114` empêchant une nouvelle divergence de version ;
|
||||
- smoke navigateur réel terminé par `game-realtime-webtransport-browser-smoke: PASS` côté pair natif.
|
||||
|
||||
Le smoke final a utilisé un endpoint loopback éphémère et un pin SHA-256 généré en mémoire. Les valeurs concrètes de port et de certificat appartiennent uniquement à cette exécution.
|
||||
|
||||
## Android ARM64
|
||||
|
||||
La première tentative `aarch64-linux-android` de `beta.1` a été bloquée avant compilation complète parce que `ring`/`cc-rs` ne trouvait pas le Clang du NDK dans l'environnement.
|
||||
|
||||
Le NDK `28.2.13676358` était déjà installé. Après exposition explicite du toolchain LLVM avec cible API 21 :
|
||||
|
||||
```text
|
||||
CC_aarch64_linux_android=aarch64-linux-android21-clang
|
||||
CXX_aarch64_linux_android=aarch64-linux-android21-clang++
|
||||
AR_aarch64_linux_android=llvm-ar
|
||||
CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android21-clang
|
||||
```
|
||||
|
||||
la commande :
|
||||
|
||||
```bash
|
||||
cargo check -p game-realtime-webtransport-lib --target aarch64-linux-android
|
||||
```
|
||||
|
||||
s'est terminée proprement, y compris `ring`, `rustls-platform-verifier-android`, Quinn et `game-realtime-webtransport-lib`.
|
||||
|
||||
Cette preuve valide la **cross-compilation ARM64 Android API 21** du backend. Elle ne vaut pas smoke WebTransport runtime sur appareil Android et ne valide pas les autres ABI Android pour ce backend.
|
||||
|
||||
## Conclusion beta
|
||||
|
||||
La fonctionnalité attendue est complète et la validation large ne révèle plus de défaut fonctionnel. La consolidation `0.3.5-beta.2` peut geler la décision `retained`, réconcilier la documentation durable et préparer le prompt `0.3.6` sans rouvrir le scope transport.
|
||||
Reference in New Issue
Block a user