This commit is contained in:
2026-09-29 18:11:44 +02:00
parent 4fc3cd5e7e
commit c41b69badf
8 changed files with 396 additions and 14 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: CHANGELOG.md -->
<!-- version: 18 -->
<!-- version: 19 -->
# Changelog Project Governance Rules
@@ -7,7 +7,7 @@ Ce fichier décrit les changements utiles aux utilisateurs ou intégrateurs des
Les tranches `alpha`, `beta`, `rc`, fixes, validations, audits et détails de développement appartiennent aux plans, deltas et historiques. Ils ne sont pas recopiés ici par défaut.
## 0.1.4 (candidate)
## 0.1.4
- réexamine le `DEFER` historique du skeleton Tauri contre les corpus Games/KSP fournis, confirme les prérequis Web désormais couverts et lève le blocage sans généraliser les choix locaux de ces projets ;
- recentre l’owner `710-TAURI` sur le host, l’orchestration, la configuration, les commandes, permissions et capabilities, les plugins et la frontière d’intégration, tandis que TypeScript, Vite, CSS/Sass, package manager et bindings restent possédés par leurs owners dédiés ;

View File

@@ -1,5 +1,5 @@
<!-- file: README.md -->
<!-- version: 26 -->
<!-- version: 27 -->
# Project Governance Rules
@@ -11,9 +11,9 @@ Le dépôt officiel est `https://git.sasedev.com/Sasedev/pgr`.
## Statut
PGR a clôturé sa phase de fondation `0.0.x`, dispose avec `0.1.0` de sa première baseline réutilisable stable, avec `0.1.1` d’une fondation frontend Web stable, avec `0.1.2` d’owners Java, Maven et Gradle séparés et composables, et avec `0.1.3` d’un profil Android réévalué contre Games sans généraliser ses choix locaux. `0.1.4-alpha.1` ouvre désormais le réexamen Tauri : les conditions Web du report historique sont confirmées couvertes, sept hosts actuels Games/KSP sont inventoriés et le candidat de skeleton organisationnel est retenu pour instruction sans matérialisation anticipée. L’adoption Games reste réservée à `0.1.5` et l’adoption KSP à `0.1.6`.
PGR a clôturé sa phase de fondation `0.0.x` et dispose désormais d’une suite de baselines stables `0.1.x`. La stable `0.1.4` réexamine le domaine Tauri contre les corpus Games/KSP, consolide l’owner `710`, matérialise le skeleton organisationnel `004-TAURI.md`, confirme qu’aucun template technique ni contrat de validation Tauri séparé n’est justifié et ajoute un audit réutilisable d’hygiène texte. La revue d’horizon de fermeture réserve `0.1.5` à la sémantique normative, à l’autonomie des projets après adoption et à la frontière PGR / SaseDev Knowledge avant les adoptions Games `0.1.6` et KSP `0.1.7`.
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. La release `0.0.2` ajoute les premiers profils réutilisables Rust/Cargo, Java/Maven/Gradle et Android, ainsi que deux audits Markdown. La release `0.0.3` fournit les premiers modèles Rust/Cargo, deux audits de style Rust facultatifs, l'audit des headers Markdown et la spécification du message manuel de reprise. La release `0.0.4` définit le contrat transversal des skeleton specifications, ajoute une fondation composable de gouvernance locale et une première spécialisation Rust/Cargo workspace fondée sur les profils `500 + 510` et les cinq templates existants. La release `0.0.5` réconcilie PGR avec les baselines réelles de `khadhroony-solana-project` et `sasedev-games` : prompts versionnés, contrats documentaires locaux, lifecycle inter-release, profil Rust strict et audits monotâches, premier profil Tauri 2 et décision explicite de différer son skeleton complet jusqu'à matérialisation d'owners Web suffisants. La release `0.1.0` stabilise la première baseline réutilisable : adoption `ADOPT / KEEP-LOCAL / OVERRIDE / DEFER`, skeletons/templates Rust/Cargo exercés par dry-run, clôture `rel.N`, handoff opérateur automatique et trajectoire `0.1.1` à `0.1.7` issue d'une revue d'horizon explicite. La release `0.1.1` stabilise la fondation frontend Web : owners indépendants TypeScript/package/Vite/CSS-Sass, déclarations de types externes conditionnelles, package manager neutre, validation frontend indépendante du host et skeleton Web composable, tout en conservant le skeleton Tauri en `DEFER` jusqu’à son réexamen `0.1.4`. La release `0.1.2` stabilise trois owners indépendants `520-JAVA`, `521-MAVEN` et `522-GRADLE`, clarifie JDK/source/bytecode et l'ownership Gradle, conserve Maven cohérent sans corpus artificiel et maintient les responsabilités Android dans `610-ANDROID.md` pour leur réévaluation distincte en `0.1.3`. La release `0.1.3` stabilise le profil Android générique : séparation des responsabilités SDK et identité applicative, contraintes natives conditionnelles, Android Lint explicite, niveaux de tests distincts, frontières APK/AAB et compatibilité 16 KB liée au code natif et au canal de distribution, sans imposer les versions ou ABI propres à Games.
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. La release `0.0.2` ajoute les premiers profils réutilisables Rust/Cargo, Java/Maven/Gradle et Android, ainsi que deux audits Markdown. La release `0.0.3` fournit les premiers modèles Rust/Cargo, deux audits de style Rust facultatifs, l'audit des headers Markdown et la spécification du message manuel de reprise. La release `0.0.4` définit le contrat transversal des skeleton specifications, ajoute une fondation composable de gouvernance locale et une première spécialisation Rust/Cargo workspace fondée sur les profils `500 + 510` et les cinq templates existants. La release `0.0.5` réconcilie PGR avec les baselines réelles de `khadhroony-solana-project` et `sasedev-games` : prompts versionnés, contrats documentaires locaux, lifecycle inter-release, profil Rust strict et audits monotâches, premier profil Tauri 2 et décision explicite de différer son skeleton complet jusqu'à matérialisation d'owners Web suffisants. La release `0.1.0` stabilise la première baseline réutilisable : adoption `ADOPT / KEEP-LOCAL / OVERRIDE / DEFER`, skeletons/templates Rust/Cargo exercés par dry-run, clôture `rel.N`, handoff opérateur automatique et trajectoire `0.1.1` à `0.1.7` issue d'une revue d'horizon explicite. La release `0.1.1` stabilise la fondation frontend Web : owners indépendants TypeScript/package/Vite/CSS-Sass, déclarations de types externes conditionnelles, package manager neutre, validation frontend indépendante du host et skeleton Web composable, tout en conservant le skeleton Tauri en `DEFER` jusqu’à son réexamen `0.1.4`. La release `0.1.2` stabilise trois owners indépendants `520-JAVA`, `521-MAVEN` et `522-GRADLE`, clarifie JDK/source/bytecode et l'ownership Gradle, conserve Maven cohérent sans corpus artificiel et maintient les responsabilités Android dans `610-ANDROID.md` pour leur réévaluation distincte en `0.1.3`. La release `0.1.3` stabilise le profil Android générique : séparation des responsabilités SDK et identité applicative, contraintes natives conditionnelles, Android Lint explicite, niveaux de tests distincts, frontières APK/AAB et compatibilité 16 KB liée au code natif et au canal de distribution, sans imposer les versions ou ABI propres à Games. La release `0.1.4` stabilise le domaine Tauri : owner `710` recentré sur host/orchestration/ACL/plugins, skeleton `004` composable avec Rust/Cargo et Web, absence assumée de template technique générique ou de validation Tauri redondante, audit d’hygiène texte réutilisable et handoff vers `0.1.5` pour clarifier la sémantique normative et l’autonomie des projets.
## Entrées principales
@@ -33,7 +33,8 @@ La version courante est définie par [`VERSION`](VERSION). La release `0.0.1` é
- [`docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md`](docs/plans/007-V0_1_1_WEB_FRONTEND_FOUNDATION_PLAN.md) — plan historique de la fondation frontend Web stable `0.1.1` ;
- [`docs/plans/008-V0_1_2_JAVA_GRADLE_REEVALUATION_PLAN.md`](docs/plans/008-V0_1_2_JAVA_GRADLE_REEVALUATION_PLAN.md) — plan historique de la stable `0.1.2` : réévaluation Games, scission Java/Maven/Gradle et maintien d'Android hors scope ;
- [`docs/plans/009-V0_1_3_ANDROID_REEVALUATION_PLAN.md`](docs/plans/009-V0_1_3_ANDROID_REEVALUATION_PLAN.md) — plan historique de la stable Android `0.1.3`, fondée sur Games avec classification `ADOPT / KEEP-LOCAL / OVERRIDE / DEFER` ;
- [`docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md`](docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md) — plan actif du réexamen Tauri `0.1.4`, fondé sur les hosts actuels Games/KSP, les owners Web stabilisés et la documentation Tauri 2 courante ;
- [`docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md`](docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md) — plan historique de la stable Tauri `0.1.4`, du réexamen Games/KSP au skeleton `004`, à la décision d’artefacts et à la revue d’horizon ;
- [`docs/skeletons/004-TAURI.md`](docs/skeletons/004-TAURI.md) — specialization Tauri 2 composable, sans template technique universel ni defaults de capabilities/plugins/fenêtres/bundles ;
- [`docs/studies/001-KSP_GAMES_RECONCILIATION.md`](docs/studies/001-KSP_GAMES_RECONCILIATION.md) — étude de réconciliation et classification des écarts entre PGR, KSP et Games ;
- [`docs/skeletons/000-README.md`](docs/skeletons/000-README.md) — index des skeleton specifications et de leur contrat de composition ;
- [`docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md`](docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md) — fondation composable de gouvernance locale pour un projet adoptant PGR ;

View File

@@ -1,5 +1,5 @@
<!-- file: ROADMAP.md -->
<!-- version: 16 -->
<!-- version: 17 -->
# Roadmap Project Governance Rules
@@ -26,7 +26,7 @@ La revue d'horizon de `0.1.0-beta.1` engage les releases suivantes, chacune avec
- `(x) 0.1.1` — fondation frontend Web : TypeScript, Vite, Sass/CSS, package/build outputs et validation frontend indépendante ;
- `(x) 0.1.2` — réévaluation pratique de Java/Maven/Gradle, séparation des owners lorsque leurs applicabilités divergent et matérialisation uniquement des artefacts génériques réellement nécessaires ;
- `(x) 0.1.3` — réévaluation pratique du profil Android existant à partir de Games, sans absorber les décisions propres aux jeux ou à SDL ;
- `( ) 0.1.4` — domaine Tauri : réexamen du `DEFER`, consolidation de l’owner `710`, matérialisation du skeleton contrôlé `004` et décision explicite de ne pas créer d’artefacts techniques redondants ;
- `(x) 0.1.4` — domaine Tauri : réexamen du `DEFER`, consolidation de l’owner `710`, matérialisation du skeleton contrôlé `004` et décision explicite de ne pas créer d’artefacts techniques redondants ;
- `( ) 0.1.5` — sémantique normative et autonomie : clarifier `MUST / SHOULD / MAY`, rendre explicite l’autorité locale d’un projet après instanciation/adoption et fixer la frontière durable entre PGR et SaseDev Knowledge ;
- `( ) 0.1.6` — adoption réelle de PGR par `sasedev-games` avec mapping `ADOPT / KEEP-LOCAL / OVERRIDE / DEFER`, après stabilisation du contrat d’autonomie ;
- `( ) 0.1.7` — adoption réelle de PGR par `khadhroony-solana-project`, principalement sur Rust/Cargo + Tauri et sans dépendance aux profils non applicables ;

View File

@@ -1 +1 @@
0.1.4-rc.1
0.1.4

233
deltas/0.1.4/rel.1.md Normal file
View File

@@ -0,0 +1,233 @@
<!-- file: deltas/0.1.4/rel.1.md -->
<!-- version: 1 -->
# Delta 0.1.4 rel.1 — promotion stable pré-tag
## Baseline et version
Baseline : `0.1.4-rc.1`, avec `history/0.1.4/rc.1.md` appliqué et committé. Ce delta MUST NOT être appliqué avant ce commit.
Version avant application :
```text
0.1.4-rc.1
```
Version après application :
```text
0.1.4
```
`rel.1` identifie la clôture opérationnelle ; il ne fait pas partie de la version SemVer du produit.
## Objet
Promouvoir mécaniquement la RC validée vers la stable `0.1.4` sans rouvrir le scope Tauri et sans commencer `0.1.5`.
La tranche finalise uniquement la présentation et les métadonnées de release : version stable, roadmap terminée, changelog sans marqueur `candidate`, README/index en état stable et plan `010` historique. Aucun owner Tauri, skeleton, étude technique, audit Python ou règle normative réservée à `0.1.5` n'est modifié.
La validation de cette tranche est **pré-tag**. Le tag `v0.1.4`, son archive source Gitea et le rapport `pgr-0.1.4-publish.001-report.md` ne sont pas déclarés existants par ce delta. Ils suivent uniquement un history `rel.1` `PASS`, le commit stable `0.1.4` et la publication réelle du tag.
## Scope
REPLACE :
```text
VERSION
README.md
ROADMAP.md
CHANGELOG.md
docs/000-README.md
docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md
```
ADD :
```text
deltas/0.1.4/rel.1.md
```
DELETE : aucun.
Le history `rc.1` est livré séparément. Le history `rel.1` sera produit uniquement après la gate opérateur.
## Validation opérateur pré-tag
Après application sur le commit contenant `history/0.1.4/rc.1.md` :
```bash
test "$(cat VERSION)" = '0.1.4'
git cat-file -e HEAD:history/0.1.4/rc.1.md
test -f history/0.1.4/rc.1.md
test -f deltas/0.1.4/rel.1.md
test -f prompts/011-V0_1_5_START_PROMPT.md
test ! -e history/0.1.4/rel.1.md
grep -A2 '^## Statut$' history/0.1.4/rc.1.md | grep -Fx 'PASS'
grep -Fx '<!-- version: 27 -->' README.md
grep -Fx '<!-- version: 17 -->' ROADMAP.md
grep -Fx '<!-- version: 19 -->' CHANGELOG.md
grep -Fx '<!-- version: 46 -->' docs/000-README.md
grep -Fx '<!-- version: 6 -->' docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md
grep -F -- '- `(x) 0.1.4`' ROADMAP.md
grep -Fx '## 0.1.4' CHANGELOG.md
grep -F 'La stable `0.1.4` réexamine le domaine Tauri' README.md
grep -F 'plan historique de la stable `0.1.4`' docs/000-README.md
python3 -B - <<'PYGATE'
from pathlib import Path
import re
expected = {
'alpha.1.md': 'PASS',
'alpha.2.md': 'FAIL',
'alpha.2.fix.1.md': 'PASS',
'alpha.3.md': 'PASS',
'beta.1.md': 'PASS',
'rc.1.md': 'PASS',
}
for name, status in expected.items():
delta = Path('deltas/0.1.4', name)
history = Path('history/0.1.4', name)
assert delta.is_file(), name
assert history.is_file(), name
text = history.read_text(encoding='utf-8')
assert re.search(rf'## Statut\s+{status}\s', text), (name, status)
pending = {path.name for path in Path('deltas/0.1.4').glob('*.md')} - {
path.name for path in Path('history/0.1.4').glob('*.md')
}
assert pending == {'rel.1.md'}, pending
roadmap = Path('ROADMAP.md').read_text(encoding='utf-8')
assert '- `(x) 0.1.4`' in roadmap
for version in ('0.1.5', '0.1.6', '0.1.7', '0.1.8'):
assert f'- `( ) {version}`' in roadmap, version
assert '- `( ) 0.1.9`' not in roadmap
changelog = Path('CHANGELOG.md').read_text(encoding='utf-8')
assert '## 0.1.4' in changelog.splitlines()
assert '## 0.1.4 (candidate)' not in changelog
section = changelog.split('## 0.1.4', 1)[1].split('## 0.1.3', 1)[0]
for phrase in (
'skeleton Tauri',
'commandes, permissions et capabilities',
'004-TAURI.md',
'audit réutilisable d’hygiène texte',
'0.1.5',
'0.1.8',
):
assert phrase in section, phrase
for forbidden in ('alpha.1', 'alpha.2', 'alpha.3', 'beta.1', 'rc.1', 'rel.1'):
assert forbidden not in section, forbidden
readme = Path('README.md').read_text(encoding='utf-8')
for phrase in (
'La stable `0.1.4` réexamine le domaine Tauri',
'skeleton organisationnel `004-TAURI.md`',
'audit réutilisable d’hygiène texte',
'0.1.5',
'0.1.6',
'0.1.7',
):
assert phrase in readme, phrase
index = Path('docs/000-README.md').read_text(encoding='utf-8')
assert 'plan historique de la stable `0.1.4`' in index
assert 'handoff de la stable `0.1.4` vers `0.1.5-alpha.1`' in index
plan = Path('docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md').read_text(encoding='utf-8')
for phrase in (
'Plan historique de la stable `0.1.4`',
'## Gate `rc.1` acquise et promotion stable',
'history/0.1.4/rel.1.md',
'pgr-0.1.4-publish.001-report.md',
'commit stable `0.1.4`',
):
assert phrase in plan, phrase
prompt = Path('prompts/011-V0_1_5_START_PROMPT.md').read_text(encoding='utf-8')
for phrase in (
'tag Gitea `v0.1.4`',
'pgr-0.1.4-publish.001-report.md',
'0.1.5-alpha.1',
'004-V0_1_4_HORIZON_REVIEW.md',
'forte recommandation non obligatoire',
'SaseDev Knowledge',
'réservée à `0.1.6`',
'réservée à `0.1.7`',
'réservés à `0.1.8`',
):
assert phrase in prompt, phrase
for path, version in (
('docs/rules/710-TAURI.md', 7),
('docs/skeletons/004-TAURI.md', 1),
('docs/studies/002-TAURI_SKELETON_DECISION.md', 4),
('docs/studies/004-V0_1_4_HORIZON_REVIEW.md', 1),
('RULES.md', 14),
('docs/rules/230-ADOPTION.md', 1),
('docs/rules/400-VALIDATION.md', 1),
):
lines = Path(path).read_text(encoding='utf-8').splitlines()
assert lines[1] == f'<!-- version: {version} -->', (path, lines[1])
assert not Path('docs/templates/011-TAURI.md').exists()
assert not Path('docs/validation/006-TAURI_VALIDATION.md').exists()
print(
'0.1.4 rel.1 stable gate audit: clean '
'(6 prior histories including expected alpha.2 FAIL/fix PASS, rel.1 pending, stable Tauri presentation and 0.1.5 handoff coherent)'
)
PYGATE
python3 -B -m unittest discover -s tests -v
python3 -B scripts/audit_text_hygiene.py \
VERSION README.md RULES.md ROADMAP.md CHANGELOG.md \
docs deltas history prompts scripts tests templates .gitignore .settings
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 README.md ROADMAP.md CHANGELOG.md \
deltas/0.1.4/rel.1.md \
docs/000-README.md \
docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md
git diff --cached --check
git status --short
```
## Scope Git attendu
```text
M CHANGELOG.md
M README.md
M ROADMAP.md
M VERSION
A deltas/0.1.4/rel.1.md
M docs/000-README.md
M docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md
```
## Transition après PASS
Si cette gate pré-tag est `PASS` :
1. produire `history/0.1.4/rel.1.md` avec les preuves opérateur réelles ;
2. appliquer ce history ;
3. `git add -A`, `git diff --cached --check`, puis committer **`0.1.4`** sans suffixe `rel.1` ;
4. pousser `master` ;
5. vérifier un workspace propre ;
6. créer et pousser le tag annoté `v0.1.4` ;
7. télécharger l'archive Gitea du tag et produire `pgr-0.1.4-publish.001-report.md` après vérification indépendante ;
8. seulement après `publish.001 PASS`, ouvrir la session `0.1.5` avec `prompts/011-V0_1_5_START_PROMPT.md`.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/000-README.md -->
<!-- version: 45 -->
<!-- version: 46 -->
# Documentation PGR
@@ -22,13 +22,13 @@ Les templates techniques copiables sous `templates/` restent séparés des instr
## Points d'entrée de 0.1.4
- [`plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md`](plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md) — plan actif du réexamen Tauri : skeleton `004` matérialisé, réconciliation d'artefacts `beta.1`, freeze RC et revue d'horizon avant la stable.
- [`plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md`](plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md) — plan historique de la stable `0.1.4` : réexamen Tauri, skeleton `004`, décision d’artefacts, freeze RC et revue d’horizon.
- [`rules/710-TAURI.md`](rules/710-TAURI.md) — owner Tauri 2 réconcilié en `alpha.2` : host/orchestration, frontière commandes-permissions-capabilities, sélection des capabilities, plugins, version produit et validation proportionnée, sans absorber les choix Web.
- [`skeletons/003-WEB_FRONTEND.md`](skeletons/003-WEB_FRONTEND.md) — specialization Web composable dont l'existence satisfait les prérequis historiques sans rendre Vite, TypeScript, Sass, Bootstrap ou `frontend/` universels à Tauri.
- [`skeletons/004-TAURI.md`](skeletons/004-TAURI.md) — skeleton Tauri 2 matérialisé en `alpha.3`, composant fondation, Rust/Cargo, Web et owner `710` sans template technique universel ni copie des choix Games/KSP.
- [`studies/002-TAURI_SKELETON_DECISION.md`](studies/002-TAURI_SKELETON_DECISION.md) — décision historique `DEFER`, levée du motif Web puis décision `beta.1` : `004-TAURI.md` suffit ; aucun template technique ni contrat de validation Tauri séparé n'est justifié.
- [`studies/004-V0_1_4_HORIZON_REVIEW.md`](studies/004-V0_1_4_HORIZON_REVIEW.md) — revue de fermeture `rc.1` décidant de stabiliser en `0.1.5` la sémantique `SHOULD`, l’autonomie après adoption et la frontière PGR / SaseDev Knowledge avant Games/KSP.
- [`../prompts/011-V0_1_5_START_PROMPT.md`](../prompts/011-V0_1_5_START_PROMPT.md) — handoff préparé par la RC vers `0.1.5-alpha.1`, à utiliser uniquement après publication et vérification post-tag de `v0.1.4`.
- [`../prompts/011-V0_1_5_START_PROMPT.md`](../prompts/011-V0_1_5_START_PROMPT.md) — handoff de la stable `0.1.4` vers `0.1.5-alpha.1`, à exécuter uniquement après publication et vérification post-tag de `v0.1.4`.
- [`../prompts/010-V0_1_4_START_PROMPT.md`](../prompts/010-V0_1_4_START_PROMPT.md) — contrat de reprise exécuté pour ouvrir `0.1.4-alpha.1` après publication vérifiée de `v0.1.3`.
## Points d'entrée de 0.1.3

View File

@@ -1,11 +1,11 @@
<!-- file: docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md -->
<!-- version: 5 -->
<!-- version: 6 -->
# Plan 0.1.4 — réexamen Tauri et skeleton contrôlé
## Statut et sources
Plan actif de `0.1.4`, créé pendant `0.1.4-alpha.1` conformément à `prompts/010-V0_1_4_START_PROMPT.md`, après audit indépendant de la stable taggée `v0.1.3`, de son rapport post-tag `PASS` et des corpus Games/KSP réellement fournis.
Plan historique de la stable `0.1.4`, créé pendant `0.1.4-alpha.1` conformément à `prompts/010-V0_1_4_START_PROMPT.md`, après audit indépendant de la stable taggée `v0.1.3`, de son rapport post-tag `PASS` et des corpus Games/KSP réellement fournis.
Sources autoritaires de reprise PGR réellement fournies :
@@ -329,6 +329,14 @@ Trajectoire décidée :
La RC ne modifie pas encore les owners normatifs concernés : `RULES.md`, `230-ADOPTION.md`, `400-VALIDATION.md`, le skeleton de fondation et les templates de reprise restent gelés pour `0.1.4`. Le prompt `011` transmet explicitement leur réexamen à `0.1.5-alpha.1`.
## Gate `rc.1` acquise et promotion stable
La gate opérateur de `rc.1` est `PASS` : `55/55` tests, audit d’hygiène texte propre sur `306` fichiers, audits Markdown propres, audit d’intégration RC propre et scope Git conforme. La trajectoire `0.1.5` à `0.1.8` et le prompt `011` sont donc gelés pour la clôture.
`rel.1` effectue uniquement la promotion mécanique vers `0.1.4` : version stable, roadmap terminée, changelog sans marqueur `candidate`, README/index en état stable et présent plan classé historique. Aucun owner Tauri, skeleton, étude technique, audit ou contrat de la future `0.1.5` n’est modifié.
Le history `history/0.1.4/rel.1.md` sera créé uniquement après la gate pré-tag. Après son `PASS`, le commit stable `0.1.4`, le tag annoté `v0.1.4`, l’archive Gitea et le rapport externe `pgr-0.1.4-publish.001-report.md` pourront être produits conformément au workflow.
## Point transversal découvert pendant la gate `alpha.1`
L'utilisation de PGR pour initialiser SaseDev Knowledge a fait apparaître trois questions de gouvernance qui dépassent le domaine Tauri :

140
history/0.1.4/rel.1.md Normal file
View File

@@ -0,0 +1,140 @@
<!-- file: history/0.1.4/rel.1.md -->
<!-- version: 1 -->
# PGR 0.1.4 — history `rel.1`
## Statut
PASS
## Objet
Clôture opérateur de la tranche stable `0.1.4-rel.1`.
La tranche promeut le candidat `0.1.4-rc.1` en stable `0.1.4` sans rouvrir le contenu fonctionnel Tauri : la roadmap marque `0.1.4` terminée, le changelog perd son marqueur `candidate`, le README et l'index documentaire présentent la stable, le plan `010` devient historique et le handoff `011` vers `0.1.5-alpha.1` reste cohérent.
## Gate opérateur
Gate exécutée le `2026-09-29`.
### Préconditions et cohérence stable
PASS :
- `VERSION` vaut `0.1.4`;
- `history/0.1.4/rc.1.md` est présent dans le commit précédent et porte le statut `PASS`;
- `deltas/0.1.4/rel.1.md` est présent;
- `history/0.1.4/rel.1.md` est absent pendant la gate;
- `prompts/011-V0_1_5_START_PROMPT.md` est présent;
- `README.md` porte la version documentaire `27`;
- `ROADMAP.md` porte la version documentaire `17`;
- `CHANGELOG.md` porte la version documentaire `19`;
- `docs/000-README.md` porte la version documentaire `46`;
- `docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md` porte la version documentaire `6`.
### Présentation stable
PASS :
- `ROADMAP.md` marque `0.1.4` terminé;
- `CHANGELOG.md` contient `## 0.1.4` sans marqueur `candidate`;
- `README.md` présente `0.1.4` comme stable Tauri;
- `docs/000-README.md` présente le plan `010` comme plan historique de la stable `0.1.4`;
- le handoff `011` vers `0.1.5-alpha.1` reste présent.
### Tests Python
Commande :
```text
python3 -B -m unittest discover -s tests -v
```
Résultat :
```text
Ran 55 tests
OK
```
Soit `55/55` PASS.
### Hygiène texte
Commande :
```text
python3 -B scripts/audit_text_hygiene.py \
VERSION README.md RULES.md ROADMAP.md CHANGELOG.md \
docs deltas history prompts scripts tests templates .gitignore .settings
```
Résultat :
```text
Text hygiene audit: clean (308 file(s))
```
### Audits Markdown
Résultats :
```text
Markdown header audit: clean (281 file(s))
Markdown table audit: clean (11 table(s), 281 file(s))
Markdown link audit: clean (357 local link(s), 281 file(s))
```
### Audit structurel `rel.1`
Résultat :
```text
0.1.4 rel.1 stable gate audit: clean (6 prior histories including expected alpha.2 FAIL/fix PASS, rel.1 pending, stable Tauri presentation and 0.1.5 handoff coherent)
```
L'audit confirme notamment :
- `alpha.1` : `PASS`;
- `alpha.2` : `FAIL`;
- `alpha.2.fix.1` : `PASS`;
- `alpha.3` : `PASS`;
- `beta.1` : `PASS`;
- `rc.1` : `PASS`;
- `rel.1` est la seule tranche encore sans history pendant la gate;
- les owners et artefacts Tauri stabilisés restent inchangés;
- aucun template Tauri générique ni contrat `006-TAURI_VALIDATION.md` n'est introduit;
- le prompt `011` conserve le handoff vers `0.1.5`.
### Contrôles Git
Résultats :
```text
git diff --check
git diff --cached --check
```
Les deux commandes sont silencieuses.
Scope indexé observé :
```text
M CHANGELOG.md
M README.md
M ROADMAP.md
M VERSION
A deltas/0.1.4/rel.1.md
M docs/000-README.md
M docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md
```
## Décision
`0.1.4-rel.1` est validée `PASS`.
La tranche peut être historisée puis matérialisée par le commit stable `0.1.4`. Après push, le tag annoté `v0.1.4` peut être créé et publié. La vérification post-tag doit ensuite être exécutée depuis l'archive Gitea du tag avant production de `pgr-0.1.4-publish.001-report.md`.
## Handoff
La prochaine version engagée reste `0.1.5`, consacrée à la sémantique normative, à l'autonomie des projets après adoption PGR et à la frontière PGR / SaseDev Knowledge. Les adoptions Games et KSP restent respectivement réservées à `0.1.6` et `0.1.7`.