0.1.5-alpha.3
This commit is contained in:
185
deltas/0.1.5/alpha.3.md
Normal file
185
deltas/0.1.5/alpha.3.md
Normal file
@@ -0,0 +1,185 @@
|
||||
<!-- file: deltas/0.1.5/alpha.3.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.1.5-alpha.3 — autonomie locale et réalignement PGR volontaire
|
||||
|
||||
## Objet
|
||||
|
||||
Stabiliser le contrat d'autonomie après instanciation ou adoption : une fois la baseline locale établie, le projet gouverne ses sessions et releases suivantes depuis ses propres owners, sans dépendance documentaire implicite vers PGR ni recherche automatique d'une version plus récente du référentiel.
|
||||
|
||||
La tranche définit également le seul mécanisme prévu pour revenir volontairement vers PGR : un réalignement explicite, borné, fondé sur un snapshot PGR précis choisi par le projet puis comparé à la baseline locale.
|
||||
|
||||
## Précondition
|
||||
|
||||
Le history `history/0.1.5/alpha.2.md` doit être présent avec statut `PASS` avant application de ce delta.
|
||||
|
||||
La séquence acquise reste conservée :
|
||||
|
||||
```text
|
||||
alpha.1 PARTIAL
|
||||
alpha.1.fix.1 PASS
|
||||
alpha.2 PASS
|
||||
```
|
||||
|
||||
Le `PARTIAL` initial n'est pas réécrit et les histories précédents restent inchangés.
|
||||
|
||||
## Contrat d'autonomie
|
||||
|
||||
Après instanciation ou adoption :
|
||||
|
||||
```text
|
||||
snapshot PGR explicitement choisi
|
||||
↓
|
||||
instanciation / adoption / adaptation
|
||||
↓
|
||||
baseline locale du projet
|
||||
↓
|
||||
autorité locale des sessions et releases suivantes
|
||||
```
|
||||
|
||||
Le projet possède alors ses règles, plans, architecture, décisions et historiques applicables. PGR ne devient ni dépendance runtime/build, ni upstream documentaire implicite.
|
||||
|
||||
Le projet MUST NOT rechercher automatiquement « la dernière version de PGR » pour reprendre une session ou ouvrir une release suivante.
|
||||
|
||||
## Réalignement futur
|
||||
|
||||
Un réalignement PGR reste possible lorsqu'il est explicitement décidé. Il ne constitue pas une mise à jour continue.
|
||||
|
||||
L'opération doit :
|
||||
|
||||
1. identifier un snapshot PGR précis — version, tag, commit ou archive ;
|
||||
2. repartir de la baseline locale autoritaire ;
|
||||
3. comparer les owners PGR réellement applicables ;
|
||||
4. classifier les écarts utiles selon `ADOPT / KEEP-LOCAL / OVERRIDE / DEFER` ;
|
||||
5. définir un scope et des validations proportionnés ;
|
||||
6. préserver les histories et snapshots historiques du projet.
|
||||
|
||||
Entre deux réalignements explicitement décidés, la baseline locale reste suffisante et autoritaire.
|
||||
|
||||
## Owners réconciliés
|
||||
|
||||
- `RULES.md` révision `16` : autonomie générale, absence d'upstream PGR implicite et réalignement borné ;
|
||||
- `docs/rules/220-SKELETONS.md` révision `2` : la baseline locale devient autoritaire dès l'instanciation et aucune version PGR plus récente n'est recherchée automatiquement ;
|
||||
- `docs/rules/230-ADOPTION.md` révision `3` : contrat complet d'autorité locale et procédure de réalignement futur ;
|
||||
- `docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md` révision `5` : propagation du contrat au point d'entrée normatif local ;
|
||||
- `docs/templates/007-EXISTING_PROJECT_ADOPTION.md` révision `2` : snapshot PGR choisi, baseline locale de sortie et pattern de réalignement explicite.
|
||||
|
||||
`docs/rules/210-WORKFLOW.md` révision `9` et `docs/templates/003-NEW_SESSION_PROMPT.md` révision `2` restent `KEEP` : leur reprise part déjà de la baseline autoritaire du projet courant et aucune contradiction n'a été démontrée.
|
||||
|
||||
## Cohérence documentaire
|
||||
|
||||
- `README.md` présente `0.1.5-alpha.3` comme tranche active ;
|
||||
- `docs/000-README.md` identifie les owners d'autonomie réconciliés ;
|
||||
- `docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md` passe en révision `3`, enregistre `alpha.2 PASS` et la mise en œuvre `alpha.3`.
|
||||
|
||||
`ROADMAP.md` et `CHANGELOG.md` restent inchangés. La frontière PGR / SaseDev Knowledge reste réservée à `alpha.4` ; Games `0.1.6`, KSP `0.1.7` et les audits Rust/Clippy `0.1.8` restent hors scope.
|
||||
|
||||
## Gate opérateur
|
||||
|
||||
Après commit/push de `alpha.2` avec son history `PASS`, appliquer ce delta puis exécuter :
|
||||
|
||||
```bash
|
||||
cat VERSION
|
||||
|
||||
test -f history/0.1.5/alpha.2.md
|
||||
test -f deltas/0.1.5/alpha.3.md
|
||||
test ! -e history/0.1.5/alpha.3.md
|
||||
|
||||
grep -Fx '0.1.5-alpha.3' 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 -Fx '<!-- version: 16 -->' RULES.md
|
||||
grep -F 'cette baseline et ses owners locaux deviennent l'autorité des sessions et releases suivantes' RULES.md
|
||||
grep -F 'MUST NOT rechercher automatiquement « la dernière version de PGR »' RULES.md
|
||||
grep -F 'réalignement futur avec PGR MAY être engagé comme opération explicite et bornée' RULES.md
|
||||
|
||||
grep -Fx '<!-- version: 2 -->' docs/rules/220-SKELETONS.md
|
||||
grep -F 'Cette baseline locale devient l'autorité de ses sessions et releases suivantes' docs/rules/220-SKELETONS.md
|
||||
grep -F 'MUST NOT rechercher automatiquement une version PGR plus récente' docs/rules/220-SKELETONS.md
|
||||
grep -F "snapshot PGR précis choisi par le projet" docs/rules/220-SKELETONS.md
|
||||
|
||||
grep -Fx '<!-- version: 3 -->' docs/rules/230-ADOPTION.md
|
||||
grep -F 'elle devient l'autorité des sessions et releases suivantes du projet' docs/rules/230-ADOPTION.md
|
||||
grep -F 'MUST NOT rechercher automatiquement « la dernière version de PGR »' docs/rules/230-ADOPTION.md
|
||||
grep -F '## Autorité locale et réalignement futur' docs/rules/230-ADOPTION.md
|
||||
grep -F 'identifier le snapshot PGR choisi' docs/rules/230-ADOPTION.md
|
||||
grep -F 'Le réalignement ne doit pas être présenté comme une mise à jour automatique' docs/rules/230-ADOPTION.md
|
||||
|
||||
grep -Fx '<!-- version: 5 -->' docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md
|
||||
grep -F "la baseline locale et ses owners deviennent l'autorité des sessions et releases suivantes" docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md
|
||||
grep -F 'MUST NOT rechercher automatiquement « la dernière version de PGR »' docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md
|
||||
|
||||
grep -Fx '<!-- version: 2 -->' docs/templates/007-EXISTING_PROJECT_ADOPTION.md
|
||||
grep -F 'snapshot PGR choisi' docs/templates/007-EXISTING_PROJECT_ADOPTION.md
|
||||
grep -F '## Autorité après adoption' docs/templates/007-EXISTING_PROJECT_ADOPTION.md
|
||||
grep -F 'réalignement PGR automatique : non' docs/templates/007-EXISTING_PROJECT_ADOPTION.md
|
||||
grep -F 'Elles ne recherchent pas automatiquement « la dernière version de PGR »' docs/templates/007-EXISTING_PROJECT_ADOPTION.md
|
||||
|
||||
grep -Fx '<!-- version: 9 -->' docs/rules/210-WORKFLOW.md
|
||||
grep -Fx '<!-- version: 2 -->' docs/templates/003-NEW_SESSION_PROMPT.md
|
||||
|
||||
grep -Fx '<!-- version: 3 -->' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||||
grep -F 'Sa gate opérateur du `2026-10-01` est `PASS`' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||||
grep -F 'Décisions de mise en œuvre `alpha.3`' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||||
grep -F 'la frontière Knowledge reste réservée à `alpha.4`' 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'}; assert {p.name for p in Path('history/0.1.5').glob('*.md')} == {'alpha.1.md','alpha.1.fix.1.md','alpha.2.md'}; print('0.1.5 alpha.3 history boundary: clean (106 closed prior pairs, current alpha.3 pending)')"
|
||||
|
||||
git diff --exit-code -- history/0.1.4
|
||||
|
||||
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 RULES.md docs/000-README.md \
|
||||
docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md \
|
||||
docs/rules/220-SKELETONS.md docs/rules/230-ADOPTION.md \
|
||||
docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md \
|
||||
docs/templates/007-EXISTING_PROJECT_ADOPTION.md \
|
||||
deltas/0.1.5/alpha.3.md
|
||||
|
||||
git diff --cached --check
|
||||
git status --short
|
||||
```
|
||||
|
||||
Le scope indexé attendu avant ajout du history est exactement :
|
||||
|
||||
```text
|
||||
M README.md
|
||||
M RULES.md
|
||||
M VERSION
|
||||
A deltas/0.1.5/alpha.3.md
|
||||
M docs/000-README.md
|
||||
M docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||||
M docs/rules/220-SKELETONS.md
|
||||
M docs/rules/230-ADOPTION.md
|
||||
M docs/skeletons/001-PROJECT_GOVERNANCE_FOUNDATION.md
|
||||
M docs/templates/007-EXISTING_PROJECT_ADOPTION.md
|
||||
```
|
||||
|
||||
## Revue opérateur attendue
|
||||
|
||||
La revue doit confirmer qu'un projet adopté reste effectivement gouvernable sans consulter PGR, que le réalignement futur est une opération explicite et non un abonnement implicite, et qu'aucune règle n'oblige un projet à suivre automatiquement les nouvelles releases PGR.
|
||||
|
||||
Elle doit aussi confirmer que `210-WORKFLOW.md` et `003-NEW_SESSION_PROMPT.md` restent corrects sans modification et que `alpha.3` ne commence ni la frontière Knowledge ni les adoptions Games/KSP.
|
||||
Reference in New Issue
Block a user