223 lines
11 KiB
Markdown
223 lines
11 KiB
Markdown
<!-- file: deltas/0.1.5/alpha.1.md -->
|
||
<!-- version: 1 -->
|
||
|
||
# Delta 0.1.5-alpha.1 — intake, audit transversal et plan d’autonomie
|
||
|
||
## Objet
|
||
|
||
Ouvrir `0.1.5` conformément à `prompts/011-V0_1_5_START_PROMPT.md`, rejouer la stable `0.1.4`, conserver son histoire réelle et matérialiser l’inventaire des ambiguïtés avant toute modification normative.
|
||
|
||
La tranche ne modifie aucune règle, aucun skeleton ni template normatif. Elle ne commence ni l’adoption Games `0.1.6`, ni l’adoption KSP `0.1.7`, ni les audits Rust/Clippy `0.1.8`.
|
||
|
||
## Sources vérifiées avant préparation
|
||
|
||
```text
|
||
pgr-v0.1.4(1).zip
|
||
SHA-256 9f85ac16a5ad9fd788df51883b6ebf592602c5189d94e338a86edab2288b8f77
|
||
CRC PASS
|
||
contenu 310 fichiers + 44 répertoires sous pgr/
|
||
|
||
pgr-0.1.4-publish.001-report.md
|
||
SHA-256 bb0c27a69e78037328d13c7be8df255d17f55e1392f1bc1b6121dd32b6fb07da
|
||
status PASS
|
||
stable c41b69badfd10ef9500d4cc4061fc6f66644352c
|
||
```
|
||
|
||
Le SHA de l’archive reçue correspond au SHA canonique vérifié lors de la publication post-tag. L’absence de `.git` dans l’archive est normale pour l’export du tag et n’est pas interprétée comme un défaut.
|
||
|
||
## Replay de la stable
|
||
|
||
La baseline extraite a été vérifiée avant toute préparation de delta :
|
||
|
||
```text
|
||
VERSION 0.1.4
|
||
tests Python 55/55 PASS
|
||
hygiène texte 309 fichiers PASS
|
||
headers Markdown 282 fichiers PASS
|
||
tables Markdown 11 tables / 282 fichiers PASS
|
||
liens Markdown 357 liens locaux / 282 fichiers PASS
|
||
JSON 2 fichiers parsés
|
||
TOML 5 fichiers parsés
|
||
deltas 103
|
||
histories 103
|
||
appariement historique exact
|
||
```
|
||
|
||
La séquence `0.1.4` publiée est explicitement conservée :
|
||
|
||
```text
|
||
alpha.1 PASS
|
||
alpha.2 FAIL
|
||
alpha.2.fix.1 PASS
|
||
alpha.3 PASS
|
||
beta.1 PASS
|
||
rc.1 PASS
|
||
rel.1 PASS
|
||
```
|
||
|
||
Aucun history n’est réécrit pour rendre la chronologie artificiellement linéaire.
|
||
|
||
## Résultats de l’audit transversal
|
||
|
||
Le corpus courant contient `29` fichiers avec au moins un `SHOULD` ou `SHOULD NOT`, pour `242` occurrences brutes. Cette volumétrie confirme qu’une conversion mécanique serait incorrecte : la majorité des recommandations restent valides et doivent hériter d’un contrat global clarifié.
|
||
|
||
Les ambiguïtés confirmées sont consignées dans `docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md`.
|
||
|
||
### Force normative
|
||
|
||
- `RULES.md` peut faire comprendre qu’un écart à `SHOULD` doit être systématiquement justifié ;
|
||
- `230-ADOPTION.md` peut faire comprendre qu’un choix différent d’un `SHOULD` nécessite automatiquement `OVERRIDE` ;
|
||
- `400-VALIDATION.md` ne protège pas encore explicitement une gate contre l’échec fondé sur le seul écart à une recommandation ;
|
||
- plusieurs owners Web matérialisent cette ambiguïté par une justification ou un `OVERRIDE` rendu obligatoire autour d’une recommandation.
|
||
|
||
### Autonomie
|
||
|
||
Les objectifs, l’architecture, les skeletons et les patterns d’adoption contiennent déjà le principe d’autonomie, mais le contrat « baseline locale = autorité des sessions/releases suivantes » n’est pas encore propagé explicitement partout. PGR doit aussi cesser d’être interprétable comme upstream documentaire vivant après l’adoption.
|
||
|
||
`210-WORKFLOW.md` et `003-NEW_SESSION_PROMPT.md` sont classés `KEEP / REVIEW` à ce stade : ils utilisent déjà la baseline autoritaire du projet courant plutôt qu’une version PGR externe.
|
||
|
||
### Frontière PGR / Knowledge
|
||
|
||
`001-PROJECT_OBJECTIVES.md` et `002-GOVERNANCE_ARCHITECTURE.md` parlent encore de skeletons comme de « recettes Markdown ». Cette terminologie brouille la frontière décidée en `0.1.4`, où les recettes pratiques deviennent des candidats à Knowledge tandis qu’un skeleton PGR reste une spécification de composition.
|
||
|
||
`300-DOCUMENTATION.md` est proposé comme owner de la taxonomie ; aucun nouvel owner Knowledge n’est créé pendant `alpha.1`.
|
||
|
||
### Cohérence d’horizon
|
||
|
||
`docs/rules/540-JAVASCRIPT_PACKAGE_ECOSYSTEM.md` contient encore une référence vivante à l’adoption Games `0.1.5`. La trajectoire autoritaire issue de la revue `0.1.4` réserve maintenant Games à `0.1.6`, KSP à `0.1.7` et les audits Rust/Clippy à `0.1.8`.
|
||
|
||
La correction appartient à la réconciliation normative suivante. Les références historiques qui décrivent correctement un horizon antérieur ne doivent pas être réécrites.
|
||
|
||
## Modifications de la tranche
|
||
|
||
- `VERSION` passe à `0.1.5-alpha.1` ;
|
||
- `README.md` annonce l’ouverture de l’audit transversal et référence le plan actif ;
|
||
- `docs/000-README.md` ajoute les points d’entrée actifs de `0.1.5` ;
|
||
- `docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md` consigne preuves, ambiguïtés, owners et trajectoire ;
|
||
- le présent delta décrit la gate opérateur.
|
||
|
||
`ROADMAP.md`, `CHANGELOG.md`, `RULES.md`, `docs/rules/`, `docs/skeletons/` et `docs/templates/` restent normativement inchangés pendant cette tranche d’ouverture.
|
||
|
||
## Décision de tranche
|
||
|
||
```text
|
||
baseline 0.1.4 VERIFIED
|
||
history 0.1.4 alpha.2 FAIL PRESERVED
|
||
inventaire transversal COMPLETE
|
||
conversion mécanique des SHOULD REJECTED
|
||
owners ciblés IDENTIFIED
|
||
règles modifiées en alpha.1 NO
|
||
Games / KSP / audits Rust commencés NO
|
||
prochaine tranche alpha.2 — sémantique normative et gates/adoption
|
||
```
|
||
|
||
## Trajectoire retenue
|
||
|
||
```text
|
||
alpha.1 intake + audit transversal + plan
|
||
alpha.2 sémantique MUST/SHOULD/MAY + gates/adoption + cas concrets
|
||
alpha.3 autonomie locale + réalignement PGR volontaire
|
||
alpha.4 frontière PGR / SaseDev Knowledge
|
||
beta.1 réconciliation transversale
|
||
rc.1 freeze + handoff
|
||
rel.1 promotion stable
|
||
```
|
||
|
||
Le découpage peut être ajusté uniquement si une gate révèle un défaut réel ou si deux owners ne peuvent pas être corrigés proprement dans la même tranche.
|
||
|
||
## Gate opérateur
|
||
|
||
Appliquer le delta puis exécuter depuis la racine du dépôt :
|
||
|
||
```bash
|
||
cat VERSION
|
||
|
||
test -f docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||
test -f deltas/0.1.5/alpha.1.md
|
||
test ! -e history/0.1.5/alpha.1.md
|
||
|
||
grep -Fx '0.1.5-alpha.1' VERSION
|
||
grep -A2 '^## Statut$' history/0.1.4/alpha.2.md | grep -Fx 'FAIL'
|
||
grep -A2 '^## Statut$' history/0.1.4/alpha.2.fix.1.md | grep -Fx 'PASS'
|
||
grep -A2 '^## Statut$' history/0.1.4/rel.1.md | grep -Fx 'PASS'
|
||
|
||
grep -F -- '- `(x) 0.1.4`' 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 -- '- `( ) 0.1.9`' ROADMAP.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
|
||
|
||
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 Path('deltas/0.1.5/alpha.1.md').is_file(); assert not Path('history/0.1.5/alpha.1.md').exists(); print('0.1.5 alpha.1 history boundary: clean (103 prior pairs, current delta pending)')"
|
||
|
||
grep -F 'forte recommandation non obligatoire' prompts/011-V0_1_5_START_PROMPT.md
|
||
grep -F 'ne doivent ni rechercher automatiquement « la dernière version de PGR »' prompts/011-V0_1_5_START_PROMPT.md
|
||
grep -F 'réservée à `0.1.6`' prompts/011-V0_1_5_START_PROMPT.md
|
||
grep -F 'réservée à `0.1.7`' prompts/011-V0_1_5_START_PROMPT.md
|
||
grep -F 'réservés à `0.1.8`' prompts/011-V0_1_5_START_PROMPT.md
|
||
|
||
grep -F '29` fichiers' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||
grep -F '242` occurrences' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||
grep -F 'alpha.2` — sémantique normative' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||
grep -F 'alpha.3` — autonomie locale' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||
grep -F 'alpha.4` — frontière PGR / SaseDev Knowledge' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||
|
||
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/alpha.1.md
|
||
|
||
git diff --cached --check
|
||
git status --short
|
||
```
|
||
|
||
Le scope indexé attendu avant ajout du history est :
|
||
|
||
```text
|
||
M README.md
|
||
M VERSION
|
||
A deltas/0.1.5/alpha.1.md
|
||
M docs/000-README.md
|
||
A docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
|
||
```
|
||
|
||
Aucun fichier sous `docs/rules/`, `docs/skeletons/` ou `docs/templates/` ne doit être indexé pour `alpha.1`.
|
||
|
||
## Revue opérateur attendue
|
||
|
||
La revue doit confirmer que l’inventaire distingue bien :
|
||
|
||
- un `SHOULD` réellement recommandatoire d’une obligation `MUST` ;
|
||
- un choix local face à une recommandation d’un véritable `OVERRIDE` ;
|
||
- l’autonomie documentaire du projet d’une simple absence de dépendance runtime/build ;
|
||
- une skeleton specification normative d’une recette pratique candidate à Knowledge ;
|
||
- les références vivantes à corriger des références historiques à préserver.
|
||
|
||
Elle doit également confirmer qu’aucune adoption Games/KSP, aucun audit Rust futur et aucune réouverture Tauri ne sont introduits par la tranche.
|
||
|
||
## Transition
|
||
|
||
### PASS
|
||
|
||
Produire `history/0.1.5/alpha.1.md` à partir des résultats réellement observés. Dans la même réponse, préparer séparément le delta `0.1.5-alpha.2` consacré à la sémantique normative, aux conséquences de gate/adoption et aux cas concrets déjà identifiés, sans absorber l’autonomie `alpha.3` ni la frontière Knowledge `alpha.4`.
|
||
|
||
Après remise du history, fournir automatiquement le bloc opérateur exact pour appliquer le history, committer/pusher `0.1.5-alpha.1`, puis seulement appliquer le delta suivant conformément à `docs/templates/006-OPERATOR_COMMAND_HANDOFF.md`.
|
||
|
||
### FAIL
|
||
|
||
Consigner le résultat réel dans le history, puis ouvrir `0.1.5-alpha.1.fix.1` ou un REPLAN selon la cause. Aucun changement prévu pour `alpha.2` ne doit être absorbé silencieusement dans le fix.
|