0.3.0-0-pre.1

This commit is contained in:
2026-09-20 06:15:50 +02:00
parent 74be610697
commit 54079accb5
9 changed files with 567 additions and 20 deletions

157
deltas/0.3.0/0-pre.1.md Normal file
View File

@@ -0,0 +1,157 @@
<!-- file: deltas/0.3.0/0-pre.1.md -->
<!-- version: 1 -->
# 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 quun 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 linterpréteur courant et `-B`, afin que la gate standard reste effectivement en lecture seule malgré limport effectué dans laudit 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.