Data Model Patterns
Render a data model as an inspectable visual, not prose. Verified relationships look different from planned and gap ones. Never draw a join, parent, route or state because it seems plausible.
You are hereData Model Patterns30kBranchRepairsource: sample placeholder schema — not a source of truthnext: bind a real schema read
Data-flow map
sample placeholder data
Data-flow map
- Verified
- Planned
- Gap / unproven
Declared edges
Draft6
src: sample map
Verified
Verified3
src: sample map
Planned
Build1
src: sample map
Gap / unproven
Gap2
src: sample map
Edge register
every edge states its basis
| From | To | Confidence | Basis |
|---|---|---|---|
| intake_raw | normalize | Sourced | column contract confirmed in sample schema |
| roster_import | normalize | Planned | proposed; not implemented |
| roster_import | legacy bridge | No source | no confirmed join key |
| normalize | ops_current | Sourced | view definition in sample schema |
| legacy bridge | ops_current | No source | unproven; do not rely on it |
| ops_current | Cockpit read | Sourced | read-only surface binding |
Silos, adapters and read surfaces
sovereignty
Rules
Boundary contract
- Sovereign silos stay separate. Cross-domain data crosses only through a declared trunk, adapter or seam.
- A dashboard is a read surface, not a data store — show provenance and adapter boundaries instead of inventing backend truth.
- Keep CTB and source data read-only unless Dave explicitly asks to edit it.
- Unknown means gap. Gap never green.
What this page is based on
- Barton CTB contractSourced· ctb-contract.md
- Design system referenceSourced· design-system.md
- Domain skin values for KiddosNo source· not supplied
- Mission Control dark skinPlanned· planned
Map input shape
caller declares everything
DataFlowMap props
<DataFlowMap
nodes={[
{ id: "src.intake", label: "intake_raw", kind: "table", state: "verified", column: 0 },
{ id: "adp.norm", label: "normalize", kind: "adapter", state: "verified", column: 1 },
{ id: "srf.read", label: "Cockpit", kind: "surface", state: "live", column: 2 },
]}
edges={[
{ from: "src.intake", to: "adp.norm", kind: "verified" },
{ from: "adp.norm", to: "srf.read", kind: "planned", label: "proposed" },
// omit the edge entirely when nothing supports it, or mark kind: "gap"
]}
caption="Sample placeholder data — not a source of truth"
/>