Add JDGF domain framework documentation - #7
Conversation
lioneldyla
left a comment
There was a problem hiding this comment.
Revue des incohérences — PR #7
Après analyse des 4 fichiers ajoutés et de l'échec CI, voici les incohérences identifiées.
1. Incohérence dans le diagramme de dépendances (JDGF_CONCEPT_NOTE.md vs JUDICIAL_INTELLIGENCE_EXTENSION_PLAN.md)
JDGF_CONCEPT_NOTE.md § 7 représente la chaîne de dépendances ainsi 👍
JDGF-LAB-FRAMEWORK core
↓
contracts / manifests / registries / governance
↓
Judicial Intelligence extension
↓
JDGF domain framework
↓
JDGAT / JDGO / CS GREFFE OS / research use cases
JUDICIAL_INTELLIGENCE_EXTENSION_PLAN.md § 3 représente la même chaîne différemment 👍
JDGF-LAB-FRAMEWORK Core
├── Contracts / Registries / Governance / Runtime / SDK / CLI
↓
Judicial Intelligence Extension
↓
Judicial Data Governance Framework (JDGF)
↓
JDGAT • JDGO • CS GREFFE OS • Research
Problème : Dans le CONCEPT_NOTE, les contracts / manifests / registries / governance apparaissent comme une couche intermédiaire distincte entre le core et l'extension Judicial Intelligence. Dans l'EXTENSION_PLAN, ces mêmes composants sont des sous-composants du core (branches du core, pas une couche séparée). Les deux représentations décrivent la même architecture mais de manière incompatible visuellement.
Correction suggérée : Aligner les deux diagrammes. Soit les contrats/registries sont une sous-couche du core (comme dans l'EXTENSION_PLAN), soit ils forment une couche intermédiaire explicite (comme dans le CONCEPT_NOTE). Choisir une seule représentation canonique et la reproduire à l'identique dans les deux documents.
2. Documents listés dans JUDICIAL_INTELLIGENCE_EXTENSION_PLAN.md § 6 mais absents de la PR
Le document JUDICIAL_INTELLIGENCE_EXTENSION_PLAN.md (§ 6 — Initial Deliverables) liste les documents suivants comme livrables de la première phase 👍
docs/JDGAT_OVERVIEW.md
docs/JDGO_OVERVIEW.md
docs/JUDICIAL_GLOSSARY.md
Problème : Ces 3 fichiers ne sont pas inclus dans cette PR. La PR ne livre que 4 fichiers (JDGF_CONCEPT_NOTE.md, JDGF_CURRENT_STATE_AUDIT.md, JUDICIAL_INTELLIGENCE_EXTENSION_PLAN.md, NEXT_VERTICAL_SLICE.md). Le document d'extension plan affirme donc que des livrables existent alors qu'ils sont absents.
Correction suggérée : Soit inclure les fichiers manquants dans cette PR, soit mettre à jour § 6 pour indiquer que JDGAT_OVERVIEW.md, JDGO_OVERVIEW.md et JUDICIAL_GLOSSARY.md sont des livrables futurs (Phase 2), pas des livrables initiaux de cette phase.
3. Documents listés dans NEXT_VERTICAL_SLICE.md § 8 qui ne correspondent pas aux livrables actuels
NEXT_VERTICAL_SLICE.md § 8 liste les outputs attendus à la fin du slice 👍
docs/JDGAT_OVERVIEW.md
docs/JDGAT_MATURITY_MODEL.md
docs/JDGAT_ASSESSMENT_DOMAINS.md
docs/JDGAT_SCORING_MODEL.md
docs/JDGAT_GLOSSARY.md
Problème : Ces documents ne sont pas inclus dans cette PR alors que le NEXT_VERTICAL_SLICE.md est présenté comme décrivant "le prochain incrément". Si ce document est livré dans cette PR, ses outputs attendus devraient aussi y figurer, ou bien le document devrait préciser qu'il décrit un slice futur non encore réalisé.
Correction suggérée : Clarifier dans l'introduction du NEXT_VERTICAL_SLICE.md que ce document est un plan prospectif (les outputs seront livrés dans une PR ultérieure), pas le compte-rendu d'un slice terminé.
4. Échec CI — argument --cov non reconnu par pytest
Logs CI :
ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
pytest: error: unrecognized arguments: --cov=src/jdgf_framework --cov-report=xml
Problème : La commande dans .github/workflows/ci.yml utilise --cov=src/jdgf_framework et --cov-report=xml, mais pytest-cov n'est pas listé dans les dépendances dev du pyproject.toml. Les dépendances dev actuelles sont : httpx2, pip-audit, pytest, ruff. pytest-cov est absent.
Correction suggérée : Ajouter pytest-cov aux dépendances dev dans pyproject.toml 👍 ```toml
[project.optional-dependencies]
dev = [
"httpx2==2.4.0",
"pip-audit==2.10.1",
"pytest>=8,<9",
"pytest-cov>=5,<6",
"ruff==0.15.20",
]
Puis régénérer `uv.lock`. Ce problème préexiste à cette PR mais bloque le CI sur toute PR ciblant cette branche.
---
### 5. Incohérence mineure de terminologie — "Audit" dans JDGF_CURRENT_STATE_AUDIT.md
Dans `JDGF_CURRENT_STATE_AUDIT.md`, le titre du document est **"JDGF Current State Audit"**, mais le § 1 précise que l'audit porte sur `JDGF-LAB-FRAMEWORK` (le framework technique), **pas** sur `JDGF` (le domaine).
Le nom du fichier (`JDGF_CURRENT_STATE_AUDIT.md`) suggère un audit du framework JDGF, alors que le contenu audite `JDGF-LAB-FRAMEWORK`. Cela entre en tension avec la distinction fondamentale établie dans le `CONCEPT_NOTE` (§ 1) entre les deux.
**Correction suggérée :** Renommer le fichier en `JDGF_LAB_FRAMEWORK_STATE_AUDIT.md` ou adapter le titre interne pour refléter que l'objet audité est bien `JDGF-LAB-FRAMEWORK` et non `JDGF`.
---
### Résumé
| # | Fichier(s) concerné(s) | Type d'incohérence | Criticité |
|---|---|---|---|
| 1 | CONCEPT_NOTE + EXTENSION_PLAN | Diagramme de dépendances incompatible | Moyenne |
| 2 | EXTENSION_PLAN | Livrables listés mais absents | Haute |
| 3 | NEXT_VERTICAL_SLICE | Outputs décrits comme attendus mais non livrés | Moyenne |
| 4 | ci.yml + pyproject.toml | `pytest-cov` manquant → CI rouge | Bloquante |
| 5 | CURRENT_STATE_AUDIT | Titre ambigu JDGF vs JDGF-LAB-FRAMEWORK | Faible |
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vm3VLqZh7gxAT27nE6PwYp
Adds JDGF concept note, continuity audit, judicial extension plan, next vertical slice, and updates the documentation index.