Files
pgr/deltas/0.0.1/rc.1.fix.1.md
2026-09-23 09:15:19 +02:00

3.7 KiB

Delta 0.0.1-rc.1.fix.1 — fix interactive Bash header gate

Baseline

Version attendue avant application :

0.0.1-rc.1

Le history history/0.0.1/rc.1.md MUST avoir été appliqué et committé avant ce delta.

Version après application :

0.0.1-rc.1.fix.1

Objet

Corriger exclusivement la commande de vérification globale des headers Markdown de la gate RC, puis rejouer la gate complète sans étendre le scope fonctionnel de 0.0.1.

Scope

REPLACE :

VERSION

ADD :

deltas/0.0.1/rc.1.fix.1.md

DELETE : aucun.

Aucun document normatif, changelog ou prompt n'est modifié.

Correction

La gate rc.1 construisait le header attendu dans une chaîne double-quotée contenant <!--. Dans un Bash interactif avec history expansion activée, le ! est interprété avant l'exécution de grep.

Le fix construit désormais le header attendu avec printf -v et un format single-quoted :

printf -v expected_header '<!-- file: %s -->' "$relative"
grep -Fx "$expected_header" "$file"

La vérification reste strictement read-only.

Validation opérateur

test "$(cat VERSION)" = "0.0.1-rc.1.fix.1"

test -f prompts/002-V0_0_2_START_PROMPT.md
grep -Fx '<!-- file: prompts/002-V0_0_2_START_PROMPT.md -->' prompts/002-V0_0_2_START_PROMPT.md
grep -F 'v0.0.1' prompts/002-V0_0_2_START_PROMPT.md
grep -F '0.0.2-alpha.1' prompts/002-V0_0_2_START_PROMPT.md

grep -Fx '## 0.0.1' CHANGELOG.md
grep -F 'fondation normative de PGR' CHANGELOG.md
grep -F 'validation proportionnée' CHANGELOG.md

for file in     README.md     RULES.md     ROADMAP.md     CHANGELOG.md     docs/000-README.md     docs/objectives/001-PROJECT_OBJECTIVES.md     docs/architecture/001-PROJECT_PROFILE.md     docs/architecture/002-GOVERNANCE_ARCHITECTURE.md     docs/plans/001-V0_0_1_FOUNDATION_PLAN.md     docs/rules/000-README.md     docs/rules/200-GOVERNANCE.md     docs/rules/210-WORKFLOW.md     docs/rules/300-DOCUMENTATION.md     docs/rules/400-VALIDATION.md     docs/validation/001-VALIDATION_MATRIX.md     prompts/001-V0_0_1_START_PROMPT.md     prompts/002-V0_0_2_START_PROMPT.md; do
    test -f "$file" || {
        echo "Missing required file: $file" >&2
        exit 1
    }
done

while IFS= read -r file; do
    relative="${file#./}"
    printf -v expected_header '<!-- file: %s -->' "$relative"
    grep -Fx "$expected_header" "$file" >/dev/null || {
        echo "Missing or invalid file header: ${relative}" >&2
        exit 1
    }
    grep -Eq '^<!-- version: [1-9][0-9]* -->$' "$file" || {
        echo "Missing or invalid version header: ${relative}" >&2
        exit 1
    }
done < <(find . -type f -name '*.md' -not -path './.git/*' | sort)

if grep -F 'seront définis séparément' docs/rules/200-GOVERNANCE.md; then
    echo '200-GOVERNANCE contient une promesse de cadrage obsolète.' >&2
    exit 1
fi

if grep -F 'seront formalisées dans `alpha.5`' docs/rules/210-WORKFLOW.md; then
    echo '210-WORKFLOW contient une référence de cadrage obsolète.' >&2
    exit 1
fi

grep -F '`PGR-NAV-001`' docs/validation/001-VALIDATION_MATRIX.md
grep -F '`PGR-SCOPE-001`' docs/validation/001-VALIDATION_MATRIX.md

git diff --check

git add VERSION deltas/0.0.1/rc.1.fix.1.md

git diff --cached --check

git status --short

La sortie attendue avant ajout du history est :

M  VERSION
A  deltas/0.0.1/rc.1.fix.1.md

Transition

PASS : enregistrer history/0.0.1/rc.1.fix.1.md, committer rc.1.fix.1, puis préparer la promotion stable 0.0.1.

FAIL : rester dans rc.1 avec rc.1.fix.2, sauf REPLAN si la nouvelle gate révèle un problème structurel incompatible avec une correction de stabilisation.