Summary
kbagent lineage show --downstream/--upstream <table_id> (without an explicit project: prefix) silently resolves to only ONE project's copy of the table when the same table_id exists as a node in more than one project's graph (e.g. via bucket sharing/linking across layer projects). No warning is printed, and the command exits 0 with output that looks complete.
This contradicts the command's own --help text:
Table only: bucket_id.table_name (auto-resolves, warns if ambiguous)
Steps to reproduce
- Have two projects (A, B) where a bucket is shared from A into B, so the same
bucket_id.table_name exists as a lineage node in both A: and B: namespaces, and a config in project B has an actual input-mapping dependency on it that doesn't exist in project A.
kbagent lineage build -d <dir> -o lineage.json (with both projects synced under ).
kbagent lineage show -l lineage.json --downstream "bucket_id.table_name" (no project prefix).
Expected: either a warning that the table id is ambiguous across N projects, or results merged/listed per project.
Actual: returns only project A's downstream edges, silently. Project B's real dependency (confirmed to exist in the graph's edges array and reproducible when queried as `--downstream "B:bucket_id.t
Summary
kbagent lineage show --downstream/--upstream <table_id>(without an explicitproject:prefix) silently resolves to only ONE project's copy of the table when the same table_id exists as a node in more than one project's graph (e.g. via bucket sharing/linking across layer projects). No warning is printed, and the command exits 0 with output that looks complete.This contradicts the command's own
--helptext:Steps to reproduce
bucket_id.table_nameexists as a lineage node in bothA:andB:namespaces, and a config in project B has an actual input-mapping dependency on it that doesn't exist in project A.kbagent lineage build -d <dir> -o lineage.json(with both projects synced under ).kbagent lineage show -l lineage.json --downstream "bucket_id.table_name"(no project prefix).Expected: either a warning that the table id is ambiguous across N projects, or results merged/listed per project.
Actual: returns only project A's downstream edges, silently. Project B's real dependency (confirmed to exist in the graph's
edgesarray and reproducible when queried as `--downstream "B:bucket_id.t