Files
games/deltas/0.3.5/alpha.7.fix.1.md

3.7 KiB

Delta 0.3.5-alpha.7.fix.1

Base requise

0.3.5-alpha.7, candidate dont la gate utilisateur du 2026-09-22 a validé fmt, les trois audits, cargo check --workspace, Clippy strict, les sept tests du contrat realtime commun, les vingt tests WebTransport, le smoke natif PASS, puis check/Clippy/build réels du backend en wasm32-unknown-unknown ainsi que check/Clippy et build WASM de game-realtime-webtransport-browser-smoke.

La gate échoue uniquement pendant le sous-script wasm:build de npm run build, après une compilation Rust release réussie :

error: failed reading '../../builds/sasedev-games/target/wasm32-unknown-unknown/release/game_realtime_webtransport_browser_smoke.wasm'

Caused by:
    No such file or directory (os error 2)

alpha.7 n'est donc pas historisée comme validée avant ce correctif.

Cause

Le workspace configure son target-dir Cargo dans .cargo/config.toml :

../builds/sasedev-games/target

Ce chemin est extérieur au repository, donc depuis :

Web/game-realtime-webtransport-browser-smoke

l'artefact se trouve sous :

../../../builds/sasedev-games/target/...

et non sous ../../builds/....

Le vite.config.ts était déjà correct : il dérive repositoryRoot, puis ../builds/sasedev-games/.... Le défaut est limité aux chemins littéraux des scripts npm et à l'ancre correspondante de l'audit de distribution.

Correction

La version technique passe à :

0.3.5-alpha.7.fix.1

Dans Web/game-realtime-webtransport-browser-smoke/package.json, wasm:dev et wasm:build utilisent désormais :

../../../builds/sasedev-games/target/...
../../../builds/sasedev-games/game-realtime-webtransport-browser-smoke/wasm

DIST-LAYOUT-078 est aligné sur ce chemin externe réel.

Aucun code Rust, protocole WebTransport, framing, deadline, certificat, pin SHA-256, API publique ou dépendance n'est modifié.

Fichiers modifiés

Cargo.toml
README.md
Web/game-realtime-webtransport-browser-smoke/package.json
docs/plans/005-V0_3_5_WEBTRANSPORT_QUIC_POC_PLAN.md
scripts/audit_distribution_layout.py

Nouveau fichier :

deltas/0.3.5/alpha.7.fix.1.md

Aucun fichier history/0.3.5/alpha.7.md n'est créé avant une gate entièrement verte du correctif.

Plan

Le forecast fonctionnel ne change pas. Après validation du fix et du smoke navigateur réel, 0.3.5-alpha.8 reste la tranche du fallback WebSocket au niveau composition.

Validation attendue

La correction touche build/config et version ; relancer d'abord la gate statique et les builds concernés :

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 build -p game-realtime-webtransport-browser-smoke --lib --target wasm32-unknown-unknown

(cd Web/game-realtime-webtransport-browser-smoke && npm install && npm run build)

Puis exécuter le smoke runtime réel avec deux terminaux.

Terminal A :

cargo run -p game-realtime-webtransport-browser-smoke

Terminal B :

(cd Web/game-realtime-webtransport-browser-smoke && npm run dev)

Ouvrir l'URL OPEN=... imprimée par le Terminal A. Le résultat attendu dans la page puis dans le Terminal A reste :

game-realtime-webtransport-browser-smoke: PASS

Après validation

Créer history/0.3.5/alpha.7.fix.1.md à partir des résultats réellement fournis, puis ouvrir directement 0.3.5-alpha.8.