# Delta 0.0.2 rel.001 — promotion stable ## Baseline Version attendue avant application : ```text 0.0.2-rc.1.fix.1 ``` Le history `history/0.0.2/rc.1.fix.1.md` MUST avoir été appliqué et committé avant ce delta. Version après application : ```text 0.0.2 ``` `rel.001` est l'identifiant opérationnel de cette clôture stable ; il ne fait pas partie de la version SemVer produit. ## Objet Promouvoir mécaniquement la release candidate validée vers la stable `0.0.2`, finaliser les métadonnées vivantes de la release et préparer le commit/tag stable. Cette tranche n'introduit aucune nouvelle règle normative, aucun nouveau profil, aucun nouvel audit et aucun nouveau scope fonctionnel. ## Scope REPLACE : ```text VERSION README.md ROADMAP.md docs/plans/002-V0_0_2_RULE_PROFILES_PLAN.md ``` ADD : ```text deltas/0.0.2/rel.001.md ``` DELETE : aucun. ## Changements - `VERSION` devient `0.0.2` ; - `README.md` présente `0.0.2` comme la première release matérialisant des profils technologiques réutilisables et référence son plan historique ; - `ROADMAP.md` marque `0.0.2` terminé ; - le plan `0.0.2` est clôturé après `rc.1.fix.1` et rappelle la séparation entre `rel.001` pré-tag et `publish.001` post-tag ; - `CHANGELOG.md` n'est pas modifié : l'entrée stable `0.0.2` préparée en RC est déjà finalisée ; - `prompts/003-V0_0_3_START_PROMPT.md` n'est pas modifié : il cible déjà `v0.0.2` et demande explicitement le rapport post-tag lorsqu'il existe. ## Validation opérateur ```bash test "$(cat VERSION)" = "0.0.2" grep -F 'La release `0.0.2` ajoute le premier modèle de profils réutilisables' README.md grep -F 'plan historique des premiers profils `0.0.2`' README.md grep -F -- '- `(x) 0.0.2`' ROADMAP.md grep -F 'Plan clôturé par la promotion stable `0.0.2` après validation de `0.0.2-rc.1.fix.1`.' docs/plans/002-V0_0_2_RULE_PROFILES_PLAN.md grep -F 'Le contrôle post-tag `publish.001` reste une preuve séparée' docs/plans/002-V0_0_2_RULE_PROFILES_PLAN.md grep -Fx '## 0.0.2' CHANGELOG.md test -f prompts/003-V0_0_3_START_PROMPT.md grep -F 'v0.0.2' prompts/003-V0_0_3_START_PROMPT.md grep -F 'pgr-0.0.2-publish.001-report.md' prompts/003-V0_0_3_START_PROMPT.md for delta in deltas/0.0.2/*.md; do name="${delta##*/}" if [ "$name" = 'rel.001.md' ]; then continue fi test -f "history/0.0.2/$name" || { echo "Missing history for ${delta}" >&2 exit 1 } done 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 python3 -B - <<'PY' from pathlib import Path import re roots = [Path(name) for name in ('README.md', 'RULES.md', 'ROADMAP.md', 'CHANGELOG.md')] for directory in ('docs', 'deltas', 'history', 'prompts'): roots.extend(Path(directory).rglob('*.md')) paths = sorted(set(roots)) errors = [] for path in paths: lines = path.read_text(encoding='utf-8').splitlines() expected = f'' if len(lines) < 2 or lines[0] != expected: errors.append(f'{path}: invalid file header') elif re.fullmatch(r'', lines[1]) is None: errors.append(f'{path}: invalid version header') if errors: for error in errors: print(error) raise SystemExit(1) print(f'Markdown header audit: clean ({len(paths)} file(s))') PY git diff --check git add VERSION README.md ROADMAP.md \ docs/plans/002-V0_0_2_RULE_PROFILES_PLAN.md \ deltas/0.0.2/rel.001.md git diff --cached --check git status --short ``` La sortie attendue avant ajout du history est exactement : ```text M README.md M ROADMAP.md M VERSION A deltas/0.0.2/rel.001.md M docs/plans/002-V0_0_2_RULE_PROFILES_PLAN.md ``` ## Revue opérateur complémentaire - confirmer que la promotion stable ne contient aucun changement fonctionnel ou normatif nouveau ; - confirmer que `0.0.2` clôt uniquement les profils `510`, `520` et `610` retenus par le plan ; - confirmer que les profils différés restent différés ; - confirmer que le prompt `0.0.3` demande explicitement l'archive taggée et le rapport `publish.001` lorsqu'il existe ; - confirmer que `CHANGELOG.md` décrit la stable utilement sans recopier les détails de prerelease. ## Transition ### PASS Créer et appliquer séparément `history/0.0.2/rel.001.md`, committer la stable `0.0.2`, créer le tag `v0.0.2`, pousser commit et tag, puis télécharger l'archive source produite depuis ce tag et exécuter la vérification post-tag `publish.001`. ### FAIL Ne pas créer le tag. Corriger la promotion stable dans une nouvelle tranche de clôture explicite avant toute publication.