0.3.5-rc.1
This commit is contained in:
121
deltas/0.3.5/rc.1.md
Normal file
121
deltas/0.3.5/rc.1.md
Normal file
@@ -0,0 +1,121 @@
|
||||
<!-- file: deltas/0.3.5/rc.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.3.5-rc.1
|
||||
|
||||
## Base requise
|
||||
|
||||
`0.3.5-beta.2` validée.
|
||||
|
||||
## Objet
|
||||
|
||||
Geler la candidate de publication `0.3.5` sans rouvrir le scope fonctionnel. La RC porte pour la première fois l'entrée candidate dans `CHANGELOG.md`, enregistre la consolidation beta validée et repasse la gate complète de publication.
|
||||
|
||||
La version technique devient :
|
||||
|
||||
```text
|
||||
0.3.5-rc.1
|
||||
```
|
||||
|
||||
La décision candidate reste :
|
||||
|
||||
```text
|
||||
WebSocket -> baseline/fallback de référence
|
||||
WebTransport -> second backend realtime retained
|
||||
Datagrams -> capacité WebTransport backend-spécifique
|
||||
```
|
||||
|
||||
## Modifications
|
||||
|
||||
- enregistrer `history/0.3.5/beta.2.md` avec la gate documentaire réellement validée ;
|
||||
- synchroniser `workspace.package.version` et le host navigateur sur `0.3.5-rc.1` ;
|
||||
- ajouter l'entrée `0.3.5-rc.1` dans `CHANGELOG.md` conformément à `DOC-CHG-003/004` ;
|
||||
- mettre à jour `README.md` et le plan actif pour refléter la candidate gelée ;
|
||||
- conserver `ROADMAP.md` inchangé : la version n'est pas encore stable et aucun statut macroscopique nouveau n'est acquis ;
|
||||
- conserver `prompts/007-V0_3_6_START_PROMPT.md` inchangé s'il reste correct ; sa formulation doit continuer à distinguer la future stable `v0.3.5` de l'état RC actuel.
|
||||
|
||||
Aucun code Rust, backend, dépendance, protocole, fallback, datagram, engine ou gameplay n'est modifié par ce delta.
|
||||
|
||||
## Validation attendue
|
||||
|
||||
```bash
|
||||
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
|
||||
cargo test --workspace --all-targets --all-features
|
||||
|
||||
cargo run -p game-realtime-websocket-smoke
|
||||
cargo run -p game-realtime-webtransport-smoke
|
||||
cargo run -p game-realtime-webtransport-datagram-smoke
|
||||
cargo run -p game-realtime-transport-fallback-smoke
|
||||
cargo run --release -p game-realtime-transport-measure
|
||||
|
||||
cargo check -p game-realtime-webtransport-lib --target wasm32-unknown-unknown
|
||||
cargo clippy -p game-realtime-webtransport-lib --target wasm32-unknown-unknown --lib -- -D warnings
|
||||
cargo build -p game-realtime-webtransport-lib --target wasm32-unknown-unknown
|
||||
cargo build -p game-realtime-webtransport-browser-smoke --lib --target wasm32-unknown-unknown
|
||||
|
||||
(cd Web/game-realtime-webtransport-browser-smoke && npm install && npm run build)
|
||||
|
||||
cargo tree -p game-realtime-websocket-lib --edges normal
|
||||
cargo tree -p game-realtime-webtransport-lib --edges normal
|
||||
cargo tree -i game-realtime-websocket-lib --workspace --edges normal
|
||||
cargo tree -i game-realtime-webtransport-lib --workspace --edges normal
|
||||
```
|
||||
|
||||
La preuve Android ARM64/API 21 doit aussi être repassée avec le NDK déjà retenu, sans chemin machine absolu :
|
||||
|
||||
```bash
|
||||
ANDROID_SDK="${ANDROID_HOME:-$ANDROID_SDK_ROOT}"
|
||||
export ANDROID_NDK_HOME="$ANDROID_SDK/ndk/28.2.13676358"
|
||||
export TOOLCHAIN="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64"
|
||||
|
||||
export CC_aarch64_linux_android="$TOOLCHAIN/bin/aarch64-linux-android21-clang"
|
||||
export CXX_aarch64_linux_android="$TOOLCHAIN/bin/aarch64-linux-android21-clang++"
|
||||
export AR_aarch64_linux_android="$TOOLCHAIN/bin/llvm-ar"
|
||||
export CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER="$TOOLCHAIN/bin/aarch64-linux-android21-clang"
|
||||
|
||||
cargo check -p game-realtime-webtransport-lib --target aarch64-linux-android
|
||||
```
|
||||
|
||||
Le smoke navigateur réel est également une gate RC. Terminal 1 :
|
||||
|
||||
```bash
|
||||
cargo run -p game-realtime-webtransport-browser-smoke
|
||||
```
|
||||
|
||||
Terminal 2 :
|
||||
|
||||
```bash
|
||||
(cd Web/game-realtime-webtransport-browser-smoke && npm run dev)
|
||||
```
|
||||
|
||||
Ouvrir ensuite l'URL `OPEN=...` et obtenir :
|
||||
|
||||
```text
|
||||
game-realtime-webtransport-browser-smoke: PASS
|
||||
```
|
||||
|
||||
## Contrôles documentaires RC
|
||||
|
||||
Vérifier explicitement que :
|
||||
|
||||
- `CHANGELOG.md` contient l'entrée candidate `0.3.5-rc.1` mais aucune entrée stable `0.3.5` ;
|
||||
- `ROADMAP.md` n'est pas artificiellement clôturé avant la stable ;
|
||||
- le host navigateur annonce `0.3.5-rc.1` ;
|
||||
- `prompts/007-V0_3_6_START_PROMPT.md` demande de partir de `v0.3.5` tout en rappelant que cette stable/tag n'existe pas encore pendant la RC ;
|
||||
- aucun engine/gameplay ne dépend directement d'un backend realtime concret ;
|
||||
- aucune documentation ne transforme les datagrams en capacité `RealtimeConnection` ;
|
||||
- aucune preuve de cross-compilation Android n'est décrite comme smoke runtime Android WebTransport.
|
||||
|
||||
## Après validation
|
||||
|
||||
Si toutes les gates sont vertes, créer `history/0.3.5/rc.1.md` dans le delta stable `0.3.5`, promouvoir mécaniquement les versions vers `0.3.5`, convertir l'entrée changelog candidate en entrée stable correspondante, clôturer le plan/ROADMAP si nécessaire et ajuster mécaniquement le prompt `0.3.6` pour une base désormais réellement publiée/taggée.
|
||||
|
||||
Tout défaut nécessaire à la publication produit `0.3.5-rc.1.fix.N` conformément à `VER-RC-*`; tout nouveau scope fonctionnel abandonne la RC et revient à une phase adaptée.
|
||||
Reference in New Issue
Block a user