This commit is contained in:
2026-09-23 09:20:15 +02:00
parent 9100bc1f5c
commit 027de4cd2d
6 changed files with 194 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: README.md --> <!-- file: README.md -->
<!-- version: 2 --> <!-- version: 3 -->
# Project Governance Rules # 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`. 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 ## 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/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/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/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. - [`docs/validation/001-VALIDATION_MATRIX.md`](docs/validation/001-VALIDATION_MATRIX.md) — matrice de validation.
## Langue et nomenclature ## Langue et nomenclature

View File

@@ -1,5 +1,5 @@
<!-- file: ROADMAP.md --> <!-- file: ROADMAP.md -->
<!-- version: 1 --> <!-- version: 2 -->
# Roadmap Project Governance Rules # Roadmap Project Governance Rules
@@ -9,7 +9,7 @@ Statuts : `( )` planifié, `(x)` terminé, `(d)` différé, `(c)` annulé.
## Fondation `0.0.x` ## 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.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.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 ; - `( ) 0.0.4` — spécifications Markdown de skeletons et règles de composition des profils/templates ;

View File

@@ -1 +1 @@
0.0.1-rc.1.fix.1 0.0.1

110
deltas/0.0.1/rel.001.md Normal file
View File

@@ -0,0 +1,110 @@
<!-- file: deltas/0.0.1/rel.001.md -->
<!-- version: 1 -->
# 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 '<!-- 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)
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.

View File

@@ -1,13 +1,13 @@
<!-- file: docs/plans/001-V0_0_1_FOUNDATION_PLAN.md --> <!-- file: docs/plans/001-V0_0_1_FOUNDATION_PLAN.md -->
<!-- version: 1 --> <!-- version: 2 -->
# Plan 0.0.1 — fondation de PGR # Plan 0.0.1 — fondation de PGR
## Statut ## 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 ## 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`. 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 ## Critères de fermeture
`0.0.1` est fermée lorsque : `0.0.1` est fermée lorsque :

69
history/0.0.1/rel.001.md Normal file
View File

@@ -0,0 +1,69 @@
<!-- file: history/0.0.1/rel.001.md -->
<!-- version: 1 -->
# 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`.