0.3.4-rc.1

This commit is contained in:
2026-09-21 19:53:50 +02:00
parent 881d5afacd
commit f270ed8f86
11 changed files with 885 additions and 18 deletions

151
deltas/0.3.4/rc.1.md Normal file
View File

@@ -0,0 +1,151 @@
<!-- file: deltas/0.3.4/rc.1.md -->
<!-- version: 1 -->
# Delta 0.3.4-rc.1
## Base requise
`0.3.4-beta.1`, validée par l'utilisateur le 2026-09-21.
## Objectif
Créer la candidate de publication `0.3.4` après validation large de la baseline realtime, sans rouvrir le comportement réseau.
Cette tranche ferme `VER-PHASE-010` : historique beta, documentation durable, changelog, prompt de la version suivante et gel RC.
## Gel fonctionnel
`0.3.4-rc.1` n'ajoute :
- aucun transport ;
- aucune API réseau ;
- aucune dépendance tierce ;
- aucun TLS ;
- aucun wire codec ;
- aucun protocole session/joueur/room ;
- aucune synchronisation gameplay ;
- aucune simulation authoritative ;
- aucun changement moteur, jeu, SDL, Android, Tauri ou WASM.
Les seules modifications techniques sont la promotion de `workspace.package.version` vers `0.3.4-rc.1`. Le code Rust realtime validé en beta reste inchangé.
Tout défaut de publication fermé relève de `0.3.4-rc.1.fix.N` selon `VER-RC-*`. Une réouverture fonctionnelle invalide la RC.
## Validation beta acquise
`history/0.3.4/beta.1.md` consigne la gate réelle :
- audits Rust/workspace, Markdown et distribution propres ;
- `cargo check --workspace` propre ;
- Clippy workspace strict propre ;
- `cargo test --workspace --all-targets --all-features` : 53 tests réussis, 0 échec ;
- smoke runtime `game-realtime-websocket-smoke: PASS` ;
- backend sur Tokio `1.53.1`, tokio-tungstenite/Tungstenite `0.30.0`, sans pile TLS ;
- arbre inverse limité à `game-realtime-websocket-smoke`, sans dépendance backend dans `crates/games/` ou `crates/engines/`.
Aucune beta supplémentaire n'est créée uniquement par cérémonie.
## Consolidation documentaire
La revue `DOC-CRATE-*` conclut :
- `game-realtime-transport-lib` reçoit un `README.md` durable décrivant son contrat, ses frontières et le sens des dépendances ; son API est assez petite pour ne pas justifier un `USAGE.md` séparé ;
- `game-realtime-websocket-lib` reçoit un `README.md` durable et un `USAGE.md`, car configuration, client/listener, limites, deadlines et smoke constituent un workflow de consommation non trivial ;
- `game-realtime-websocket-smoke` reste sans document local supplémentaire : la commande Cargo unique, le plan et le delta couvrent entièrement son rôle.
Les documents locaux ne contiennent aucun journal de prerelease.
## Changelog et roadmap
`CHANGELOG.md` reçoit l'entrée `0.3.4-rc.1` avec le scope réellement validé.
`ROADMAP.md` est relue mais reste inchangée : `0.3.4` ne devient `(x)` qu'après validation de la RC et promotion stable. `0.3.5` reste le POC WebTransport/QUIC prévu ensuite.
## Prompt suivant
Ajout de :
```text
prompts/006-V0_3_5_START_PROMPT.md
```
Le prompt part de la future stable/taggée `v0.3.4`, rappelle que la RC/stable doit être terminée si nécessaire, et cadre `0.3.5-alpha.1` autour de :
- recherche actuelle des stacks WebTransport/QUIC ;
- challenge du contrat transport-neutral livré par `0.3.4` ;
- plateformes navigateur/native/Android réellement testables ;
- exigences TLS/certificats/HTTP3/UDP ;
- fallback WebSocket au niveau d'ownership approprié ;
- comparaison mesurée sans présumer que WebTransport doit être retenu ;
- maintien hors scope des couches session/synchronisation/simulation.
Le prompt ne présente aucune validation future de la RC ou de la stable comme acquise.
## Fichiers
Modifiés :
```text
Cargo.toml
README.md
CHANGELOG.md
docs/000-README.md
docs/plans/004-V0_3_4_REALTIME_TRANSPORT_WEBSOCKET_PLAN.md
```
Ajoutés :
```text
crates/common/game-realtime-transport-lib/README.md
crates/common/game-realtime-websocket-lib/README.md
crates/common/game-realtime-websocket-lib/USAGE.md
history/0.3.4/beta.1.md
prompts/006-V0_3_5_START_PROMPT.md
deltas/0.3.4/rc.1.md
```
## Validation RC
Depuis la racine :
```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 -p game-realtime-transport-lib --all-targets --all-features
cargo test -p game-realtime-websocket-lib --all-targets --all-features
cargo run -p game-realtime-websocket-smoke
cargo tree -i game-realtime-websocket-lib --workspace --edges normal
```
Le test workspace complet n'est pas répété par cérémonie : aucun Rust, dépendance ou contrat transverse n'a changé depuis la gate beta qui l'a déjà validé. Il redevient obligatoire si un fix RC touche ces éléments.
Le smoke doit afficher :
```text
game-realtime-websocket-smoke: PASS
```
L'arbre inverse doit continuer à montrer uniquement le launcher de smoke comme consommateur du backend WebSocket.
## Après validation
Si la RC est propre, la promotion vers `0.3.4` est mécanique :
- `workspace.package.version = 0.3.4` ;
- ajout de `history/0.3.4/rc.1.md` ;
- entrée stable dans `CHANGELOG.md` ;
- `ROADMAP.md` passe `0.3.4` en `(x)` ;
- clôture du plan `004` et de son index ;
- ajustement mécanique de `prompts/006-V0_3_5_START_PROMPT.md` si une référence devient certaine ;
- `deltas/0.3.4/rel.001.md`.
Aucun nouveau comportement ne doit apparaître dans cette promotion.