diff --git a/VERSION b/VERSION index 871d40b..b2f295f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.1-rc.1 +0.0.1-rc.1.fix.1 diff --git a/deltas/0.0.1/rc.1.fix.1.md b/deltas/0.0.1/rc.1.fix.1.md new file mode 100644 index 0000000..e372f9a --- /dev/null +++ b/deltas/0.0.1/rc.1.fix.1.md @@ -0,0 +1,124 @@ + + + +# Delta 0.0.1-rc.1.fix.1 — fix interactive Bash header gate + +## Baseline + +Version attendue avant application : + +```text +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 : + +```text +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 : + +```text +VERSION +``` + +ADD : + +```text +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 `' "$relative" +grep -Fx "$expected_header" "$file" +``` + +La vérification reste strictement read-only. + +## Validation opérateur + +```bash +test "$(cat VERSION)" = "0.0.1-rc.1.fix.1" + +test -f prompts/002-V0_0_2_START_PROMPT.md +grep -Fx '' 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 '' "$relative" + grep -Fx "$expected_header" "$file" >/dev/null || { + echo "Missing or invalid file header: ${relative}" >&2 + exit 1 + } + grep -Eq '^$' "$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 : + +```text +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. diff --git a/history/0.0.1/rc.1.fix.1.md b/history/0.0.1/rc.1.fix.1.md new file mode 100644 index 0000000..a9c53e9 --- /dev/null +++ b/history/0.0.1/rc.1.fix.1.md @@ -0,0 +1,50 @@ + + + +# History 0.0.1-rc.1.fix.1 — release candidate gate fix + +## Statut + +PASS + +## Baseline + +Version validée par l'opérateur : + +```text +0.0.1-rc.1.fix.1 +``` + +Le delta `0.0.1-rc.1.fix.1` a été appliqué après commit de `0.0.1-rc.1` avec son history `FAIL`. + +## Validation opérateur observée + +Les contrôles suivants ont réussi : + +- `VERSION` vaut exactement `0.0.1-rc.1.fix.1` ; +- le prompt `prompts/002-V0_0_2_START_PROMPT.md` existe, possède son header attendu et référence `v0.0.1` ainsi que `0.0.2-alpha.1` ; +- `CHANGELOG.md` contient l'entrée candidate `0.0.1` et les éléments de fondation attendus ; +- tous les fichiers explicitement requis par la gate RC existent ; +- la vérification globale des headers `file/version` passe avec la commande Bash corrigée utilisant `printf -v expected_header` ; +- les références de cadrage obsolètes recherchées dans `200-GOVERNANCE.md` et `210-WORKFLOW.md` sont absentes ; +- `PGR-NAV-001` et `PGR-SCOPE-001` sont présents dans la matrice de validation ; +- `git diff --check` ne produit aucun diagnostic ; +- `git diff --cached --check` ne produit aucun diagnostic ; +- le `git status --short` final correspond exactement au scope du fix. + +## État Git observé + +Avant ajout du présent history : + +```text +M VERSION +A deltas/0.0.1/rc.1.fix.1.md +``` + +## Résultat + +La gate complète de la release candidate est PASS. + +Le correctif ne modifie aucun contenu normatif ou fonctionnel de la fondation ; il corrige uniquement l'exécution de la vérification globale des headers dans un Bash interactif. + +La promotion stable `0.0.1` peut être préparée sans nouvelle RC.