Skip to content

feat(ui): show catalog node detail and finish the lineage pages - #1377

Merged
kvlonge merged 7 commits into
mainfrom
feat/ui-lineage-complete
Nov 8, 2026
Merged

kvlonge merged 7 commits into
mainfrom
feat/ui-lineage-complete

Conversation

@kvlonge

@kvlonge kvlonge commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Why

The Lineage page shipped as a first slice. Graph labels were cut off by the model: prefix, and node detail was unsupported, which hid the catalog node page and node links. Column lineage moves to a follow-up that lands after the publish request is compressed, because its snapshot document would push large projects past the publish body limit.

Changes

  • Node detail comes from the catalog, node status, node SQL and checks reads. That un-hides the catalog node page and node links on Catalog, Checks, Changes and Lineage.
  • Labels. Graph cards, search, the inspector, page titles and SQL file labels drop the kind prefix. SQL previews wrap instead of clipping.
  • Unknowns hidden instead of shown as "none": run history, jobs, history, drift without built SQL, Build/Execute without ad-hoc runs. The Column lineage tab stays hidden.
Read Gate
Node detail (listing, status, checks) View on every node, as the catalog listing
Node SQL view.sql; skipped when the bootstrap lacks it, and a refused node is not asked again until reload

No new server reads. No DuckShop case: this changes UI composition and display only.

Verification

  • svelte-check and vitest (76 tests), including node detail composition, check matching by key and the viewer SQL gating.
  • make check-ci.
  • Rendered locally as an admin and a viewer.

…neage labels

The catalog node page, the lineage inspector and node links across
Catalog, Checks, Changes and Lineage now load from the catalog listing,
node status, node SQL and check reads. SQL is read only where the
location grants view.sql, so viewers cause no refused, audited reads.

Graph cards show the node name without its kind prefix. Sections the
server does not report (run history, jobs, history, drift without built
SQL, ad-hoc runs) are hidden instead of claiming there are none.
@kvlonge
kvlonge enabled auto-merge (squash) November 8, 2026 16:33
view.sql in a location's bootstrap actions may hold on only some nodes,
so the node SQL read can still be refused. Each refusal is audited and
node pages refetch on change signals, so remember the refused node and
skip its SQL read until the page reloads.
Preview lines scrolled sideways with no visible scrollbar, so long lines
looked cut off; previews now wrap and the full viewer still scrolls. SQL
file labels show the node name, like the graph cards.
Location publication now adds a lineage snapshot document: the compiler's
FAST column lineage edges for every model, as source and target node keys,
columns and transform kind. A person read returns the edges reaching or
leaving one node, with each node's inferred columns, behind the same
view-on-every-node gate as the catalog listing. It carries no SQL or
expressions, which need view.sql.

The catalog node page's Column lineage tab maps the read onto the existing
column lineage view.
@kvlonge kvlonge changed the title feat(ui): show catalog node detail and full lineage labels feat: publish column lineage and finish the lineage pages Nov 8, 2026
Traced identifiers and node names wrap instead of truncating, column types
stay on one line, and transformed edges name the compiler's transform
kind, such as Cast or Aggregation.
@kvlonge
kvlonge disabled auto-merge November 8, 2026 17:13
Column lineage publication would push large projects past the publish
body limit, so it lands after the publish request is compressed. This
change keeps node detail, labels and the SQL preview fixes.
@kvlonge kvlonge changed the title feat: publish column lineage and finish the lineage pages feat(ui): show catalog node detail and finish the lineage pages Nov 8, 2026
@kvlonge
kvlonge enabled auto-merge (squash) November 8, 2026 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant