Files
Claude Code DTP Worker 15eebb41ca
CI / Contraintes NON-NÉGOCIABLES (CLAUDE.md) (push) Has been cancelled
CI / Validation JSON (schémas Faisabilité) (push) Has been cancelled
CI / Qualité documentaire (liens + 4Big) (push) Has been cancelled
CI / Reproductibilité des artefacts out/ (build == commité) (push) Has been cancelled
CI / Fraîcheur matrice de régression (run == commité) (push) Has been cancelled
CI / Intégrité du câblage CI (gate agrège tout · gates statiques verrouillés) (push) Has been cancelled
CI / Intégrité des chiffres du README (valeur == artefact cité · (push) Has been cancelled
CI / Intégrité mobile-build.yml (gating portable · activation différée · (push) Has been cancelled
CI / Publiciste · parser + schéma + generator (unittest) (push) Has been cancelled
CI / RBAC · 50 rôles + schéma (unittest) (push) Has been cancelled
CI / Faisabilité · générateur 4 volets + round-trip (unittest) (push) Has been cancelled
CI / RBAC · fixtures ERPNext (Role + Custom DocPerm) (push) Has been cancelled
CI / RBAC · plan User Permission (row-level) (push) Has been cancelled
CI / RBAC · Role Profile (bundles par portail) (push) Has been cancelled
CI / RBAC · run-book d'application unifié (agrégat 3 volets) (push) Has been cancelled
CI / Faisabilité · dossier bancable trilingue FR/EN/ES (push) Has been cancelled
CI / CRM · workflow vente ERPNext (lead → CONFOTUR) (push) Has been cancelled
CI / CRM · DocType porteur OTO Dossier Vente (push) Has been cancelled
CI / CRM · barème commissions vendeurs (push) Has been cancelled
CI / CRM · Financement Bancaire (gate hypothécaire RD) (push) Has been cancelled
CI / Fiscal · e-CF DGII (Compupar) (push) Has been cancelled
CI / Frontend · Workspaces 5 portails rôle (push) Has been cancelled
CI / Legal · DocType CONFOTUR Application (push) Has been cancelled
CI / QA · Audit 5D conformité (push) Has been cancelled
CI / SEO · mots-clés trilingues + schema.org + hreflang (push) Has been cancelled
CI / Chat OTOIA · montage par portail (Custom Block) (push) Has been cancelled
CI / QA · Audit 4Big (95+/100 sur 100% deliverables) (push) Has been cancelled
CI / Démo · Scénarios (run-sheet P07 banquier / P05 client) (push) Has been cancelled
CI / QA · Matrice de régression exhaustive (Sprint 8) (push) Has been cancelled
CI / DevOps · Run-book de déploiement VPS unifié (Sprint 8) (push) Has been cancelled
CI / QA · Matrice d'acceptation / traçabilité MVP (Sprint 8) (push) Has been cancelled
CI / Mobile · config app Expo/EAS (navigation par rôle) (push) Has been cancelled
CI / PIE · manifest de dépendances (Annexe 12 · V10.1) (push) Has been cancelled
CI / E2E baseline Playwright (manuel) (push) Has been cancelled
CI / Gate qualité (agrégat) (push) Has been cancelled
[DTP-Worker 20260813_020316] Auto exec · session 20260813_020316
2026-08-13 02:18:16 +00:00

5.0 KiB

V18 · Master Project Intake / Master Data Model (Phase 1)

Moteur : V18 · Phase 1/15 (première du plan « ORDRE DÉVELOPPEMENT » de la directive V18). Débloqué par : V18_GO_PHASE_1_20260812.md (D-06 APPROVED) + V18_DECISIONS_D07_D08_20260812.md (D-08 : sur-ensemble STRICT brief.json V12). Fondé sur : OTO V18 · Migration & Architecture Audit §4 (data model) · §5 (provenance) · §11 (séquence). Statut : livrable prêt pour CP0 (Document Completeness) · en attente de la validation Michel AVANT toute Phase 2 (séquence GO_PHASE_1 §Validation à chaque étape). Auto-score 4Big cible : ≥ 95/100 (doc + contrat schéma + couverture de tests + CLI reproductible), aligné CLAUDE.md #5.

Ce que livre la Phase 1 (et ce qu'elle NE livre PAS)

Phase 1 = le data model, pas un moteur métier. Conformément à l'audit §11 (« Zéro moteur métier tant que le data model n'est pas validé »), ce module ne calcule AUCUNE faisabilité, AUCUN DCF/IRR/DSCR (ceux-là arrivent aux moteurs 4/8, formules Big4 débloquées D-07), n'écrit rien sur le VPS (#8) et n'invente aucune donnée (#6).

Il fournit le contrat du Master Dataset — « One Master Dataset · Multiple Outputs » :

Brique Fichier Rôle
Schéma maître master_intake.schema.json Sur-ensemble strict de brief.schema.json V12, inclus via allOf/$ref ; ajoute dataset_version, les registres et les défs data_status/data_category/data_point.
Modèle de données mdmlib/master_data_model.py Les 11 statuts + 5 catégories + DataPoint traçable + garde des canoniques #9/#10.
Evidence Register mdmlib/evidence_register.py Registre documentaire (id · version · date) + liens donnée→pièce + détection de provenance pendouillante.
CLI master_intake_gen.py validate (contrat + intégrité) et maturity (complétude honnête).
Fixture pilote fixtures/intake_P01_coralis.json P01 Coralis · majoritairement PENDING (aucun chiffre inventé).
Tests tests/test_master_intake.py 32 tests · contrat, rétro-compat V12, garde canonique, intégrité preuves.

Les 11 statuts de donnée (ordre canonique)

VERIFIED · CONFIRMED · SOURCE_BASED · CALCULATED · ESTIMATED · ASSUMPTION · TARGET · BANK_REQUIREMENT · PENDING · MISSING · NOT_APPLICABLE

Une donnée n'est jamais un chiffre nu : c'est un DataPoint portant sa provenance (source_document · source_date · status · confidence · validated_by). C'est la généralisation du patron {formule + opérandes sourcés/null} déjà éprouvé dans banclib/finance.py (audit §5).

Les 5 catégories de séparation

INPUT · TARGET · ASSUMPTION · BANK_REQUIREMENT · CALCULATED — le RÔLE de la donnée dans le modèle (distinct du statut, qui dit sa fiabilité).

Rétro-compatibilité V12 (D-08)

  • Toute clé du brief.json V12 conserve son nom exact (le parser Publiciste continue de lire les données V18, ignorant silencieusement les champs V18).
  • brief.schema.json V12 est inclus (jamais recopié) via allOf/$ref sur son $id canonique → source unique, zéro duplication.
  • Les champs V18 sont ajoutés en extension, jamais en remplacement (test test_no_v12_key_shadowed_with_conflicting_type).
  • dataset_version distingue V12 vs V18.

Utilisation

python3 master_intake_gen.py validate fixtures/intake_P01_coralis.json
python3 master_intake_gen.py maturity fixtures/intake_P01_coralis.json
python3 -m unittest discover -s tests -v

Les lacunes PENDING/MISSING ne sont pas des erreurs : elles mesurent la complétude (audit §4 · « la fraction de champs absents explosera au démarrage… ce n'est pas un bug »). validate ne sort en erreur que sur une violation de contrat (statut/catégorie inconnu, canonique saisi, preuve pendouillante).

Anti-invention & angle mort déclaré (#6 · #8)

Les A1-A20 fins vivent dans la directive complète root-owned (57 chapitres), illisible par le worker (audit §0). Ce module livre donc le cadre ouvert (intake_sections clés A1..A20, contenu à confronter au CP0) — il ne fabrique aucun champ A1-A20. Toute divergence avec la spec fine de Michel sera résolue à la validation Phase 1.

Prochain incrément (post-CP0)

Après validation Michel du data model (CP0), le module sera câblé au gate CI (.gitea/workflows/ci.yml + régénération des méta-artefacts régression/4Big) et Phase 2 (Document / Evidence Engine · généralisation champs_manquants → gate CP0 automatisé) pourra démarrer.