diff --git a/CHANGELOG.md b/CHANGELOG.md index 40056b3..ef0d4c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ - + # 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 ; diff --git a/README.md b/README.md index 2132843..6a50315 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ - + # 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 ; diff --git a/ROADMAP.md b/ROADMAP.md index 6d0be70..aedbc44 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,5 +1,5 @@ - + # 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 ; diff --git a/VERSION b/VERSION index c49b806..845639e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.4-rc.1 +0.1.4 diff --git a/deltas/0.1.4/rel.1.md b/deltas/0.1.4/rel.1.md new file mode 100644 index 0000000..127157f --- /dev/null +++ b/deltas/0.1.4/rel.1.md @@ -0,0 +1,233 @@ + + + +# 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 '' README.md +grep -Fx '' ROADMAP.md +grep -Fx '' CHANGELOG.md +grep -Fx '' docs/000-README.md +grep -Fx '' 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'', (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`. diff --git a/docs/000-README.md b/docs/000-README.md index e090e75..5bf5f76 100644 --- a/docs/000-README.md +++ b/docs/000-README.md @@ -1,5 +1,5 @@ - + # 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 diff --git a/docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md b/docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md index 43c23b5..27bd8bb 100644 --- a/docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md +++ b/docs/plans/010-V0_1_4_TAURI_REEVALUATION_PLAN.md @@ -1,11 +1,11 @@ - + # 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 : diff --git a/history/0.1.4/rel.1.md b/history/0.1.4/rel.1.md new file mode 100644 index 0000000..dc5423b --- /dev/null +++ b/history/0.1.4/rel.1.md @@ -0,0 +1,140 @@ + + + +# 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`.