9.7 KiB
Delta 0.1.5-rc.1 — freeze, revue d’horizon et handoff Games
Objet
Geler les trois contrats transversaux réconciliés par beta.1, préparer la présentation candidate de 0.1.5, effectuer la revue d’horizon limitée prévue par le plan et préparer le handoff vers 0.1.6 uniquement puisque l’adoption Games reste la prochaine dépendance réelle.
La RC n’ajoute aucun nouveau contrat normatif et ne commence aucune adoption.
Préconditions
Le history history/0.1.5/beta.1.md doit être présent avec statut PASS avant application de ce delta.
La séquence réelle doit rester :
alpha.1 PARTIAL
alpha.1.fix.1 PASS
alpha.2 PASS
alpha.3 PASS
alpha.4 PASS
beta.1 PASS
Les owners stabilisés pendant alpha.2 à alpha.4 sont gelés sauf défaut démontré. Aucun défaut nouveau n’est introduit par la préparation RC.
Revue d’horizon
docs/studies/005-V0_1_5_HORIZON_REVIEW.md confirme qu’aucun nouveau prérequis transversal ne doit précéder l’adoption réelle de sasedev-games.
La trajectoire reste :
0.1.6 adoption sasedev-games
0.1.7 adoption khadhroony-solana-project
0.1.8 audits Rust/Clippy read-only
0.1.9 NOT RESERVED
La revue impose pour 0.1.6 une stable PGR v0.1.5 réellement publiée/vérifiée et une archive Games récente explicitement autoritaire. Elle ne fige volontairement aucun numéro Games.
Handoff 0.1.6
prompts/012-V0_1_6_START_PROMPT.md prépare 0.1.6-alpha.1 comme tranche d’intake et de cartographie avant migration.
Le prompt exige une classification ADOPT / KEEP-LOCAL / OVERRIDE / DEFER / N/A, conserve la sémantique non obligatoire de SHOULD / SHOULD NOT, préserve les décisions locales Games et rappelle que la baseline Games devient l’autorité du projet après adoption.
Il interdit de généraliser automatiquement un ancien POC ou artefact historique sans applicabilité démontrée par le corpus Games fourni.
Modifications
VERSIONpasse à0.1.5-rc.1;README.mdpasse en révision33et présente la candidate/freeze ;CHANGELOG.mdpasse en révision20et reçoit l’entrée0.1.5 (candidate)sans chronologie de tranches ;ROADMAP.mdpasse en révision18et enregistre la confirmation de trajectoire issue de la revue0.1.5-rc.1;docs/000-README.mdpasse en révision52et indexe la revue d’horizon et le handoff012;docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.mdpasse en révision6, enregistrebeta.1 PASSet le freeze RC ;docs/studies/000-README.mdpasse en révision6;docs/studies/005-V0_1_5_HORIZON_REVIEW.mdest créé ;prompts/012-V0_1_6_START_PROMPT.mdest créé ;- aucun owner normatif, skeleton, template ou contrat de validation stabilisé par les alphas n’est modifié.
Gate opérateur
Après commit/push de beta.1 avec son history PASS, appliquer ce delta puis exécuter :
cat VERSION
test -f history/0.1.5/beta.1.md
test -f deltas/0.1.5/rc.1.md
test -f docs/studies/005-V0_1_5_HORIZON_REVIEW.md
test -f prompts/012-V0_1_6_START_PROMPT.md
test ! -e history/0.1.5/rc.1.md
grep -Fx '0.1.5-rc.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 -A2 '^## Statut$' history/0.1.5/beta.1.md | grep -Fx 'PASS'
grep -Fx '<!-- version: 33 -->' README.md
grep -F 'candidate `0.1.5-rc.1`' README.md
grep -F '`0.1.6` reste la prochaine release' README.md
grep -Fx '<!-- version: 20 -->' CHANGELOG.md
grep -Fx '## 0.1.5 (candidate)' CHANGELOG.md
grep -F 'forte recommandation non obligatoire' CHANGELOG.md
grep -F 'baseline locale et ses owners deviennent l’autorité' CHANGELOG.md
grep -F 'SaseDev Knowledge' CHANGELOG.md
grep -F 'adoption réelle de `sasedev-games` reste la cible `0.1.6`' CHANGELOG.md
python3 -B -c "from pathlib import Path; s=Path('CHANGELOG.md').read_text(encoding='utf-8').split('## 0.1.5 (candidate)',1)[1].split('## 0.1.4',1)[0]; assert all(x not in s for x in ('alpha.1','alpha.2','alpha.3','alpha.4','beta.1','rc.1','rel.1')); print('0.1.5 candidate changelog: clean')"
grep -Fx '<!-- version: 18 -->' ROADMAP.md
grep -F -- '- `( ) 0.1.5`' ROADMAP.md
grep -F -- '- `( ) 0.1.6`' ROADMAP.md
grep -F -- '- `( ) 0.1.7`' ROADMAP.md
grep -F -- '- `( ) 0.1.8`' ROADMAP.md
grep -F 'La revue limitée `0.1.5-rc.1` confirme' ROADMAP.md
! grep -F -- '- `( ) 0.1.9`' ROADMAP.md
grep -Fx '<!-- version: 52 -->' docs/000-README.md
grep -F 'studies/005-V0_1_5_HORIZON_REVIEW.md' docs/000-README.md
grep -F 'prompts/012-V0_1_6_START_PROMPT.md' docs/000-README.md
grep -Fx '<!-- version: 6 -->' docs/studies/000-README.md
grep -F '005-V0_1_5_HORIZON_REVIEW.md' docs/studies/000-README.md
grep -Fx '<!-- version: 1 -->' docs/studies/005-V0_1_5_HORIZON_REVIEW.md
grep -F 'conserver `0.1.6` comme prochaine release' docs/studies/005-V0_1_5_HORIZON_REVIEW.md
grep -F 'aucun numéro de version Games n’est figé' docs/studies/005-V0_1_5_HORIZON_REVIEW.md
grep -F 'ADOPT / KEEP-LOCAL / OVERRIDE / DEFER / N/A' docs/studies/005-V0_1_5_HORIZON_REVIEW.md
grep -F 'Aucun `0.1.9` n’est réservé' docs/studies/005-V0_1_5_HORIZON_REVIEW.md
grep -Fx '<!-- version: 1 -->' prompts/012-V0_1_6_START_PROMPT.md
grep -F 'tag Gitea `v0.1.5`' prompts/012-V0_1_6_START_PROMPT.md
grep -F 'pgr-0.1.5-publish.001-report.md' prompts/012-V0_1_6_START_PROMPT.md
grep -F 'archive récente et explicitement autoritaire de `sasedev-games`' prompts/012-V0_1_6_START_PROMPT.md
grep -F '0.1.6-alpha.1' prompts/012-V0_1_6_START_PROMPT.md
grep -F 'ADOPT / KEEP-LOCAL / OVERRIDE / DEFER / N/A' prompts/012-V0_1_6_START_PROMPT.md
grep -F 'ne doivent pas rechercher automatiquement « la dernière version de PGR »' prompts/012-V0_1_6_START_PROMPT.md
grep -F 'réservée à `0.1.7`' prompts/012-V0_1_6_START_PROMPT.md
grep -F 'réservés à `0.1.8`' prompts/012-V0_1_6_START_PROMPT.md
grep -Fx '<!-- version: 6 -->' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
grep -F 'La gate opérateur de `beta.1` du `2026-10-01` est `PASS`' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
grep -F 'Freeze et revue d’horizon préparés en `rc.1`' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
grep -F '0.1.9 NOT RESERVED' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
grep -F '012-V0_1_6_START_PROMPT.md' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
grep -Fx '<!-- version: 16 -->' RULES.md
grep -Fx '<!-- version: 9 -->' docs/rules/210-WORKFLOW.md
grep -Fx '<!-- version: 3 -->' docs/rules/230-ADOPTION.md
grep -Fx '<!-- version: 5 -->' docs/rules/300-DOCUMENTATION.md
grep -Fx '<!-- version: 2 -->' docs/rules/400-VALIDATION.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','rc.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','beta.1.md'}; print('0.1.5 rc.1 history boundary: clean (109 closed prior pairs, current rc.1 pending)')"
git diff --exit-code -- history/0.1.4
git diff --exit-code -- RULES.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 CHANGELOG.md ROADMAP.md \
deltas/0.1.5/rc.1.md \
docs/000-README.md \
docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md \
docs/studies/000-README.md \
docs/studies/005-V0_1_5_HORIZON_REVIEW.md \
prompts/012-V0_1_6_START_PROMPT.md
git diff --cached --check
git status --short
Scope Git attendu
M CHANGELOG.md
M README.md
M ROADMAP.md
M VERSION
A deltas/0.1.5/rc.1.md
M docs/000-README.md
M docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
M docs/studies/000-README.md
A docs/studies/005-V0_1_5_HORIZON_REVIEW.md
A prompts/012-V0_1_6_START_PROMPT.md
Transition
Si la gate est PASS, produire history/0.1.5/rc.1.md, committer/pousser 0.1.5-rc.1, puis préparer rel.1 comme promotion mécanique vers la stable 0.1.5, sans rouvrir les contrats acquis ni commencer 0.1.6.