0.0.5-alpha.4
This commit is contained in:
221
deltas/0.0.5/alpha.4.md
Normal file
221
deltas/0.0.5/alpha.4.md
Normal file
@@ -0,0 +1,221 @@
|
||||
<!-- file: deltas/0.0.5/alpha.4.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.0.5-alpha.4 — REPLAN du lifecycle inter-release et de l'horizon
|
||||
|
||||
## Baseline et version
|
||||
|
||||
Baseline attendue : commit opérateur complet de `0.0.5-alpha.3.fix.1`, réalisé après application de `history/0.0.5/alpha.3.fix.1.md` avec statut `PASS`.
|
||||
|
||||
Le hash de ce futur commit n'est pas anticipé.
|
||||
|
||||
Version avant application :
|
||||
|
||||
```text
|
||||
0.0.5-alpha.3.fix.1
|
||||
```
|
||||
|
||||
Version après application :
|
||||
|
||||
```text
|
||||
0.0.5-alpha.4
|
||||
```
|
||||
|
||||
## Rôle de la tranche
|
||||
|
||||
`alpha.4` est un `REPLAN` déclenché après la gate réussie du fix précédent. Il traite un besoin de gouvernance général découvert en relisant le plan `0.0.5`, `ROADMAP.md` et les historiques de conception PGR `0.0.1` à `0.0.4` : les responsabilités de fermeture sont connues séparément mais ne sont pas encore reliées par un contrat explicite de plan, et l'horizon des versions futures ne possède pas de mécanisme de revue.
|
||||
|
||||
La tranche ne remet pas en cause `alpha.3.fix.1`, ne commence pas le chantier Rust de façade et ne matérialise aucun profil Tauri.
|
||||
|
||||
## Scope
|
||||
|
||||
REPLACE :
|
||||
|
||||
```text
|
||||
VERSION
|
||||
ROADMAP.md
|
||||
docs/000-README.md
|
||||
docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
|
||||
docs/rules/200-GOVERNANCE.md
|
||||
docs/rules/210-WORKFLOW.md
|
||||
docs/rules/300-DOCUMENTATION.md
|
||||
docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md
|
||||
docs/templates/003-NEW_SESSION_PROMPT.md
|
||||
```
|
||||
|
||||
ADD :
|
||||
|
||||
```text
|
||||
docs/templates/005-RELEASE_PLAN.md
|
||||
deltas/0.0.5/alpha.4.md
|
||||
```
|
||||
|
||||
DELETE : aucun.
|
||||
|
||||
Le history `alpha.3.fix.1` appartient au commit baseline et n'est pas inclus dans l'archive du présent delta.
|
||||
|
||||
## Décisions matérialisées
|
||||
|
||||
### Plan de release
|
||||
|
||||
Un plan complexe doit désormais expliciter sa **clôture et transition** : réconciliation documentaire, `CHANGELOG`, `ROADMAP`, prompt/handoff suivant, fermeture du plan, stable et publication.
|
||||
|
||||
Il doit aussi indiquer si une **revue d'horizon** est nécessaire. Une cible future inconnue reste inconnue : PGR interdit d'inventer une version ou une mission uniquement pour remplir le plan.
|
||||
|
||||
### Revue d'horizon
|
||||
|
||||
`ROADMAP.md` devient explicitement une trajectoire macro engagée à horizon fini. Une revue d'horizon est déclenchée lorsque la dernière release connue approche, qu'un jalon change la trajectoire ou que les ideas/studies/décisions accumulées justifient de rediscuter la suite.
|
||||
|
||||
La revue peut vivre dans une session stratégique séparée sans changement de `VERSION`.
|
||||
|
||||
Pour PGR, l'après-`0.1.0` reste volontairement ouvert. Le plan `0.1.0` devra programmer sa propre revue avant fermeture au lieu de spéculer dès `0.0.5`.
|
||||
|
||||
### Continuité et productivité
|
||||
|
||||
Lorsque la gate courante est `PASS` et que la suite est déjà déterminée, le générateur peut remettre `history` courant et `delta` suivant dans la même réponse. Les archives restent séparées et le delta suivant reste interdit d'application avant le commit de la tranche courante.
|
||||
|
||||
Le message manuel après publication devient spontané lorsque la prochaine cible est connue. S'il existe une preuve post-tag externe requise, la consigne finale indique explicitement qu'elle doit être fournie avec l'archive taggée.
|
||||
|
||||
### Pattern de plan
|
||||
|
||||
`docs/templates/005-RELEASE_PLAN.md` fournit une forme courte réutilisable pour KSP, Games et les futurs projets : mission, état acquis/ouvert, scope, validation, forecast, déclencheurs de REPLAN, clôture/transition et revue d'horizon.
|
||||
|
||||
Le pattern ne crée pas un journal de revisions obligatoire ; les deltas/histories restent la trace détaillée.
|
||||
|
||||
## Replan de 0.0.5
|
||||
|
||||
L'ancien forecast est décalé :
|
||||
|
||||
```text
|
||||
alpha.4 REPLAN lifecycle inter-release / horizon
|
||||
alpha.5 audit Rust façade/export completeness
|
||||
alpha.6 profil Tauri
|
||||
alpha.7 décision skeleton Tauri
|
||||
beta.1 réconciliation intégrée
|
||||
rc.1 candidate gelée / CHANGELOG / ROADMAP / prompt 006
|
||||
stable 0.0.5 + publish.001 séparé
|
||||
```
|
||||
|
||||
Aucun ancien objectif n'est abandonné par ce décalage.
|
||||
|
||||
## Validation opérateur
|
||||
|
||||
Après application du history `PASS` de `alpha.3.fix.1`, commit/push de ce fix, puis application du présent delta :
|
||||
|
||||
```bash
|
||||
test "$(cat VERSION)" = '0.0.5-alpha.4'
|
||||
test -f history/0.0.5/alpha.3.fix.1.md
|
||||
test -f deltas/0.0.5/alpha.4.md
|
||||
test -f docs/templates/005-RELEASE_PLAN.md
|
||||
test ! -e history/0.0.5/alpha.4.md
|
||||
|
||||
grep -A2 '^## Statut$' history/0.0.5/alpha.3.fix.1.md | grep -Fx 'PASS'
|
||||
grep -Fx '<!-- version: 2 -->' docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
|
||||
grep -Fx '<!-- version: 3 -->' docs/rules/200-GOVERNANCE.md
|
||||
grep -Fx '<!-- version: 5 -->' docs/rules/210-WORKFLOW.md
|
||||
grep -Fx '<!-- version: 4 -->' docs/rules/300-DOCUMENTATION.md
|
||||
grep -Fx '<!-- version: 6 -->' ROADMAP.md
|
||||
grep -Fx '<!-- version: 2 -->' docs/templates/003-NEW_SESSION_PROMPT.md
|
||||
grep -Fx '<!-- version: 1 -->' docs/templates/005-RELEASE_PLAN.md
|
||||
|
||||
python3 -B -m unittest discover -s tests -v
|
||||
|
||||
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
|
||||
|
||||
python3 -B - <<'PY'
|
||||
from pathlib import Path
|
||||
import re
|
||||
|
||||
history = Path('history/0.0.5/alpha.3.fix.1.md').read_text(encoding='utf-8')
|
||||
assert re.search(r'## Statut\s+PASS\s', history)
|
||||
|
||||
plan = Path('docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md').read_text(encoding='utf-8')
|
||||
for phrase in (
|
||||
'## REPLAN alpha.4 — lifecycle inter-release et horizon',
|
||||
'## Clôture et transition',
|
||||
'## Revue d\'horizon',
|
||||
'### alpha.5 — audit Rust de façade/export completeness',
|
||||
'### alpha.6 — premier profil framework : Tauri',
|
||||
'### alpha.7 — décision de skeleton Tauri',
|
||||
):
|
||||
assert phrase in plan, phrase
|
||||
|
||||
workflow = Path('docs/rules/210-WORKFLOW.md').read_text(encoding='utf-8')
|
||||
for phrase in (
|
||||
'clôture et transition',
|
||||
'revue d\'horizon',
|
||||
'archive history de la tranche courante',
|
||||
'archive delta de la tranche suivante',
|
||||
'MUST remettre spontanément',
|
||||
'preuve future extérieure au tag',
|
||||
):
|
||||
assert phrase in workflow, phrase
|
||||
|
||||
doc = Path('docs/rules/300-DOCUMENTATION.md').read_text(encoding='utf-8')
|
||||
for phrase in (
|
||||
'### Revue d\'horizon',
|
||||
'Une roadmap à horizon fini est valide.',
|
||||
'roadmap ou plan lorsqu\'un engagement de réalisation existe',
|
||||
):
|
||||
assert phrase in doc, phrase
|
||||
|
||||
roadmap = Path('ROADMAP.md').read_text(encoding='utf-8')
|
||||
assert '## Horizon après `0.1.0`' in roadmap
|
||||
assert 'L\'horizon est volontairement ouvert.' in roadmap
|
||||
assert '0.2.0' in roadmap # cité uniquement comme version à ne pas réserver arbitrairement
|
||||
|
||||
template = Path('docs/templates/005-RELEASE_PLAN.md').read_text(encoding='utf-8')
|
||||
for phrase in ('## Contrat minimal', '## Clôture et transition', '## Revue d\'horizon', '## Critère de sortie'):
|
||||
assert phrase in template, phrase
|
||||
|
||||
manual = Path('docs/templates/003-NEW_SESSION_PROMPT.md').read_text(encoding='utf-8')
|
||||
assert 'doit être remis spontanément' in manual
|
||||
assert 'horizon reste ouvert' in manual
|
||||
|
||||
print('0.0.5 alpha.4 lifecycle audit: clean (closure assigned, horizon review explicit, deterministic handoff optimized)')
|
||||
PY
|
||||
|
||||
git diff --check
|
||||
|
||||
git add VERSION ROADMAP.md docs/000-README.md \
|
||||
docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md \
|
||||
docs/rules/200-GOVERNANCE.md docs/rules/210-WORKFLOW.md \
|
||||
docs/rules/300-DOCUMENTATION.md \
|
||||
docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md \
|
||||
docs/templates/003-NEW_SESSION_PROMPT.md docs/templates/005-RELEASE_PLAN.md \
|
||||
deltas/0.0.5/alpha.4.md
|
||||
|
||||
git diff --cached --check
|
||||
git status --short
|
||||
```
|
||||
|
||||
La sortie Git attendue avant ajout du history `alpha.4` est exactement :
|
||||
|
||||
```text
|
||||
M ROADMAP.md
|
||||
M VERSION
|
||||
A deltas/0.0.5/alpha.4.md
|
||||
M docs/000-README.md
|
||||
M docs/plans/005-V0_0_5_RECONCILIATION_PLAN.md
|
||||
M docs/rules/200-GOVERNANCE.md
|
||||
M docs/rules/210-WORKFLOW.md
|
||||
M docs/rules/300-DOCUMENTATION.md
|
||||
M docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md
|
||||
M docs/templates/003-NEW_SESSION_PROMPT.md
|
||||
A docs/templates/005-RELEASE_PLAN.md
|
||||
```
|
||||
|
||||
## Transition
|
||||
|
||||
### PASS
|
||||
|
||||
Créer/appliquer `history/0.0.5/alpha.4.md`, committer/pousser `0.0.5-alpha.4`, puis poursuivre le forecast révisé à `0.0.5-alpha.5` pour l'audit Rust de façade/export completeness.
|
||||
|
||||
### FAIL
|
||||
|
||||
Rester dans `0.0.5-alpha.4.fix.M` tant que le défaut concerne le lifecycle inter-release ou la documentation livrée par cette tranche. Si la revue révèle qu'un autre chantier substantiel doit être absorbé avant l'audit Rust, refaire explicitement le REPLAN plutôt que l'introduire dans un fix.
|
||||
Reference in New Issue
Block a user