Files
pgr/deltas/0.0.4/rel.001.md
2026-09-24 17:50:47 +02:00

5.9 KiB

Delta 0.0.4 rel.001 — promotion stable pré-tag

Baseline et version

Baseline : 0.0.4-rc.1, avec history/0.0.4/rc.1.md appliqué et committé. Ce delta MUST NOT être appliqué avant ce commit.

Le commit exact de cette baseline sera celui produit par l'opérateur après application du history RC ; il n'est pas anticipé dans cette livraison simultanée du history et du delta stable.

Version avant application :

0.0.4-rc.1

Version après application :

0.0.4

rel.001 identifie la clôture opérationnelle ; il ne fait pas partie de la version SemVer du produit.

Objet

Promouvoir la RC validée vers la stable 0.0.4. La tranche finalise uniquement la présentation de la release : version stable, roadmap terminée, changelog sans marqueur candidate, index documentaires et plan historique.

Le scope fonctionnel reste celui validé en RC : contrat transversal des skeleton specifications, fondation gouvernée 001, spécialisation Rust/Cargo 002, utilisation gouvernée des cinq templates Rust/Cargo existants et différé explicite des autres familles non suffisamment matérialisées.

La validation de cette tranche est pré-tag. Ni le tag v0.0.4, ni l'archive pgr-v0.0.4.zip téléchargée depuis Gitea, ni un rapport pgr-0.0.4-publish.001-report.md ne sont déclarés existants par ce delta. Ils suivent le history PASS, le commit stable et la publication réelle du tag.

Scope

REPLACE :

VERSION
README.md
ROADMAP.md
CHANGELOG.md
docs/000-README.md
docs/plans/004-V0_0_4_SKELETONS_PLAN.md

ADD :

deltas/0.0.4/rel.001.md

DELETE : aucun.

L'archive contient uniquement ces fichiers complets. history/0.0.4/rc.1.md est livré séparément ; le history de rel.001 sera produit après sa gate. Le rapport post-tag restera extérieur à l'archive source taggée.

Validation opérateur pré-tag

Après application sur le commit rc.1, depuis la racine du dépôt :

test "$(cat VERSION)" = '0.0.4'
git cat-file -e HEAD:history/0.0.4/rc.1.md
test -f history/0.0.4/rc.1.md
test -f deltas/0.0.4/rel.001.md
test -f prompts/005-V0_0_5_START_PROMPT.md
test ! -e history/0.0.4/rel.001.md

grep -Fx '<!-- version: 11 -->' README.md
grep -Fx '<!-- version: 5 -->' ROADMAP.md
grep -Fx '<!-- version: 7 -->' CHANGELOG.md
grep -Fx '<!-- version: 9 -->' docs/000-README.md
grep -Fx '<!-- version: 3 -->' docs/plans/004-V0_0_4_SKELETONS_PLAN.md
grep -F 'La release `0.0.4` définit le contrat transversal des skeleton specifications' README.md
grep -F 'plan historique des skeleton specifications `0.0.4`' README.md
grep -F -- '- `(x) 0.0.4`' ROADMAP.md
grep -Fx '## 0.0.4' CHANGELOG.md
grep -F 'périmètre et décisions de la release `0.0.4`' docs/000-README.md
grep -F 'La gate opérateur de `rc.1` est `PASS`' docs/plans/004-V0_0_4_SKELETONS_PLAN.md
grep -F 'pgr-0.0.4-publish.001-report.md' docs/plans/004-V0_0_4_SKELETONS_PLAN.md

python3 -B - <<'PY'
from pathlib import Path
import re

expected = {
    'alpha.1.md': 'PASS',
    'alpha.2.md': 'PASS',
    'alpha.3.md': 'PASS',
    'alpha.4.md': 'FAIL',
    'alpha.4.fix.1.md': 'PASS',
    'beta.1.md': 'FAIL',
    'beta.1.fix.1.md': 'PASS',
    'rc.1.md': 'PASS',
}
for name, status in expected.items():
    delta = Path('deltas/0.0.4', name)
    history = Path('history/0.0.4', name)
    assert delta.is_file(), name
    assert history.is_file(), name
    text = history.read_text(encoding='utf-8')
    assert re.search(rf'## Statut\s+{status}\s', text), (name, status)

pending = {p.name for p in Path('deltas/0.0.4').glob('*.md')} - \
          {p.name for p in Path('history/0.0.4').glob('*.md')}
assert pending == {'rel.001.md'}, pending
print('Stable history audit: clean (8 prior histories with expected statuses, rel.001 pending)')
PY

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 README.md ROADMAP.md CHANGELOG.md docs/000-README.md \
    docs/plans/004-V0_0_4_SKELETONS_PLAN.md deltas/0.0.4/rel.001.md
git diff --cached --check
git status --short

Le scope attendu avant ajout du history est exactement :

M  CHANGELOG.md
M  README.md
M  ROADMAP.md
M  VERSION
A  deltas/0.0.4/rel.001.md
M  docs/000-README.md
M  docs/plans/004-V0_0_4_SKELETONS_PLAN.md

Les 15 tests, les cinq TOML et le smoke Rust/Cargo complets validés en RC restent des preuves applicables parce qu'aucun code, script, test, template ou skeleton technique n'est modifié pendant rel.001. La gate stable se concentre donc sur l'intégrité de la chaîne historique, la présentation stable et les audits documentaires affectés.

Revue opérateur complémentaire

Confirmer que le scope fonctionnel de la RC ne change pas, que README/roadmap/changelog/index/plan décrivent la même stable, que les FAIL historiques restent conservés avec leurs fixes PASS, que le prompt 005 reste conditionnel à une vraie publication et à des baselines KSP/Games fournies, et qu'aucune preuve post-tag n'est anticipée.

Transition

PASS

Produire séparément history/0.0.4/rel.001.md, l'appliquer puis committer la stable. Ensuite seulement créer et publier le tag canonique v0.0.4, télécharger son archive source depuis Gitea, vérifier cette archive et conserver séparément la preuve post-tag pgr-0.0.4-publish.001-report.md.

Le message manuel de reprise de prompts/005-V0_0_5_START_PROMPT.md n'est remis à l'opérateur qu'après vérification effective de l'archive et d'un rapport post-tag PASS réel.

FAIL

Consigner le diagnostic réel dans history/0.0.4/rel.001.md, ne pas tagger et corriger la clôture dans une tranche explicite avant publication.