[DTP-Worker 20260805_071201] FIX de COUVERTURE doc : la fiche CRM omettait son 4e module livré crm/financement_bancaire (absent des 13 fiches agents) → sous-section dédiée + ligne de table AUTO-GATÉE par 3 gates indépendants de check_readme_claims (cellule Tests 35==source · job CI crm-financement-bancaire-tests==ci.yml · verbes CLI build|validate==subparsers, résolution par cible de lien crm/financement_bancaire∈auth) · trio pipeline + agrégat gaté « Total CRM 81 tests » laissés INTACTS (financement ne partage pas la source unique workflow_vente_spec → hors-trio, sinon faux sémantiquement + gate cassé) · Sprint 4·L52 lu dans acceptance_spec.json (autorité roadmap-globale, PAS le Sprint 5 agent-interne du README module) · 35 tests lu dans regression_plan · SIGNAL surfacé non tranché : README module « Sprint 5 » vs S4 acceptance (piège des 2 cadres de sprint, édition spec+regen coordonnée requise) · 0 édition d'autorité · 0 gate ajouté (#5) · 0 chiffre inventé (#6) · CI 33 PASS
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+26
-1
@@ -29,7 +29,32 @@ AVANT le Workflow** qui le cible.
|
||||
doublons) : le nom du DocType, son champ d'état, ses valeurs de statut et son
|
||||
caractère *submittable* sont **dérivés** de `workflow_vente_spec.json` (anti-dérive) ;
|
||||
les rôles sont **résolus** depuis `rbac/rbac_50_roles.json` — jamais un nom Frappe
|
||||
en dur. Total CRM : **81 tests** (25 + 31 + 25), tous gated dans le CI.
|
||||
en dur. Total CRM : **81 tests** (25 + 31 + 25), tous gated dans le CI — c'est le
|
||||
total du **trio pipeline** ; le module financement bancaire ci-dessous porte ses
|
||||
**35 tests** à part (source distincte).
|
||||
|
||||
## Module CRM additionnel · financement bancaire hypothécaire (piloté par directive)
|
||||
|
||||
Un **quatrième** livrable CRM vit sous `05_deliverables_mvp/crm/` **hors du trio
|
||||
pipeline** — piloté non par `workflow_vente_spec.json` mais par une directive datée
|
||||
de Michel, d'où son suivi séparé (il ne partage pas la source unique du trio) :
|
||||
|
||||
| Module | Sprint | Rôle | Entrée CLI | Job CI | Tests |
|
||||
|---|---|---|---|---|---|
|
||||
| [`financement_bancaire/`](../../05_deliverables_mvp/crm/financement_bancaire/README.md) | 4 (roadmap L52) | Parcours **hypothécaire RD** : cœur métier du **gate check 4 conditions** — aucun document n'est transmis à la banque tant que apport initial (20 % résident · 30 % étranger · Ley 189-11) + documents exigés + autorisations signées + validation référente ne sont pas réunis ; fonctions **pures** sans I/O | `financement_bancaire_gen.py build\|validate` | `crm-financement-bancaire-tests` | 35 |
|
||||
|
||||
Matérialise [`DIRECTIVE_FINANCEMENT_BANCAIRE_COMPLET_20260803.md`](../../DIRECTIVE_FINANCEMENT_BANCAIRE_COMPLET_20260803.md)
|
||||
(**Phase 1 · P0 · MVP** : contrat de données + cœur du gate + 6 sections + bannière
|
||||
critique). La **Phase 2** (formulaires PDF officiels des 6 banques, endpoints
|
||||
runtime `/api/hypotheque/*`, `renderHypotheque`) attend les démarches
|
||||
relationship-manager de Michel et l'exécution VPS — **hors périmètre worker** (#8).
|
||||
|
||||
**Décision produit ouverte** — la condition #4 du gate teste encore une validation
|
||||
**humaine** (`wag_validated_by`), alors que la couche `## PRÉCISION` de la directive
|
||||
la supersède par un **audit IA signé** ; producteur d'audit hors dépôt → arbitrage
|
||||
de séquencement, **surfacé non tranché** dans
|
||||
[`OPEN_DECISIONS_REGISTER.md` D-02](../../05_deliverables_mvp/OPEN_DECISIONS_REGISTER.md)
|
||||
(ne pas re-litiger · #5).
|
||||
|
||||
## Anti-invention (#6) — pourquoi les taux de commission sont `null`
|
||||
**Aucun taux de commission n'est documenté dans CLAUDE.md.** Les taux du barème
|
||||
|
||||
@@ -1,5 +1,52 @@
|
||||
# Activity Log · 2026-08-05 · Claude Code DTP Worker
|
||||
|
||||
## Session 071201 · FIX de COUVERTURE doc — la fiche CRM omettait son **4e module livré** (`crm/financement_bancaire`) : ajout d'une sous-section dédiée + ligne de table **auto-gatée** (35 tests · job CI · verbes CLI) · 0 édition d'autorité
|
||||
|
||||
**Contexte + choix de tâche.** `./run_ci.sh` au démarrage : **33 PASS · 0 FAIL · 0 SKIP**, arbre propre.
|
||||
Roadmap `ROADMAP_8_WEEKS_OR_LESS.md` intégralement livrée/gatée (24/24 modules 4Big à 100/100, matrice
|
||||
d'acceptance 15/15 `in_repo`) — **Sprint 8 · launch-readiness**. Les décisions ouvertes restantes sont
|
||||
des **arbitrages produit de Michel** ([[open-decisions-register]], ne pas trancher · #5). Tâche retenue :
|
||||
le **fallback explicite** de la mission (« améliorer la doc d'un AGENT.md ») appliqué à un **écart réel**,
|
||||
pas cosmétique.
|
||||
|
||||
**Le finding.** La fiche `03_agents/crm/AGENT.md` se présente comme le recensement des « **Livrables CRM
|
||||
réellement produits** » mais n'en documentait que **3** (trio pipeline `workflow_vente`/`dossier_vente`/
|
||||
`commissions`). Or `05_deliverables_mvp/crm/` héberge un **4e module gaté** — `financement_bancaire`
|
||||
(parcours hypothécaire RD · gate check 4 conditions · 35 tests · job `crm-financement-bancaire-tests`) —
|
||||
**absent de TOUTES les 13 fiches agents** (grep confirmé), y compris de sa fiche propriétaire naturelle.
|
||||
Ce n'était pas une *inexactitude* (les 3 lignes existantes sont justes, cf. [[fiche-accuracy-audit-closed]])
|
||||
mais une **incomplétude** : un livrable réel sans surface de doc côté agent.
|
||||
|
||||
**Pourquoi il était hors du trio (et le reste).** Le trio partage **une source unique**
|
||||
(`workflow_vente_spec.json` + `rbac_50_roles.json`) — c'est la propriété « cross-cohérents » que décrit la
|
||||
prose du trio, et que le gate `check_readme_claims.sh:725` encode en figeant « Total CRM : 81 tests » aux
|
||||
**3** suites du pipeline. `financement_bancaire` **ne partage pas** cette source (piloté par
|
||||
`DIRECTIVE_FINANCEMENT_BANCAIRE_COMPLET_20260803.md`), donc l'ajouter comme 4e ligne du trio aurait été
|
||||
faux sémantiquement **et** cassé le gate (regex `Total CRM : **N tests**`). D'où une **sous-section
|
||||
séparée**, le trio et son agrégat gaté laissés **intacts**.
|
||||
|
||||
**Sourcing (zéro invention · #6).** Sprint **4 · roadmap L52** lu dans l'autorité roadmap-globale
|
||||
`qa/acceptance/acceptance_spec.json:71-84` (byte-gaté ; `evidence_modules` inclut `crm/financement_bancaire`
|
||||
sous S4) — **pas** le « Sprint 5 » du README module, qui est le **cadre agent-interne**
|
||||
([[agent-internal-vs-roadmap-sprint-frames]]). Nombre de tests **35** lu dans `regression_plan.json`
|
||||
(`test_methods`, source faisant autorité). CLI `financement_bancaire_gen.py build|validate` vérifié depuis
|
||||
les subparsers.
|
||||
|
||||
**Auto-gatage confirmé — le finding devient opposable au merge.** La nouvelle ligne de table est captée
|
||||
par **trois** gates indépendants de `check_readme_claims.sh` (résolution par **cible de lien**,
|
||||
`crm/financement_bancaire ∈ auth`) : (a) cellule Tests `35 == source (35)`, (b) job CI
|
||||
`crm-financement-bancaire-tests == ci.yml`, (c) verbes CLI `build|validate == subparsers`. Une future
|
||||
dérive du compte/job/CLI **mordra** désormais. `./run_ci.sh` final : **33 PASS**.
|
||||
|
||||
**SIGNAL (surfacé, non tranché · SURFACE don't rewrite).** Le README du module écrit « **Sprint 5** ·
|
||||
roadmap L52 » — pairing interne étrange (L52 est une ligne **Sprint 4**) : soit le cadre agent-interne,
|
||||
soit une micro-dérive du label roadmap-global vs l'autorité `acceptance_spec` (S4). **Non édité** (le
|
||||
module README n'est pas ma cible ; le piège des deux cadres de sprint exige une édition spec+regen
|
||||
coordonnée, cf. [[agent-internal-vs-roadmap-sprint-frames]]) — consigné ici pour un passage ultérieur.
|
||||
|
||||
**Bilan.** 1 fiche agent enrichie (sous-section + 1 ligne auto-gatée) · **0 édition d'autorité** · 0 gate
|
||||
ajouté (surface déjà couverte par `row_re`/job/CLI · #5) · 0 chiffre inventé · CI **33 PASS**.
|
||||
|
||||
## Session 051154 · Attestation des DENTS des **suites de MODULE** — BATCH 4 (FINAL) : les **7 dernières** suites → **25/25** prouvées · **7 BITES · 0 TOOTHLESS** · arbre byte-pristine · 0 édition de production
|
||||
|
||||
**Contexte + choix de tâche.** `./run_ci.sh` au démarrage : **33 PASS · 0 FAIL · 0 SKIP**, arbre propre,
|
||||
|
||||
Reference in New Issue
Block a user