4.8 KiB
Delta 0.0.3-rc.1 — gel du scope et préparation de release
Baseline et version
Baseline : 0.0.3-beta.1, avec history/0.0.3/beta.1.md appliqué et committé. Ce delta MUST NOT être appliqué avant ce commit.
Version avant application :
0.0.3-beta.1
Version après application :
0.0.3-rc.1
Objet et gel
La gate de beta.1 est PASS. La RC gèle le scope fonctionnel : cinq modèles Rust/Cargo adaptables, deux audits facultatifs de style Rust, un audit de headers Markdown et une spécification du message manuel de reprise. La candidate 0.0.3 du changelog décrit ces résultats sans détailler les fixes ; le plan enregistre le gel et l'état observé de beta.
Le prompt 004 prépare le cadrage de 0.0.4 consacré aux skeleton specifications Markdown et à la composition des profils/templates. Il demande un audit de la future archive taggée v0.0.3 et traite son rapport post-tag comme une preuve conditionnelle, jamais acquise en RC. Son message manuel doit être ajusté et remis après la publication et son contrôle réel. Aucun skeleton complet, générateur, règle normative nouvelle, audit nouveau ni projet source modifié n'appartient à rc.1.
Scope
REPLACE :
VERSION
CHANGELOG.md
docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md
ADD :
prompts/004-V0_0_4_START_PROMPT.md
deltas/0.0.3/rc.1.md
DELETE : aucun.
L'archive contient exactement ces fichiers complets. Le history beta.1 est livré séparément ; le history rc.1 sera produit après la gate opérateur. Les histories et deltas antérieurs, les règles, modèles techniques, scripts, tests et ROADMAP.md restent inchangés.
Gate opérateur de release candidate
Après application sur le commit beta.1, depuis la racine du dépôt :
test "$(cat VERSION)" = '0.0.3-rc.1'
git cat-file -e HEAD:history/0.0.3/beta.1.md
test -f history/0.0.3/beta.1.md
test -f deltas/0.0.3/rc.1.md
test -f prompts/004-V0_0_4_START_PROMPT.md
test ! -e history/0.0.3/rc.1.md
grep -Fx '<!-- version: 4 -->' CHANGELOG.md
grep -Fx '## 0.0.3 (candidate)' CHANGELOG.md
grep -Fx '<!-- version: 8 -->' docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md
grep -F 'La gate opérateur de `beta.1` est `PASS`' docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md
grep -F 'pgr-0.0.3-publish.001-report.md' prompts/004-V0_0_4_START_PROMPT.md
grep -F "Si le rapport manque ou n'est pas PASS" prompts/004-V0_0_4_START_PROMPT.md
python3 -B -m unittest discover -s tests -p 'test_*.py' -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
python3 -B - <<'PY'
from pathlib import Path
import re
import tomllib
names = ['alpha.1', 'alpha.1.fix.1', 'alpha.2', 'alpha.3',
'alpha.4', 'alpha.5', 'alpha.6', 'beta.1']
version = '0.0.2'
for name in names:
delta = Path(f'deltas/0.0.3/{name}.md').read_text(encoding='utf-8')
history = Path(f'history/0.0.3/{name}.md').read_text(encoding='utf-8')
assert re.search(r'## Statut\s+PASS\s', history), name
assert f'Version avant application : `{version}`.' in delta or \
f'Version avant application :\n\n```text\n{version}\n```' in delta, name
version = f'0.0.3-{name}'
assert f'Version après application : `{version}`.' in delta or \
f'Version après application :\n\n```text\n{version}\n```' in delta, name
assert {p.stem for p in Path('deltas/0.0.3').glob('*.md')} - \
{p.stem for p in Path('history/0.0.3').glob('*.md')} == {'rc.1'}
for path in Path('templates/rust-cargo').rglob('*.toml'):
tomllib.loads(path.read_text(encoding='utf-8'))
print(f'RC integration audit: clean ({len(names)} PASS histories, 5 TOML files)')
PY
git diff --check
git add VERSION CHANGELOG.md docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md \
prompts/004-V0_0_4_START_PROMPT.md deltas/0.0.3/rc.1.md
git diff --cached --check
git status --short
Scope attendu avant ajout du history : trois REPLACE et deux ADD. Revue opérateur : contrôler que le changelog décrit la release et non les tranches, que les exemples Cargo restent adaptables, que 004 concerne exclusivement la future 0.0.4 et que sa preuve post-tag n'est pas présumée. Une gate RC PASS n'est pas un tag ni une vérification de l'archive publiée.
Transition
PASS
Produire séparément history/0.0.3/rc.1.md d'après la gate observée, l'appliquer puis committer la RC avant la promotion stable rel.001.
FAIL
Consigner les échecs dans le history RC et corriger le scope gelé dans rc.1.fix.1 ; réviser le plan si un changement fonctionnel plus large s'impose.