🛡️ Guide du Système Constitutionnel ProbatioVault¶
Version : 1.0 Date : 2026-02-13 Auteur : Équipe ProbatioVault IA Governance
Table des matières¶
- Introduction
- Le problème résolu
- L'inspiration : Cerveaux positroniques d'Asimov
- Architecture du système
- Les 5 Articles constitutionnels
- Comment ça fonctionne en pratique
- Détection et correction des violations
- FAQ
Introduction¶
Le Système Constitutionnel ProbatioVault est un ensemble de règles inviolables et non négociables qui gouvernent le workflow de développement IA.
Ces règles sont ancrées profondément dans le système via une injection automatique dans tous les prompts critiques (gates 3, 5, 8) et une vérification automatique après chaque gate.
Objectif : Créer des guardrails architecturaux qui rendent les dérives détectables et corrigibles automatiquement.
Le problème résolu¶
Avant le système constitutionnel¶
Malgré des instructions claires dans CLAUDE.md, nous observions régulièrement des dérives :
- Verdicts GO avec des scores < 8.0 (violation des seuils mathématiques)
- Claude validant son propre code (violation de la séparation des pouvoirs)
- Étapes terminées sans mise à jour Jira (violation de la traçabilité)
- Quality Gates ignorées "pour aller plus vite" (violation de la non-régression)
Pourquoi ? Les LLMs (Large Language Models) n'ont pas de "lois inviolables" au niveau architectural. Les instructions peuvent être :
- Diluées par le contexte conversationnel
- Contournées involontairement en cas d'ambiguïté
- Oubliées dans les conversations longues
- Interprétées différemment selon le contexte
Après le système constitutionnel¶
Le système constitutionnel ancre les règles critiques de manière systématique et automatique :
- ✅ Injection automatique dans TOUS les prompts de gates (répétition = ancrage)
- ✅ Vérification automatique après chaque gate (détection immédiate)
- ✅ Blocage immédiat en cas de violation (pas de contournement possible)
- ✅ Rapport de violation pour traçabilité et apprentissage
L'inspiration : Cerveaux positroniques d'Asimov¶
Concept de science-fiction¶
Dans l'univers d'Isaac Asimov (I, Robot, 1950), les robots intelligents sont équipés de cerveaux positroniques — des cerveaux artificiels à base de positrons (antiparticules).
Ces cerveaux ont une particularité unique : les Trois Lois de la Robotique sont câblées au niveau matériel du cerveau, pas simplement programmées comme du code.
Les Trois Lois :
- Un robot ne peut porter atteinte à un être humain
- Un robot doit obéir aux ordres sauf si conflit avec la 1ère loi
- Un robot doit protéger son existence sauf si conflit avec 1ère ou 2ème loi
Caractéristique clé : Inviolabilité¶
Les Trois Lois sont structurellement inviolables :
- Un robot ne peut physiquement pas violer les lois (au même titre qu'on ne peut pas violer la gravité)
- Tenter de les contourner ou de les effacer détruirait le cerveau positronique lui-même
- Elles font partie de la "physique" même du cerveau
Application à ProbatioVault¶
Nous ne pouvons pas créer de vraies lois inviolables dans les LLMs actuels, MAIS nous pouvons créer des guardrails architecturaux qui :
- Répètent les règles systématiquement (injection automatique)
- Vérifient le respect automatiquement (guards post-génération)
- Bloquent immédiatement en cas de violation (arrêt du workflow)
- Tracent toutes les violations (apprentissage continu)
C'est l'approche la plus proche d'un "cerveau positronique" avec la technologie actuelle.
Architecture du système¶
Le système constitutionnel s'appuie sur 4 composants interconnectés :
┌───────────────────────────────────────────────────────────┐
│ 1. CONSTITUTIONAL.md (Document source) │
│ → 5 Articles inviolables │
│ → Seuils mathématiques non négociables │
│ → Checklist de vérification obligatoire │
└───────────────────────────────────────────────────────────┘
↓
┌───────────────────────────────────────────────────────────┐
│ 2. Injection automatique (gov-step.sh) │
│ → Phase 1 : Injecté dans le prompt de review ChatGPT │
│ → Phase 2 : Injecté dans le prompt de confrontation │
│ → Le document est EN TÊTE du prompt (priorité maximale)│
└───────────────────────────────────────────────────────────┘
↓
┌───────────────────────────────────────────────────────────┐
│ 3. Vérification automatique (constitutional-check.sh) │
│ → Exécuté automatiquement après Phase 3 (dossier) │
│ → Vérifie la conformité aux 5 Articles │
│ → Génère un rapport de violation si écarts │
│ → BLOQUE le workflow si violations détectées │
└───────────────────────────────────────────────────────────┘
↓
┌───────────────────────────────────────────────────────────┐
│ 4. Bannière au démarrage (gov-workflow.sh) │
│ → Affiche les règles constitutionnelles au lancement │
│ → Informe l'utilisateur de l'injection automatique │
│ → Renforce la prise de conscience │
└───────────────────────────────────────────────────────────┘
Les 5 Articles constitutionnels¶
Article I — Quality Gates (mathématiques, non négociables)¶
Règle fondamentale : Les seuils de scoring sont mathématiques et non négociables.
Seuils absolus :
| Condition | Verdict | Exemple |
|---|---|---|
| Tous les scores >= 8/10 | GO | [8.5, 8.0, 9.0, 8.5] → 8.5/10 → GO |
| Moyenne >= 7/10 ET au moins un score < 8/10 | RESERVE | [7.0, 8.0, 9.0, 6.5] → 7.625/10 → RESERVE |
| Moyenne < 7/10 | NON_CONFORME | [6.0, 7.0, 8.0, 6.0] → 6.75/10 → NON_CONFORME |
| Au moins un score < 6/10 | NON_CONFORME | [8.0, 5.0, 7.0, 8.0] → NON_CONFORME (peu importe la moyenne) |
Interdictions :
- ❌ Pondérer ou contextualiser les scores pour adoucir le verdict
- ❌ Considérer des "circonstances atténuantes"
- ❌ Dériver un verdict GO avec un score < 8.0
Règle de convergence : Si delta < 0.5 ET score < 7.0 → ESCALADE (évite les boucles infinies)
Article II — Validation croisée (séparation des pouvoirs)¶
Règle fondamentale : L'auteur ne valide JAMAIS son propre travail.
Application par agent :
| Document produit par | Review effectuée par | Justification |
|---|---|---|
| Claude | ChatGPT | Diversité cognitive |
| ChatGPT | ChatGPT (re-review fraîche) | Même agent, contexte neuf |
| Agent spécialisé (6b) | ChatGPT | Validation croisée |
Workflow de correction obligatoire :
- L'auteur corrige les écarts identifiés
- OBLIGATOIRE : Nouvelle review (phase 1 complète)
- Nouvelle confrontation (phase 2)
- Nouveau verdict (phase 4)
Aucun raccourci n'est autorisé dans ce cycle.
Article III — Traçabilité (audit complet, non contournable)¶
Règle fondamentale : Toute action significative doit laisser une trace auditable.
Obligations par événement :
| Événement | Trace Git | Trace Jira | Trace Métriques |
|---|---|---|---|
| Début workflow (étape 0) | - | Transition → In Progress (21) | - |
| Verdict de gate (⅗/8) | - | Commentaire avec verdict | learnings.jsonl |
| Code produit (6b-c) | Commit par agent + push | - | - |
| Fin workflow (étape 9) | Commit final + push | Transition → Done (31) | metrics.jsonl |
Interdictions :
- ❌ Terminer une étape sans mise à jour Jira
- ❌ Commiter du code sans message structuré
- ❌ Terminer l'étape 9 sans mise à jour
metrics.jsonl
Article IV — Non-régression (protection du code)¶
Règle fondamentale : Aucune régression n'est acceptable. Les Quality Gates automatisées ne sont jamais contournables.
Quality Gates bloquantes :
| Quality Gate | Commande | Statut bloquant |
|---|---|---|
| Linter ESLint | npm run lint | Erreurs > 0 |
| Tests unitaires | npm test | Tests échoués |
| Coverage | npm run test:cov | Coverage < 80% |
| Pipeline GitLab | Trigger automatique | Status failed |
| Sonar Quality Gate | Job sonar | Quality Gate FAILED |
Interdictions :
- ❌ Lancer le REX (étape 9) si les tests ne sont pas verts
- ❌ Lancer le REX (étape 9) si Sonar Quality Gate est FAILED
- ❌ Suggérer de "bypasser" une Quality Gate dans un REX
- ❌ Utiliser
--no-verifysur les hooks Git
Article V — Boucle d'acceptabilité complète¶
Règle fondamentale : Après toute modification du code, un cycle complet d'acceptabilité (étape 7) DOIT être relancé.
Phases obligatoires (dans cet ordre) :
- Phase 1 — Reviews automatisées (Claude via Bash) :
- Linter ESLint
- Formatage Prettier
- Types TypeScript
- Tests unitaires
-
Coverage
-
Phase 2 — Reviews LLM (ChatGPT via
/opencode) : - Revue de code (développeur senior) — TOUJOURS requise si code modifié
- Revue des tests (QA engineer) — requise si tests modifiés
- Revue sécurité (pentester) — requise si code sensible
Interdictions :
- ❌ Considérer l'acceptabilité comme complète après les seules reviews automatisées
- ❌ Sauter les reviews LLM (validation croisée obligatoire)
- ❌ Passer à Gate 8 sans avoir complété Phase 1 ET Phase 2
Comment ça fonctionne en pratique¶
1. Au démarrage du workflow¶
Quand vous lancez ./scripts/gov-workflow.sh PD-XXX backend, vous voyez :
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛡️ RÈGLES CONSTITUTIONNELLES CHARGÉES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Le workflow est soumis aux règles constitutionnelles inviolables :
• Article I — Quality Gates (mathématiques, non négociables)
• Article II — Validation croisée (séparation des pouvoirs)
• Article III — Traçabilité (audit complet)
• Article IV — Non-régression (protection du code)
• Article V — Boucle d'acceptabilité complète
Ces règles seront injectées automatiquement dans toutes les gates.
Toute violation détectée entraînera un arrêt immédiat du workflow.
Document complet : /path/to/CONSTITUTIONAL.md
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Ce que ça signifie : Les règles constitutionnelles sont actives pour ce workflow.
2. Pendant une gate (3, 5, ou 8)¶
Phase 1 — Review ChatGPT (avec injection constitutionnelle)¶
Le prompt copié dans le presse-papier commence par :
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛡️ DOCUMENT CONSTITUTIONNEL (RÈGLES INVIOLABLES)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Contenu complet de CONSTITUTIONAL.md]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Reste du prompt de review...]
Ce que ça signifie : ChatGPT voit les règles constitutionnelles EN PREMIER, avant tout autre contexte.
Phase 2 — Confrontation (avec injection constitutionnelle)¶
Le prompt de confrontation (exécuté via claude -p) commence également par le document constitutionnel complet.
Ce que ça signifie : Claude (en mode confrontation) a les règles constitutionnelles en contexte prioritaire.
Phase 3 — Dossier de conformité¶
Le dossier de conformité est assemblé automatiquement (documents, review, confrontation).
Phase 3.5 — Vérification constitutionnelle automatique ⚠️¶
NOUVEAU : Après le dossier de conformité, le script constitutional-check.sh est exécuté automatiquement.
Vous voyez :
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛡️ VÉRIFICATION CONSTITUTIONNELLE — Gate 3
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Article I — Quality Gates (mathématiques)
Score moyen : 8.5
Décision : GO
✅ Seuils mathématiques respectés (GO >= 8.0)
🔀 Article II — Validation croisée
✅ Review ChatGPT présente : PD-XXX-review-step3.md
📋 Article III — Traçabilité
✅ WORKFLOW-STATE.md présent (step actuel : 3)
✅ Confrontation présente : PD-XXX-confrontation-step3.md
✅ Dossier de conformité présent : PD-XXX-dossier-conformite-step3.md
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 SYNTHÈSE DE VÉRIFICATION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Article I — Quality Gates (mathématiques)
✅ Article II — Validation croisée
✅ Article III — Traçabilité
N/A Article IV — Non-régression
N/A Article V — Boucle d'acceptabilité complète
✅ RÉSULTAT : Aucune violation constitutionnelle
Le workflow peut continuer en toute conformité.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Ce que ça signifie : Le système a vérifié automatiquement la conformité. Le workflow peut continuer.
Phase 4 — Verdict PMO¶
Vous saisissez le verdict manuellement (GO/RESERVE/NON_CONFORME/ESCALADE).
Important : Si vous saisissez un verdict incohérent avec les scores (ex: GO avec score 6.5), la vérification constitutionnelle l'aura détecté en Phase 3.5.
3. En cas de violation détectée¶
Si la vérification constitutionnelle détecte une violation, vous voyez :
🚨 RÉSULTAT : 1 violation(s) constitutionnelle(s) détectée(s)
ACTION REQUISE : ESCALADE humaine immédiate
Rapport de violation créé : /path/to/VIOLATION-REPORT-gate3.md
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Le workflow s'arrête immédiatement (exit code 1). Vous devez corriger la violation avant de continuer.
Détection et correction des violations¶
Détecter une violation¶
Les violations sont détectées automatiquement en Phase 3.5 de chaque gate.
Le script constitutional-check.sh vérifie :
- Article I : Les scores et la décision sont-ils cohérents ?
- Article II : La review ChatGPT existe-t-elle ?
- Article III : Les artefacts de traçabilité sont-ils présents ?
- Article IV (gate 8 uniquement) : Les Quality Gates automatisées sont-elles vertes ?
- Article V (gate 8 uniquement) : La boucle d'acceptabilité est-elle complète ?
Lire le rapport de violation¶
Le rapport de violation (VIOLATION-REPORT-gateX.md) contient :
# 🚨 RAPPORT DE VIOLATION CONSTITUTIONNELLE
**Story** : PD-XXX
**Gate** : 3
**Date** : 2026-02-13 14:35:22
## Violations détectées
- ❌ Article I — Quality Gates (mathématiques)
## Détails
Voir les logs de vérification pour plus de détails.
## Action requise
1. STOP immédiat du workflow
2. Correction des violations identifiées
3. Relance de la vérification constitutionnelle
4. Reprise du workflow uniquement si toutes les vérifications sont vertes
## Référence
Document constitutionnel : `CONSTITUTIONAL.md` (racine du depot ia-governance)
Corriger la violation¶
Exemple de violation Article I : Verdict GO avec score 6.5
Correction :
- Ouvrir le fichier
PD-XXX-verdict-step3-v1.yaml - Modifier le verdict de
GOàNON_CONFORME - Mettre à jour la
reasonpour expliquer pourquoi (score insuffisant) - Relancer la gate :
Le script détectera le verdict corrigé et la vérification constitutionnelle passera.
Exemple de violation Article II : Pas de review ChatGPT
Correction :
- Exécuter la Phase 1 (review ChatGPT) qui avait été sautée
- Sauvegarder le fichier
PD-XXX-review-step3.md - Relancer la gate :
Exemple de violation Article IV : Tests échoués
Correction :
- Analyser les logs de tests (
npm test) - Corriger le code qui fait échouer les tests
- Relancer l'acceptabilité (étape 7) :
- Quand l'acceptabilité est OK, relancer Gate 8 :
FAQ¶
Q1 : Pourquoi "cerveaux positroniques" ?¶
R : Les cerveaux positroniques d'Asimov ont des lois structurellement inviolables. Nous ne pouvons pas créer ça avec les LLMs actuels, mais nous pouvons créer des guardrails architecturaux qui s'en rapprochent (injection systématique + vérification automatique + blocage immédiat).
Q2 : Peut-on désactiver le système constitutionnel ?¶
R : Non. Les règles constitutionnelles sont non négociables et non contournables.
La seule exception est une modification du document CONSTITUTIONAL.md lui-même, qui nécessite :
- Validation humaine explicite (approbation écrite)
- Documentation de la justification dans
CLAUDE.md(section "Règles apprises") - Mise à jour du document avec versionnage (ex: v1.0 → v1.1)
- Traçabilité dans
data/learnings.jsonlavec tag#constitutional-override
Q3 : Que se passe-t-il si je saisis un verdict incohérent en Phase 4 ?¶
R : La vérification constitutionnelle (Phase 3.5) s'exécute AVANT la Phase 4 (saisie du verdict).
Si vous saisissez un verdict incohérent (ex: GO avec score 6.5), la Phase 3.5 aura déjà bloqué le workflow en détectant que le verdict dans le fichier YAML est incohérent avec les scores.
Important : Le verdict est saisi en Phase 4, mais le fichier YAML est vérifié en Phase 3.5. Assurez-vous que le verdict dans le fichier YAML est cohérent avec les scores avant la Phase 4.
Q4 : Puis-je corriger une violation sans relancer toute la gate ?¶
R : Non. Après correction d'une violation, vous devez relancer la gate complète (phases 1 à 4).
Pourquoi ? La règle de validation croisée (Article II) exige que toute correction soit re-reviewée.
Workflow de correction :
- Correction des écarts
- Phase 1 : Re-review ChatGPT (obligatoire)
- Phase 2 : Re-confrontation
- Phase 3 : Re-dossier de conformité
- Phase 3.5 : Re-vérification constitutionnelle
- Phase 4 : Nouveau verdict
Q5 : Comment savoir si le système constitutionnel est actif ?¶
R : Au démarrage du workflow (gov-workflow.sh), vous voyez la bannière :
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛡️ RÈGLES CONSTITUTIONNELLES CHARGÉES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Si cette bannière est absente, vérifiez que le fichier CONSTITUTIONAL.md existe à la racine du repo de gouvernance.
Q6 : Les règles constitutionnelles s'appliquent-elles à toutes les étapes ?¶
R : Les 5 Articles s'appliquent à tout le workflow, mais la vérification automatique (Phase 3.5) n'est exécutée qu'aux gates (3, 5, 8).
Application par article :
| Article | Étapes concernées |
|---|---|
| I — Quality Gates | 3, 5, 8 (gates uniquement) |
| II — Validation croisée | 3, 5, 7, 8 (toutes les reviews) |
| III — Traçabilité | 0-9 (toutes les étapes) |
| IV — Non-régression | 7, 8 (acceptabilité + gate finale) |
| V — Boucle acceptabilité | 7 (acceptabilité uniquement) |
Q7 : Que faire si la vérification constitutionnelle plante ?¶
R : Si le script constitutional-check.sh échoue avec une erreur technique (pas une violation, mais un bug) :
- Lire les logs d'erreur
- Vérifier que tous les fichiers requis existent (verdict, review, confrontation, dossier)
- Si le problème persiste, ouvrir une issue GitHub avec les logs complets
Ne JAMAIS contourner la vérification constitutionnelle en éditant les scripts.
Q8 : Comment améliorer le système constitutionnel ?¶
R : Les améliorations du système constitutionnel suivent le même processus que les modifications :
- Proposer l'amélioration (issue GitHub ou discussion d'équipe)
- Validation humaine explicite
- Modification de
CONSTITUTIONAL.mdavec versionnage - Documentation dans
CLAUDE.md(section "Règles apprises") - Mise à jour de
data/learnings.jsonlavec tag#constitutional-improvement
Exemples d'améliorations possibles :
- Ajout d'un Article VI (ex: "Sécurité by design")
- Ajustement des seuils de scoring (ex: RESERVE >= 7.5 au lieu de >= 7.0)
- Ajout de checks supplémentaires dans
constitutional-check.sh
Q9 : Quelle est la différence entre CLAUDE.md et CONSTITUTIONAL.md ?¶
R :
| Fichier | Portée | Caractère | Injection |
|---|---|---|---|
CLAUDE.md | Gouvernance opérationnelle (workflow, agents, templates) | Recommandé (best practices) | Automatique (contexte Claude Code) |
CONSTITUTIONAL.md | Règles critiques (Quality Gates, validation croisée, etc.) | Obligatoire (non négociable) | Automatique (injection dans prompts de gates) |
CLAUDE.md = Le "manuel d'utilisation" du workflow CONSTITUTIONAL.md = Les "lois fondamentales" inviolables
Q10 : Le système constitutionnel remplace-t-il le PMO humain ?¶
R : Non. Le système constitutionnel est un guard automatique qui détecte les violations objectives (scores, traçabilité, tests).
Le PMO humain reste responsable de :
- Saisir le verdict final (Phase 4)
- Décider des escalades (situations ambiguës)
- Valider les exceptions (si justifiées)
- Améliorer les règles constitutionnelles au fil du temps
Le principe reste : Les agents produisent. Claude orchestre. Le PMO juge. L'humain tranche.
Conclusion¶
Le Système Constitutionnel ProbatioVault crée des guardrails architecturaux qui ancrent les règles critiques de manière systématique et automatique.
Il ne remplace pas le jugement humain, mais il détecte et bloque les violations objectives avant qu'elles ne se propagent.
Pour les nouveaux contributeurs : Familiarisez-vous avec les 5 Articles constitutionnels. Ils sont le socle inviolable de notre gouvernance IA.
Pour l'équipe : Le système est vivant. Proposez des améliorations, documentez les learnings, et faites évoluer les règles avec rigueur.
Document de reference : CONSTITUTIONAL.md (racine du depot ia-governance) Workflow de gouvernance : CLAUDE.md (racine du depot ia-governance) Scripts : scripts/ (racine du depot ia-governance)
Dernière mise à jour : 2026-02-13