Cascade namespace changes to children and projects via siphon

Summary

  • When a group is renamed, only its siphon_namespaces row gets updated. Child namespaces and projects are not touched, so their computed full_path in the knowledge graph stays stale until the next full re-index.
  • Adds refresh_on_change to the namespaces siphon config: when a namespace changes, siphon re-inserts child namespaces (via parent_id) and child projects (via namespace_id).
  • For deep hierarchies, the cascade propagates one level per consumer cycle — refreshed children trigger their own refresh, eventually reaching all descendants.

Companion to orbit/knowledge-graph!740 which computes full_path from the namespace hierarchy.

Related: gitlab-org/orbit/knowledge-graph#388

Test plan

  • Rename a parent group, verify child namespace rows get re-inserted with bumped _siphon_replicated_at
  • Verify projects under the renamed group also get refreshed
Edited by Michael Angelo Rivera

Merge request reports

Loading