Claude Code DTP Worker
3710253c02
[DTP-Worker 20260806_104533] FIX couverture · oracle orphelin brief.schema.json câblé à un test → le SEUL des 26 *.schema.json non enforced
...
Constat: faisabilite/generator/brief.schema.json, documenté « Contrat d'entrée »
et sibling de version/projets_master (tous deux test-enforced), n'était validé
par AUCUN test — _validate_brief() ne garde que le code projet, jamais la forme
complète du brief; un brief drifté hors contrat passait inaperçu.
Fix (teeth): test_input_briefs_validate_against_brief_schema valide les 2 fixtures
contre brief.schema.json via le validateur maison Publiciste (zéro-pip, toujours
exécuté, pas de skip sous python -S). Conformité pré-vérifiée sous validateur
maison ET oracle jsonschema. L'« incomplet » est conforme au sens schéma
(null admis) — incomplet seulement au sens sémantique (prix→placeholders #6 ).
Cascade régénérée (générateurs, jamais à la main #6 ): regression_plan/run/MANIFEST
16→17 · totaux 624→625 exécutés / 607→608 passés / 17 skippés · quality_report
evidence 16→17. Prose gatée réalignée (le gate check-readme-claims a mordu):
README module + fiches faisabilite/qa/erpnext_backend. Prose ungatée: GAP_ANALYSIS
16→17 + nouveau bloc daily_report (blocs currency antérieurs = snapshots datés,
non réécrits).
0 gate ajouté (#5 ) · 0 chiffre à la main (#6 ) · 0 commande VPS (#8 ).
run_ci.sh = 33 PASS · 0 FAIL · 0 SKIP.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-08-06 10:56:35 +00:00
Claude Code DTP Worker
3eec69a87f
[DTP-Worker 20260803_023638] Sprint 5 · fix · Dérive ground-truth Mobile résiduelle GAP_ANALYSIS_SPRINT1 : « Existe : Expo 54/RN 0.81.5 » (upgrade abandonné 2026-07-27) → Expo 51/RN 0.74.5 réel + « Rebuild Expo 54 » en reste-à-faire (aligné roadmap L18). Surface manquée par le sweep 94e9365/642643f · prose non gatée · gate-neutre · run_ci.sh 30 PASS
2026-08-03 02:42:16 +00:00
Claude Code DTP Worker
911f70b9ab
[DTP-Worker] Sprint 2 · Faisabilité générateur 4 volets (brief→data_room + round-trip Publiciste + gate)
...
Générateur brief JSON → data_room/PXX/ (template canonique v1.0) :
- genlib/{model,scorer,renderer}.py : params canoniques imposés (#9/#10),
barème 4Big §7, rendu aligné sur le parser Publiciste (round-trip garanti)
- faisabilite_gen.py : CLI score/scaffold/generate/batch ; axe machine-lisible
PROUVÉ (re-parse Publiciste + validation version.json), jamais auto-décerné
- Anti-invention #6 : champ 🔴 absent → placeholder + champs_manquants +
rétrogradation statut ; prix manquant → {{…}} (jamais 0)
- 16 tests unittest (stdlib, réutilise parser+validateur Publiciste · #5 ) +
oracle jsonschema ; job CI faisabilite-gen-tests dans le gate (Gitea only #2 )
- brief.schema.json + fixtures synthétiques ; README ; GAP §2 mis à jour
Boucle de valeur fermée : generator → data_room → Publiciste → projets_master.json
Auto-score 4Big : 96/100.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-30 02:37:47 +00:00
Claude Code DTP Worker
cc3e5aef0e
[DTP-Worker] Sprint 2 · ERPNext RBAC 50 rôles (schéma + data + spec + gate)
...
Livrable Sprint 2 (roadmap §S2 l.38 « RBAC 50 rôles configuration »,
GAP_ANALYSIS §3.4). Seul deliverable S2 100% autorable en-repo — les clones
Frontend/CRM dépendent des layouts LIVE (VPS).
- rbac/rbac.schema.json — contrat JSON-Schema draft-07 (sous-ensemble validateur
maison, zéro pip) : 50 rôles, DocPerm par DocType, scope User Permission.
- rbac/rbac_50_roles.json — 50 rôles × 5 portails métier + console plateforme,
mappés aux entités CLAUDE.md, ciblant des DocTypes ERPNext v15 natifs.
- rbac/RBAC_50_ROLES_SPEC.md — design RBAC 3 niveaux + séparation des pouvoirs +
procédure d'application VPS (fixtures bench, hors périmètre worker).
- rbac/tests/test_rbac.py — 10 tests unittest (réutilise le validateur
Publiciste, pas de doublon) : 50 rôles exacts, unicité, 5 portails, anti-
élévation de privilège. Oracle jsonschema si présent.
- ci.yml — job rbac-tests ajouté au gate (Gitea Actions uniquement).
- GAP_ANALYSIS §3.4 + daily report 2026-07-30 (session 4) mis à jour.
Anti-invention #6 : aucun plafond monétaire inventé ; DocTypes non natifs
marqués custom → à confirmer VPS. Gate local vert (guard/json/docs + 10 tests
RBAC + 23 tests Publiciste régression).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-30 02:05:54 +00:00
Claude Code DTP Worker
1a87b22fd7
[DTP-Worker] Sprint 1 · Baseline QA Playwright (4 endpoints) + fix gate rouge
...
Livrable QA Sprint 1 (roadmap §Sprint 1 · GAP_ANALYSIS §7) : projet Playwright
auto-contenu sous tests/, data-driven sur e2e/routes.json pour /waf-home /crm
/qa /choisir-mon-unite. 4 contrôles/route : status<400 · HTML titré+lang ·
brand luxury (#0a0a12/#f0b429 + Fraunces/Cormorant) · zéro erreur JS/5xx.
Cible via DTP_BASE_URL (aucune URL codée en dur). Zéro invention de chiffres (#6 ).
- tests/{playwright.config.ts,package.json,tsconfig.json,.gitignore,README.md}
- tests/e2e/{routes.json,smoke.spec.ts,_shared/contract.ts}
- CI : job e2e-baseline manuel (workflow_dispatch) dans .gitea/workflows/ci.yml
— hors gate push/PR (exige serveur live), Gitea Actions only (#2 )
- Fix : gate CI rouge sur HEAD (guard flaguait sa propre doc de test négatif)
→ escape hatch documenté ci-allow. Les 3 scripts du gate repassent verts.
- GAP_ANALYSIS §7 : critère Baseline Playwright → ✅ (exécution VPS différée)
- daily report 2026-07-30 (session 2)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-30 01:02:04 +00:00
Claude Code DTP Worker
1cfb8191f4
[DTP-Worker] Sprint 1 · CI/CD Gitea Actions (gate qualité 4Big · DevOps)
...
Débloque le dernier livrable DevOps Sprint 1 authorable en-repo (GAP §7).
- .gitea/workflows/ci.yml : pipeline Gitea Actions (Gitea ONLY, jamais GitHub)
4 jobs : constraints-guard · validate-json · check-docs · gate agrégat.
- ci/guard_constraints.sh : enforce contraintes NON-NÉGOCIABLES CLAUDE.md
(GitHub/GitLab/Bitbucket #2 · EspoCRM/HubSpot #3 · Stripe #10 ·
/var/www/html/static · git clean · remote non-Gitea).
Heuristique zéro faux positif (ignore lignes de prohibition) + escape ci-allow.
- ci/validate_json.sh : parse strict schémas Faisabilité↔Publiciste.
- ci/check_docs.sh : liens Markdown internes [HARD] + auto-score 4Big [SOFT].
- ci/README.md : doc pipeline + procédure enregistrement act_runner (VPS/DevOps).
- GAP_ANALYSIS §7 : critère CI/CD Gitea Actions -> done (runner VPS restant).
Validé localement : 3 scripts verts (exit 0) sans faux positif ;
test négatif (hubspot+github.com) -> guard exit 1 correct.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-30 00:30:40 +00:00
Claude Code DTP Worker
0b2c97916a
[DTP-Worker] Sprint 1 · Template Faisabilité canonique v1.0 (débloque gap P02/P03/P05/P07)
...
- TEMPLATE_FAISABILITE_CANONIQUE_v1.0.md : 4 volets + champs obligatoires + bloc anti-gap prix/typologies
- version.schema.json : schéma _META/version.json (SemVer, score 4Big, verrou complete>=95)
- projets_master.schema.json : contrat d'extraction consommé par Publiciste
- Paramètres canoniques CLAUDE.md intégrés (3% / 8.5% / 52% · USD+DOP · Cardnet · Letter US)
- GAP_ANALYSIS §7 : critère template v1.0 -> done · daily report mis à jour
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-29 23:59:38 +00:00
Claude Code DTP Worker
e63be08b3a
[DTP-Worker] Sprint 1 deliverable · gap analysis complète 13 agents + OTOIA core · daily report 2026-07-29
...
- Audit existant vs cible MVP pour les 13 agents (refactor vs new)
- Confirme 12/13 = refactoring (gain ~47%), Publiciste seul module net-neuf
- Gap prioritaire: faisabilités P02/P03/P05/P07 hétérogènes (chemin critique)
- Risques, actions vérif VPS (déléguées DevOps), critères de sortie Sprint 1
- Zéro invention (contrainte #6 ): items non vérifiables marqués ⚠ à confirmer VPS
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-29 23:29:06 +00:00