Files
oto-enterprise-os-dtp/05_deliverables_mvp/faisabilite/v18_master_intake/master_intake.schema.json
T
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

113 lines
5.0 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://oto.dtp/schemas/faisabilite/master_intake.schema.json",
"title": "OTO V18 · Master Project Intake (A1-A20) · Master Data Model",
"description": "Formulaire d'intake maître V18 qui remplace le Formulaire Briefing V12. D-08 (V18_DECISIONS_D07_D08_20260812.md) : SUR-ENSEMBLE STRICT de brief.json V12 — le contrat V12 brief.schema.json est INCLUS tel quel via allOf/$ref (toute clé V12 conserve son nom exact, rétro-compat parser Publiciste), et les champs V18 sont ajoutés en EXTENSION, jamais en remplacement. Le champ dataset_version distingue V12 vs V18. Anti-invention #6 : les A1-A20 fins restent ouverts tant que la spec root-owned de Michel (#8) n'est pas confrontée — ce schéma livre le CADRE (statuts · catégories · registres), pas des champs A1-A20 fabriqués.",
"type": "object",
"allOf": [
{ "$ref": "https://oto.dtp/schemas/faisabilite/brief.schema.json" }
],
"required": ["projet", "dataset_version"],
"properties": {
"dataset_version": {
"type": "string",
"enum": ["V12", "V18"],
"description": "Distingue un dataset legacy V12 d'un intake V18 (D-08 règle 6). Un intake maître V18 porte « V18 »."
},
"intake_sections": {
"type": "object",
"description": "Slots A1-A20 du Master Project Intake (directive V18 §Master Project Intake). Contenu FIN volontairement OUVERT (additionalProperties) : les 20 sections détaillées vivent dans la directive complète root-owned (#8, audit §0) et seront confrontées par Michel au CP0 — les fabriquer ici serait une invention (#6). Chaque clé est un id de section A1..A20.",
"propertyNames": { "pattern": "^A([1-9]|1[0-9]|20)$" },
"additionalProperties": true
},
"document_register": {
"type": "array",
"description": "Catalogue des pièces probantes (Evidence Room · audit §18). Register documents / files / versions (V18_GO_PHASE_1).",
"items": { "$ref": "#/definitions/document_ref" }
},
"data_register": {
"type": "array",
"description": "Le Master Dataset : chaque donnée AVEC sa provenance (statut · source · confiance · validateur). One Master Dataset · Multiple Outputs — les 3 sorties (Bank/Full/Ops) sont des projections de ce registre.",
"items": { "$ref": "#/definitions/data_point" }
},
"evidence_register": {
"type": "array",
"description": "Liens donnée→pièce : rattache un data_key à un ou plusieurs doc_id du document_register (intégrité référentielle : pas de provenance fantôme).",
"items": {
"type": "object",
"required": ["data_key", "doc_ids"],
"additionalProperties": false,
"properties": {
"data_key": { "type": "string" },
"doc_ids": {
"type": "array",
"items": { "type": "string" },
"minItems": 1
}
}
}
}
},
"definitions": {
"data_status": {
"description": "Les 11 statuts obligatoires (V18_GO_PHASE_1 §Data status). Ordre canonique = du plus fiable au sans-objet ; miroir de mdmlib.master_data_model.STATUSES.",
"type": "string",
"enum": [
"VERIFIED",
"CONFIRMED",
"SOURCE_BASED",
"CALCULATED",
"ESTIMATED",
"ASSUMPTION",
"TARGET",
"BANK_REQUIREMENT",
"PENDING",
"MISSING",
"NOT_APPLICABLE"
]
},
"data_category": {
"description": "Les 5 catégories de séparation (V18_GO_PHASE_1 §Séparation). Le RÔLE de la donnée dans le modèle ; miroir de mdmlib.master_data_model.CATEGORIES.",
"type": "string",
"enum": [
"INPUT",
"TARGET",
"ASSUMPTION",
"BANK_REQUIREMENT",
"CALCULATED"
]
},
"data_point": {
"type": "object",
"description": "Une donnée du Master Dataset avec sa provenance intégrale.",
"required": ["key", "category", "status"],
"additionalProperties": false,
"properties": {
"key": { "type": "string", "minLength": 1 },
"value": {},
"category": { "$ref": "#/definitions/data_category" },
"status": { "$ref": "#/definitions/data_status" },
"source_document": { "type": ["string", "null"] },
"source_date": { "type": ["string", "null"] },
"confidence": { "type": ["number", "null"], "minimum": 0, "maximum": 1 },
"validated_by": { "type": ["string", "null"] },
"unit": { "type": ["string", "null"] },
"note": { "type": ["string", "null"] }
}
},
"document_ref": {
"type": "object",
"description": "Une pièce probante cataloguée (id unique · version · date).",
"required": ["doc_id", "title"],
"additionalProperties": false,
"properties": {
"doc_id": { "type": "string", "minLength": 1 },
"title": { "type": "string", "minLength": 1 },
"filename": { "type": ["string", "null"] },
"version": { "type": ["string", "null"] },
"source_date": { "type": ["string", "null"] }
}
}
}
}