From 027de4cd2da203a00d3c1754a73a80bda415caea Mon Sep 17 00:00:00 2001 From: SinuS Von SifriduS Date: Wed, 23 Sep 2026 09:20:15 +0200 Subject: [PATCH] 0.0.1 --- README.md | 6 +- ROADMAP.md | 4 +- VERSION | 2 +- deltas/0.0.1/rel.001.md | 110 +++++++++++++++++++++++ docs/plans/001-V0_0_1_FOUNDATION_PLAN.md | 12 ++- history/0.0.1/rel.001.md | 69 ++++++++++++++ 6 files changed, 194 insertions(+), 9 deletions(-) create mode 100644 deltas/0.0.1/rel.001.md create mode 100644 history/0.0.1/rel.001.md diff --git a/README.md b/README.md index a3e28e1..92ebdc3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ - + # Project Governance Rules @@ -13,7 +13,7 @@ Le dépôt officiel est `https://git.sasedev.com/Sasedev/pgr`. PGR est actuellement en phase de fondation `0.0.x`. -La version courante est définie par [`VERSION`](VERSION). La première release `0.0.1` doit établir la gouvernance normative et documentaire de PGR lui-même avant l'introduction des profils technologiques, templates techniques et spécifications de skeletons. +La version courante est définie par [`VERSION`](VERSION). La release `0.0.1` établit la gouvernance normative et documentaire de PGR lui-même ; les releases suivantes de la série `0.0.x` introduisent progressivement profils technologiques, templates techniques et spécifications de skeletons. ## Entrées principales @@ -24,7 +24,7 @@ La version courante est définie par [`VERSION`](VERSION). La première release - [`docs/objectives/001-PROJECT_OBJECTIVES.md`](docs/objectives/001-PROJECT_OBJECTIVES.md) — mission, objectifs et non-objectifs ; - [`docs/architecture/001-PROJECT_PROFILE.md`](docs/architecture/001-PROJECT_PROFILE.md) — profil applicable au dépôt PGR ; - [`docs/architecture/002-GOVERNANCE_ARCHITECTURE.md`](docs/architecture/002-GOVERNANCE_ARCHITECTURE.md) — architecture du référentiel ; -- [`docs/plans/001-V0_0_1_FOUNDATION_PLAN.md`](docs/plans/001-V0_0_1_FOUNDATION_PLAN.md) — plan actif de `0.0.1` ; +- [`docs/plans/001-V0_0_1_FOUNDATION_PLAN.md`](docs/plans/001-V0_0_1_FOUNDATION_PLAN.md) — plan historique de fondation `0.0.1` ; - [`docs/validation/001-VALIDATION_MATRIX.md`](docs/validation/001-VALIDATION_MATRIX.md) — matrice de validation. ## Langue et nomenclature diff --git a/ROADMAP.md b/ROADMAP.md index ec4dc18..90349a8 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,5 +1,5 @@ - + # Roadmap Project Governance Rules @@ -9,7 +9,7 @@ Statuts : `( )` planifié, `(x)` terminé, `(d)` différé, `(c)` annulé. ## Fondation `0.0.x` -- `( ) 0.0.1` — fondation normative et documentaire : gouvernance, lifecycle des releases, rôles documentaires, workflow delta/history/handoff et validation proportionnée ; +- `(x) 0.0.1` — fondation normative et documentaire : gouvernance, lifecycle des releases, rôles documentaires, workflow delta/history/handoff et validation proportionnée ; - `( ) 0.0.2` — profils de règles par langage, plateforme, framework et type de projet ; - `( ) 0.0.3` — templates techniques initiaux et premiers patterns d'audit réutilisables issus de besoins réels ; - `( ) 0.0.4` — spécifications Markdown de skeletons et règles de composition des profils/templates ; diff --git a/VERSION b/VERSION index b2f295f..8acdd82 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.1-rc.1.fix.1 +0.0.1 diff --git a/deltas/0.0.1/rel.001.md b/deltas/0.0.1/rel.001.md new file mode 100644 index 0000000..3833a7b --- /dev/null +++ b/deltas/0.0.1/rel.001.md @@ -0,0 +1,110 @@ + + + +# Delta 0.0.1 rel.001 — stable promotion + +## Baseline + +Version attendue avant application : + +```text +0.0.1-rc.1.fix.1 +``` + +Le history `history/0.0.1/rc.1.fix.1.md` MUST avoir été appliqué et committé avant ce delta. + +Version après application : + +```text +0.0.1 +``` + +`rel.001` est l'identifiant opérationnel de cette clôture stable ; il ne fait pas partie de la version SemVer produit. + +## Objet + +Promouvoir mécaniquement la release candidate validée vers la stable `0.0.1`, finaliser les métadonnées vivantes de la release et préparer le commit/tag stable. + +Cette tranche n'introduit aucune nouvelle règle normative ni aucun nouveau scope fonctionnel. + +## Scope + +REPLACE : + +```text +VERSION +README.md +ROADMAP.md +docs/plans/001-V0_0_1_FOUNDATION_PLAN.md +``` + +ADD : + +```text +deltas/0.0.1/rel.001.md +``` + +DELETE : aucun. + +## Changements + +- `VERSION` devient `0.0.1` ; +- `README.md` décrit `0.0.1` comme fondation établie et le plan `0.0.1` comme historique ; +- `ROADMAP.md` marque `0.0.1` terminé ; +- le plan `0.0.1` est clôturé et consigne le passage par `rc.1.fix.1` sans transformer le plan en journal de prereleases ; +- `CHANGELOG.md` n'est pas modifié : l'entrée stable `0.0.1` préparée en RC est déjà finalisée ; +- le prompt `0.0.2` n'est pas modifié : il cible déjà la future baseline taggée `v0.0.1`. + +## Validation opérateur + +```bash +test "$(cat VERSION)" = "0.0.1" + +grep -F 'La release `0.0.1` établit la gouvernance normative et documentaire' README.md +grep -F 'plan historique de fondation `0.0.1`' README.md +grep -F -- '- `(x) 0.0.1`' ROADMAP.md +grep -F 'Plan clôturé par la promotion stable `0.0.1`' docs/plans/001-V0_0_1_FOUNDATION_PLAN.md +grep -F '`rc.1.fix.1`' docs/plans/001-V0_0_1_FOUNDATION_PLAN.md +grep -Fx '## 0.0.1' CHANGELOG.md + +test -f prompts/002-V0_0_2_START_PROMPT.md +grep -F 'v0.0.1' prompts/002-V0_0_2_START_PROMPT.md + +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) + +git diff --check + +git add VERSION README.md ROADMAP.md docs/plans/001-V0_0_1_FOUNDATION_PLAN.md \ + deltas/0.0.1/rel.001.md + +git diff --cached --check + +git status --short +``` + +La sortie attendue avant ajout du history est : + +```text +M README.md +M ROADMAP.md +M VERSION +A deltas/0.0.1/rel.001.md +M docs/plans/001-V0_0_1_FOUNDATION_PLAN.md +``` + +## Transition + +PASS : enregistrer `history/0.0.1/rel.001.md`, committer la stable `0.0.1`, créer le tag `v0.0.1`, puis télécharger l'archive source produite depuis ce tag et exécuter la vérification post-tag `publish.001`. + +FAIL : ne pas créer le tag. Corriger la promotion stable dans une nouvelle tranche de clôture explicite avant toute publication. diff --git a/docs/plans/001-V0_0_1_FOUNDATION_PLAN.md b/docs/plans/001-V0_0_1_FOUNDATION_PLAN.md index 6f0ee0f..c4d6153 100644 --- a/docs/plans/001-V0_0_1_FOUNDATION_PLAN.md +++ b/docs/plans/001-V0_0_1_FOUNDATION_PLAN.md @@ -1,13 +1,13 @@ - + # Plan 0.0.1 — fondation de PGR ## Statut -Plan actif créé pendant `0.0.1-alpha.1` à partir du bootstrap initial du dépôt PGR. +Plan clôturé par la promotion stable `0.0.1` après validation de `0.0.1-rc.1.fix.1`. -Aucune stable PGR antérieure n'existe. Cette version doit rendre le dépôt capable de se gouverner lui-même avant d'introduire les profils technologiques et templates prévus dans les releases suivantes. +Aucune stable PGR antérieure n'existait. Cette version rend le dépôt capable de se gouverner lui-même avant l'introduction des profils technologiques et templates prévus dans les releases suivantes. ## Mission @@ -80,6 +80,12 @@ Geler le scope, préparer l'entrée candidate de changelog et le prompt `0.0.2`, Promouvoir mécaniquement la RC validée, finaliser les métadonnées de release, enregistrer `rel.001`, commit/tag `v0.0.1`, puis utiliser l'archive ZIP taggée comme baseline autoritaire de `0.0.2`. +## Clôture + +La release candidate a nécessité `rc.1.fix.1` pour corriger exclusivement une commande de gate incompatible avec l'expansion d'historique d'un Bash interactif. La gate RC complète a ensuite été validée PASS sans modification du scope normatif. + +La promotion stable `rel.001` clôt le plan en mettant à jour uniquement les métadonnées vivantes de release et en préparant le tag `v0.0.1`. + ## Critères de fermeture `0.0.1` est fermée lorsque : diff --git a/history/0.0.1/rel.001.md b/history/0.0.1/rel.001.md new file mode 100644 index 0000000..4290e58 --- /dev/null +++ b/history/0.0.1/rel.001.md @@ -0,0 +1,69 @@ + + + +# History 0.0.1 rel.001 — stable promotion + +## Statut + +PASS + +La promotion stable `0.0.1` a été validée par l'opérateur après `0.0.1-rc.1.fix.1`. + +## Baseline + +Version attendue avant promotion : + +```text +0.0.1-rc.1.fix.1 +``` + +Version validée après application de `rel.001` : + +```text +0.0.1 +``` + +## Validation opérateur observée + +Les contrôles suivants ont réussi : + +- `VERSION` vaut exactement `0.0.1` ; +- `README.md` présente `0.0.1` comme fondation normative et documentaire établie ; +- `README.md` référence le plan historique de fondation `0.0.1` ; +- `ROADMAP.md` marque `0.0.1` comme terminé ; +- `docs/plans/001-V0_0_1_FOUNDATION_PLAN.md` est clôturé par la promotion stable ; +- le plan historique mentionne la correction `rc.1.fix.1` et son rôle strictement limité à la gate RC ; +- `CHANGELOG.md` contient l'entrée stable `0.0.1` ; +- `prompts/002-V0_0_2_START_PROMPT.md` existe et référence `v0.0.1` ; +- tous les fichiers Markdown contrôlés possèdent un header `file` cohérent avec leur chemin ; +- tous les fichiers Markdown contrôlés possèdent un header `version` valide ; +- `git diff --check` n'a produit aucun diagnostic ; +- `git diff --cached --check` n'a produit aucun diagnostic ; +- le `git status --short` final correspond exactement au scope de `rel.001`. + +## État Git observé avant le présent history + +```text +M README.md +M ROADMAP.md +M VERSION +A deltas/0.0.1/rel.001.md +M docs/plans/001-V0_0_1_FOUNDATION_PLAN.md +``` + +## Résultat + +La release `0.0.1` est validée PASS avant tag. + +La séquence autorisée suivante est : + +```text +history rel.001 +→ commit 0.0.1 +→ tag v0.0.1 +→ push commit et tag +→ télécharger l'archive Gitea issue du tag v0.0.1 +→ vérifier l'archive séparément sous publish.001 +``` + +Le contrôle `publish.001` est post-tag et ne fait pas partie de la preuve pré-tag de `rel.001`.