# Delta 0.1.0-beta.1 — réconciliation finale et revue d'horizon ## Baseline et version Baseline attendue : commit opérateur de `0.1.0-alpha.5`, réalisé après application de `history/0.1.0/alpha.5.md` avec statut `PASS`. Le hash de ce commit n'est pas anticipé. Version avant application : ```text 0.1.0-alpha.5 ``` Version après application : ```text 0.1.0-beta.1 ``` ## Objet Fermer la phase alpha de `0.1.0` en réconciliant la baseline réellement validée et en exécutant la revue d'horizon obligatoire avant RC. La tranche : - enregistre le `PASS` de `alpha.5` dans le plan actif ; - matérialise `003-V0_1_0_HORIZON_REVIEW.md` ; - engage dans `ROADMAP.md` uniquement les prochaines releases `0.1.x` suffisamment décidées ; - conserve WASM, serveur Rust et deployment/operations sans réservation prématurée ; - prépare `007-V0_1_1_START_PROMPT.md` pour la prochaine cible Web, sans l'activer avant publication de `v0.1.0`. Aucun profil technique, template Rust/Cargo, skeleton ou script d'audit n'est modifié dans `beta.1`. ## Scope REPLACE : ```text VERSION ROADMAP.md docs/000-README.md docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md docs/studies/000-README.md ``` ADD : ```text deltas/0.1.0/beta.1.md docs/studies/003-V0_1_0_HORIZON_REVIEW.md prompts/007-V0_1_1_START_PROMPT.md ``` DELETE : aucun. `README.md`, `RULES.md`, `CHANGELOG.md`, les profils, skeletons, templates techniques et scripts restent inchangés. ## Décision de revue d'horizon Les releases suivantes sont engagées : ```text 0.1.1 fondation frontend Web 0.1.2 réévaluation Java / Gradle 0.1.3 réévaluation Android 0.1.4 domaine Tauri et levée conditionnelle du DEFER 0.1.5 adoption Games 0.1.6 adoption KSP 0.1.7 audits Rust/Clippy statiques Python-only ``` Cette séquence applique le principe « une release/session par domaine cohérent » et conserve Games avant KSP. `0.1.4` n'autorise pas par avance le skeleton Tauri : la release doit d'abord vérifier que `0.1.1` a réellement fourni les owners Web nécessaires. WASM et serveur Rust/Actix ou alternative restent non numérotés. Le futur domaine deployment/operations reste un horizon majeur possible, notamment `0.4.x` ou `0.5.x`, sans réservation précise. ## Prochaine cible Après stable `v0.1.0` et `publish.* PASS`, la prochaine cible engagée est : ```text 0.1.1 — fondation frontend Web ``` Le prompt `prompts/007-V0_1_1_START_PROMPT.md` demande un audit indépendant de la stable et du corpus Games réellement fourni. Il ne migre pas Games et ne crée ni Tauri, ni WASM, ni serveur Rust. ## Validation opérateur Après application du history `PASS`, commit/push de `alpha.5`, puis application du présent delta : ```bash test "$(cat VERSION)" = '0.1.0-beta.1' git cat-file -e HEAD:history/0.1.0/alpha.5.md test -f history/0.1.0/alpha.5.md test -f deltas/0.1.0/beta.1.md test -f docs/studies/003-V0_1_0_HORIZON_REVIEW.md test -f prompts/007-V0_1_1_START_PROMPT.md test ! -e history/0.1.0/beta.1.md grep -A2 '^## Statut$' history/0.1.0/alpha.5.md | grep -Fx 'PASS' grep -Fx '' ROADMAP.md grep -Fx '' docs/000-README.md grep -Fx '' docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md grep -Fx '' docs/studies/000-README.md grep -Fx '' docs/studies/003-V0_1_0_HORIZON_REVIEW.md grep -Fx '' prompts/007-V0_1_1_START_PROMPT.md ``` Contrôle structurel de la revue : ```bash python3 -B - <<'PYGATE' from pathlib import Path import re history = Path("history/0.1.0/alpha.5.md").read_text(encoding="utf-8") roadmap = Path("ROADMAP.md").read_text(encoding="utf-8") plan = Path("docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md").read_text(encoding="utf-8") study = Path("docs/studies/003-V0_1_0_HORIZON_REVIEW.md").read_text(encoding="utf-8") prompt = Path("prompts/007-V0_1_1_START_PROMPT.md").read_text(encoding="utf-8") tauri = Path("docs/studies/002-TAURI_SKELETON_DECISION.md").read_text(encoding="utf-8") assert re.search(r"## Statut\s+PASS\s", history) expected = { "0.1.1": "fondation frontend Web", "0.1.2": "Java/Maven/Gradle", "0.1.3": "Android", "0.1.4": "Tauri", "0.1.5": "sasedev-games", "0.1.6": "khadhroony-solana-project", "0.1.7": "Rust/Clippy", } for version, phrase in expected.items(): assert f"- `( ) {version}`" in roadmap, version assert phrase in roadmap, phrase assert "- `( ) 0.1.8`" not in roadmap assert "WASM" in roadmap assert "serveur Web Rust / Actix Web ou alternative" in roadmap assert "deployment & operations" in roadmap assert "aucun numéro précis n'est réservé" in roadmap for phrase in ( "`0.1.1` — fondation frontend Web", "`0.1.5` — adoption de Games", "`0.1.6` — adoption de KSP", "`0.1.7` — audits Rust/Clippy statiques Python", "Candidats laissés sans numéro", "Déploiement et exploitation", "La décision `DEFER` de `002-TAURI_SKELETON_DECISION.md` reste vraie pendant `0.1.0`.", ): assert phrase in study, phrase assert "Statut opérateur : **PASS**." in plan assert "Statut opérateur : **à valider**." in plan assert "0.1.7 audits Rust/Clippy statiques Python-only" in plan assert "WASM, serveur Rust et deployment restent non numérotés." in plan for phrase in ( "# Prompt de démarrage 0.1.1 — fondation frontend Web", "games-v0.3.6.zip", "TypeScript", "Vite", "Sass/CSS", "Le skeleton Tauri reste `DEFER` pendant cette release.", "0.1.2", "0.1.3", ): assert phrase in prompt, phrase assert "DEFER" in tauri print("0.1.0 beta.1 horizon review audit: clean (0.1.1..0.1.7 engaged, Tauri conditional, deferred domains remain unnumbered)") PYGATE ``` Puis rejouer les preuves PGR : ```bash python3 -B -m unittest discover -s tests -v python3 -B scripts/audit_markdown_headers.py \ README.md RULES.md ROADMAP.md CHANGELOG.md docs deltas history prompts python3 -B scripts/audit_markdown_tables.py \ README.md RULES.md ROADMAP.md CHANGELOG.md docs deltas history prompts python3 -B scripts/audit_markdown_links.py \ README.md RULES.md ROADMAP.md CHANGELOG.md docs deltas history prompts git diff --check git add VERSION ROADMAP.md docs/000-README.md \ docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md \ docs/studies/000-README.md \ docs/studies/003-V0_1_0_HORIZON_REVIEW.md \ prompts/007-V0_1_1_START_PROMPT.md \ deltas/0.1.0/beta.1.md git diff --cached --check git status --short ``` Le scope indexé attendu avant ajout du history de `beta.1` est exactement : ```text M ROADMAP.md M VERSION A deltas/0.1.0/beta.1.md M docs/000-README.md M docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md M docs/studies/000-README.md A docs/studies/003-V0_1_0_HORIZON_REVIEW.md A prompts/007-V0_1_1_START_PROMPT.md ``` ## Revue opérateur complémentaire Confirmer que : - la roadmap n'engage pas un catalogue exhaustif de technologies ; - chaque release `0.1.1` à `0.1.7` possède un domaine cohérent ; - Games reste avant KSP ; - le skeleton Tauri n'est pas présenté comme déjà autorisé ; - WASM et serveur Rust restent réellement sans numéro ; - deployment/operations n'est pas artificiellement fixé à `0.4.0` ou `0.5.0` ; - `007-V0_1_1_START_PROMPT.md` ne doit être exécuté qu'après `v0.1.0` publié et vérifié ; - aucun profil, skeleton technique ou script d'audit n'est ajouté/modifié dans cette tranche. ## Transition PASS : produire `history/0.1.0/beta.1.md`, fermer la tranche avec le handoff opérateur automatique, puis préparer `0.1.0-rc.1`. FAIL : conserver le résultat réel dans le history et corriger par `beta.1.fix.N` ou REPLAN si la revue macro elle-même doit changer.