[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

This commit is contained in:
Claude Code DTP Worker
2026-07-30 09:12:19 +00:00
parent c06e15c058
commit 0d3b2420c3
20 changed files with 5082 additions and 1 deletions
+55
View File
@@ -1,5 +1,60 @@
# Activity Log · 2026-07-30 · Claude Code DTP
## Session `20260730_085719` (session 18)
**Tâche** : **Sprint 6 · SEO** — Générateur **SEO trilingue** (roadmap L60 :
« Refactor mission `seo_autonome/` → **200+ mots-clés FR/EN/ES · schema.org ·
hreflang** »). Premier volet Sprint 6 réalisable en repo — les volets OTOIA voice
Amélie (pilote AEC) et chat OTOIA embarqué dépendent d'API externes / desk VPS
(hors périmètre worker · #8).
**Décision d'architecture** : livrable de **second niveau** — la matière première
est **`projets_master.json`**, la sortie canonique du **Publiciste** (dérivée de
`data_room/PXX/`). Le générateur ne fabrique aucun fait de projet ; il **réutilise**
(zéro duplication · #5) le validateur maison + les tokens de marque du Publiciste
(`lib/validator.py`, `lib/branding.py`).
**Fichiers créés**`05_deliverables_mvp/seo/` :
- `seo_spec.json` (config site + **lexique éditorial générique** FR/EN/ES + org
schema.org + cibles · zéro donnée projet, zéro chiffre)
- `seolib/{__init__,deps,keywords,schemaorg,hreflang,builder}.py` (`deps` réutilise
validateur + branding Publiciste ; `keywords`/`schemaorg`/`hreflang` purs et
déterministes ; `builder` assemble bundle + manifeste)
- `seo_gen.py` (CLI `build`/`validate` · **15 invariants**)
- `seo.schema.json` (contrat de sortie draft-07)
- `fixtures/projets_master.json` (test only · 9 projets P01..P09, noms sourcés
`CLAUDE.md §Projets`, tous `en_developpement`, **zéro chiffre**)
- `out/{seo_keywords,seo_schema_org,seo_hreflang,MANIFEST}.json` (hand-off) ·
`tests/test_seo.py` (**36 tests** dont 8 injections négatives) · `README.md` ·
`.gitignore`
**Fichiers modifiés** :
- `.gitea/workflows/ci.yml` : job `seo-tests` + ajout au `gate`.
**Anti-invention (cœur · #6)** : un mot-clé = composition de tokens factuels
(`projet:<code>.nom`/`.localisation`, sourçables) + lexique éditorial générique
non chiffré (`lexicon:*`) ; un invariant vérifie que chaque mot-clé est sourcé et
résoluble ; un mot-clé ne peut porter que les chiffres de son champ source
(« 1069 Crisfer » passe ; un prix injecté est refusé). schema.org n'émet un prix
que pour un projet `disponible` à typologie **sourcée** (USD · #10) — la fixture
`en_developpement` produit donc **0 offre**, aucun chiffre inventé dans le hand-off.
**Résultat** : **258 mots-clés** (fr=87 · en=87 · es=84 · cible 200 dépassée) ·
schema.org 10 nœuds (1 Organization + 9 Residence) · hreflang 10 pages (accueil +
9 projets) × 4 alternates (FR/EN/ES + x-default).
**Vérifs** : 36/36 tests ; gate CI local vert (guard + JSON + docs + YAML) ;
régression **377 tests verts** au total (341 → +36) ; build déterministe.
**Hors périmètre worker (VPS · #8)** : injection balises hreflang/JSON-LD dans
`www/` + sitemap + Google Search Console + branchement sur la vraie sortie
Publiciste (9 projets réels) → agent SEO / Frontend.
**Détail complet** : voir
[`05_deliverables_mvp/daily_reports/2026-07-30-session18.md`](../05_deliverables_mvp/daily_reports/2026-07-30-session18.md).
**Auto-score 4Big** : 96/100.
## Session `20260730_082714` (session 17)
**Tâche** : **Sprint 5 · QA** — Générateur de l'**Audit 5D de conformité**