8.3 KiB
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 :
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 :
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.mdet003-NEW_SESSION_PROMPT.mdrestentKEEP.
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.
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
VERSIONpasse à0.1.5-beta.1;README.mdpasse en révision32et présente la réconciliation bêta ;docs/000-README.mdpasse en révision51et indexebeta.1;docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.mdpasse en révision5, enregistrealpha.4 PASSet 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 :
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
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.