# Delta 0.3.0-0-pre.1 ## Base Base déclarée : `0.2.0`. L'archive de base a été inspectée avant modification. Sa version workspace est `0.2.0`. L'archive ne contient pas `.git`, donc le tag réel et la propreté Git ne peuvent pas être vérifiés dans l'environnement de génération. ## Objet Ouvrir `0.3.0` par le cadrage obligatoire : audit réel de la baseline, revue des règles, requirements Snake, graphe de dépendances, choix du premier POC, sizing corrigé et préparation des validations. Aucun gameplay, runtime SDL, Java/JNI, Tauri ou frontend existant n'est modifié dans cette tranche. ## Version La version workspace passe de : ```text 0.2.0 ``` à : ```text 0.3.0-0-pre.1 ``` Les métadonnées Android restent à `0.2.0` dans cette tranche, car le chemin Android natif n'est ni modifié ni construit par le premier POC Web. Elles seront réévaluées dans la version qui réouvre effectivement ce produit Android. ## Audit de baseline Les audits statiques officiels ont été exécutés avant modification et étaient propres : ```text General Rust rule audit: clean Rust export completeness audit: 0 candidate(s) games.sasedev workspace audit: clean Markdown table audit: clean (4 table(s), 158 file(s)) Distribution layout audit: clean (19 required path(s), 1 forbidden path(s) absent) ``` La revue manuelle a néanmoins détecté : - README encore positionné sur `0.1.0` stable / `0.2.0` candidate ; - quatre lignes `( )` sous la stable `0.2.0` dans ROADMAP, en violation de `DOC-RMAP-010` ; - la gate `audit_rust_workspace_rules.py` qui créait un cache Python `.pyc` pendant son exécution, alors qu’un audit doit rester en lecture seule ; - `CMD-RC-001` encore spécifique à `0.1.0` ; - contradiction entre `CMD-BUILD-002` (interdiction globale) et `CMD-BUILD-004` (remplacement progressif en `0.3.x`), alors que deux orchestrateurs Python historiques existent encore ; - `CMD-WEB-003` décrivant sans contexte le build Python Tauri/WASM historique ; - dépendances `engine-v1-platform-api` déclarées mais non utilisées par les crates de jeu ; - `RuntimeProvenance` défini mais non branché aux launchers ; - `game-assets-lib` encore sans consommateur runtime ; - deux orchestrateurs Python de build historiques à ne pas réutiliser dans les nouveaux POC. Les détails et le graphe complet sont documentés dans `docs/studies/023-V0_3_0_PLATFORM_POC_AUDIT.md`. ## Corrections de règles et hygiène Cette tranche : - corrige le README de version ; - ferme correctement le scope `0.2.0` dans ROADMAP ; - distingue ce qui a été livré de ce qui est reporté ; - rend `CMD-RC-001` générique à la version courante ; - rend `CMD-BUILD-002` cohérente avec la migration `0.3.x` : les deux orchestrateurs Python historiques sont gelés jusqu’à réactivation de leur chemin, mais aucun nouveau chemin ne peut les reprendre ; - qualifie explicitement `scripts/build_reflex_tauri_wasm.py` de mécanisme historique non réutilisable comme orchestration `0.3.x` ; - renforce `audit_project_workspace_rules.py` pour détecter le scope `( )` restant sous une version stable présente dans CHANGELOG ; - fait exécuter les sous-audits de `audit_rust_workspace_rules.py` avec l’interpréteur courant et `-B`, afin que la gate standard reste effectivement en lecture seule malgré l’import effectué dans l’audit de complétude des exports. ## Premier POC retenu Le premier host de `0.3.0` devient : ```text Web navigateur direct + Snake ``` Tauri Android est reporté au second host, actuellement prévu en `0.3.1`. Le but est de valider d'abord la frontière Web/WASM et les capabilities directement observables sans cumuler simultanément la généralisation Snake/WASM et la complexité d'un host mobile Tauri. ## Forecast corrigé ```text 0-pre.1 audit / règles / requirements / sizing 0-pre.2 Snake portability baseline 0-pre.3 adapter Snake WASM + build natif Web 0-pre.4 navigateur direct end-to-end 0-pre.5 seulement si un défaut réel est observé 2-beta.1 validation large 3-rc.1 candidate gelée 0.3.0 release mécanique ``` Aucune alpha n'est créée par cérémonial. Elle reste possible si le volume réel de stabilisation le justifie. ## Scope exclu de 0.3.0 - Tauri Android ; - Tauri Desktop Snake ; - Android multi-ABI natif ; - réseau realtime ; - WebTransport/QUIC ; - Uroburas ; - ads, billing, auth et leaderboard ; - ECS ou nouveau moteur. ## Suppressions Aucune suppression de fichier appartenant à la baseline `0.2.0` n'est nécessaire. ## Validations exécutées dans l'environnement de génération Après constitution de l'état livré, les audits statiques suivants doivent être réexécutés et leur résultat est enregistré avant packaging : ```bash 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 deltas history python3 scripts/audit_distribution_layout.py ``` Aucun build/test/smoke n'est exécuté par le générateur, conformément à `CMD-GEN-007` et `CMD-BUILD-005`. ## Validation utilisateur demandée Cette tranche ne modifie aucun source Rust/Java/TypeScript ni aucune configuration runtime. Elle ouvre toutefois une nouvelle version `0.3.0` et modifie le manifest workspace ; la gate utilisateur retient donc les audits statiques puis une gate Cargo workspace complète, conformément à la discipline des frontières de version : ```bash 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 deltas history python3 scripts/audit_distribution_layout.py cargo fmt --all -- --check cargo check --workspace cargo clippy --workspace --all-targets --all-features -- -D warnings cargo test --workspace --all-targets --all-features ``` Aucun build de distribution, smoke Desktop, Tauri ou Android n'est requis par `pre.1`, car aucun runtime ni packaging de ces hosts n'est modifié. La revue humaine doit confirmer : - le choix Web direct comme premier POC ; - le scope corrigé de `0.3.0` ; - le report de Tauri Android vers le second host ; - le sizing `pre.2` à `pre.4` ; - la fermeture correcte des lignes historiques `0.2.0`. ## Suite après validation Si cette gate est propre et le cadrage accepté, passer automatiquement à `0.3.0-0-pre.2`. `pre.2` doit rester une tranche bornée de portabilité Snake et de nettoyage de dépendances ; elle ne doit pas commencer le frontend Web complet.