[DTP-Worker] Sprint 8 · buffer L75 · Fiche agent Publiciste cross-linke son livrable in-repo
Audit cohérence des 13 AGENT.md (grep -c 05_deliverables_mvp) : publiciste = seul
agent possédant un vrai module in-repo gaté (publiciste/ · 23 tests · job
publiciste-tests) à n'en cross-linker aucun (0), vs pairs >=3. Meme defaut que
faisabilite corrige session 36. + section 'Livrable Publiciste reellement produit'
(table Module/Sprint/Role/CLI/Job CI/Tests · toutes cellules verifiees) : CLI
publiciste.py {parse,validate,generate,run} (--help) · 23 tests (grep + regression) ·
job au gate (ci.yml) · Sprint 2 source README+GAP §3.13 (pas un n° roadmap qui ne
nomme pas le module) · contrat projets_master.json attribue au Faisabilite Agent
(source unique #5) · auto-score 95/100 cite depuis README L79. Anti-invention #6 :
aucun prix/positionnement fabrique · fixtures data_room = entrees hors auto-score ·
publication vente.otov7.com hors perimetre VPS #8. check_docs EXIT 0 (0 lien casse ·
5 liens resolvent) · guard_constraints EXIT 0 · regression inchangee 534 tests verts
(doc-only 0 code) · publiciste/AGENT.md links 0->5.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -82,6 +82,32 @@ data_room/PXX/ ────► parser.py (extraction) ────► projets_m
|
||||
4. Watch inotify sur `data_room/*/40_llm_outputs/` (temps réel)
|
||||
5. Backend Frappe DocType `Publiciste Log` pour audit trail
|
||||
|
||||
## Livrable Publiciste réellement produit (`05_deliverables_mvp/publiciste/`)
|
||||
|
||||
Les « Composants à créer » ci-dessus décrivent le runtime **VPS** cible
|
||||
(`otoia/capabilities/publiciste.py`, systemd/inotify · hors périmètre worker · `CLAUDE.md` #8).
|
||||
Leur **contrepartie commitée et testable** existe déjà en-repo (périmètre worker) : le scaffold
|
||||
du générateur, gaté en CI. C'est le **seul module net-neuf** du mandat, sur le chemin critique
|
||||
(cf. [`../../05_deliverables_mvp/GAP_ANALYSIS_SPRINT1.md`](../../05_deliverables_mvp/GAP_ANALYSIS_SPRINT1.md) §3.13).
|
||||
|
||||
| Module | Sprint | Rôle | Entrée CLI | Job CI | Tests |
|
||||
|---|---|---|---|---|---|
|
||||
| [`publiciste/`](../../05_deliverables_mvp/publiciste/README.md) | 2 (README `scaffold (Sprint 2)` · GAP §3.13) | **Pipeline site public** : `data_room/PXX/` → `projets_master.json` → `index.html` luxury (`lib/parser.py` extraction · `lib/validator.py` schéma · `lib/generator.py` + `lib/branding.py` rendu dark+doré `#0a0a12`/`#f0b429` · `templates/site_public.html.tmpl`) | `publiciste.py parse\|validate\|generate\|run` | `publiciste-tests` | 23 |
|
||||
|
||||
Le contrat d'échange `projets_master.json` n'est **pas** défini ici mais par le Faisabilité Agent
|
||||
([`../../05_deliverables_mvp/faisabilite/projets_master.schema.json`](../../05_deliverables_mvp/faisabilite/projets_master.schema.json),
|
||||
Sprint 1) — source unique, zéro duplication (#5). Le Publiciste en est le **consommateur** :
|
||||
`lib/parser.py` extrait, `lib/validator.py` valide contre ce schéma avant tout rendu.
|
||||
|
||||
**Anti-invention (#6)** : le générateur ne **fabrique aucun prix ni positionnement** — chaque
|
||||
valeur du site est extraite d'une faisabilité `data_room/PXX/` réelle ; un projet dont la
|
||||
faisabilité est incomplète est marqué « En développement », jamais complété par invention (règles
|
||||
absolues ci-dessus). Aucun `index.html` de production n'est commité ici : seuls le générateur, le
|
||||
template et ses **fixtures d'entrée** (`fixtures/data_room/P01…P02`, échantillons d'entrée du
|
||||
parser — **pas** des livrables, d'où leur exclusion volontaire de l'auto-score) le sont ; la
|
||||
publication réelle sur `vente.otov7.com` s'exécute côté VPS (#8). Auto-score du livrable :
|
||||
**95/100** ([`README.md`](../../05_deliverables_mvp/publiciste/README.md)).
|
||||
|
||||
## Livrable Sprint (mandat 8 semaines)
|
||||
- **Semaine 2** : Setup base + parser faisabilité → JSON
|
||||
- **Semaine 3** : Générateur HTML → vente.otov7.com
|
||||
|
||||
Reference in New Issue
Block a user