7.1 KiB
Delta 0.1.0-alpha.2 — clôture stable et identité rel.N
Baseline
Baseline attendue : 0.1.0-alpha.1 committée avec history/0.1.0/alpha.1.md en PASS.
Cette tranche MUST être appliquée uniquement après le commit/push complet de alpha.1 ; elle ne doit pas être superposée au workspace encore non committé de la gate précédente.
Version avant application :
0.1.0-alpha.1
Version après application :
0.1.0-alpha.2
Objet
Corriger la convention normative de clôture stable avant diffusion plus large de PGR :
- utiliser
rel.1,rel.2, etc. sans padding pour les nouvelles releases ; - conserver sans renommage tous les artefacts historiques
rel.001*déjà publiés ; - distinguer le nom de la tranche de clôture de l'identité du commit stable ;
- rendre explicite qu'une clôture
FAIL,PARTIALouBLOCKEDconserve le suffixe opérationnel dans son commit ; - rendre explicite que la première tranche
rel.N[/fix.M]qui obtient réellement lePASSstable est committée sousX.Y.Zavant création du tagvX.Y.Z.
La tranche ne modifie aucun profil technologique, skeleton, template, script d'audit ou convention de publication post-tag publish.001.
Scope
REPLACE :
VERSION
docs/rules/200-GOVERNANCE.md
docs/rules/210-WORKFLOW.md
docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md
ADD :
deltas/0.1.0/alpha.2.md
DELETE : aucun.
Le plan actif est révisé parce qu'il enregistre alpha.1 PASS et deux horizons différés explicitement décidés pendant la session — audit Python d'un sous-ensemble Clippy après Games/KSP et future famille deployment/operations — sans leur attribuer de numéro ni les absorber dans 0.1.0.
Aucun history/0.1.0/alpha.2.md n'est anticipé avant la gate opérateur.
Convention obtenue
La représentation future canonique est :
rel.1
rel.1.fix.1
rel.2
...
Pour le message du commit de clôture, le défaut PGR devient :
history rel.1 FAIL / PARTIAL / BLOCKED
-> X.Y.Z-rel.1
history rel.1.fix.1 FAIL / PARTIAL / BLOCKED
-> X.Y.Z-rel.1.fix.1
premier history rel.N[/fix.M] PASS établissant réellement la stable
-> X.Y.Z
VERSION MAY déjà être X.Y.Z pendant ces tranches de fermeture : rel.N n'est pas une prerelease SemVer. Le tag vX.Y.Z intervient uniquement après le commit final X.Y.Z contenant le history PASS stable.
Les fichiers historiques comme :
deltas/0.0.5/rel.001.md
history/0.0.5/rel.001.md
deltas/0.0.5/rel.001.fix.1.md
history/0.0.5/rel.001.fix.1.md
restent intacts.
Validation opérateur
Après application sur le commit de 0.1.0-alpha.1, depuis la racine du dépôt :
test "$(cat VERSION)" = '0.1.0-alpha.2'
test -f history/0.1.0/alpha.1.md
test -f deltas/0.1.0/alpha.2.md
test ! -e history/0.1.0/alpha.2.md
grep -Fx '<!-- version: 5 -->' docs/rules/200-GOVERNANCE.md
grep -Fx '<!-- version: 6 -->' docs/rules/210-WORKFLOW.md
grep -Fx '<!-- version: 2 -->' docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md
grep -F 'représentation canonique n'utilise pas de zéro de padding' docs/rules/200-GOVERNANCE.md
grep -F 'première tranche de clôture PASS' docs/rules/200-GOVERNANCE.md
grep -F 'history rel.1 FAIL / PARTIAL / BLOCKED' docs/rules/210-WORKFLOW.md
grep -F 'premier history rel.N[/fix.M] PASS qui établit réellement la stable' docs/rules/210-WORKFLOW.md
grep -F 'La présente règle ne renomme pas `publish.001`' docs/rules/210-WORKFLOW.md
grep -F 'sous-ensemble des conventions Rust/Clippy' docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md
grep -F 'série dédiée au déploiement et à l'exploitation' docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md
python3 -B -m unittest discover -s tests -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
history = Path('history/0.1.0/alpha.1.md').read_text(encoding='utf-8')
assert re.search(r'## Statut\s+PASS\s', history)
governance = Path('docs/rules/200-GOVERNANCE.md').read_text(encoding='utf-8')
workflow = Path('docs/rules/210-WORKFLOW.md').read_text(encoding='utf-8')
plan = Path('docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md').read_text(encoding='utf-8')
for phrase in (
'rel.1',
'rel.1.fix.1',
'représentation canonique n\'utilise pas de zéro de padding',
'première tranche de clôture PASS',
'Le commit `X.Y.Z` MUST',
):
assert phrase in governance or phrase in workflow, phrase
for path in (
Path('deltas/0.0.5/rel.001.md'),
Path('history/0.0.5/rel.001.md'),
Path('deltas/0.0.5/rel.001.fix.1.md'),
Path('history/0.0.5/rel.001.fix.1.md'),
):
assert path.is_file(), path
assert 'publish.001' in workflow
assert 'La présente règle ne renomme pas `publish.001`' in workflow
assert 'sous-ensemble des conventions Rust/Clippy' in plan
assert "série dédiée au déploiement et à l'exploitation" in plan
assert '- `( ) 0.1.1`' not in Path('ROADMAP.md').read_text(encoding='utf-8')
print('0.1.0 alpha.2 rel identity audit: clean (rel.N unpadded, historical rel.001 preserved, stable commit identity explicit)')
PY
git diff --check
git add VERSION docs/rules/200-GOVERNANCE.md docs/rules/210-WORKFLOW.md \
docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md \
deltas/0.1.0/alpha.2.md
git diff --cached --check
git status --short
Le scope indexé attendu avant ajout du history est :
M VERSION
A deltas/0.1.0/alpha.2.md
M docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md
M docs/rules/200-GOVERNANCE.md
M docs/rules/210-WORKFLOW.md
La revue opérateur doit également confirmer que :
- aucune occurrence historique
rel.001*n'a été renommée ; publish.001reste une convention indépendante et n'est pas modifiée par cette tranche ;- aucune commande de handoff Git automatique n'est encore rendue normative ici — ce sujet appartient à
alpha.3; - les horizons Clippy statique et deployment/operations restent de simples candidats différés dans le plan ;
- aucun profil Web, Java/Android, WASM, Tauri ou serveur n'est ajouté ou modifié.
Transition
PASS
Produire history/0.1.0/alpha.2.md à partir des résultats réellement observés. Dans la même réponse, si aucune décision nouvelle n'est ouverte, préparer séparément 0.1.0-alpha.3 consacré au handoff automatique des commandes opérateur après history, au commit/push, au tag stable et aux preuves requises pour publish.001.
Après remise du history, fournir déjà spontanément le bloc Git exact de fermeture de alpha.2, conformément à la décision acquise, même si alpha.3 sera la tranche qui rendra ce comportement normatif.
FAIL
Consigner le résultat réel dans le history puis ouvrir 0.1.0-alpha.2.fix.1 ou un REPLAN selon la cause. Aucun élément du handoff automatique prévu pour alpha.3 ne doit être absorbé silencieusement dans le fix.