0.1.5-beta.1
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: README.md -->
|
||||
<!-- version: 31 -->
|
||||
<!-- version: 32 -->
|
||||
|
||||
# Project Governance Rules
|
||||
|
||||
@@ -11,7 +11,7 @@ Le dépôt officiel est `https://git.sasedev.com/Sasedev/pgr`.
|
||||
|
||||
## Statut
|
||||
|
||||
La stable autoritaire courante reste `0.1.4`. Le travail `0.1.5-alpha.4` stabilise maintenant le troisième contrat transversal décidé par sa revue d’horizon : PGR conserve localement tout ce qui est nécessaire pour comprendre et appliquer ses contrats normatifs, tandis que les howtos détaillés, recettes pratiques, snippets, exemples d’intégration, dépannage, comparatifs et variantes d’implémentation peuvent devenir des contenus externes complémentaires, notamment dans SaseDev Knowledge lorsqu’une destination autoritaire existe. Cette frontière ne crée aucune dépendance de PGR vers Knowledge et ne déclenche aucun déplacement automatique de contenu. Les adoptions Games `0.1.6`, KSP `0.1.7` ainsi que les audits Rust/Clippy `0.1.8` restent hors scope.
|
||||
La stable autoritaire courante reste `0.1.4`. Le travail `0.1.5-beta.1` réconcilie désormais les trois contrats transversaux stabilisés pendant les alphas : `SHOULD / SHOULD NOT` reste une forte recommandation non obligatoire, la baseline locale d’un projet devient son autorité après instanciation/adoption avec réalignement PGR uniquement explicite, et PGR reste auto-suffisant face aux contenus pratiques externes possibles de SaseDev Knowledge. Le rescan transversal n’a démontré aucun nouveau renforcement accidentel nécessitant une modification normative supplémentaire. Les adoptions Games `0.1.6`, KSP `0.1.7` ainsi que les audits Rust/Clippy `0.1.8` restent hors scope.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
169
deltas/0.1.5/beta.1.md
Normal file
169
deltas/0.1.5/beta.1.md
Normal file
@@ -0,0 +1,169 @@
|
||||
<!-- file: deltas/0.1.5/beta.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.1.5-beta.1 — réconciliation transversale
|
||||
|
||||
## Objet
|
||||
|
||||
Fermer la phase alpha de `0.1.5` en réconciliant transversalement les trois contrats acquis : sémantique `MUST / SHOULD / MAY`, autonomie de la baseline locale et frontière PGR / SaseDev Knowledge.
|
||||
|
||||
Le rescan préparatoire ne démontre aucun nouveau défaut normatif nécessitant une correction. `beta.1` est donc une tranche d'intégration et de preuve : elle documente les décisions de `KEEP`, rejoue les validations complètes et conserve les scopes futurs hors de la release courante.
|
||||
|
||||
## Préconditions
|
||||
|
||||
Le history `history/0.1.5/alpha.4.md` doit être présent avec statut `PASS` avant application de ce delta.
|
||||
|
||||
La séquence acquise doit rester :
|
||||
|
||||
```text
|
||||
alpha.1 PARTIAL
|
||||
alpha.1.fix.1 PASS
|
||||
alpha.2 PASS
|
||||
alpha.3 PASS
|
||||
alpha.4 PASS
|
||||
```
|
||||
|
||||
Les histories antérieurs ne sont pas réécrits.
|
||||
|
||||
## Réconciliation `SHOULD / SHOULD NOT`
|
||||
|
||||
Le rescan relit les owners vivants où une recommandation cohabite avec un `MUST`, une justification ou une contrainte conditionnelle.
|
||||
|
||||
Les clauses conservées ne renforcent pas le simple écart à `SHOULD / SHOULD NOT` : elles portent une propriété distincte de sécurité, identité, hygiène d'output ou maintenabilité. Les corrections ciblées d'`alpha.2` restent donc suffisantes et aucun owner normatif supplémentaire n'est modifié en `beta.1`.
|
||||
|
||||
Les contrats centraux restent :
|
||||
|
||||
```text
|
||||
SHOULD / SHOULD NOT
|
||||
forte recommandation non obligatoire
|
||||
écart seul != non-conformité
|
||||
écart seul != FAIL de gate
|
||||
écart seul != OVERRIDE obligatoire
|
||||
justification MAY être documentée si elle apporte une valeur durable
|
||||
```
|
||||
|
||||
## Autonomie et snapshots
|
||||
|
||||
La réconciliation confirme que :
|
||||
|
||||
- la baseline locale et ses owners sont l'autorité des sessions/releases suivantes après instanciation/adoption ;
|
||||
- PGR n'est pas un upstream documentaire implicite ;
|
||||
- aucun mécanisme ne recherche automatiquement « la dernière version de PGR » ;
|
||||
- un réalignement futur est une opération explicite et bornée, fondée sur un snapshot PGR choisi ;
|
||||
- `210-WORKFLOW.md` et `003-NEW_SESSION_PROMPT.md` restent `KEEP`.
|
||||
|
||||
## Frontière PGR / Knowledge
|
||||
|
||||
PGR reste auto-suffisant pour déterminer la force, le scope et les exigences de ses règles. SaseDev Knowledge MAY accueillir des contenus pratiques complémentaires, mais ne devient ni owner normatif, ni source requise, ni dépendance de PGR.
|
||||
|
||||
Aucune migration physique n'est réalisée en `beta.1`.
|
||||
|
||||
## Trajectoire réconciliée
|
||||
|
||||
La référence vivante Games dans `540-JAVASCRIPT_PACKAGE_ECOSYSTEM.md` reste corrigée vers `0.1.6`.
|
||||
|
||||
Les références historiques qui décrivent un ancien horizon restent inchangées lorsqu'elles sont exactes dans leur contexte.
|
||||
|
||||
```text
|
||||
0.1.6 adoption sasedev-games RESERVED
|
||||
0.1.7 adoption KSP RESERVED
|
||||
0.1.8 audits Rust/Clippy RESERVED
|
||||
0.1.9 NOT RESERVED
|
||||
```
|
||||
|
||||
`beta.1` ne commence aucun de ces scopes.
|
||||
|
||||
## Modifications
|
||||
|
||||
- `VERSION` passe à `0.1.5-beta.1` ;
|
||||
- `README.md` passe en révision `32` et présente la réconciliation bêta ;
|
||||
- `docs/000-README.md` passe en révision `51` et indexe `beta.1` ;
|
||||
- `docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md` passe en révision `5`, enregistre `alpha.4 PASS` et les résultats du rescan préparatoire ;
|
||||
- aucun owner normatif, skeleton, template, validation, study ou history antérieur n'est modifié.
|
||||
|
||||
## Gate opérateur
|
||||
|
||||
Après commit/push de `alpha.4` avec son history `PASS`, appliquer ce delta puis exécuter :
|
||||
|
||||
```bash
|
||||
cat VERSION
|
||||
|
||||
test -f history/0.1.5/alpha.4.md
|
||||
test -f deltas/0.1.5/beta.1.md
|
||||
test ! -e history/0.1.5/beta.1.md
|
||||
|
||||
grep -Fx '0.1.5-beta.1' VERSION
|
||||
grep -A2 '^## Statut$' history/0.1.5/alpha.1.md | grep -Fx 'PARTIAL'
|
||||
grep -A2 '^## Statut$' history/0.1.5/alpha.1.fix.1.md | grep -Fx 'PASS'
|
||||
grep -A2 '^## Statut$' history/0.1.5/alpha.2.md | grep -Fx 'PASS'
|
||||
grep -A2 '^## Statut$' history/0.1.5/alpha.3.md | grep -Fx 'PASS'
|
||||
grep -A2 '^## Statut$' history/0.1.5/alpha.4.md | grep -Fx 'PASS'
|
||||
|
||||
grep -Fx '<!-- version: 16 -->' RULES.md
|
||||
grep -F 'forte recommandation non obligatoire' RULES.md
|
||||
grep -F "n'exige pas automatiquement un \`OVERRIDE\`" RULES.md
|
||||
|
||||
grep -Fx '<!-- version: 3 -->' docs/rules/230-ADOPTION.md
|
||||
grep -F 'MUST NOT rechercher automatiquement « la dernière version de PGR »' docs/rules/230-ADOPTION.md
|
||||
grep -F 'identifier le snapshot PGR choisi' docs/rules/230-ADOPTION.md
|
||||
|
||||
grep -Fx '<!-- version: 2 -->' docs/rules/400-VALIDATION.md
|
||||
grep -F 'MUST NOT faire passer une tranche en `FAIL`' docs/rules/400-VALIDATION.md
|
||||
|
||||
grep -Fx '<!-- version: 5 -->' docs/rules/300-DOCUMENTATION.md
|
||||
grep -F 'PGR MUST rester auto-suffisant' docs/rules/300-DOCUMENTATION.md
|
||||
grep -F 'SaseDev Knowledge MAY jouer ce rôle, sans devenir un owner normatif de PGR' docs/rules/300-DOCUMENTATION.md
|
||||
|
||||
grep -Fx '<!-- version: 9 -->' docs/rules/210-WORKFLOW.md
|
||||
grep -Fx '<!-- version: 2 -->' docs/templates/003-NEW_SESSION_PROMPT.md
|
||||
|
||||
grep -F "Lors de l'adoption \`0.1.6\`" docs/rules/540-JAVASCRIPT_PACKAGE_ECOSYSTEM.md
|
||||
! grep -F "Lors de l'adoption \`0.1.5\`" docs/rules/540-JAVASCRIPT_PACKAGE_ECOSYSTEM.md
|
||||
|
||||
grep -Fx '<!-- version: 5 -->' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||||
grep -F 'La gate opérateur de `alpha.4` du `2026-10-01` est `PASS`' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||||
grep -F 'Réconciliation transversale préparée en `beta.1`' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||||
grep -F 'KEEP des owners normatifs acquis' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||||
|
||||
grep -F -- '- `( ) 0.1.6`' ROADMAP.md
|
||||
grep -F -- '- `( ) 0.1.7`' ROADMAP.md
|
||||
grep -F -- '- `( ) 0.1.8`' ROADMAP.md
|
||||
! grep -F -- '- `( ) 0.1.9`' ROADMAP.md
|
||||
|
||||
python3 -B -c "from pathlib import Path; expected={'0.0.1':12,'0.0.2':12,'0.0.3':10,'0.0.4':9,'0.0.5':19,'0.1.0':10,'0.1.1':11,'0.1.2':7,'0.1.3':6,'0.1.4':7}; assert all({p.name for p in Path('deltas',r).glob('*.md')} == {p.name for p in Path('history',r).glob('*.md')} and len(list(Path('deltas',r).glob('*.md'))) == n for r,n in expected.items()); assert {p.name for p in Path('deltas/0.1.5').glob('*.md')} == {'alpha.1.md','alpha.1.fix.1.md','alpha.2.md','alpha.3.md','alpha.4.md','beta.1.md'}; assert {p.name for p in Path('history/0.1.5').glob('*.md')} == {'alpha.1.md','alpha.1.fix.1.md','alpha.2.md','alpha.3.md','alpha.4.md'}; print('0.1.5 beta.1 history boundary: clean (108 closed prior pairs, current beta.1 pending)')"
|
||||
|
||||
git diff --exit-code -- history/0.1.4
|
||||
git diff --exit-code -- RULES.md ROADMAP.md CHANGELOG.md docs/objectives/001-PROJECT_OBJECTIVES.md docs/architecture/002-GOVERNANCE_ARCHITECTURE.md docs/rules/210-WORKFLOW.md docs/rules/220-SKELETONS.md docs/rules/230-ADOPTION.md docs/rules/300-DOCUMENTATION.md docs/rules/400-VALIDATION.md docs/rules/500-LANGUAGES.md docs/rules/530-TYPESCRIPT.md docs/rules/540-JAVASCRIPT_PACKAGE_ECOSYSTEM.md docs/rules/700-FRAMEWORKS.md docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md docs/skeletons/003-WEB_FRONTEND.md docs/templates/003-NEW_SESSION_PROMPT.md docs/templates/007-EXISTING_PROJECT_ADOPTION.md docs/templates/008-WEB_TYPESCRIPT_PACKAGE.md
|
||||
|
||||
python3 -B -m unittest discover -s tests -v
|
||||
|
||||
python3 -B scripts/audit_text_hygiene.py README.md RULES.md ROADMAP.md CHANGELOG.md VERSION 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 status --short
|
||||
|
||||
git add VERSION README.md docs/000-README.md docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md deltas/0.1.5/beta.1.md
|
||||
|
||||
git diff --cached --check
|
||||
git status --short
|
||||
```
|
||||
|
||||
## Scope Git attendu
|
||||
|
||||
```text
|
||||
M README.md
|
||||
M VERSION
|
||||
A deltas/0.1.5/beta.1.md
|
||||
M docs/000-README.md
|
||||
M docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||||
```
|
||||
|
||||
## Suite
|
||||
|
||||
Si la gate est `PASS`, produire `history/0.1.5/beta.1.md`, committer/pousser la tranche puis préparer `rc.1` : freeze des contrats stabilisés, présentation candidate, revue d'horizon bornée et préparation du handoff `0.1.6` uniquement si la trajectoire reste valide.
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/000-README.md -->
|
||||
<!-- version: 50 -->
|
||||
<!-- version: 51 -->
|
||||
|
||||
# Documentation PGR
|
||||
|
||||
@@ -22,11 +22,12 @@ Les templates techniques copiables sous `templates/` restent séparés des instr
|
||||
|
||||
## Points d'entrée de 0.1.5
|
||||
|
||||
- [`plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md`](plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md) — plan actif de `0.1.5` : inventaire `alpha.1`, récupération de preuve `alpha.1.fix.1`, sémantique normative `alpha.2`, autonomie locale `alpha.3`, frontière PGR / Knowledge `alpha.4`, réconciliation puis freeze.
|
||||
- [`plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md`](plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md) — plan actif de `0.1.5` : inventaire `alpha.1`, récupération de preuve `alpha.1.fix.1`, sémantique normative `alpha.2`, autonomie locale `alpha.3`, frontière PGR / Knowledge `alpha.4`, puis réconciliation transversale `beta.1` avant freeze RC.
|
||||
- [`studies/004-V0_1_4_HORIZON_REVIEW.md`](studies/004-V0_1_4_HORIZON_REVIEW.md) — décision autoritaire de fermeture `0.1.4` qui place la release de gouvernance/autonomie avant les adoptions Games/KSP.
|
||||
- [`../RULES.md`](../RULES.md), [`rules/230-ADOPTION.md`](rules/230-ADOPTION.md) et [`rules/400-VALIDATION.md`](rules/400-VALIDATION.md) — owners primaires réconciliés en `alpha.2` : `SHOULD / SHOULD NOT` est une forte recommandation non obligatoire, sans `FAIL` de gate ni `OVERRIDE` automatique pour un simple écart.
|
||||
- [`rules/220-SKELETONS.md`](rules/220-SKELETONS.md), [`rules/230-ADOPTION.md`](rules/230-ADOPTION.md), [`skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md`](skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md) et [`templates/007-EXISTING_PROJECT_ADOPTION.md`](templates/007-EXISTING_PROJECT_ADOPTION.md) — owners réconciliés en `alpha.3` : baseline locale autoritaire, absence d'upstream PGR implicite et réalignement volontaire fondé sur un snapshot choisi.
|
||||
- [`objectives/001-PROJECT_OBJECTIVES.md`](objectives/001-PROJECT_OBJECTIVES.md), [`architecture/002-GOVERNANCE_ARCHITECTURE.md`](architecture/002-GOVERNANCE_ARCHITECTURE.md) et [`rules/300-DOCUMENTATION.md`](rules/300-DOCUMENTATION.md) — owners réconciliés en `alpha.4` : PGR reste auto-suffisant pour ses contrats normatifs ; les contenus pratiques externes restent complémentaires, sans dépendance PGR vers Knowledge ni déplacement automatique.
|
||||
- `beta.1` réconcilie les trois contrats sans nouvel owner normatif : les renforcements `SHOULD` connus restent corrigés, `210-WORKFLOW.md` et `003-NEW_SESSION_PROMPT.md` restent compatibles avec l’autonomie locale, et les références vivantes Games/KSP/audits restent respectivement réservées à `0.1.6`, `0.1.7` et `0.1.8`.
|
||||
- [`../prompts/011-V0_1_5_START_PROMPT.md`](../prompts/011-V0_1_5_START_PROMPT.md) — contrat de reprise exécuté pour ouvrir `0.1.5-alpha.1` à partir de la stable `v0.1.4` vérifiée.
|
||||
|
||||
## Points d'entrée de 0.1.4
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md -->
|
||||
<!-- version: 4 -->
|
||||
<!-- version: 5 -->
|
||||
|
||||
# Plan 0.1.5 — sémantique normative, autonomie et frontière PGR / Knowledge
|
||||
|
||||
@@ -214,7 +214,7 @@ frontière PGR / Knowledge
|
||||
|
||||
Aucun nouveau owner Knowledge n’est prévu par défaut.
|
||||
|
||||
## Progression acquise avant `alpha.4`
|
||||
## Progression acquise avant `beta.1`
|
||||
|
||||
La première gate `alpha.1` a acquis les tests et audits principaux mais n'a pas exécuté toutes les assertions contractuelles prévues par son delta. Son history conserve donc le résultat réel `PARTIAL`.
|
||||
|
||||
@@ -251,6 +251,25 @@ Décisions de mise en œuvre `alpha.4` :
|
||||
- conserver toute migration physique hors scope de `0.1.5` tant qu'une destination Knowledge autoritaire n'est pas explicitement fournie et vérifiée ;
|
||||
- ne créer aucun nouvel owner Knowledge et ne modifier aucun history antérieur.
|
||||
|
||||
La gate opérateur de `alpha.4` du `2026-10-01` est `PASS` avec `55/55` tests, les audits documentaires propres, les owners hors scope inchangés et le scope Git attendu. La frontière PGR / Knowledge est donc acquise avant ouverture de `beta.1`.
|
||||
|
||||
## Réconciliation transversale préparée en `beta.1`
|
||||
|
||||
Le rescan préparatoire de la baseline post-`alpha.4` n'a démontré aucun nouveau défaut normatif exigeant une modification d'owner.
|
||||
|
||||
Les formulations `SHOULD / SHOULD NOT` des owners vivants ont été relues avec attention lorsqu'un `MUST`, une justification ou une contrainte conditionnelle apparaissait dans le même contexte. Les cas conservés portent des responsabilités distinctes et ne transforment pas le simple écart à la recommandation en non-conformité : outputs/caches générés à ignorer lorsqu'ils restent dans l'arbre, ouverture réseau/CORS à borner, identité Android à rendre explicite, dépendance Sass interne à garder visible/révisable et surface de sécurité Tauri à décider explicitement.
|
||||
|
||||
La réconciliation confirme également :
|
||||
|
||||
- `RULES.md`, `230-ADOPTION.md` et `400-VALIDATION.md` portent une sémantique cohérente : un écart à `SHOULD / SHOULD NOT` ne crée à lui seul ni `FAIL`, ni `OVERRIDE`, ni justification obligatoire ;
|
||||
- `220-SKELETONS.md`, `230-ADOPTION.md`, `001-PROJECT_GOVERNANCE_FOUNDATION.md` et `007-EXISTING_PROJECT_ADOPTION.md` conservent la baseline locale comme autorité et le réalignement PGR comme opération explicite sur snapshot choisi ;
|
||||
- `210-WORKFLOW.md` et `003-NEW_SESSION_PROMPT.md` restent `KEEP` : aucune recherche automatique de version PGR plus récente n'y est introduite ;
|
||||
- `001-PROJECT_OBJECTIVES.md`, `002-GOVERNANCE_ARCHITECTURE.md` et `300-DOCUMENTATION.md` maintiennent PGR auto-suffisant et Knowledge strictement complémentaire ;
|
||||
- la référence vivante Games dans `540-JAVASCRIPT_PACKAGE_ECOSYSTEM.md` pointe bien vers `0.1.6` ; les anciennes mentions `0.1.5` conservées dans des études/index historiques restent des descriptions de l'horizon de leur époque et ne sont pas réécrites ;
|
||||
- les scopes Games `0.1.6`, KSP `0.1.7` et audits Rust/Clippy `0.1.8` restent réservés et aucun `0.1.9` n'est créé.
|
||||
|
||||
Décision `beta.1` : **KEEP des owners normatifs acquis**. La tranche documente et valide la réconciliation ; elle n'ajoute aucun owner, ne modifie aucune règle normative et ne commence aucun scope futur.
|
||||
|
||||
## Trajectoire de release
|
||||
|
||||
### `alpha.1` — intake, audit transversal et plan
|
||||
|
||||
121
history/0.1.5/beta.1.md
Normal file
121
history/0.1.5/beta.1.md
Normal file
@@ -0,0 +1,121 @@
|
||||
<!-- file: history/0.1.5/beta.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# History 0.1.5-beta.1 — réconciliation transversale
|
||||
|
||||
## Statut
|
||||
|
||||
PASS
|
||||
|
||||
La gate opérateur de `0.1.5-beta.1` exécutée le `2026-10-01` est propre. Elle confirme la réconciliation des trois contrats transversaux stabilisés pendant les alphas sans nouveau défaut normatif démontré : sémantique `SHOULD / SHOULD NOT`, autonomie de la baseline locale et frontière PGR / SaseDev Knowledge.
|
||||
|
||||
## Baseline opérateur
|
||||
|
||||
La tranche `0.1.5-alpha.4` et son history `PASS` ont été committés puis publiés avant application de `beta.1` :
|
||||
|
||||
```text
|
||||
commit alpha.4 43ee26b
|
||||
push 7079b15..43ee26b master -> master
|
||||
```
|
||||
|
||||
La version observée pendant la gate est :
|
||||
|
||||
```text
|
||||
0.1.5-beta.1
|
||||
```
|
||||
|
||||
Les histories précédents conservent la séquence réelle :
|
||||
|
||||
```text
|
||||
alpha.1 PARTIAL
|
||||
alpha.1.fix.1 PASS
|
||||
alpha.2 PASS
|
||||
alpha.3 PASS
|
||||
alpha.4 PASS
|
||||
```
|
||||
|
||||
Le history `beta.1` était absent pendant la gate.
|
||||
|
||||
## Réconciliation acquise
|
||||
|
||||
Les contrôles opérateur ont confirmé que :
|
||||
|
||||
- `RULES.md` révision `16` conserve `SHOULD / SHOULD NOT` comme forte recommandation non obligatoire et n'exige pas automatiquement un `OVERRIDE` pour un simple écart ;
|
||||
- `230-ADOPTION.md` révision `3` interdit la recherche automatique de « la dernière version de PGR » et conserve le réalignement comme opération explicite sur snapshot choisi ;
|
||||
- `400-VALIDATION.md` révision `2` interdit qu'un simple écart à un `SHOULD / SHOULD NOT` fasse passer une tranche en `FAIL` ;
|
||||
- `300-DOCUMENTATION.md` révision `5` conserve PGR auto-suffisant et SaseDev Knowledge comme destination pratique possible sans devenir owner normatif ;
|
||||
- `210-WORKFLOW.md` reste en révision `9` et `003-NEW_SESSION_PROMPT.md` en révision `2` ;
|
||||
- la référence vivante Games de `540-JAVASCRIPT_PACKAGE_ECOSYSTEM.md` pointe vers l'adoption `0.1.6` et l'ancienne référence `0.1.5` est absente de ce contexte vivant ;
|
||||
- Games `0.1.6`, KSP `0.1.7` et les audits Rust/Clippy `0.1.8` restent réservés tandis qu'aucun `0.1.9` n'est créé.
|
||||
|
||||
Le plan `011` révision `5` enregistre explicitement `alpha.4 PASS`, la réconciliation transversale préparée en `beta.1` et la décision de **KEEP des owners normatifs acquis**.
|
||||
|
||||
## Frontière delta/history
|
||||
|
||||
Le contrôle structurel a affiché :
|
||||
|
||||
```text
|
||||
0.1.5 beta.1 history boundary: clean (108 closed prior pairs, current beta.1 pending)
|
||||
```
|
||||
|
||||
Il confirme que les releases `0.0.1` à `0.1.4` conservent leurs couples delta/history exacts, que les cinq tranches précédentes de `0.1.5` sont closes et que `beta.1` était le seul delta courant sans history pendant sa gate.
|
||||
|
||||
`history/0.1.4` est resté byte-stable pendant la tranche.
|
||||
|
||||
## Freeze des owners
|
||||
|
||||
Le contrôle `git diff --exit-code` sur les owners et artefacts normatifs acquis est propre. `beta.1` n'a donc modifié ni règle normative, ni skeleton, ni template, ni contrat de validation issu des alphas.
|
||||
|
||||
La tranche a uniquement porté la version, la présentation/index, le plan actif et son delta.
|
||||
|
||||
## Tests Python
|
||||
|
||||
La suite complète a affiché :
|
||||
|
||||
```text
|
||||
Ran 55 tests in 0.892s
|
||||
|
||||
OK
|
||||
```
|
||||
|
||||
Soit `55/55` tests `PASS`.
|
||||
|
||||
## Audit d'hygiène texte
|
||||
|
||||
L'audit réutilisable a affiché :
|
||||
|
||||
```text
|
||||
Text hygiene audit: clean (321 file(s))
|
||||
```
|
||||
|
||||
## Audits Markdown
|
||||
|
||||
Les audits documentaires sont propres :
|
||||
|
||||
```text
|
||||
Markdown header audit: clean (294 file(s))
|
||||
Markdown table audit: clean (11 table(s), 294 file(s))
|
||||
Markdown link audit: clean (371 local link(s), 294 file(s))
|
||||
```
|
||||
|
||||
## Hygiène Git et scope observé
|
||||
|
||||
`git diff --check` puis `git diff --cached --check` n'ont signalé aucune anomalie.
|
||||
|
||||
Après indexation, le scope observé est exactement :
|
||||
|
||||
```text
|
||||
M README.md
|
||||
M VERSION
|
||||
A deltas/0.1.5/beta.1.md
|
||||
M docs/000-README.md
|
||||
M docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||||
```
|
||||
|
||||
Il correspond au scope annoncé par le delta.
|
||||
|
||||
## Décision
|
||||
|
||||
`0.1.5-beta.1` est validée `PASS`.
|
||||
|
||||
La phase alpha/bêta est réconciliée sans défaut transversal restant démontré. La tranche suivante peut être `0.1.5-rc.1`, limitée au freeze des contrats acquis, à la présentation candidate, à une revue d'horizon bornée et à la préparation du handoff `0.1.6` uniquement si l'adoption Games reste la prochaine dépendance réelle.
|
||||
Reference in New Issue
Block a user