238 lines
7.6 KiB
Markdown
238 lines
7.6 KiB
Markdown
<!-- file: deltas/0.1.0/beta.1.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# 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 '<!-- version: 9 -->' ROADMAP.md
|
|
grep -Fx '<!-- version: 22 -->' docs/000-README.md
|
|
grep -Fx '<!-- version: 8 -->' docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md
|
|
grep -Fx '<!-- version: 3 -->' docs/studies/000-README.md
|
|
grep -Fx '<!-- version: 1 -->' docs/studies/003-V0_1_0_HORIZON_REVIEW.md
|
|
grep -Fx '<!-- version: 1 -->' 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.
|