PRECISION · validation par OTO Auditeur Finances (agent IA), pas par humain WAG
CI / Contraintes NON-NÉGOCIABLES (CLAUDE.md) (push) Has been cancelled
CI / Validation JSON (schémas Faisabilité) (push) Has been cancelled
CI / Qualité documentaire (liens + 4Big) (push) Has been cancelled
CI / Reproductibilité des artefacts out/ (build == commité) (push) Has been cancelled
CI / Fraîcheur matrice de régression (run == commité) (push) Has been cancelled
CI / Intégrité du câblage CI (gate agrège tout · gates statiques verrouillés) (push) Has been cancelled
CI / Intégrité des chiffres du README (valeur == artefact cité · (push) Has been cancelled
CI / Publiciste · parser + schéma + generator (unittest) (push) Has been cancelled
CI / RBAC · 50 rôles + schéma (unittest) (push) Has been cancelled
CI / Faisabilité · générateur 4 volets + round-trip (unittest) (push) Has been cancelled
CI / RBAC · fixtures ERPNext (Role + Custom DocPerm) (push) Has been cancelled
CI / RBAC · plan User Permission (row-level) (push) Has been cancelled
CI / RBAC · Role Profile (bundles par portail) (push) Has been cancelled
CI / RBAC · run-book d'application unifié (agrégat 3 volets) (push) Has been cancelled
CI / Faisabilité · dossier bancable trilingue FR/EN/ES (push) Has been cancelled
CI / CRM · workflow vente ERPNext (lead → CONFOTUR) (push) Has been cancelled
CI / CRM · DocType porteur OTO Dossier Vente (push) Has been cancelled
CI / CRM · barème commissions vendeurs (push) Has been cancelled
CI / Fiscal · e-CF DGII (Compupar) (push) Has been cancelled
CI / Frontend · Workspaces 5 portails rôle (push) Has been cancelled
CI / Legal · DocType CONFOTUR Application (push) Has been cancelled
CI / QA · Audit 5D conformité (push) Has been cancelled
CI / SEO · mots-clés trilingues + schema.org + hreflang (push) Has been cancelled
CI / Chat OTOIA · montage par portail (Custom Block) (push) Has been cancelled
CI / QA · Audit 4Big (95+/100 sur 100% deliverables) (push) Has been cancelled
CI / Démo · Scénarios (run-sheet P07 banquier / P05 client) (push) Has been cancelled
CI / QA · Matrice de régression exhaustive (Sprint 8) (push) Has been cancelled
CI / DevOps · Run-book de déploiement VPS unifié (Sprint 8) (push) Has been cancelled
CI / QA · Matrice d'acceptation / traçabilité MVP (Sprint 8) (push) Has been cancelled
CI / Mobile · config app Expo/EAS (navigation par rôle) (push) Has been cancelled
CI / E2E baseline Playwright (manuel) (push) Has been cancelled
CI / Gate qualité (agrégat) (push) Has been cancelled

This commit is contained in:
Claude Code DTP Worker
2026-08-03 09:10:39 +00:00
parent 7434d6803a
commit 1e8cce22a0
@@ -200,3 +200,82 @@ Si apport non complet · les autres sections (Choix banque / Formulaires / Exige
``` ```
Frontend consomme cet endpoint pour afficher progression réelle et griser boutons. Frontend consomme cet endpoint pour afficher progression réelle et griser boutons.
---
## PRÉCISION · Michel 2026-08-03 · Validation par OTO Auditeur Finances (agent IA)
### La 4ème condition N'EST PAS un humain WAG
Contrairement à la version précédente qui mentionnait « conseiller WAG », la validation est faite **directement par OTO Auditeur Finances**, un agent IA autonome. Aucun humain WAG n'est requis dans le cycle · c'est de l'audit automatique par agent.
### Rôle OTO Auditeur Finances
Agent Claude Code (module OTOIA capability `auditeur_finances`) qui exécute les vérifications suivantes à chaque changement d'état du dossier bancaire ·
1. **Cohérence des données client** · nom, cédula/passeport, tel, adresse, employeur cohérents entre tous les documents déposés
2. **Vérification montant apport initial** · somme des paiements Cardnet + virements = apport requis (20% résident / 30% étranger)
3. **Complétude documentaire** · tous les documents `is_required=True` de la banque choisie déposés + non-expirés (< 3 mois pour états bancaires, < 6 mois pour fiches paye)
4. **Validation signatures** · toutes les autorisations OTO Sign™ ont hash + IP + timestamp valides · pas de manipulation
5. **Screening OFAC + PEP + AML** · nom client vs liste OFAC SDN (fichier CSV local /opt/oto/data/compliance/ofac-sdn.csv téléchargé le 2026-08-02)
6. **Cohérence financière** · revenu déclaré ÷ mensualité estimée respecte ratio d'endettement < 40% (norme Superintendencia Bancos RD)
7. **Statut Fideicomiso Ley 189-11** · confirmé constitué avec référence acte notarié
8. **CONFOTUR** · exonération vérifiée si applicable (Ley 158-01)
### Décision agent
L'agent produit un rapport structuré JSON dans `/opt/oto/data/finance-audits/{dossier_id}_{timestamp}.json` ·
```json
{
"dossier": "HYPO-P01-50r7v1kj0a",
"audited_at": "2026-08-03T14:30:00Z",
"audited_by": "oto-auditeur-finances-v1",
"decision": "APPROVED" | "REJECTED" | "REQUEST_MORE_INFO",
"checks": {
"coherence_donnees": "ok",
"apport_initial": "ok · 30000/30000 USD versé",
"documents_complets": "missing · manque état bancaire mars 2026",
"signatures_valides": "ok · 4/4 signées",
"ofac_screening": "clean",
"pep_screening": "clean",
"ratio_endettement": "ok · 28%",
"fideicomiso": "ok · acte notarié réf ACT-2026-P01",
"confotur": "n/a"
},
"reasons": ["Manque état bancaire mars 2026 pour Banreservas"],
"next_action": "Client doit déposer document manquant"
}
```
### Signature audit
Le rapport est signé HMAC-SHA256 avec clé privée OTO Auditeur (`/etc/oto/oto-auditeur.env · AUDIT_SIGNING_KEY`) pour garantir intégrité et non-répudiation. La signature est vérifiée par le backend avant de flipper `validation_oto_auditeur` à True dans le dossier.
### Intervention humaine · uniquement en dernier recours
Un humain WAG (Michel, Xavier, Cesar, Martires) n'intervient QUE si ·
- Agent retourne `REJECTED` avec raisons ambiguës (< 3× consécutifs sur le même dossier)
- Détection OFAC/PEP positive (screening humain requis par Ley 155-17 AML RD)
- Ratio endettement border-line 38-45% (humain juge exception)
- Client fait un recours écrit contre décision agent
### Endpoint backend supplémentaire
- `POST /api/hypotheque/dossier/{id}/run-audit` · déclenche audit OTO Auditeur (lance capability OTOIA `auditeur_finances`)
- `GET /api/hypotheque/dossier/{id}/audit-latest` · retourne dernier rapport JSON
- `GET /api/hypotheque/dossier/{id}/audit-history` · liste tous les audits horodatés
### Cycle automatique
L'agent OTO Auditeur Finances tourne toutes les 15 minutes en background (cron + task queue OTOIA) pour tous les dossiers en état `Documents complets · en attente audit`. Décisions automatiques poussées à ERPNext + notification client (email + WhatsApp).
### Gate check condition 4 mise à jour
Au lieu de `wag_validated_by IS NOT NULL`, la condition devient ·
```python
audit = get_latest_audit(dossier_id)
condition_4_ok = audit and audit['decision'] == 'APPROVED' and audit['signature_valid']
```
Le client voit dans son portail « Audit OTO Auditeur Finances · APPROUVÉ le [date] » avec lien vers rapport JSON téléchargeable.