Files
pgr/deltas/0.0.2/rel.001.md
2026-09-23 15:57:03 +02:00

4.8 KiB

Delta 0.0.2 rel.001 — promotion stable

Baseline

Version attendue avant application :

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 :

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 :

VERSION
README.md
ROADMAP.md
docs/plans/002-V0_0_2_RULE_PROFILES_PLAN.md

ADD :

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

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'<!-- file: {path.as_posix()} -->'
    if len(lines) < 2 or lines[0] != expected:
        errors.append(f'{path}: invalid file header')
    elif re.fullmatch(r'<!-- version: [1-9][0-9]* -->', 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 :

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.