Expérimentations sous contrôle #
DisponibleLa route /experiments permet d’évaluer des aides nouvelles sans leur déléguer une décision métier.
Assistant contrôlé #
Un administrateur active explicitement l’expérimentation pour son organisation. Un contributeur crée une proposition typée accompagnée d’un contexte JSON et de sources visibles. RiskPilot calcule la couverture des sources et conserve le demandeur, le statut et la validation. Le demandeur ne peut pas approuver sa propre proposition : un autre utilisateur autorisé doit l’accepter ou la rejeter.
Absence d’action automatique #
Une proposition approuvée ne modifie jamais directement un risque, un contrôle ou un résultat. Les décisions automatiques restent désactivées et toute transposition dans les données opérationnelles exige une action humaine distincte.
Bibliothèque interne #
La bibliothèque conserve une clé stable, un type de ressource, un contenu JSON, des dépendances, une source et une licence. Le cycle de vie couvre brouillon, soumission en revue, approbation et retrait. Les révisions créent une nouvelle version au lieu d’effacer l’historique ; import et export facilitent les échanges gouvernés.
Bonnes pratiques #
N’activez l’espace que pour un protocole défini. Exigez des sources vérifiables, séparez auteur et valideur, examinez licences et dépendances, et retirez les éléments obsolètes sans supprimer leur traçabilité.
Types de proposition et séparation des responsabilités #
Les types livrés sont MAPPING_SUGGESTION, GAP_SUMMARY, REPORT_DRAFT et QUESTION_SUGGESTIONS. Ils s’appuient uniquement sur les ressources visibles dans l’organisation et exposent leurs sources. Une proposition commence à PENDING, puis un Risk manager différent du demandeur choisit APPROVED ou REJECTED avec commentaire. Même approuvée, elle porte toujours appliedAutomatically: false.
Cycle de vie de la bibliothèque #
Une ressource commence en brouillon, passe en revue, puis est approuvée par un administrateur ou retirée. Une révision n’est autorisée que depuis une version approuvée ou retirée et incrémente la version. Chaque dépendance doit indiquer une clé et une version minimale déjà approuvée dans le même tenant. Une transition invalide retourne INVALID_TRANSITION ; un contenu, une dépendance ou une unicité incorrects retournent INVALID_LIBRARY_ITEM.
L’import accepte une prévalidation dryRun. Une exécution réelle est atomique : un conflit d’unicité retourne HTTP 409. L’export contient jusqu’à 100 éléments approuvés avec schemaVersion et date d’export.
API des expérimentations #
| Méthode | Endpoint | Droit | ||
|---|---|---|---|---|
| `GET | PUT` | /api/experiments/settings | lecture ; écriture administrateur | |
| `GET | POST` | /api/experiments/assistant/proposals | lecture ; création Risk manager | |
POST | /api/experiments/assistant/proposals/{id}/validate | Risk manager distinct | ||
GET | /api/experiments/assistant/evaluation | métriques administrateur | ||
| `GET | POST` | /api/experiments/library | lecture ; création Risk manager | |
POST | /api/experiments/library/import | import ou dry-run Risk manager | ||
POST | /api/experiments/library/{id}/revisions | nouvelle version | ||
POST | `/api/experiments/library/{id}/submit | approve | retire` | transitions gouvernées |
GET | /api/experiments/library/export | export JSON approuvé |
Propositions gouvernées et copilote #
L’ancien libellé Assistant contrôlé devient Propositions gouvernées afin d’éviter toute confusion : cet écran conserve le moteur de propositions tenant-scoped et la bibliothèque interne, avec validation séparée et appliedAutomatically: false. La conversation interactive n’est pas exécutée ici ; utilisez le bouton flottant global ou le bouton Copilote IA associé à chaque résultat dans Conformité.