# 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.