[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>
This commit is contained in:
Claude Code DTP Worker
2026-07-30 14:00:36 +00:00
parent a915758b37
commit 399d9ff11a
2 changed files with 104 additions and 6 deletions
+65 -6
View File
@@ -1,17 +1,76 @@
# SEO Agent · Trilingue FR/EN/ES
# 🔎 SEO Agent · Trilingue FR/EN/ES (score 95+/100)
**Rôle** : Cet agent produit le **bundle SEO trilingue** de `vente.otov7.com`
mots-clés FR/EN/ES, graphe `schema.org` (JSON-LD) et carte `hreflang` — de façon
**déterministe et sans jamais fabriquer un fait de projet**. Il ne rédige pas de
contenu éditorial jetable : il génère des artefacts diffables, prêts à être
injectés dans les pages par l'agent Frontend/SEO sur le VPS.
## Scope
200+ mots-clés, schema.org, hreflang, indexation Google Search Console
200+ mots-clés FR/EN/ES · `schema.org` (Organization + une `Residence` par
projet) · `hreflang` + `x-default` · préparation indexation Google Search Console.
## Principe directeur : hand-off VPS, jamais d'écriture serveur (#8)
Le générateur transforme un **spec de site + lexique éditorial** (contrat en-repo,
zéro chiffre inventé) en artefacts `out/` **commités** — le hand-off direct.
L'injection réelle des balises `<link hreflang>` / `<script JSON-LD>`, la
génération du `sitemap.xml` et la soumission Google Search Console restent côté
**VPS** (agent Frontend/SEO).
## Livrable réellement produit (`05_deliverables_mvp/seo/`)
| Volet roadmap (L60) | Sortie | Métrique vérifiée |
|---|---|---|
| 200+ mots-clés FR/EN/ES | `out/seo_keywords.json` | **258** mots-clés (fr=87 · en=87 · es=84), chacun sourcé — cible min 200 / 50 par langue |
| schema.org | `out/seo_schema_org.json` | graphe JSON-LD : **10 nœuds** (`Organization` + 9 `Residence`) |
| hreflang | `out/seo_hreflang.json` | **10 pages** × FR/EN/ES + `x-default` |
| compte-rendu | `out/MANIFEST.json` | comptes + cibles + hors-périmètre |
CLI : `python3 seo_gen.py build|validate` · Job CI : `seo-tests` (`unittest
discover`) · **36 tests**, gated dans le pipeline.
## Source de vérité unique (zéro invention · #6)
La matière première est **`projets_master.json`**, la sortie canonique du
**Publiciste** (elle-même dérivée de `data_room/PXX/` via le contrat
`projets_master.schema.json`). Le worker ne fabrique **aucun** fait de projet :
- un **mot-clé** compose des *tokens factuels* (nom / localisation du projet,
sourçables `projet:<code>.<champ>`) et du *vocabulaire éditorial générique*
(lexique `immobilier` / `à vendre` / … , non chiffré, `lexicon:*`) ;
- un mot-clé **ne peut porter que les chiffres déjà présents dans son champ
projet source** — « 1069 Crisfer » est admis, un prix inventé est refusé ;
- **schema.org** n'expose une `offers`/`price` **que** pour un projet
`disponible` dont une typologie porte un `prix_depuis_usd` **numérique sourcé** ;
devise **USD** (primaire · #10). Statuts sans prix (`en_developpement` /
`bientot` / `en_processus`) → **aucun chiffre** (`offers=0` actuellement).
Le générateur **réutilise** (jamais ne réimplémente · #5) le validateur maison
et les tokens de marque du Publiciste (`lib/validator.py`, `lib/branding.py` :
`STATUTS_SANS_PRIX`, devise USD). Modules internes : `seolib/{keywords,schemaorg,
hreflang,builder,deps}.py`.
## Non-négociables (voir CLAUDE.md racine pour la liste complète)
- Gitea only (jamais GitHub)
- ERPNext natif en priorité
- ERPNext natif en priorité absolue avant tout outil externe
- Score 4Big 95+/100
- Zéro invention chiffres
- Zéro invention de chiffres — un mot-clé ne porte que les faits de sa source
- **VPS pour tous projets** — le worker n'écrit jamais sur le serveur (#8)
- Vérifier · Investiguer · Valider · Confirmer
## Livrable attendu semaines 1-8
Voir `04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md` pour deliverables par sprint.
## Livrable attendu · roadmap
Voir `04_roadmap/ROADMAP_8_WEEKS_OR_LESS.md`. Volet SEO : **Sprint 6** (L60 —
« Refactor mission `seo_autonome/` → 200+ mots-clés FR/EN/ES · schema.org ·
hreflang »).
## Coordination inter-agents
- **Publiciste** : fournit `projets_master.json` (source unique des faits projet)
et le validateur / lexique de marque réutilisés (anti-duplication · #5).
- **Faisabilité** : porteur du contrat `projets_master.schema.json` qui structure
l'entrée.
- **Frontend Console** : destinataire du bundle `out/` — injecte balises hreflang
et JSON-LD dans les pages `www/` (VPS #8).
- **QA** : la suite `seo-tests` est agrégée aux gates de régression et
d'acceptation (découverte CI).
## Communication inter-agents
- Rapports quotidiens dans `05_deliverables_mvp/daily_reports/`