En bref
Ces scenarios illustrent comment combiner le schema DSL, les actions gouvernees et les agents IA pour automatiser des processus metier en toute securite. Chaque cas suit le meme cycle : modeliser → gouverner → automatiser → auditer.
Approbation de contrats
Domaine : Legal / Operations | Actions : 3 | Risque : medium
Un agent IA passe en revue les contrats en attente et les approuve selon les regles definies.
Modele
import { objectType, string, number, date, enumType, action, link } from '@ontologie/schema';
const ContractStatus = enumType('ContractStatus', [
'draft', 'pending_review', 'approved', 'rejected'
]);
const Contract = objectType('Contract', {
title: string().required().indexed(),
amount: number().required(),
currency: string().default('EUR'),
status: ContractStatus.default('draft').mutableBy(['Contract.submit', 'Contract.approve', 'Contract.reject']),
approvedAt: date().optional().mutableBy(['Contract.approve']),
rejectedAt: date().optional().mutableBy(['Contract.reject']),
});
Actions gouvernees
| Action | Precondition | Risque | Mode |
|---|---|---|---|
Contract.submit | status == draft | low | twin_apply |
Contract.approve | status == pending_review | medium | twin_apply |
Contract.reject | status == pending_review | low | twin_apply |
Flux agent
# 1. Decouvrir les contrats en attente
npx ontologie query Contract --filter-json '{"status":{"eq":"pending_review"}}'
# 2. Inspecter les actions disponibles
npx ontologie actions describe Contract --target $CONTRACT_ID
# 3. Dry-run (genere un plan signe)
npx ontologie actions dry-run Contract.approve --target $CONTRACT_ID
# 4. Appliquer le plan
npx ontologie actions apply --plan-id $PLAN_ID --confirm
Garanties de securite
| Protection | Mecanisme |
|---|---|
| Pas de mutation directe | Champs proteges par mutableBy |
| Pas de donnee obsolete | Version OCC verifiee a l'apply |
| Pas de doublon | Cle d'idempotence obligatoire |
| Audit complet | Plan signe, actor, timestamp, hash |
Pipeline CRM
Domaine : Revenue Ops | Actions : 5 | Risque : medium
Un agent IA gere les transitions d'opportunites et la qualification de leads dans un pipeline commercial.
Modele
const OpportunityStage = enumType('OpportunityStage', [
'DISCOVERY', 'QUALIFICATION', 'DEMO', 'PROPOSAL',
'NEGOTIATION', 'CLOSED_WON', 'CLOSED_LOST', 'stale_review'
]);
const Opportunity = objectType('Opportunity', {
name: string().required().indexed(),
amount: number().optional(),
stage: OpportunityStage.default('NEGOTIATION')
.mutableBy(['Opportunity.moveStage', 'Opportunity.markStale']),
ownerEmail: string().optional()
.mutableBy(['Opportunity.assignOwner']),
});
const Lead = objectType('Lead', {
email: string().required().indexed(),
status: enumType('LeadStatus', ['new', 'working', 'qualified', 'disqualified'])
.default('new')
.mutableBy(['Lead.qualify', 'Lead.disqualify']),
});
Actions gouvernees
| Action | Role | Precondition |
|---|---|---|
Opportunity.moveStage | sales, manager | Stage valide |
Opportunity.assignOwner | manager | n/a |
Opportunity.markStale | sales, manager | Stage != stale_review |
Lead.qualify | sales | status in [new, working] |
Lead.disqualify | sales | status in [new, working] |
Garde-fous
- Les opportunites high-value (> 50k) necessitent approbation manager
CLOSED_WON/CLOSED_LOSTsont des transitions restreintes- Toute disqualification necessite un motif
Onboarding fournisseur
Domaine : Procurement | Actions : 4 | Risque : medium-high
Automatise le processus d'evaluation et d'approbation des nouveaux fournisseurs avec verification de conformite.
Flux
- Soumission : Le fournisseur soumet sa candidature (documents, certifications)
- Evaluation : L'agent verifie les criteres (compliance, financier, technique)
- Scoring : Attribution d'un score de risque base sur les criteres
- Decision : Approbation, rejet, ou escalade vers un humain
Actions
| Action | Mode | Risque |
|---|---|---|
Vendor.submitApplication | twin_apply | low |
Vendor.evaluate | descriptive | low |
Vendor.approve | plan_only | high |
Vendor.reject | twin_apply | medium |
Audit financier
Domaine : Finance / Compliance | Actions : 3 | Risque : high
Un agent identifie les anomalies dans les transactions et propose des actions correctives soumises a approbation humaine.
Flux
- Detection : Query des transactions avec filtres d'anomalie
- Analyse : L'agent categorise le type d'anomalie
- Proposition : Dry-run d'une action corrective (plan_only)
- Approbation : Un humain valide et applique le plan
Les actions financieres a haut risque expirent en 1 heure (TTL
high), forcant une validation humaine rapide.
IT Access Request
Domaine : IT Security | Actions : 3 | Risque : high
Gestion automatisee des demandes d'acces aux systemes internes avec workflow d'approbation multi-niveaux.
Actions
| Action | Mode | Particularite |
|---|---|---|
AccessRequest.submit | twin_apply | Auto-approval si risque low |
AccessRequest.approve | human_handoff | Manager + security review |
AccessRequest.revoke | twin_apply | Revocation immediate |
Data Quality
Domaine : Data Governance | Actions : 4 | Risque : low-medium
Un agent detecte et corrige les problemes de qualite de donnees (doublons, champs manquants, formats invalides).
Flux
flowchart LR
A[Scan periodique] --> B[Detection anomalies]
B --> C{Type}
C -->|Doublon| D[Proposer fusion]
C -->|Manquant| E[Proposer enrichissement]
C -->|Format| F[Corriger automatiquement]
D --> G[Plan signe]
E --> G
F --> G
G --> H[Apply]
Aller plus loin
- Schema DSL : Declarer vos modeles et actions
- Plans et Actions : Comprendre le cycle dry-run → apply
- Gouvernance : Regles d'approbation et audit
- Agent Studio : Configurer un agent IA
- Documentation BaaS complete : Reference detaillee avec exemples executables
