Skip to content

feat: propagate column descriptions downstream to dependent models #16

@cbini

Description

@cbini

Summary

When a column description is added or updated on a model's YAML, offer to propagate it to all downstream models that have the same column.

Motivation

Column descriptions are often defined at the staging layer and should flow down to intermediate and mart models. Currently, developers must manually copy descriptions to each downstream YAML. This is tedious and leads to inconsistent or missing documentation across the lineage.

Proposed behavior

  1. Developer updates a column description in a YAML file
  2. Developer runs a "Propagate Descriptions" command (or this is offered as part of the sync workflow)
  3. Extension builds a reverse dependency map from the manifest
  4. For each downstream model that has the same column in its YAML, shows what would change
  5. Developer confirms → descriptions updated across all affected YAML files

Implementation notes

  • The reverse dependency map can be built by inverting depends_on.nodes across all manifest nodes — similar to what the lineage viewer already does
  • "Nearest ancestor wins" — if a downstream model has multiple paths to the source, the direct parent's description takes precedence
  • Should respect existing descriptions — only fill in blanks, or offer to overwrite with a diff
  • Multi-file modification makes the confirmation workflow (feat: interactive confirmation with diff preview for column sync #15) especially important here

References

  • Current upstream propagation: _findUpstreamDescription() in src/features/columnSync.ts
  • Lineage graph building: src/features/lineage/lineagePanel.ts

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions