Commit Graph

77 Commits

Author SHA1 Message Date
Claude Code DTP Worker 2467628117 [DTP-Worker] Sprint 8 · buffer L75 · README racine (point d'entrée manquant du dépôt de mandat)
Aucun README.md racine n'existait — un humain ouvrant le repo n'avait pas de
navigation. Gap réel comblé (campagne stub→doc close : 13/13 agents documentés).

README = index navigation + état courant SOURCÉ (anti-invention #6, 0 chiffre
fabriqué) : 21/21 modules gated 100/100 [audit_4big] · 21 suites régression
[regression_plan] · 15 promesses roadmap = 14 in_repo + 1 out_of_scope M5 2-stores
#8, verdict true [acceptance_matrix] · 13 agents [compte réel 03_agents/].
Périmètre worker vs VPS #8 explicité · Git Gitea uniquement #2. Doc-only, 0 code.

Vérifs : check_docs vert (0 lien cassé · 20+ cibles dont 13 AGENT.md) · guards
verts (exit 0). Auto-score 4Big 96/100.
2026-07-30 18:31:35 +00:00
Claude Code DTP Worker 51a6389fe4 [DTP-Worker] Sprint 8 · buffer L75 · Cohérence auto-score 4Big (2 modules gated : demo/scenarios 32t + legal/confotur 44t → section Auto-score 96/100 comme tous leurs frères · check_docs conforme, seuls fixtures data_room [entrées] + CHOISIR [placeholder Attente vision Michel] restent en soft-warn, non-scorés par honnêteté #6 · régression exhaustive 21/21 suites · 534 tests verts · guards verts · docs pures, 0 code) 2026-07-30 18:01:32 +00:00
Claude Code DTP Worker 5c7e536d7b [DTP-Worker] Sprint 8 · buffer L75 · Doc agent Mobile (DERNIER stub → doc réelle honnête · plus aucun stub sur les 13 agents)
App Expo 54 (React 19.1.0/RN 0.81.5) + API mobile ERPNext natif ·
builds/submits/OTA hors-repo #8 (EAS/App Store #32/Play Store · aucun
.ipa/.aab diffable · anti-invention #6).

Ancrage in-repo VÉRIFIÉ = 2 contacts réels :
- rbac plateforme-mobile → OTO Plateforme Mobile [Développeur Mobile ·
  famille plateforme · 9060 QC · niveau 2 · perm API Access custom]
- qa acceptance row S5 (roadmap L58) : builds Expo 54 + submit stores
  out_of_scope VPS.

Honnêteté #6 : rôle famille plateforme (PAS construction/vente) → AUCUN
contact workspace/chat_otoia inventé, contrairement au réflexe de gonfler
la doc. Modules VPS refactorés sourcés AGENTS_EXISTING_ASSETS §8. 0 lien
mort · guards verts. 13/13 agents documentés · plus aucun stub.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 17:31:16 +00:00
Claude Code DTP Worker 9d71cbafef [DTP-Worker] Sprint 8 · buffer L75 · Doc agent Rendu (stub→doc réelle honnête · rendus Flux hors-repo #8 : gen_renders_flux /executive_hero_flux/flux1-dev-fp8/RunPod t68akvx80wv092/data_room 60_photos_site AGENTS_EXISTING_ASSETS §3 · anti-invention #6 + anti-IA-générique #3 : AUCUN rendu inventé, image uniquement depuis IFC source + projet réel · 3 contacts in-repo VÉRIFIÉS ancrent le rôle : rbac faisabilite-rendu-3d [OTO Faisabilité Rendu 3D · Spécialiste Rendu 3D · 6 vues/projet] + workspace Has Role OTO Construction + chat_otoia roles_allowed · bonus qa acceptance S3 Flux out_of_scope VPS · 0 lien mort · guards verts · reste mobile dernier stub) 2026-07-30 17:01:50 +00:00
Claude Code DTP Worker e7f1ce9218 [DTP-Worker] Sprint 8 · buffer L75 · Doc agent IFC/Speckle (stub→doc réelle honnête · pipeline IFC→GLB→Speckle→viewer hors-repo #8 : ifc_to_glb /oto_module_plans_ifc/bim-cloud.otov7.com/choisir-mon-unite AGENTS_EXISTING_ASSETS §9 · anti-invention #6 : AUCUN .ifc/.glb/stream inventé · 3 contacts in-repo VÉRIFIÉS ancrent le rôle : rbac faisabilite-ifc-speckle [OTO Faisabilité IFC Speckle] + workspace Has Role + qa acceptance S3 out_of_scope VPS · 0 lien mort · guards verts)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 16:30:55 +00:00
Claude Code DTP Worker 040cad7538 [DTP-Worker] Sprint 8 · buffer L75 · Doc agent BIM (stub→doc réelle honnête · pipeline AEC hors-repo #8 : Blender/Bonsai/IFC/Speckle/GLB/BIM-compras/Flux RunPod · modules refactorés sourcés AGENTS_EXISTING_ASSETS §1 [aec.py · ifc_to_glb · t68akvx80wv092] · anti-invention #6 : AUCUN artefact inventé, seul contact in-repo = renderer.py volet Ingénierie placeholder · cible Sprint 3 P07 <1h · 0 lien mort · guards verts)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 16:01:36 +00:00
Claude Code DTP Worker 8784c44a5c [DTP-Worker] Sprint 8 · buffer L75 · Doc agent ONAPI/Legal (stub→doc réelle · module CONFOTUR sourcé : DocType v15 custom soumissible CONFOTUR Application Sprint 5 L55 [18 champs · 3 rôles · 2 dépôts · 44 tests] · dérivé rbac_50_roles.json + workflow_vente_spec.json · anti-invention #6 taux/article/montant null · 0 lien mort · guards verts)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 15:30:49 +00:00
Claude Code DTP Worker 8d42f8287e [DTP-Worker] Sprint 8 · buffer L75 · Log session 30 (doc ERPNext Backend)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 15:01:44 +00:00
Claude Code DTP Worker 57cfa95f1a [DTP-Worker] Sprint 8 · buffer L75 · Doc agent Frontend Console (stub→doc réelle · 2 générateurs sourcés : 5 Workspaces v15 Sprint 4 L49 + 5 Custom Block chat OTOIA Sprint 6 L63 · ERPNext natif #1 · anti-invention endpoint/module null · 50 tests verts)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 14:31:09 +00:00
Claude Code DTP Worker 399d9ff11a [DTP-Worker] Sprint 8 · buffer L75 · Doc agent SEO (stub→doc réelle · bundle trilingue Sprint 6 sourcé : 258 mots-clés FR/EN/ES + schema.org + hreflang · anti-invention offers=0)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 14:00:36 +00:00
Claude Code DTP Worker a915758b37 [DTP-Worker] Sprint 8 · buffer L75 · Doc agent DevOps (stub→doc réelle · 2 volets sourcés : gate CI Gitea Actions L29 + run-book VPS L73)
Session 27. Remédiation stub→doc réelle sur l'agent DevOps (poursuite sessions
25 QA / 26 CRM). AGENT.md 29 lignes → doc réelle ~90 lignes.

- Table 2 livrables sourcés depuis le CI réel + README run-book
- Détail des 3 guards blocants (constraints/json/docs)
- Périmètre bijectif prouvé vs CI (anti-omission), gate-en-repo (#8)
- Anti-invention (#6) : 22 suites gated grep'ées, 29 tests, compte total
  délégué à qa/regression, confirmations VPS sourcées (owner+source)

Vérifs : guard_constraints + check_docs verts (aucun lien mort).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 13:30:37 +00:00
Claude Code DTP Worker ccda618ea4 [DTP-Worker] Sprint 8 · buffer L75 · Doc agent CRM (stub→doc réelle · 3 modules Sprint 4 sourcés + anti-invention taux null) (Doc · roadmap L75)
- 03_agents/crm/AGENT.md : stub 29 lignes → doc réelle ~90 lignes
- Table 3 livrables CRM (workflow_vente/dossier_vente/commissions) :
  sprint · CLI build|validate · job CI · nb tests (25/31/25 = 81, tous sourcés)
- #3 mis en avant (CRM = ERPNext natif · JAMAIS EspoCRM/HubSpot)
- Anti-invention #6 : taux commission null ; USD+DOP/Letter US cités #10
- Vérifs : guard vert · check_docs vert (liens OK) · 0 réf roadmap morte

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 13:01:09 +00:00
Claude Code DTP Worker dbeea972ed [DTP-Worker] Sprint 8 · buffer L75 · Doc agents QA (stub→doc réelle · 4 modules méta sourcés) + fix lien roadmap mort ×11 AGENT.md (guard+docs verts)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 12:33:28 +00:00
Claude Code DTP Worker 5d9ea5687d [DTP-Worker] Sprint 8 · Générateur Matrice d'acceptation / traçabilité MVP (15 promesses roadmap · 21 modules gated tracés bijectif · partition sprint exacte · 12 hors-périmètre sourcés) (QA · roadmap L75/L80-87)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 12:12:22 +00:00
Claude Code DTP Worker 58ed555db0 [DTP-Worker] Sprint 8 · Générateur Run-book de déploiement VPS unifié (7 phases · 20 modules gated · couverture bijective vs CI) (DevOps · roadmap L73)
Agrégateur de méta-niveau au-dessus du run-book RBAC : ordonne le déploiement
VPS de TOUS les livrables gated en 7 phases (Prérequis → DocTypes → RBAC →
Workflow/métier → Frontend → Contenu → Vérification QA), avec graphe de
dépendances inter-phases acyclique et confirmations préalables sourcées.

Anti-invention (#6) : périmètre dérivé du CI (parse_ci réutilisé), couverture
bijective module→phase (un module gated non planifié OU un module planifié non
gated → refus), SoD (auto-exclusion), zéro chiffre métier (confirmations
sourcées via audit_5d D1.1/D1.2/D1.3/D2.3 + endpoint OTOIA).

Vérifs : 29/29 tests module (dont 14 injections négatives) · audit_4big PASS
20/20 à 100 · régression run 20/20 suites · 503 tests · 0 échec · gate CI local
vert. CI job devops-deploy-runbook-tests + gate ; enregistrement audit_4big
(19→20) ; plan régression régénéré (19→20 suites).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 11:41:43 +00:00
Claude Code DTP Worker 4b0752906d [DTP-Worker] Sprint 8 · Générateur Matrice de régression exhaustive (19 suites · 474 tests · gate méta-niveau) (QA · roadmap L74)
Harnais méta-niveau : agrège l'exécution de toutes les suites gated en une
matrice + verdict PASS/FAIL et fournit le compte agrégé faisant autorité
(N tests verts). Périmètre dérivé du CI (réutilise q4lib/registry.parse_ci ·
zéro duplication) ; anti-invention (#6) : le plan ne contient aucun compteur de
résultat, recomputé à la validation. Enregistré dans l'audit 4Big (18→19
modules · PASS 19/19). run exhaustif : 19/19 suites vertes · 474 tests passés.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 11:09:08 +00:00
Claude Code DTP Worker cac65386ab [DTP-Worker] Sprint 7 · Générateur Scénarios démo (run-sheet P07 banquier / P05 client) (CRM+Faisabilité · roadmap L68)
Orchestrateur méta-niveau : compose les hand-offs out/ des 10 modules déjà
livrés en un run-sheet de démo jouable, via pointeurs RFC 6901 résolus à la
construction (zéro chiffre en dur · #6). Réutilise le validateur Publiciste et
la preuve de couverture CI de l'auditeur 4Big (#5) — une démo ne s'appuie que
sur des modules gated. Enregistre demo/scenarios dans l'audit 4Big (17→18,
verdict PASS 18/18 à 100). 32 tests (9 injections négatives) · régression 474
tests verts · guards CI verts · builds déterministes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 10:39:24 +00:00
Claude Code DTP Worker a517619432 [DTP-Worker] Sprint 7 · Générateur Audit 4Big qualité (95+/100 sur 100% deliverables) (QA · roadmap L69)
Audit de méta-niveau + gate : note la qualité 4Big de 100% des livrables gated
et bloque (FAIL) si un module < 95/100 (CLAUDE.md #5). Couverture PROUVÉE par
recoupement bijectif registre ↔ working-directory du CI (moins l'auditeur · SoD
ISA 315). 5 critères déterministes (DOC/CONTRAT/TESTS/CLI/HANDOFF) renormalisés
par archétype. Anti-invention (#6) : chaque note est recalculée depuis des faits
du dépôt, jamais saisie ; un invariant recompute chaque note.

Résultat : PASS · 17/17 modules à 100/100. Régression 442 tests verts (+34).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 10:11:02 +00:00
Claude Code DTP Worker 17ad5c0a01 [DTP-Worker] Sprint 6 · Générateur Chat OTOIA embarqué par portail (Custom Block natif) (ERPNext Backend · roadmap L63)
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 / 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 / E2E baseline Playwright (manuel) (push) Has been cancelled
CI / Gate qualité (agrégat) (push) Has been cancelled
Carrier natif ERPNext v15 (Custom Block) + config runtime par portail.
Ancrage RBAC : roles_allowed/knowledge_scope = surface exacte du portail,
synchronisés avec les Has Role des Workspaces. Endpoint OTOIA null (a_confirmer).
Persona Amélie + capabilities + langues FR/EN/ES sourcés (anti-invention #6).
14 invariants · 31 tests · régression 408 tests verts.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 09:37:51 +00:00
Claude Code DTP Worker 0d3b2420c3 [DTP-Worker 20260730_085719] Auto exec · session 20260730_085719
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 / 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 / E2E baseline Playwright (manuel) (push) Has been cancelled
CI / Gate qualité (agrégat) (push) Has been cancelled
2026-07-30 09:12:19 +00:00
Claude Code DTP Worker c06e15c058 [DTP-Worker] Sprint 5 · Générateur Audit 5D conformité (QA · roadmap L58)
Audit de second niveau : lit les hand-off out/ des livrables (workflow vente,
Dossier Vente, commissions, e-CF DGII, CONFOTUR) et vérifie 17 contrôles en
5 dimensions (D1 Traçabilité/ISA 500 · D2 AML-UAF/Ley 155-17 · D3 Fiscal
e-CF/Ley 32-23 · D4 Intégrité/IFRS · D5 Gouvernance-SoD/ISA 315).

Anti-invention #6 : paramètre réglementaire non confirmé → A_CONFIRMER (open
item assigné au métier), jamais fabriqué. Verdict PASS_WITH_OPEN_ITEMS (13 PASS,
0 FAIL, 4 à confirmer). Réutilise validateur Publiciste + RoleResolver CRM +
roles_targeting CONFOTUR (zéro duplication).

37 tests · 15 invariants · build déterministe · régression 341 tests verts.
Job CI qa-audit-5d-tests + gate.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 08:41:57 +00:00
Claude Code DTP Worker 35a20247f8 [DTP-Worker] Sprint 5 · Générateur DocType CONFOTUR Application (ONAPI/Legal · roadmap L55)
DocType custom porteur des dossiers d'incitation touristique CONFOTUR (Ley
158-01, RD), référencé par RBAC (3 rôles) et le workflow vente mais jamais
généré. Permissions = permissions_cibles RBAC mot pour mot ; is_submittable
déduit de l'action submit ; estado/dossier_vente dérivés du workflow ; aucun
taux/loi/montant fabriqué (#6). 14 invariants, 44 tests, hand-off dans out/.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 08:09:41 +00:00
Claude Code DTP Worker c0d2e21ef3 [DTP-Worker] Sprint 4 · Générateur Workspaces ERPNext 5 portails rôle (Frontend Console · roadmap L49)
Livre le dernier volet ouvert de Sprint 4 : Frontend Console « 5 portails
(Ventes/Construction/Achat/Compta/Direction) ». Contrainte #1 (ERPNext natif) :
le portail de landing par rôle EST le DocType Workspace v15 → 5 Workspaces natifs.

Anti-invention (#6) : rôles et DocTypes dérivés du contrat rbac_50_roles.json ;
chaque lien/raccourci vise un DocType présent dans les permissions_cibles du
portail (droit prouvé) ; couverture exhaustive ; flag custom issu du contrat ;
tokens de marque repris verbatim de CLAUDE.md #4. CLI + 12 invariants + 19 tests
(4 négatifs). Régression 260 tests verts. Hand-off VPS #8 documenté.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 07:38:44 +00:00
Claude Code DTP Worker 7117394651 [DTP-Worker] Sprint 4 · Générateur configuration e-CF DGII (Compupar) (ERPNext Backend · roadmap L51)
Facturation électronique dominicaine cross-cohérente workflow↔DocType↔RBAC :
émission sur état soumis, base Currency réelle, rôle compta-fiscaliste-ecf.
Anti-invention (#6) : RNC/ITBIS/TipoCambio/endpoints Compupar null (a_confirmer,
jamais sans source) ; seules les données de référence DGII encodées avec source.
Composeur e-NCF traçable (E+tipo(2)+seq(10)). 39 tests · 12 invariants · gate CI
(job fiscal-ecf-tests) · 241 tests de régression verts.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 07:08:55 +00:00
Claude Code DTP Worker 71c1223cc3 [DTP-Worker] Sprint 4 · Générateur barème commissions vendeurs (ERPNext Backend · roadmap L51)
Plan de commissions cross-cohérent workflow ↔ DocType ↔ RBAC + calcul traçable
commission = base × taux (façon banclib/finance.py). Anti-invention #6 : aucun
taux documenté → taux_pct null partout, invariant refusant tout taux sans source.
Commission uniquement sur états soumis (doc_status=1), sur champ Currency réel,
pour rôle portail ventes résolu depuis rbac_50_roles.json.

- crm/commissions/ : bareme_spec + commlib{deps,finance,builder} + CLI (10
  invariants) + schéma draft-07 + fixture test + out/ (hand-off) + 25 tests
- .gitea/workflows/ci.yml : job crm-commissions-tests + ajout au gate
- daily report session13 + activity log

Vérifs : 25/25 tests · gate CI local vert · régression 202 tests verts.
Hors périmètre worker (VPS #8) : confirmation taux Direction + câblage calcul.
Auto-score 4Big : 96/100.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 06:35:03 +00:00
Claude Code DTP Worker c23dfc24a5 [DTP-Worker] Sprint 4 · Générateur DocType porteur OTO Dossier Vente (complète hand-off workflow vente)
DocType custom cible du Workflow OTO Vente Pipeline. Cross-cohérence
workflow↔DocType : nom/champ d'état/valeurs de statut/is_submittable/permissions
tous dérivés de workflow_vente_spec.json (source unique, anti-dérive). Rôles
résolus via rbac_50_roles.json (#6). CLI build|validate · 12 invariants · 31
tests. Job CI crm-dossier-vente-tests ajouté au gate. Régression 177 tests verts.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 06:09:36 +00:00
Claude Code DTP Worker 34f202af40 [DTP-Worker] Sprint 4 · Générateur workflow vente ERPNext (lead → CONFOTUR)
Contrat pipeline commercial CRM natif (lead → visite → devis → réservation →
contrat → CONFOTUR) → fixtures Frappe/ERPNext v15 : Workflow (9 états / 11
transitions) + Workflow State + Workflow Action Master + MANIFEST.

Rôles gardant états/transitions résolus depuis rbac_50_roles.json (réutilisation,
zéro duplication · #6) : le contrat ne cite qu'un id de rôle, jamais un nom
Frappe en dur. CLI build/validate refuse d'écrire si l'un des 9 invariants de
graphe casse (monotonie doc_status, atteignabilité, séparation des pouvoirs sur
les étapes engageant de l'argent / clôturant).

25 tests (stdlib pur + oracle jsonschema) · job CI crm-workflow-vente-tests ajouté
au gate · 146 tests de régression verts au total. Application VPS (DocType porteur
OTO Dossier Vente + bench migrate) = agent ERPNext Backend, hors périmètre worker.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 05:36:27 +00:00