[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
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>
This commit is contained in:
@@ -1,5 +1,58 @@
|
||||
# Activity Log · 2026-07-30 · Claude Code DTP
|
||||
|
||||
## Session `20260730_092724` (session 19)
|
||||
|
||||
**Tâche** : **Sprint 6 · ERPNext Backend** — Générateur du **Chat OTOIA embarqué
|
||||
par portail** (roadmap **L63** « ERPNext Backend : **Chat OTOIA embedded dans chaque
|
||||
portail** »). Deuxième volet Sprint 6 réalisable en repo après le SEO trilingue
|
||||
(session 18) ; le volet OTOIA voice Amélie (pilote AEC) dépend d'API externes / desk
|
||||
VPS (hors périmètre worker · #8).
|
||||
|
||||
**Décision d'architecture (#1 ERPNext natif)** : dans ERPNext v15, un bloc de contenu
|
||||
réutilisable inséré dans un `Workspace` **EST** le DocType `Custom Block` → on livre
|
||||
**un `Custom Block` par portail** (un `<div>` de montage) + la **config runtime**
|
||||
(`chat_mount.json`), pas de framework de chat externe. Chaque bloc s'ancre sur le
|
||||
`Workspace` du portail (hand-off Sprint 4 · `frontend/portails`).
|
||||
|
||||
**Fichiers créés** — `05_deliverables_mvp/frontend/chat_otoia/` :
|
||||
- `chat_spec.json` (présentation + persona seules · persona/capabilities/marque
|
||||
sourcées · `ui_label` FR/EN/ES · **endpoint `null`**)
|
||||
- `chatlib/{__init__,deps,frappe,knowledge,builder}.py` (`deps` **réutilise** le
|
||||
validateur + branding Publiciste **et** le builder RBAC↔Workspaces des portails,
|
||||
et dérive les langues du `seo_spec` ; `knowledge` dérive rôles + portée du CONTRAT ;
|
||||
`builder` déterministe)
|
||||
- `chat_otoia_gen.py` (CLI `build`/`validate` · **14 invariants**)
|
||||
- `chat.schema.json` (contrat de sortie draft-07)
|
||||
- `out/{custom_block,chat_mount,MANIFEST}.json` (hand-off) · `tests/test_chat_otoia.py`
|
||||
(**31 tests** dont 11 injections négatives) · `README.md` · `.gitignore`
|
||||
|
||||
**Fichiers modifiés** :
|
||||
- `.gitea/workflows/ci.yml` : job `chat-otoia-tests` + ajout au `gate`.
|
||||
|
||||
**Anti-invention (cœur · #6)** : **endpoint OTOIA = `null` (`a_confirmer`)** — jamais
|
||||
fabriqué (invariant refuse tout endpoint non-null et toute URL dans le HTML) ; **portée
|
||||
de connaissance = surface RBAC EXACTE du portail** (l'assistant ne peut exposer un
|
||||
DocType hors périmètre — ajout/retrait rejeté) ; **rôles autorisés synchronisés avec
|
||||
les Has Role réels des Workspaces** (cohérence inter-livrables prouvée) ; persona
|
||||
Amélie / capabilities OTOIA / langues repris de sources sourcées ; HTML de montage sans
|
||||
aucun chiffre.
|
||||
|
||||
**Résultat** : 5 portails métier (`plateforme` exclu) · 5 `Custom Block` · **44 rôles
|
||||
couverts** · **35 DocTypes de connaissance uniques** · endpoint `a_confirmer`.
|
||||
|
||||
**Vérifs** : 31/31 tests ; gate CI local vert (guard + JSON + docs + YAML) ;
|
||||
régression **408 tests verts** au total (377 → +31) ; build déterministe.
|
||||
|
||||
**Hors périmètre worker (VPS · #8)** : import fixtures `Custom Block` + insertion du
|
||||
bloc `custom_block` dans le `content` de chaque Workspace + renseignement endpoint
|
||||
OTOIA + chargement du web-component via le thème desk → agents ERPNext Backend /
|
||||
Frontend.
|
||||
|
||||
**Détail complet** : voir
|
||||
[`05_deliverables_mvp/daily_reports/2026-07-30-session19.md`](../05_deliverables_mvp/daily_reports/2026-07-30-session19.md).
|
||||
|
||||
**Auto-score 4Big** : 96/100.
|
||||
|
||||
## Session `20260730_085719` (session 18)
|
||||
|
||||
**Tâche** : **Sprint 6 · SEO** — Générateur **SEO trilingue** (roadmap L60 :
|
||||
|
||||
Reference in New Issue
Block a user