CLI · Lineage
Lineage in Kirimana is contract-declared first: the contracts say what feeds what, and drift detection reconciles that declaration against what the platform actually observed.
kiri lineage
kiri lineage goal
Walk one reporting goal’s full dependency tree — from the goal down through gold, silver, and sources.
kiri lineage goal customer_churn
kiri lineage summary
Per-goal coverage report: how many needed entities each goal has mapped, built, and passing.
kiri lineage summary --project .
kiri lineage impact
List the reporting goals that depend on a contract — the blast-radius check before changing or retiring it.
kiri lineage impact silver_customer
kiri lineage graph
Bounded lineage graph around a seed asset.
Usage: kiri lineage graph --urn <asset-urn> [OPTIONS]
| Flag | Description | Default |
|---|---|---|
--urn | Seed asset URN (e.g. kiri:asset:silver:customer) — required | |
--direction | upstream | downstream | both | both |
--depth | BFS depth cap from the seed | 2 |
--max-nodes / --max-edges | Node/edge budgets — the graph is bounded by construction | 50 / 150 |
--json | Emit the bounded machine graph instead of Mermaid | off |
--prose | Emit Kiri’s deterministic plain-text explanation | off |
--db | Catalog SQLite path | <project>/.kiri/catalog.sqlite |
kiri lineage drift
Reconcile contract-declared lineage against observed lineage.
Usage: kiri lineage drift [OPTIONS]
| Flag | Description | Default |
|---|---|---|
--from-uc | Read observed lineage live from Databricks Unity Catalog system.access.column_lineage via the configured adapter — no manual export. Requires a UC target. Reconciles TABLE-grain lineage; VIEW-materialised layers are not compared. | off |
--observed | Alternative to --from-uc: a JSON file of observed lineage edges (operator-exported UC column lineage or OpenLineage; the same wire shape LineageEdge serialises to). Mutually exclusive with --from-uc. | |
--target, -t | Named profile from kiri.yml (for --from-uc) | |
--db | Catalog SQLite path | <project>/.kiri/catalog.sqlite |
--max-findings | Cap on reported findings — honest truncation, the cap is surfaced | 200 |
Drift findings fall into edges the contracts declare but the platform never observed (dead declarations) and edges the platform observed but no contract declares (undeclared dependencies).
kiri lineage drift --from-uc --target prod
Catalog-level lineage
Two related verbs live under kiri catalog (see the governance page):
kiri catalog lineage URN— immediate upstream/downstream neighbours of one asset.kiri catalog show-attribute NAME— trace where a column appears across the whole estate.
For Data Vault projects, kiri dv graph renders bounded structural views of the vault itself (see the silver page).
kiri inventory
Attribute-level inventory operations — the classification front-end that feeds governance.
kiri inventory pre-classify
Generate one-attribute-per-row classification proposals for every column in a contract tree.
Usage: kiri inventory pre-classify --contracts <dir> --output <dir> [OPTIONS]
| Flag | Description | Default |
|---|---|---|
--locale-pack | Comma-separated locale packs. en is built-in; additional packs (sv, or a path to a YAML file) compose with it. | en |
--confidence-floor | Heuristic confidence threshold below which a column is queued for the AI batch | 0.85 |
--domain | Asset domain tag passed into the AI prompt context | data |
Output is a proposals/ directory (deterministic heuristic proposals) plus ai-batch.jsonl — the residue of low-confidence columns for kiri ai-batch (platform-ops page). Results merge back onto contracts via kiri contract merge-classification (contracts page), where operator overrides always win.
kiri inventory locale-packs
Report conflicts where two locale-pack patterns claim the same column name.
kiri inventory locale-packs --locale-pack en,sv \
--probe email,phone,salary,personnummer
An offline check: probes canonical column names across the active packs and reports which pattern wins, before you rely on the packs in a real pre-classify run.