Files
pgr/deltas/0.0.3/rc.1.md
2026-09-24 13:22:43 +02:00

118 lines
4.8 KiB
Markdown

<!-- file: deltas/0.0.3/rc.1.md -->
<!-- version: 1 -->
# 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 :
```text
0.0.3-beta.1
```
Version après application :
```text
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 :
```text
VERSION
CHANGELOG.md
docs/plans/003-V0_0_3_TEMPLATES_AUDITS_PLAN.md
```
ADD :
```text
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 :
```bash
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.