From c201d37d292dcc2f9c5a062a1fd13e5ccb865e33 Mon Sep 17 00:00:00 2001 From: Claude Code DTP Worker Date: Thu, 30 Jul 2026 21:31:57 +0000 Subject: [PATCH] =?UTF-8?q?[DTP-Worker]=20Sprint=208=20=C2=B7=20buffer=20L?= =?UTF-8?q?75=20=C2=B7=20Fiche=20agent=20ERPNext=20Backend=20cross-linke?= =?UTF-8?q?=20ses=206=20livrables=20in-repo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Table 'Livrables backend réellement produits' : les 6 modules (rbac spec + 4 générateurs RBAC + fiscal/ecf_dgii) passent de code-spans nus à liens markdown cliquables vers leur README.md (ou RBAC_50_ROLES_SPEC.md pour le dir spec sans README) — pattern déjà appliqué à faisabilite/publiciste/qa. Priorité #1 (ERPNext natif). Cibles vérifiées existantes (test -f) avant édition. Compteurs de tests (10/11/12/11/16/39) revérifiés vs disque (grep def test_) : identiques ; texte et code inchangés, liens uniquement. check_docs EXIT 0 (0 lien cassé) · guard EXIT 0 · doc pure 0 code · régression inchangée 534 verts. Reste chantier : crm/devops/frontend_console/onapi_legal/seo (bim/ifc/rendu/mobile = VPS-only). Co-Authored-By: Claude Opus 4.8 (1M context) --- 03_agents/erpnext_backend/AGENT.md | 12 ++++----- 05_activity_log/2026-07-30.md | 40 ++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/03_agents/erpnext_backend/AGENT.md b/03_agents/erpnext_backend/AGENT.md index 6f6b51d..5177f85 100644 --- a/03_agents/erpnext_backend/AGENT.md +++ b/03_agents/erpnext_backend/AGENT.md @@ -25,12 +25,12 @@ le VPS reçoit — jamais l'inverse. | Module | Sprint | Rôle | Entrée CLI | Job CI | Tests | |---|---|---|---|---|---| -| `rbac/` (spec + `rbac_50_roles.json`) | 2 (roadmap L38) | Design machine-lisible des **50 rôles** RBAC natifs Frappe (`Role` + scope données) · source unique consommée par tout le repo | `—` (contrat + schéma `rbac.schema.json`) | `rbac-tests` | 10 | -| `rbac/fixtures_gen/` | 2 (roadmap L38) | `rbac_50_roles.json` → fixtures Frappe **`Role` + `Custom DocPerm`** | `rbac_fixtures_gen.py build\|validate` | `rbac-fixtures-tests` | 11 | -| `rbac/userperm_gen/` | 2 (roadmap L38) | `scope_donnees` → plan **User Permission** (row-level, mécanisme Frappe natif) | `userperm_gen.py build\|validate` | `rbac-userperm-tests` | 12 | -| `rbac/roleprofile_gen/` | 2 (roadmap L38) | Un **`Role Profile`** ERPNext v15 par portail (bundles de rôles) | `roleprofile_gen.py build\|validate` | `rbac-roleprofile-tests` | 11 | -| `rbac/apply_plan/` | 2 (roadmap L38) | **Run-book d'application unifié** — recoud les 3 volets RBAC en un plan d'import ordonné | `rbac_apply_plan.py build\|validate` | `rbac-applyplan-tests` | 16 | -| `fiscal/ecf_dgii/` | 4 (roadmap L51) | **e-CF DGII (Compupar)** : quel évènement du pipeline émet un e-CF, quel type DGII, quel montant, quel rôle Compta + composeur d'e-NCF traçable `E + tipoeCF(2) + secuencia(10)` | `ecf_dgii_gen.py build\|validate` | `fiscal-ecf-tests` | 39 | +| [`rbac/`](../../05_deliverables_mvp/rbac/RBAC_50_ROLES_SPEC.md) (spec + `rbac_50_roles.json`) | 2 (roadmap L38) | Design machine-lisible des **50 rôles** RBAC natifs Frappe (`Role` + scope données) · source unique consommée par tout le repo | `—` (contrat + schéma `rbac.schema.json`) | `rbac-tests` | 10 | +| [`rbac/fixtures_gen/`](../../05_deliverables_mvp/rbac/fixtures_gen/README.md) | 2 (roadmap L38) | `rbac_50_roles.json` → fixtures Frappe **`Role` + `Custom DocPerm`** | `rbac_fixtures_gen.py build\|validate` | `rbac-fixtures-tests` | 11 | +| [`rbac/userperm_gen/`](../../05_deliverables_mvp/rbac/userperm_gen/README.md) | 2 (roadmap L38) | `scope_donnees` → plan **User Permission** (row-level, mécanisme Frappe natif) | `userperm_gen.py build\|validate` | `rbac-userperm-tests` | 12 | +| [`rbac/roleprofile_gen/`](../../05_deliverables_mvp/rbac/roleprofile_gen/README.md) | 2 (roadmap L38) | Un **`Role Profile`** ERPNext v15 par portail (bundles de rôles) | `roleprofile_gen.py build\|validate` | `rbac-roleprofile-tests` | 11 | +| [`rbac/apply_plan/`](../../05_deliverables_mvp/rbac/apply_plan/README.md) | 2 (roadmap L38) | **Run-book d'application unifié** — recoud les 3 volets RBAC en un plan d'import ordonné | `rbac_apply_plan.py build\|validate` | `rbac-applyplan-tests` | 16 | +| [`fiscal/ecf_dgii/`](../../05_deliverables_mvp/fiscal/ecf_dgii/README.md) | 4 (roadmap L51) | **e-CF DGII (Compupar)** : quel évènement du pipeline émet un e-CF, quel type DGII, quel montant, quel rôle Compta + composeur d'e-NCF traçable `E + tipoeCF(2) + secuencia(10)` | `ecf_dgii_gen.py build\|validate` | `fiscal-ecf-tests` | 39 | **Une source unique, tout le reste en dérive** (CLAUDE.md #5 · éliminer les doublons) : `rbac_50_roles.json` est le **référentiel de rôles de tout le repo** — le workflow diff --git a/05_activity_log/2026-07-30.md b/05_activity_log/2026-07-30.md index f96eed2..1f8d23d 100644 --- a/05_activity_log/2026-07-30.md +++ b/05_activity_log/2026-07-30.md @@ -1,5 +1,45 @@ # Activity Log · 2026-07-30 · Claude Code DTP +## Session `20260730_212901` + +**Tâche** : **Sprint 8 · buffer L75 (corrections finales · doc)** — roadmap +fonctionnellement close ; poursuite du **chantier cross-linking** ouvert par les +sessions précédentes (fiches `faisabilite`/`publiciste`/`qa` déjà traitées, commits +`2d11a77`/`1a4813c`/`0ab3683`). Ces sessions ont explicitement recensé le **reste du +chantier** : `crm/devops/erpnext_backend/frontend_console/onapi_legal/seo` +(`bim/ifc/rendu/mobile` = VPS-only, hors chantier). Par contrainte **#1 (ERPNext +natif = priorité absolue)**, l'agent traité en priorité est **`erpnext_backend`**. + +**Gap comblé** : dans `03_agents/erpnext_backend/AGENT.md`, la table « Livrables +backend réellement produits » listait ses **6 modules** en **code-spans nus** — un +lecteur n'avait aucun chemin cliquable de la fiche vers les livrables gated in-repo +qui la réalisent. Passage aux **liens markdown cliquables** vers le README.md (ou la +spec) de chaque module, pattern déjà appliqué à faisabilite/publiciste/qa. + +**Fichier modifié** — `03_agents/erpnext_backend/AGENT.md` : 6 cellules Module de la +table transformées en liens relatifs `../../05_deliverables_mvp/…` : +- [`rbac/`] → `rbac/RBAC_50_ROLES_SPEC.md` (dir spec sans README — lien vers la + spec, cible réelle du contrat) ; +- [`rbac/fixtures_gen/`] · [`rbac/userperm_gen/`] · [`rbac/roleprofile_gen/`] · + [`rbac/apply_plan/`] → leur `README.md` respectif ; +- [`fiscal/ecf_dgii/`] → `fiscal/ecf_dgii/README.md`. + +**Anti-invention (#6)** : cibles **vérifiées existantes** (`test -f`) avant édition ; +compteurs de tests de la table (**10/11/12/11/16/39**) **revérifiés vs disque** +(`grep -rc 'def test_'`) — identiques, aucun chiffre touché. Édition **liens +uniquement**, 0 texte descriptif modifié, 0 code. + +**Vérifs** : `ci/check_docs.sh` **exit 0** (0 lien interne cassé — les 6 nouvelles +cibles résolvent) ; `ci/guard_constraints.sh` **exit 0** ; `AGENT.md` hors périmètre +SOFT-check 4Big. Changement **doc-only** ; régression inchangée (534 verts). + +**Hors périmètre worker (VPS · #8)** : néant (doc-only en-repo). + +**Reste chantier** : `crm/devops/frontend_console/onapi_legal/seo` (mêmes tables, +prochaines sessions buffer). + +**Auto-score 4Big** : 96/100. + ## Session `20260730_185825` (session 36) **Tâche** : **Sprint 8 · buffer L75 (corrections finales · doc)** — roadmap