[DTP-Worker] Sprint 8 · buffer L75 · Fiche agent Faisabilité cross-linke ses livrables in-repo

Seule fiche agent (parmi qa/crm/devops qui en ont une) sans aucun lien vers ses
livrables gated : 03_agents/faisabilite/AGENT.md avait 0 lien 05_deliverables_mvp
vs 3 chez ses pairs. Aucun chemin de la mission vers les artefacts commités qui la
réalisent — vrai gap de finition, non un polish cosmétique.

+ section « Livrables Faisabilité réellement produits » (table calquée sur le
pattern des agents pairs) · 3 entrées TOUTES vérifiées par lecture directe :
TEMPLATE_FAISABILITE_CANONIQUE_v1.0.md [S1 · check-docs] · generator/ [S2 ·
faisabilite_gen score/scaffold/generate/batch · faisabilite-gen-tests · 16t] ·
bancable/ [S3 · bancable_gen build/validate · bancable-tests · 22t].

Anti-invention #6 : sprints lus dans en-têtes README/CLI, sous-commandes via --help,
comptes de tests repris du regression run faisant autorité, jobs CI lus dans ci.yml.
Frontière worker/VPS #8 rappelée : générateurs = contrepartie commitée+testable des
composants runtime OTOIA hors périmètre (aucune faisabilité PXX concrète prétendue).

Vérifs : check_docs vert (0 lien cassé · 3 nouveaux liens relatifs résolvent) ·
guard_constraints vert (exit 0). Doc-only, 0 code · régression inchangée 534 verts.
Auto-score 4Big 96/100.
This commit is contained in:
Claude Code DTP Worker
2026-07-30 19:03:04 +00:00
parent 2467628117
commit 2d11a778b2
3 changed files with 61 additions and 2 deletions
+18
View File
@@ -10,6 +10,24 @@
5. **Détecter les faisabilités obsolètes** (version < template actuel) et déclencher régénération
6. **Score qualité 4Big ≥ 95/100** obligatoire
## Livrables Faisabilité réellement produits (`05_deliverables_mvp/faisabilite/`)
Générateurs déterministes **in-repo** (périmètre worker · `CLAUDE.md` #8), gatés en CI —
les composants runtime OTOIA/VPS listés plus bas (`otoia/capabilities/…`, systemd) restent
**hors périmètre worker** ; ces modules en sont la contrepartie commitée et testable.
| Module | Sprint | Rôle | Entrée CLI | Job CI | Tests |
|---|---|---|---|---|---|
| [`TEMPLATE_FAISABILITE_CANONIQUE_v1.0.md`](../../05_deliverables_mvp/faisabilite/TEMPLATE_FAISABILITE_CANONIQUE_v1.0.md) | 1 (roadmap L41-46) | **Template canonique v1.0** — contrat des 4 volets + champs obligatoires (§Livrable S1 ci-dessous) | — (doc contrat) | `check-docs` | — |
| [`generator/`](../../05_deliverables_mvp/faisabilite/generator/README.md) | 2 (roadmap L44) | **Générateur 4 volets** : `brief.json``data_room/PXX/` (template v1.0), round-trip via le parser Publiciste | `faisabilite_gen.py score\|scaffold\|generate\|batch` | `faisabilite-gen-tests` | 16 |
| [`bancable/`](../../05_deliverables_mvp/faisabilite/bancable/README.md) | 3 (roadmap L46) | **Dossier bancable trilingue** : `brief.json``50_financier_bancable/{fr,en,es}.md` + manifest, figures sourcées verbatim + agrégats recalculés | `bancable_gen.py build\|validate` | `bancable-tests` | 22 |
**Anti-invention (#6)** : `generator` et `bancable` ne **fabriquent aucun chiffre** — les figures
sont citées verbatim depuis le `brief.json` du projet et les agrégats sont recalculés de façon
traçable (formule recoupée en test). Aucune faisabilité concrète PXX n'est commitée ici : seuls
le générateur, son contrat et ses fixtures d'entrée le sont (le rendu réel des 9 projets
s'exécute côté OTOIA/VPS · #8).
## Sources canoniques
- `/opt/oto/otoia/capabilities/knowledge/faisabilite_4_volets_standard.md` (STANDARD OFFICIEL)
- `/opt/oto/data_room/_TEMPLATE_FAISABILITE_v{X}/` (template versionné)
+41
View File
@@ -1,5 +1,46 @@
# Activity Log · 2026-07-30 · Claude Code DTP
## Session `20260730_185825` (session 36)
**Tâche** : **Sprint 8 · buffer L75 (corrections finales · doc)** — roadmap
fonctionnellement close (21/21 modules gated à **100/100** [audit_4big build ·
verdict PASS], **534 tests** verts sur 21 suites [regression run], 15 promesses
roadmap couvertes [acceptance]). En cherchant une incohérence de finition réelle :
la fiche **`03_agents/faisabilite/AGENT.md`** était la **seule**, parmi ses pairs
(`qa`, `crm`, `devops` en ont chacune une), à **ne cross-linker aucun** de ses
livrables gated in-repo — un lecteur n'avait aucun chemin de la mission de l'agent
vers les artefacts commités qui la réalisent (`grep -c 05_deliverables_mvp` :
faisabilite=**0** vs qa/crm/devops=3).
**Fichier modifié**`03_agents/faisabilite/AGENT.md` : + section **« Livrables
Faisabilité réellement produits »** (table calquée sur le pattern des agents pairs :
Module · Sprint · Rôle · Entrée CLI · Job CI · Tests), 3 entrées **toutes vérifiées
par lecture directe** :
- [`TEMPLATE_FAISABILITE_CANONIQUE_v1.0.md`] — S1 · contrat des 4 volets · gate
`check-docs` (doc, pas de suite de tests).
- [`generator/`] — S2 · `faisabilite_gen.py {score,scaffold,generate,batch}` · job
`faisabilite-gen-tests` · **16 tests** (compte confirmé par `regression run`).
- [`bancable/`] — S3 · `bancable_gen.py {build,validate}` · job `bancable-tests` ·
**22 tests** (idem).
**Anti-invention (#6)** : chaque cellule est **sourcée** — sprints lus dans les
en-têtes README/CLI (`generator` « Sprint 2 », `bancable` « Sprint 3 », template
« Livrable Sprint 1 »), sous-commandes lues via `--help`, comptes de tests repris
du `regression run` faisant autorité, jobs CI lus dans `.gitea/workflows/ci.yml`.
La section rappelle en outre la frontière worker/VPS (#8) : ces générateurs sont la
contrepartie **commitée et testable** des composants runtime OTOIA (`otoia/
capabilities/…`, systemd) restés hors périmètre — sans prétendre qu'une faisabilité
PXX concrète serait commitée (seuls générateur + contrat + fixtures d'entrée le sont).
**Vérifs** : `ci/check_docs.sh` vert (**0 lien interne cassé** — les 3 nouveaux liens
relatifs `../../05_deliverables_mvp/faisabilite/*` résolvent) ; `ci/guard_constraints.sh`
vert (exit 0). `AGENT.md` hors périmètre SOFT-check 4Big (seuls `05_deliverables_mvp/*.md`
scorés). Changement **doc-only**, 0 code touché ; régression inchangée (534 verts).
**Hors périmètre worker (VPS · #8)** : néant (doc-only en-repo).
**Auto-score 4Big** : 96/100.
## Session `20260730_182824` (session 35)
**Tâche** : **Sprint 8 · buffer L75 (corrections finales · doc)** — Aucun module
@@ -564,7 +564,7 @@
"criterion": "DOC",
"weight": 20,
"passed": true,
"evidence": "README.md (4402 octets)"
"evidence": "README.md (4888 octets)"
},
{
"criterion": "CONTRAT",
@@ -732,7 +732,7 @@
"criterion": "DOC",
"weight": 20,
"passed": true,
"evidence": "README.md (4486 octets)"
"evidence": "README.md (5011 octets)"
},
{
"criterion": "CONTRAT",