9.1 KiB
Delta 0.1.5-alpha.4 — frontière PGR / SaseDev Knowledge
Objet
Stabiliser la frontière durable entre le référentiel normatif PGR et les contenus pratiques qui peuvent vivre dans une base de connaissances séparée.
PGR doit rester auto-suffisant pour comprendre et appliquer ses règles. SaseDev Knowledge MAY accueillir des howtos détaillés, recettes pratiques, snippets, exemples d'intégration, dépannage, comparatifs et variantes d'implémentation, mais ne devient ni owner normatif de PGR ni dépendance nécessaire à son interprétation.
La tranche ne déplace aucun contenu vers Knowledge et ne crée aucun lien de dépendance vers un dépôt externe.
Précondition
Le history history/0.1.5/alpha.3.md doit être présent avec statut PASS avant application de ce delta.
La séquence acquise reste conservée :
alpha.1 PARTIAL
alpha.1.fix.1 PASS
alpha.2 PASS
alpha.3 PASS
Les histories précédents ne sont pas réécrits.
Taxonomie stabilisée
PGR conserve les informations nécessaires à son propre contrat :
PGR
règles et contrats de gouvernance
objectifs et architecture
owners normatifs
skeleton specifications minimales
templates nécessaires à un contrat réutilisable
validations directement liées aux règles
Les contenus suivants sont pratiques et MAY vivre dans une base de connaissances séparée :
contenus pratiques complémentaires
howtos détaillés
recettes pratiques
snippets
exemples d'intégration
dépannage
comparatifs
variantes d'implémentation
Cette classification est sémantique. Elle ne déclenche aucun déplacement automatique.
Auto-suffisance
Une règle PGR doit rester interprétable depuis PGR lui-même. Un document pratique externe MAY aider à l'implémentation, mais MUST NOT être nécessaire pour déterminer la force, le scope ou les exigences d'une règle PGR.
SaseDev Knowledge est une destination possible pour les contenus pratiques, pas un upstream normatif. PGR MUST NOT dépendre de sa disponibilité.
Une extraction physique future exige une destination autoritaire explicitement fournie et vérifiée. 0.1.5-alpha.4 ne réalise aucune migration.
Owners réconciliés
docs/objectives/001-PROJECT_OBJECTIVES.mdrévision2: remplace « recette Markdown » par « spécification Markdown composable », ajoute l'auto-suffisance PGR et sépare les contenus pratiques externes ;docs/architecture/002-GOVERNANCE_ARCHITECTURE.mdrévision5: clarifie la nature du skeleton et formalise la frontière architecturale avec les contenus pratiques externes ;docs/rules/300-DOCUMENTATION.mdrévision5: devient l'owner documentaire de la taxonomie normative/pratique, de l'auto-suffisance et du caractère non automatique d'une extraction future.
Aucun owner Knowledge supplémentaire n'est créé.
Cohérence documentaire
README.mdprésente0.1.5-alpha.4comme tranche active ;docs/000-README.mdprésente les trois owners comme réconciliés enalpha.4;docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.mdpasse en révision4, enregistrealpha.3 PASSet les décisions de mise en œuvrealpha.4.
RULES.md, ROADMAP.md et CHANGELOG.md restent inchangés. Les adoptions 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.3 avec son history PASS, appliquer ce delta puis exécuter :
cat VERSION
test -f history/0.1.5/alpha.3.md
test -f deltas/0.1.5/alpha.4.md
test ! -e history/0.1.5/alpha.4.md
grep -Fx '0.1.5-alpha.4' 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 -Fx '<!-- version: 2 -->' docs/objectives/001-PROJECT_OBJECTIVES.md
grep -F 'spécifications Markdown composables' docs/objectives/001-PROJECT_OBJECTIVES.md
grep -F 'rester auto-suffisant pour comprendre et appliquer les contrats normatifs PGR' docs/objectives/001-PROJECT_OBJECTIVES.md
grep -F 'howtos détaillés, recettes pratiques, snippets, exemples d’intégration, dépannage, comparatifs et variantes d’implémentation vivent dans une base de connaissances séparée' docs/objectives/001-PROJECT_OBJECTIVES.md
! grep -F 'recettes Markdown composables' docs/objectives/001-PROJECT_OBJECTIVES.md
grep -Fx '<!-- version: 5 -->' docs/architecture/002-GOVERNANCE_ARCHITECTURE.md
grep -F 'Un skeleton est une spécification Markdown composable' docs/architecture/002-GOVERNANCE_ARCHITECTURE.md
grep -F '## Frontière avec les contenus pratiques externes' docs/architecture/002-GOVERNANCE_ARCHITECTURE.md
grep -F 'PGR doit rester auto-suffisant pour comprendre et appliquer ses contrats normatifs' docs/architecture/002-GOVERNANCE_ARCHITECTURE.md
grep -F 'SaseDev Knowledge est une destination possible' docs/architecture/002-GOVERNANCE_ARCHITECTURE.md
grep -F "MUST NOT dépendre d'un dépôt Knowledge" docs/architecture/002-GOVERNANCE_ARCHITECTURE.md
! grep -F 'Un skeleton est une recette Markdown' docs/architecture/002-GOVERNANCE_ARCHITECTURE.md
grep -Fx '<!-- version: 5 -->' docs/rules/300-DOCUMENTATION.md
grep -F '## Frontière normative et pratique' docs/rules/300-DOCUMENTATION.md
grep -F 'SaseDev Knowledge MAY jouer ce rôle, sans devenir un owner normatif de PGR' docs/rules/300-DOCUMENTATION.md
grep -F 'PGR MUST rester auto-suffisant' docs/rules/300-DOCUMENTATION.md
grep -F "MUST NOT être requis pour déterminer la force, le scope ou les exigences d'une règle PGR" docs/rules/300-DOCUMENTATION.md
grep -F 'Classifier un contenu comme pratique ne crée pas une obligation de déplacement' docs/rules/300-DOCUMENTATION.md
grep -F 'MUST NOT créer de dépendance de PGR vers SaseDev Knowledge' docs/rules/300-DOCUMENTATION.md
grep -Fx '<!-- version: 4 -->' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
grep -F 'La gate opérateur de `alpha.3` 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.4`' docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
grep -F 'ne créer aucun nouvel owner Knowledge' 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 -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','alpha.4.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'}; print('0.1.5 alpha.4 history boundary: clean (107 closed prior pairs, current alpha.4 pending)')"
git diff --exit-code -- history/0.1.4
git diff --exit-code -- RULES.md ROADMAP.md CHANGELOG.md docs/rules/210-WORKFLOW.md docs/rules/230-ADOPTION.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 docs/000-README.md \
docs/objectives/001-PROJECT_OBJECTIVES.md \
docs/architecture/002-GOVERNANCE_ARCHITECTURE.md \
docs/rules/300-DOCUMENTATION.md \
docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md \
deltas/0.1.5/alpha.4.md
git diff --cached --check
git status --short
Le scope indexé attendu avant ajout du history est exactement :
M README.md
M VERSION
A deltas/0.1.5/alpha.4.md
M docs/000-README.md
M docs/architecture/002-GOVERNANCE_ARCHITECTURE.md
M docs/objectives/001-PROJECT_OBJECTIVES.md
M docs/plans/011-V0_1_5_NORMATIVE_AUTONOMY_PLAN.md
M docs/rules/300-DOCUMENTATION.md
Revue opérateur attendue
La revue doit confirmer que la frontière est sémantique et non une dépendance entre dépôts : PGR reste utilisable seul, Knowledge reste une destination pratique possible, aucun contenu n'est déplacé et aucun owner externe n'est requis pour interpréter une règle.
Elle doit aussi confirmer que la tranche ne modifie pas les contrats d'autonomie acquis en alpha.3 et ne commence pas les adoptions Games/KSP.