Structured Data Lineage
The Lineage module records directed relationships between datasets, AI systems, and use cases — implementing ISO/IEC 42001:2023 Annex A.7.6 (Data quality and lineage). It is opened from the Lineage button on each row of the Dataset Registry (/datasets) and is available to Enterprise tier when the per-organization ISO 42001 toggle is enabled.
Edge kinds
Each edge is directed (source → target) and tagged with one of four kinds:
feeds— dataset supplies data to a downstream dataset or system.derives_from— dataset is produced by transforming another dataset.trains— dataset trains a model / AI system.evaluates— dataset is used to evaluate or benchmark a system.
Endpoints can be datasets, AI systems, or use cases. Uniqueness is enforced per (org, source kind+id, target kind+id, edge kind).
Graph & adjacency views
The lineage sheet renders two complementary views of the same edge set:
- Graph view — interactive React Flow canvas with layered columns (datasets / systems / use cases). Lazy-loaded (~120 KB) only when opened.
- Adjacency table — always visible, screenshot- and print-ready, and the only view on small viewports.
Cycle detection
Auditing & access
All edge changes write immutable entries to the org and Platform Activity Log:
LINEAGE_EDGE_CREATED,_UPDATED,_DELETEDLINEAGE_GRAPH_EXPORTED— reserved for the future PNG export actionLINEAGE_CYCLE_DETECTED— reserved for cycle telemetry
Read access is org-wide; admin / approver / reviewer roles can manage edges. Multi-org lineage (cross-tenant edges) is forbidden by the tenant-isolation model.
