# 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.