5.7 KiB
Delta 0.1.0-alpha.3.fix.1 — correction de la gate du handoff opérateur
Baseline et version
Baseline attendue : commit opérateur de 0.1.0-alpha.3, réalisé après application de history/0.1.0/alpha.3.md avec statut FAIL.
Le hash de ce commit n'est pas anticipé.
Version avant application :
0.1.0-alpha.3
Version après application :
0.1.0-alpha.3.fix.1
Objet
Corriger uniquement la syntaxe défectueuse de la gate opérateur de alpha.3.
Le contenu normatif de docs/rules/210-WORKFLOW.md, le pattern docs/templates/006-OPERATOR_COMMAND_HANDOFF.md, l'index docs/000-README.md et le delta historique deltas/0.1.0/alpha.3.md restent inchangés.
Le défaut observé était un littéral Python entouré de quotes simples alors que son texte contenait l'apostrophe de d'une :
'## Fermeture d'une tranche non stable'
Le fix rend les assertions textuelles syntaxiquement sûres sans modifier ce qu'elles vérifient.
Scope
REPLACE :
VERSION
docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md
ADD :
deltas/0.1.0/alpha.3.fix.1.md
DELETE : aucun.
Aucun owner normatif, template, profil technologique, skeleton, script d'audit ou test n'est modifié par ce correctif.
Validation opérateur
Après application du history FAIL, commit/push de alpha.3, puis application du présent delta :
test "$(cat VERSION)" = '0.1.0-alpha.3.fix.1'
git cat-file -e HEAD:history/0.1.0/alpha.3.md
test -f history/0.1.0/alpha.3.md
test -f deltas/0.1.0/alpha.3.md
test -f deltas/0.1.0/alpha.3.fix.1.md
test -f docs/templates/006-OPERATOR_COMMAND_HANDOFF.md
test ! -e history/0.1.0/alpha.3.fix.1.md
grep -A2 '^## Statut$' history/0.1.0/alpha.3.md | grep -Fx 'FAIL'
grep -Fx '<!-- version: 7 -->' docs/rules/210-WORKFLOW.md
grep -Fx '<!-- version: 1 -->' docs/templates/006-OPERATOR_COMMAND_HANDOFF.md
grep -Fx '<!-- version: 19 -->' docs/000-README.md
grep -Fx '<!-- version: 5 -->' docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md
python3 -B - <<'PYGATE'
from pathlib import Path
import re
history = Path('history/0.1.0/alpha.3.md').read_text(encoding='utf-8')
assert re.search(r'## Statut\s+FAIL\s', history)
workflow = Path('docs/rules/210-WORKFLOW.md').read_text(encoding='utf-8')
template = Path('docs/templates/006-OPERATOR_COMMAND_HANDOFF.md').read_text(encoding='utf-8')
plan = Path('docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md').read_text(encoding='utf-8')
index = Path('docs/000-README.md').read_text(encoding='utf-8')
workflow_phrases = (
'## Remise automatique des commandes opérateur',
'le générateur MUST remettre spontanément les commandes nécessaires pour fermer cette tranche',
'Le générateur MUST NOT inventer un remote, une branche ou une politique de tag non établis.',
'première clôture `rel.N[/fix.M]` qui établit réellement la stable',
'refs/tags/vX.Y.Z^{}',
'Le rapport `publish.*` est produit seulement à partir des artefacts et preuves réellement disponibles après publication.',
'../templates/006-OPERATOR_COMMAND_HANDOFF.md',
)
for phrase in workflow_phrases:
assert phrase in workflow, phrase
template_phrases = (
"## Fermeture d'une tranche non stable",
'git diff --cached --check',
'git push <remote> <branche>',
"## Tranche échouée suivie d'un fix",
'## Première clôture qui établit réellement la stable',
'git tag -a vX.Y.Z -m "vX.Y.Z"',
"git ls-remote <remote> 'refs/tags/vX.Y.Z^{}'",
'## Remise nécessaire pour `publish.*`',
'## Après `publish.* PASS`',
)
for phrase in template_phrases:
assert phrase in template, phrase
assert '006-OPERATOR_COMMAND_HANDOFF.md' in index
assert 'Statut opérateur : **FAIL**.' in plan
assert '### alpha.3.fix.1 — correction de la gate du handoff opérateur' in plan
print('0.1.0 alpha.3.fix.1 operator handoff gate: clean (alpha.3 FAIL preserved, workflow/template reconfirmed, Python literals safe)')
PYGATE
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
git diff --check
git add VERSION docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md \
deltas/0.1.0/alpha.3.fix.1.md
git diff --cached --check
git status --short
Le scope indexé attendu avant ajout du history du fix est exactement :
M VERSION
A deltas/0.1.0/alpha.3.fix.1.md
M docs/plans/006-V0_1_0_REUSABLE_BASELINE_PLAN.md
Revue opérateur complémentaire
Confirmer que :
- le
FAILdealpha.3est conservé historiquement ; docs/rules/210-WORKFLOW.md,docs/templates/006-OPERATOR_COMMAND_HANDOFF.mdetdocs/000-README.mdne sont pas modifiés par le fix ;- le delta historique
alpha.3.mdn'est pas réécrit ; - aucun contenu prévu pour
alpha.4n'est absorbé dans le correctif ; - aucun profil technologique n'est ajouté ou modifié.
Transition
PASS
Produire history/0.1.0/alpha.3.fix.1.md, l'appliquer puis committer/pousser le fix. Reprendre ensuite la trajectoire normale avec 0.1.0-alpha.4, consacré à l'adoption proportionnée de PGR par un projet existant.
Le handoff remis après ce PASS doit lui-même suivre le contrat 210-WORKFLOW et 006-OPERATOR_COMMAND_HANDOFF.md désormais reconfirmé.
FAIL
Consigner le diagnostic réel dans history/0.1.0/alpha.3.fix.1.md et rester dans alpha.3.fix.M. Le scope MUST rester limité à la correction de la gate du handoff tant qu'aucun défaut plus large ne justifie un REPLAN.