{
  "type": "excalidraw",
  "version": 2,
  "source": "https://excalidraw.com",
  "elements": [
    {
      "type": "text", "id": "title", "x": 60, "y": 34, "width": 1240, "height": 36,
      "text": "Typage ingestion ↔ cœur : une décision par fait, prouvée aux frontières",
      "originalText": "Typage ingestion ↔ cœur : une décision par fait, prouvée aux frontières",
      "fontSize": 28, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top",
      "strokeColor": "#1e40af", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200001, "version": 1, "versionNonce": 200002, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "text", "id": "subtitle", "x": 60, "y": 78, "width": 760, "height": 26,
      "text": "ADR-0035 — DRY les décisions, garde les frontières",
      "originalText": "ADR-0035 — DRY les décisions, garde les frontières",
      "fontSize": 18, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top",
      "strokeColor": "#3b82f6", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200003, "version": 1, "versionNonce": 200004, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "ellipse", "id": "rawjson", "x": 40, "y": 500, "width": 150, "height": 86,
      "strokeColor": "#c2410c", "backgroundColor": "#fed7aa", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200010, "version": 1, "versionNonce": 200011, "isDeleted": false,
      "groupIds": [], "boundElements": [{"id": "rawjson_t", "type": "text"}], "link": null, "locked": false
    },
    {
      "type": "text", "id": "rawjson_t", "x": 60, "y": 528, "width": 110, "height": 40,
      "text": "raw_json\nflux Enedis", "originalText": "raw_json\nflux Enedis",
      "fontSize": 14, "fontFamily": 3, "textAlign": "center", "verticalAlign": "middle",
      "strokeColor": "#374151", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200012, "version": 1, "versionNonce": 200013, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": "rawjson", "lineHeight": 1.25
    },
    {
      "type": "rectangle", "id": "dbtroom", "x": 270, "y": 452, "width": 470, "height": 196,
      "strokeColor": "#64748b", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200020, "version": 1, "versionNonce": 200021, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "roundness": {"type": 3}
    },
    {
      "type": "text", "id": "dbttitle", "x": 286, "y": 422, "width": 440, "height": 22,
      "text": "dbt — type physique + unité (kWh entier)", "originalText": "dbt — type physique + unité (kWh entier)",
      "fontSize": 15, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top",
      "strokeColor": "#1e40af", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200022, "version": 1, "versionNonce": 200023, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "rectangle", "id": "flux", "x": 300, "y": 500, "width": 175, "height": 86,
      "strokeColor": "#1e3a5f", "backgroundColor": "#3b82f6", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200024, "version": 1, "versionNonce": 200025, "isDeleted": false,
      "groupIds": [], "boundElements": [{"id": "flux_t", "type": "text"}], "link": null, "locked": false, "roundness": {"type": 3}
    },
    {
      "type": "text", "id": "flux_t", "x": 312, "y": 528, "width": 151, "height": 40,
      "text": "flux_*.sql\nlinéarisation", "originalText": "flux_*.sql\nlinéarisation",
      "fontSize": 14, "fontFamily": 3, "textAlign": "center", "verticalAlign": "middle",
      "strokeColor": "#ffffff", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200026, "version": 1, "versionNonce": 200027, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": "flux", "lineHeight": 1.25
    },
    {
      "type": "rectangle", "id": "releves", "x": 545, "y": 500, "width": 175, "height": 86,
      "strokeColor": "#1e3a5f", "backgroundColor": "#60a5fa", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200028, "version": 1, "versionNonce": 200029, "isDeleted": false,
      "groupIds": [], "boundElements": [{"id": "releves_t", "type": "text"}], "link": null, "locked": false, "roundness": {"type": 3}
    },
    {
      "type": "text", "id": "releves_t", "x": 557, "y": 528, "width": 151, "height": 40,
      "text": "releves\nmart canonique", "originalText": "releves\nmart canonique",
      "fontSize": 14, "fontFamily": 3, "textAlign": "center", "verticalAlign": "middle",
      "strokeColor": "#ffffff", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200030, "version": 1, "versionNonce": 200031, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": "releves", "lineHeight": 1.25
    },
    {
      "type": "arrow", "id": "a_flux_releves", "x": 477, "y": 543, "width": 66, "height": 0,
      "strokeColor": "#1e3a5f", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200032, "version": 1, "versionNonce": 200033, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false,
      "points": [[0, 0], [66, 0]],
      "startBinding": {"elementId": "flux", "focus": 0, "gap": 2},
      "endBinding": {"elementId": "releves", "focus": 0, "gap": 2},
      "startArrowhead": null, "endArrowhead": "arrow"
    },
    {
      "type": "rectangle", "id": "loader", "x": 800, "y": 505, "width": 150, "height": 76,
      "strokeColor": "#1e40af", "backgroundColor": "#dbeafe", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "dashed", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200034, "version": 1, "versionNonce": 200035, "isDeleted": false,
      "groupIds": [], "boundElements": [{"id": "loader_t", "type": "text"}], "link": null, "locked": false, "roundness": {"type": 3}
    },
    {
      "type": "text", "id": "loader_t", "x": 812, "y": 528, "width": 126, "height": 40,
      "text": "loader\nSELECT * · 0 type", "originalText": "loader\nSELECT * · 0 type",
      "fontSize": 13, "fontFamily": 3, "textAlign": "center", "verticalAlign": "middle",
      "strokeColor": "#374151", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200036, "version": 1, "versionNonce": 200037, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": "loader", "lineHeight": 1.25
    },
    {
      "type": "rectangle", "id": "coeurroom", "x": 1085, "y": 452, "width": 375, "height": 196,
      "strokeColor": "#64748b", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200040, "version": 1, "versionNonce": 200041, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "roundness": {"type": 3}
    },
    {
      "type": "text", "id": "coeurtitle", "x": 1100, "y": 422, "width": 360, "height": 22,
      "text": "cœur — dtype Polars + invariants", "originalText": "cœur — dtype Polars + invariants",
      "fontSize": 15, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top",
      "strokeColor": "#1e40af", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200042, "version": 1, "versionNonce": 200043, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "rectangle", "id": "rindex", "x": 1120, "y": 500, "width": 200, "height": 86,
      "strokeColor": "#1e3a5f", "backgroundColor": "#93c5fd", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200044, "version": 1, "versionNonce": 200045, "isDeleted": false,
      "groupIds": [], "boundElements": [{"id": "rindex_t", "type": "text"}], "link": null, "locked": false, "roundness": {"type": 3}
    },
    {
      "type": "text", "id": "rindex_t", "x": 1132, "y": 528, "width": 176, "height": 40,
      "text": "RelevéIndex\ncontrat Pandera", "originalText": "RelevéIndex\ncontrat Pandera",
      "fontSize": 14, "fontFamily": 3, "textAlign": "center", "verticalAlign": "middle",
      "strokeColor": "#374151", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200046, "version": 1, "versionNonce": 200047, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": "rindex", "lineHeight": 1.25
    },
    {
      "type": "text", "id": "invariants", "x": 1108, "y": 602, "width": 360, "height": 20,
      "text": "isin(source) · présence croisée · nullable", "originalText": "isin(source) · présence croisée · nullable",
      "fontSize": 12, "fontFamily": 3, "textAlign": "center", "verticalAlign": "top",
      "strokeColor": "#64748b", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200048, "version": 1, "versionNonce": 200049, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "ellipse", "id": "pipes", "x": 1495, "y": 500, "width": 150, "height": 86,
      "strokeColor": "#047857", "backgroundColor": "#a7f3d0", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200050, "version": 1, "versionNonce": 200051, "isDeleted": false,
      "groupIds": [], "boundElements": [{"id": "pipes_t", "type": "text"}], "link": null, "locked": false
    },
    {
      "type": "text", "id": "pipes_t", "x": 1512, "y": 528, "width": 116, "height": 40,
      "text": "pipelines\nénergie · TURPE", "originalText": "pipelines\nénergie · TURPE",
      "fontSize": 14, "fontFamily": 3, "textAlign": "center", "verticalAlign": "middle",
      "strokeColor": "#374151", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200052, "version": 1, "versionNonce": 200053, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": "pipes", "lineHeight": 1.25
    },
    {
      "type": "arrow", "id": "a_raw_flux", "x": 192, "y": 543, "width": 106, "height": 0,
      "strokeColor": "#c2410c", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200054, "version": 1, "versionNonce": 200055, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false,
      "points": [[0, 0], [106, 0]],
      "startBinding": {"elementId": "rawjson", "focus": 0, "gap": 2},
      "endBinding": {"elementId": "flux", "focus": 0, "gap": 2},
      "startArrowhead": null, "endArrowhead": "arrow"
    },
    {
      "type": "arrow", "id": "a_releves_loader", "x": 722, "y": 543, "width": 76, "height": 0,
      "strokeColor": "#1e3a5f", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200056, "version": 1, "versionNonce": 200057, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false,
      "points": [[0, 0], [76, 0]],
      "startBinding": {"elementId": "releves", "focus": 0, "gap": 2},
      "endBinding": {"elementId": "loader", "focus": 0, "gap": 2},
      "startArrowhead": null, "endArrowhead": "arrow"
    },
    {
      "type": "arrow", "id": "a_loader_rindex", "x": 952, "y": 543, "width": 166, "height": 0,
      "strokeColor": "#1e40af", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200058, "version": 1, "versionNonce": 200059, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false,
      "points": [[0, 0], [166, 0]],
      "startBinding": {"elementId": "loader", "focus": 0, "gap": 2},
      "endBinding": {"elementId": "rindex", "focus": 0, "gap": 2},
      "startArrowhead": null, "endArrowhead": "arrow"
    },
    {
      "type": "arrow", "id": "a_rindex_pipes", "x": 1322, "y": 543, "width": 171, "height": 0,
      "strokeColor": "#1e3a5f", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 200060, "version": 1, "versionNonce": 200061, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false,
      "points": [[0, 0], [171, 0]],
      "startBinding": {"elementId": "rindex", "focus": 0, "gap": 2},
      "endBinding": {"elementId": "pipes", "focus": 0, "gap": 2},
      "startArrowhead": null, "endArrowhead": "arrow"
    },
    {
      "type": "rectangle", "id": "cadev", "x": 470, "y": 148, "width": 392, "height": 58,
      "strokeColor": "#1e293b", "backgroundColor": "#1e293b", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 100001, "version": 1, "versionNonce": 100002, "isDeleted": false,
      "groupIds": [], "boundElements": [{"id": "cadev_t", "type": "text"}], "link": null, "locked": false, "roundness": {"type": 3}
    },
    {
      "type": "text", "id": "cadev_t", "x": 480, "y": 158, "width": 372, "height": 38,
      "text": "index_base_kwh  index_hp_kwh  index_hc_kwh\nindex_hph_kwh  index_hpb_kwh  index_hch_kwh  index_hcb_kwh",
      "originalText": "index_base_kwh  index_hp_kwh  index_hc_kwh\nindex_hph_kwh  index_hpb_kwh  index_hch_kwh  index_hcb_kwh",
      "fontSize": 12, "fontFamily": 3, "textAlign": "center", "verticalAlign": "middle",
      "strokeColor": "#22c55e", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 100003, "version": 1, "versionNonce": 100004, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": "cadev", "lineHeight": 1.25
    },
    {
      "type": "rectangle", "id": "cadrans", "x": 540, "y": 232, "width": 230, "height": 76,
      "strokeColor": "#1e3a5f", "backgroundColor": "#3b82f6", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 100005, "version": 1, "versionNonce": 100006, "isDeleted": false,
      "groupIds": [], "boundElements": [{"id": "cadrans_t", "type": "text"}], "link": null, "locked": false, "roundness": {"type": 3}
    },
    {
      "type": "text", "id": "cadrans_t", "x": 552, "y": 252, "width": 206, "height": 38,
      "text": "cadrans.py\nvocabulaire (1 source)", "originalText": "cadrans.py\nvocabulaire (1 source)",
      "fontSize": 14, "fontFamily": 3, "textAlign": "center", "verticalAlign": "middle",
      "strokeColor": "#ffffff", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 100007, "version": 1, "versionNonce": 100008, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": "cadrans", "lineHeight": 1.25
    },
    {
      "type": "text", "id": "decision_lbl", "x": 800, "y": 256, "width": 280, "height": 24,
      "text": "la DÉCISION entre une fois", "originalText": "la DÉCISION entre une fois",
      "fontSize": 17, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top",
      "strokeColor": "#1e40af", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 100009, "version": 1, "versionNonce": 100010, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "arrow", "id": "a_cad_flux", "x": 612, "y": 310, "width": 200, "height": 186,
      "strokeColor": "#3b82f6", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 100011, "version": 1, "versionNonce": 100012, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false,
      "points": [[0, 0], [-210, 186]],
      "startBinding": {"elementId": "cadrans", "focus": 0, "gap": 4},
      "endBinding": {"elementId": "flux", "focus": 0, "gap": 4},
      "startArrowhead": null, "endArrowhead": "arrow"
    },
    {
      "type": "arrow", "id": "a_cad_rindex", "x": 700, "y": 310, "width": 520, "height": 186,
      "strokeColor": "#3b82f6", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 100013, "version": 1, "versionNonce": 100014, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false,
      "points": [[0, 0], [520, 186]],
      "startBinding": {"elementId": "cadrans", "focus": 0, "gap": 4},
      "endBinding": {"elementId": "rindex", "focus": 0, "gap": 4},
      "startArrowhead": null, "endArrowhead": "arrow"
    },
    {
      "type": "text", "id": "projete_lbl", "x": 600, "y": 360, "width": 200, "height": 20,
      "text": "projeté, pas copié", "originalText": "projeté, pas copié",
      "fontSize": 13, "fontFamily": 3, "textAlign": "center", "verticalAlign": "top",
      "strokeColor": "#64748b", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 100015, "version": 1, "versionNonce": 100016, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "text", "id": "macro_lbl", "x": 226, "y": 460, "width": 168, "height": 18,
      "text": "macro pivot_cadrans", "originalText": "macro pivot_cadrans",
      "fontSize": 12, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top",
      "strokeColor": "#3b82f6", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 100017, "version": 1, "versionNonce": 100018, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "text", "id": "import_lbl", "x": 1172, "y": 470, "width": 90, "height": 18,
      "text": "import", "originalText": "import",
      "fontSize": 12, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top",
      "strokeColor": "#3b82f6", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 100019, "version": 1, "versionNonce": 100020, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "diamond", "id": "golden", "x": 500, "y": 658, "width": 28, "height": 28,
      "strokeColor": "#047857", "backgroundColor": "#a7f3d0", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 100021, "version": 1, "versionNonce": 100022, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false
    },
    {
      "type": "text", "id": "golden_lbl", "x": 536, "y": 662, "width": 200, "height": 20,
      "text": "golden tests (parité legacy)", "originalText": "golden tests (parité legacy)",
      "fontSize": 13, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top",
      "strokeColor": "#047857", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 100023, "version": 1, "versionNonce": 100024, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "diamond", "id": "parity", "x": 1000, "y": 511, "width": 64, "height": 64,
      "strokeColor": "#dc2626", "backgroundColor": "#fee2e2", "fillStyle": "solid",
      "strokeWidth": 3, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 300001, "version": 1, "versionNonce": 300002, "isDeleted": false,
      "groupIds": [], "boundElements": [{"id": "parity_t", "type": "text"}], "link": null, "locked": false
    },
    {
      "type": "text", "id": "parity_t", "x": 1012, "y": 535, "width": 40, "height": 16,
      "text": "parité", "originalText": "parité",
      "fontSize": 11, "fontFamily": 3, "textAlign": "center", "verticalAlign": "middle",
      "strokeColor": "#b91c1c", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 300003, "version": 1, "versionNonce": 300004, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": "parity", "lineHeight": 1.25
    },
    {
      "type": "text", "id": "parity_lbl", "x": 952, "y": 478, "width": 170, "height": 18,
      "text": "test de parité (dbt → cœur)", "originalText": "test de parité (dbt → cœur)",
      "fontSize": 13, "fontFamily": 3, "textAlign": "center", "verticalAlign": "top",
      "strokeColor": "#dc2626", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 300005, "version": 1, "versionNonce": 300006, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "rectangle", "id": "corrtab", "x": 700, "y": 712, "width": 360, "height": 98,
      "strokeColor": "#1e293b", "backgroundColor": "#1e293b", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 300007, "version": 1, "versionNonce": 300008, "isDeleted": false,
      "groupIds": [], "boundElements": [{"id": "corrtab_t", "type": "text"}], "link": null, "locked": false, "roundness": {"type": 3}
    },
    {
      "type": "text", "id": "corrtab_t", "x": 712, "y": 722, "width": 336, "height": 78,
      "text": "table SQL ↔ Polars  (seul lieu bilingue)\nbigint ↔ Int64\ntimestamptz ↔ Datetime(Paris)\nvarchar ↔ Utf8   ·   boolean ↔ Boolean",
      "originalText": "table SQL ↔ Polars  (seul lieu bilingue)\nbigint ↔ Int64\ntimestamptz ↔ Datetime(Paris)\nvarchar ↔ Utf8   ·   boolean ↔ Boolean",
      "fontSize": 12, "fontFamily": 3, "textAlign": "center", "verticalAlign": "middle",
      "strokeColor": "#22c55e", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 300009, "version": 1, "versionNonce": 300010, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": "corrtab", "lineHeight": 1.25
    },
    {
      "type": "line", "id": "l_parity_corr", "x": 1010, "y": 576, "width": 130, "height": 134,
      "strokeColor": "#dc2626", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 300011, "version": 1, "versionNonce": 300012, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false,
      "points": [[0, 0], [-130, 134]]
    },
    {
      "type": "rectangle", "id": "bug", "x": 1110, "y": 712, "width": 372, "height": 98,
      "strokeColor": "#b91c1c", "backgroundColor": "#fecaca", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 300013, "version": 1, "versionNonce": 300014, "isDeleted": false,
      "groupIds": [], "boundElements": [{"id": "bug_t", "type": "text"}], "link": null, "locked": false, "roundness": {"type": 3}
    },
    {
      "type": "text", "id": "bug_t", "x": 1122, "y": 728, "width": 348, "height": 66,
      "text": "ADR-0034 — le bug ×1000 s'est caché ICI\nWh ÷ 1000 perdu, aucun garde-fou à la frontière\n→ le test de parité ferme le trou",
      "originalText": "ADR-0034 — le bug ×1000 s'est caché ICI\nWh ÷ 1000 perdu, aucun garde-fou à la frontière\n→ le test de parité ferme le trou",
      "fontSize": 13, "fontFamily": 3, "textAlign": "center", "verticalAlign": "middle",
      "strokeColor": "#b91c1c", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 300015, "version": 1, "versionNonce": 300016, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": "bug", "lineHeight": 1.25
    },
    {
      "type": "arrow", "id": "a_bug_parity", "x": 1200, "y": 710, "width": 130, "height": 148,
      "strokeColor": "#b91c1c", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 2, "strokeStyle": "dashed", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 300017, "version": 1, "versionNonce": 300018, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false,
      "points": [[0, 0], [-130, -148]],
      "startBinding": null,
      "endBinding": {"elementId": "parity", "focus": 0, "gap": 4},
      "startArrowhead": null, "endArrowhead": "arrow"
    },
    {
      "type": "line", "id": "leg_div", "x": 60, "y": 854, "width": 1420, "height": 0,
      "strokeColor": "#64748b", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "dashed", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 400001, "version": 1, "versionNonce": 400002, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false,
      "points": [[0, 0], [1420, 0]]
    },
    {
      "type": "text", "id": "leg_title", "x": 60, "y": 872, "width": 360, "height": 24,
      "text": "Un propriétaire par fait — zéro recouvrement :", "originalText": "Un propriétaire par fait — zéro recouvrement :",
      "fontSize": 17, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top",
      "strokeColor": "#1e40af", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 400003, "version": 1, "versionNonce": 400004, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "text", "id": "leg1", "x": 70, "y": 912, "width": 320, "height": 20,
      "text": "noms de colonnes → cadrans.py", "originalText": "noms de colonnes → cadrans.py",
      "fontSize": 14, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top",
      "strokeColor": "#374151", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 400005, "version": 1, "versionNonce": 400006, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "text", "id": "leg2", "x": 430, "y": 912, "width": 260, "height": 20,
      "text": "type physique + unité → dbt", "originalText": "type physique + unité → dbt",
      "fontSize": 14, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top",
      "strokeColor": "#374151", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 400007, "version": 1, "versionNonce": 400008, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "text", "id": "leg3", "x": 740, "y": 912, "width": 320, "height": 20,
      "text": "dtype Polars + invariants → Pandera", "originalText": "dtype Polars + invariants → Pandera",
      "fontSize": 14, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top",
      "strokeColor": "#374151", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 400009, "version": 1, "versionNonce": 400010, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    },
    {
      "type": "text", "id": "leg4", "x": 1110, "y": 912, "width": 330, "height": 20,
      "text": "rien → loader (SELECT *)", "originalText": "rien → loader (SELECT *)",
      "fontSize": 14, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top",
      "strokeColor": "#374151", "backgroundColor": "transparent", "fillStyle": "solid",
      "strokeWidth": 1, "strokeStyle": "solid", "roughness": 0, "opacity": 100, "angle": 0,
      "seed": 400011, "version": 1, "versionNonce": 400012, "isDeleted": false,
      "groupIds": [], "boundElements": null, "link": null, "locked": false, "containerId": null, "lineHeight": 1.25
    }
  ],
  "appState": {
    "viewBackgroundColor": "#ffffff",
    "gridSize": 20
  },
  "files": {}
}
