159 lines
4.5 KiB
Markdown
159 lines
4.5 KiB
Markdown
<!-- file: deltas/0.0.2/rc.1.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta 0.0.2-rc.1 — gel des profils et préparation de release
|
|
|
|
## Baseline
|
|
|
|
Version attendue avant application :
|
|
|
|
```text
|
|
0.0.2-beta.1.fix.1
|
|
```
|
|
|
|
Le history `history/0.0.2/beta.1.fix.1.md` MUST avoir été appliqué et committé avant ce delta.
|
|
|
|
Version après application :
|
|
|
|
```text
|
|
0.0.2-rc.1
|
|
```
|
|
|
|
## Objet
|
|
|
|
Entrer en release candidate après réconciliation beta.
|
|
|
|
La tranche :
|
|
|
|
- gèle le scope `0.0.2` ;
|
|
- prépare l'entrée candidate stable `0.0.2` du changelog ;
|
|
- met à jour le plan avec l'état réellement observé de la beta et le freeze RC ;
|
|
- ajoute `prompts/003-V0_0_3_START_PROMPT.md` ;
|
|
- inclut dans ce prompt le texte manuel canonique de reprise et la règle de transmission du futur rapport `publish.001` ;
|
|
- exécute la gate documentaire complète applicable à PGR.
|
|
|
|
Aucun nouveau profil technologique, famille de règles ou audit n'est ajouté en RC.
|
|
|
|
## Scope gelé
|
|
|
|
Les owners technologiques de la release restent exactement :
|
|
|
|
```text
|
|
510 — Rust / Cargo
|
|
520 — Java / Maven / Gradle
|
|
610 — Android
|
|
```
|
|
|
|
Les audits PGR ajoutés pendant la release restent exactement :
|
|
|
|
```text
|
|
scripts/audit_markdown_tables.py
|
|
scripts/audit_markdown_links.py
|
|
```
|
|
|
|
Les profils différés restent différés.
|
|
|
|
## Scope
|
|
|
|
REPLACE :
|
|
|
|
```text
|
|
VERSION
|
|
CHANGELOG.md
|
|
docs/plans/002-V0_0_2_RULE_PROFILES_PLAN.md
|
|
```
|
|
|
|
ADD :
|
|
|
|
```text
|
|
prompts/003-V0_0_3_START_PROMPT.md
|
|
deltas/0.0.2/rc.1.md
|
|
```
|
|
|
|
DELETE : aucun.
|
|
|
|
## Validation opérateur
|
|
|
|
```bash
|
|
test "$(cat VERSION)" = "0.0.2-rc.1"
|
|
|
|
test -f prompts/003-V0_0_3_START_PROMPT.md
|
|
test -f deltas/0.0.2/rc.1.md
|
|
|
|
grep -F '## 0.0.2' CHANGELOG.md
|
|
grep -F '510 — Rust / Cargo' CHANGELOG.md
|
|
grep -F '520 — Java / Maven / Gradle' CHANGELOG.md
|
|
grep -F '610 — Android' CHANGELOG.md
|
|
|
|
grep -F 'Le scope RC est gelé' docs/plans/002-V0_0_2_RULE_PROFILES_PLAN.md
|
|
grep -F 'beta.1.fix.1 PASS' docs/plans/002-V0_0_2_RULE_PROFILES_PLAN.md
|
|
|
|
grep -F 'pgr-0.0.2-publish.001-report.md' prompts/003-V0_0_3_START_PROMPT.md
|
|
grep -F 'Prompt manuel de nouvelle session' prompts/003-V0_0_3_START_PROMPT.md
|
|
grep -F 'Partir de v0.0.2' prompts/003-V0_0_3_START_PROMPT.md
|
|
grep -F 'Ce texte doit être présenté spontanément' prompts/003-V0_0_3_START_PROMPT.md
|
|
|
|
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'))
|
|
|
|
errors = []
|
|
for path in sorted(set(roots)):
|
|
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:
|
|
raise SystemExit('
|
|
'.join(errors))
|
|
print(f'Markdown header audit: clean ({len(set(roots))} file(s))')
|
|
PY
|
|
|
|
git diff --check
|
|
|
|
git add VERSION CHANGELOG.md docs/plans/002-V0_0_2_RULE_PROFILES_PLAN.md prompts/003-V0_0_3_START_PROMPT.md deltas/0.0.2/rc.1.md
|
|
|
|
git diff --cached --check
|
|
|
|
git status --short
|
|
```
|
|
|
|
La sortie attendue avant ajout du history est exactement :
|
|
|
|
```text
|
|
M CHANGELOG.md
|
|
M VERSION
|
|
A deltas/0.0.2/rc.1.md
|
|
M docs/plans/002-V0_0_2_RULE_PROFILES_PLAN.md
|
|
A prompts/003-V0_0_3_START_PROMPT.md
|
|
```
|
|
|
|
## Revue opérateur complémentaire
|
|
|
|
- confirmer qu'aucun nouveau profil n'est introduit en RC ;
|
|
- confirmer que le changelog décrit la release utilement sans recopier la chronologie des fixes ;
|
|
- confirmer que le prompt `0.0.3` impose une nouvelle vérification de l'archive taggée plutôt que de faire confiance au report précédent ;
|
|
- confirmer que le prompt manuel de nouvelle session est fourni spontanément et précise explicitement le report `publish.001` à joindre après publication ;
|
|
- confirmer que `0.0.3` reste centré sur templates initiaux et patterns d'audit, sans absorber les skeleton specifications de `0.0.4`.
|
|
|
|
## Transition
|
|
|
|
### PASS
|
|
|
|
Créer et appliquer séparément `history/0.0.2/rc.1.md`, committer la RC, puis préparer la promotion stable `rel.001`.
|
|
|
|
### FAIL
|
|
|
|
Rester dans `0.0.2-rc.1.fix.M` jusqu'à correction. Aucun nouveau scope fonctionnel ne doit être introduit dans un fix RC.
|