Skip to content

visualizer: render multi-component (monorepo) pipelines #306

Description

@joshua-temple

Problem

A multi-component (monorepo) manifest defines several independently versioned components that
share environments. The visualizer must render each component's lane, the shared environments,
and the per-component flows so a reader can see how the components move together and apart.

Cross-cutting dependency

This issue depends on the multi-component schema model existing. Today
CurrentSchemaVersion = 1 and the Components map[string]ComponentConfig /
ComponentState / ComponentReleaseState shapes are reserved (#176), not yet an active
schema generation. This work cannot be built until the multi-component (schema_version 2)
model lands.

Tracked under the monorepo epic #279. This issue depends on #279, and #279 should link
back to this issue as the visualizer slice of monorepo support.

Approach (once the schema model exists)

  • One lane/subgraph per component (Mermaid subgraph), each carrying that component's
    build/deploy flow.
  • Shared environments rendered once, with per-component promotion edges into them, so the
    shared-vs-independent structure is visible.
  • Honor the chosen granularity per component (jobs/stages/env).

Tests (TDD)

  • Golden Mermaid for a two-component manifest sharing environments: assert a lane per
    component and shared-environment nodes referenced by both.
  • Determinism.
  • An e2e/ scenario for a multi-component manifest.

Acceptance

  • A multi-component manifest renders each component's lane, the shared environments, and the
    per-component flows.

Dependencies

#301, #303, and the multi-component schema model from monorepo epic #279 (hard blocker).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions