WORK-049
ID:WORK-049Status:done

Dependency visualization for plan site

Surface cross-entity relationships by scanning content for ID references (WORK-XXX, SPEC-XXX, BUG-XXX, ADR-XXX). Build a bidirectional relationship index and render relationships in a dedicated layout slot on each entity page.

Priority:lowComplexity:complexSource:SPEC-015

Acceptance Criteria

  • During the register pipeline phase, entity content is scanned for ID reference patterns
  • A bidirectional relationship index is built in the EntityRegistry
  • Each entity page displays a "Relationships" section showing linked entities
  • Each reference is a live link with an inline status badge
  • Relationships are categorized: "Blocked by", "Blocks", "Related"
  • Blocked items show a visual indicator in the sidebar when blockers are unresolved
  • Relationships render via a computed layout slot or region (not manual HTML injection)

Approach

Extend the plan package's pipeline hooks. In register(), scan each entity's content for (WORK|SPEC|BUG|ADR)-\d+ patterns and index relationships. The relationships section is surfaced via the shared layout engine — either as a computed slot in planLayout (similar to how computed.toc works) or as an injected region. This avoids manual HTML injection in postProcess() and keeps the rendering declarative.

Once WORK-050 converges the plan renderer with the shared layout engine, the relationships section can sit in the right-side panel alongside the ToC, providing an "on this page" + "related entities" sidebar similar to documentation sites.

References

History

  1. 59ded4a
    Content edited
  2. f262d7b
    source+SPEC-015
  3. 1314ce1
    statusdraftdone
    • ☑ During the `register` pipeline phase, entity content is scanned for ID reference patterns
    • ☑ A bidirectional relationship index is built in the `EntityRegistry`
    • ☑ Each entity page displays a "Relationships" section showing linked entities
    • +4 more criteria
  4. 3d8d331
    • − During `postProcess`, a "Relationships" section is injected into each entity page
    • + Each entity page displays a "Relationships" section showing linked entities
    • + Relationships render via a computed layout slot or region (not manual HTML injection)
  5. f5b8bf8
    Created (draft, low, complex, plan, ux, pipeline)