118 lines
4.8 KiB
Markdown
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.
|