@principal-ai/subsystems-react 0.37.12 → 0.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/graphify/consolidated.d.ts +8 -0
  2. package/dist/graphify/consolidated.d.ts.map +1 -1
  3. package/dist/graphify/construct.d.ts +18 -0
  4. package/dist/graphify/construct.d.ts.map +1 -1
  5. package/dist/graphify/construct.js +23 -0
  6. package/dist/graphify/construct.js.map +1 -1
  7. package/dist/graphify/index.d.ts +2 -2
  8. package/dist/graphify/index.d.ts.map +1 -1
  9. package/dist/graphify/index.js +1 -1
  10. package/dist/graphify/index.js.map +1 -1
  11. package/dist/index.d.ts +3 -3
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +2 -2
  14. package/dist/index.js.map +1 -1
  15. package/dist/stories/Subsystem/ComponentGraph/fixtures.d.ts.map +1 -1
  16. package/dist/stories/Subsystem/ComponentGraph/fixtures.js +0 -1
  17. package/dist/stories/Subsystem/ComponentGraph/fixtures.js.map +1 -1
  18. package/dist/subsystem/IssueList.d.ts +49 -3
  19. package/dist/subsystem/IssueList.d.ts.map +1 -1
  20. package/dist/subsystem/IssueList.js +180 -79
  21. package/dist/subsystem/IssueList.js.map +1 -1
  22. package/dist/subsystem/SubsystemComponentGraph.d.ts +23 -2
  23. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  24. package/dist/subsystem/SubsystemComponentGraph.js +492 -23
  25. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  26. package/dist/subsystem/formatDeclaration.js +19 -5
  27. package/dist/subsystem/formatDeclaration.js.map +1 -1
  28. package/dist/subsystem/model.d.ts +161 -7
  29. package/dist/subsystem/model.d.ts.map +1 -1
  30. package/dist/subsystem/model.js +91 -12
  31. package/dist/subsystem/model.js.map +1 -1
  32. package/dist/subsystem/nodes.d.ts.map +1 -1
  33. package/dist/subsystem/nodes.js +133 -72
  34. package/dist/subsystem/nodes.js.map +1 -1
  35. package/dist/subsystem/symbolRefs.d.ts.map +1 -1
  36. package/dist/subsystem/symbolRefs.js +2 -0
  37. package/dist/subsystem/symbolRefs.js.map +1 -1
  38. package/dist/utils/elkLayout.d.ts +9 -0
  39. package/dist/utils/elkLayout.d.ts.map +1 -1
  40. package/dist/utils/elkLayout.js +21 -2
  41. package/dist/utils/elkLayout.js.map +1 -1
  42. package/package.json +3 -3
  43. package/src/graphify/__fixtures__/ego-samples.json +545 -0
  44. package/src/graphify/consolidated.ts +8 -0
  45. package/src/graphify/construct.test.ts +61 -1
  46. package/src/graphify/construct.ts +33 -0
  47. package/src/graphify/index.ts +6 -1
  48. package/src/index.ts +13 -1
  49. package/src/stories/Subsystem/ComponentGraph/Basics.stories.tsx +2 -2
  50. package/src/stories/Subsystem/ComponentGraph/Captures.stories.tsx +9 -9
  51. package/src/stories/Subsystem/ComponentGraph/EdgeViews.stories.tsx +4 -4
  52. package/src/stories/Subsystem/ComponentGraph/IssueOverlay.stories.tsx +625 -0
  53. package/src/stories/Subsystem/ComponentGraph/Issues.stories.tsx +7 -1
  54. package/src/stories/Subsystem/ComponentGraph/ModuleBadges.stories.tsx +5 -5
  55. package/src/stories/Subsystem/ComponentGraph/Modules.stories.tsx +5 -5
  56. package/src/stories/Subsystem/ComponentGraph/NodeAnatomy.stories.tsx +40 -73
  57. package/src/stories/Subsystem/ComponentGraph/Scenarios.stories.tsx +6 -6
  58. package/src/stories/Subsystem/ComponentGraph/StoreValueType.stories.tsx +261 -0
  59. package/src/stories/Subsystem/ComponentGraph/fixtures.ts +0 -1
  60. package/src/stories/Subsystem/EgoGraph/EgoGraph.stories.tsx +354 -0
  61. package/src/stories/Subsystem/StoreValueTypeDeclaration.stories.tsx +182 -0
  62. package/src/subsystem/IssueList.focus.test.tsx +113 -0
  63. package/src/subsystem/IssueList.icon.test.tsx +95 -0
  64. package/src/subsystem/IssueList.tsx +267 -111
  65. package/src/subsystem/SubsystemComponentGraph.tsx +582 -27
  66. package/src/subsystem/formatDeclaration.test.ts +64 -0
  67. package/src/subsystem/formatDeclaration.ts +20 -5
  68. package/src/subsystem/model.test.ts +75 -2
  69. package/src/subsystem/model.ts +247 -17
  70. package/src/subsystem/nodes.group.test.tsx +52 -0
  71. package/src/subsystem/nodes.tsx +112 -8
  72. package/src/subsystem/symbolRefs.ts +2 -0
  73. package/src/subsystem/toC4.test.ts +3 -3
  74. package/src/utils/elkLayout.ts +32 -1
@@ -74,7 +74,7 @@ export interface SubsystemDeclToken {
74
74
  * Topology relation type — structural / module / type claims.
75
75
  * Belongs on `relations[]`, not on walkthrough hops.
76
76
  */
77
- export type SubsystemRelationType = 'extends' | 'inherits' | 'implements' | 'mixes_in' | 'method' | 'references';
77
+ export type SubsystemRelationType = 'extends' | 'inherits' | 'implements' | 'mixes_in' | 'method';
78
78
  /**
79
79
  * Walkthrough hop mechanism — runtime seams with a `file:line` site.
80
80
  */
@@ -88,6 +88,48 @@ export type SubsystemEdgeMechanism = SubsystemRelationType | SubsystemWalkthroug
88
88
  * - `walkthroughs`: only walkthrough hop edges (`calls`, `feeds`, …)
89
89
  */
90
90
  export type SubsystemEdgeView = 'relations' | 'walkthroughs';
91
+ /**
92
+ * Where a display edge came from.
93
+ *
94
+ * - `subsystem` (default): a verb from the authored vocabularies
95
+ * (`SubsystemRelationType` / `SubsystemWalkthroughMechanism`), colored from
96
+ * `MECHANISM_COLOR`.
97
+ * - `graphify`: a raw relation read off graphify's static symbol graph
98
+ * (`imports`, `contains`, `re_exports`, …). These are DERIVED, never authored,
99
+ * and are colored from `GRAPHIFY_RELATION_COLOR` so a reader can tell a
100
+ * graphify fact apart from a subsystem claim at a glance.
101
+ */
102
+ export type SubsystemEdgeProvenance = 'subsystem' | 'graphify';
103
+ /**
104
+ * A graphify-native topology edge — a raw graphify relation that has no
105
+ * subsystem mechanism equivalent.
106
+ *
107
+ * Kept structurally separate from `SubsystemRelation`: those are authored into
108
+ * a portable model and validated against a closed vocabulary, whereas these are
109
+ * derived from a graphify run and carry graphify's own (open) verb set. They are
110
+ * a display input only — never written back into a `SubsystemModelDocument`.
111
+ */
112
+ export interface SubsystemGraphifyRelation {
113
+ id: string;
114
+ /** Source component alias. */
115
+ from: string;
116
+ /** Target component alias. */
117
+ to: string;
118
+ /** Raw graphify relation verb (e.g. `imports`, `contains`, `re_exports`). */
119
+ relation: string;
120
+ /** Concrete file/symbol refs backing the relation. */
121
+ refs?: string[];
122
+ /**
123
+ * 1-based source line of the relation site. Optional — available on
124
+ * `calls`/`references`-style edges; used to order an ego graph's callees by
125
+ * call site when a host opts into line-ordered layering.
126
+ */
127
+ line?: number;
128
+ /** graphify's provenance tag (`EXTRACTED` / `INFERRED` / `AMBIGUOUS`). */
129
+ confidence?: string;
130
+ /** Reference context on `references` edges (e.g. `return_type`, `field`). */
131
+ context?: string;
132
+ }
91
133
  /** A component node — the named unit, construct-tagged; `file` is its location. */
92
134
  export interface SubsystemComponent {
93
135
  /**
@@ -245,9 +287,28 @@ export interface SubsystemComponentEdge {
245
287
  id: string;
246
288
  from: string;
247
289
  to: string;
248
- mechanism: SubsystemEdgeMechanism;
290
+ /**
291
+ * The edge verb. For `provenance: 'subsystem'` (the default) this is a
292
+ * `SubsystemEdgeMechanism`; for `provenance: 'graphify'` it is the raw
293
+ * graphify relation. Typed as `string` because the display edge is a derived
294
+ * structure and graphify's verb set is open — the authored vocabularies
295
+ * (`SubsystemRelationType` / `SubsystemWalkthroughMechanism`) stay closed.
296
+ */
297
+ mechanism: string;
298
+ /** Origin of the edge; absent means `'subsystem'`. */
299
+ provenance?: SubsystemEdgeProvenance;
249
300
  /** Concrete file/symbol refs backing the edge (the seam). */
250
301
  refs?: string[];
302
+ /**
303
+ * 1-based source line of the RELATION SITE — where the edge's verb was
304
+ * observed (e.g. a `calls` edge's call-site line inside the caller), NOT
305
+ * where the target is declared.
306
+ */
307
+ line?: number;
308
+ /** graphify's provenance tag (`EXTRACTED` / `INFERRED` / `AMBIGUOUS`). */
309
+ confidence?: string;
310
+ /** Reference context on `references` edges (e.g. `return_type`, `field`). */
311
+ context?: string;
251
312
  }
252
313
  /**
253
314
  * A single runtime hop — `from`/`to`/`mechanism` plus the exact `file:line`
@@ -295,7 +356,7 @@ export interface SubsystemModelDocument {
295
356
  walkthroughs?: SubsystemWalkthrough[];
296
357
  }
297
358
  /** Stable id for a derived graph edge from a relation or walkthrough hop. */
298
- export declare function derivedGraphEdgeId(from: string, to: string, mechanism: SubsystemEdgeMechanism): string;
359
+ export declare function derivedGraphEdgeId(from: string, to: string, mechanism: string): string;
299
360
  /**
300
361
  * Build display edges for the graph canvas from topology relations and
301
362
  * walkthrough hops (deduped by from/to/mechanism).
@@ -320,6 +381,7 @@ export declare function reorderTargetIndex(boundary: number, from: number): numb
320
381
  export declare function deriveGraphEdges(doc: {
321
382
  relations?: readonly SubsystemRelation[];
322
383
  walkthroughs?: readonly SubsystemWalkthrough[];
384
+ graphifyRelations?: readonly SubsystemGraphifyRelation[];
323
385
  }): SubsystemComponentEdge[];
324
386
  /**
325
387
  * True when the model has components but no topology or walkthrough edges.
@@ -331,6 +393,7 @@ export declare function isConstructsOnlyModel(doc: {
331
393
  }[];
332
394
  relations?: readonly SubsystemRelation[];
333
395
  walkthroughs?: readonly SubsystemWalkthrough[];
396
+ graphifyRelations?: readonly SubsystemGraphifyRelation[];
334
397
  }): boolean;
335
398
  /**
336
399
  * Derive a consistent display `name` from a code `symbol` + construct.
@@ -471,6 +534,42 @@ export interface SubsystemGraphNodeData extends Record<string, unknown> {
471
534
  fileMatch?: boolean;
472
535
  /** True while this node is on an opened-but-unselected flow. */
473
536
  dimmed?: boolean;
537
+ /** Diagnostics badge — see `SubsystemNodeIssue`. Absent when no findings. */
538
+ issue?: SubsystemNodeIssue;
539
+ }
540
+ /**
541
+ * The per-construct verification ladder, in order. A finding's rung is the
542
+ * earliest step it fails: file → symbol → declaration → type → signature.
543
+ */
544
+ export type SubsystemIssueRung = 'file' | 'symbol' | 'declaration' | 'type' | 'signature';
545
+ /**
546
+ * Per-node diagnostics badge — the proposed issue overlay (severity ring +
547
+ * earliest-rung corner chip). The graph derives one per component from the
548
+ * audit issues whose component target resolves to that node. Absent when the
549
+ * node has no rung-mapped findings.
550
+ */
551
+ export interface SubsystemNodeIssue {
552
+ /** Worst severity on the node — `error` (contradicts source) beats `info`. */
553
+ severity: 'error' | 'info';
554
+ /** Earliest failing rung across the node's findings. */
555
+ rung: SubsystemIssueRung;
556
+ /** Total findings on this node. */
557
+ count: number;
558
+ }
559
+ /**
560
+ * Per-frame diagnostics badge — a finding about the BOUNDARY itself (its
561
+ * containment / nesting), not about any member construct. Separate from
562
+ * `SubsystemNodeIssue` because these have no construct rung to report: the
563
+ * fault is the region's shape, which is also why it badges the frame rather
564
+ * than a leaf. `kind` selects the icon (see `ISSUE_KIND_ICON`).
565
+ */
566
+ export interface SubsystemRegionIssue {
567
+ /** Worst severity across the region's findings — `error` beats `info`. */
568
+ severity: 'error' | 'info';
569
+ /** The kind that supplies the badge icon. */
570
+ kind: string;
571
+ /** Total findings on this region. */
572
+ count: number;
474
573
  }
475
574
  export interface SubsystemGroupNodeData extends Record<string, unknown> {
476
575
  region: SubsystemProcessRegion;
@@ -478,11 +577,22 @@ export interface SubsystemGroupNodeData extends Record<string, unknown> {
478
577
  dimmed?: boolean;
479
578
  /** Host-supplied frame color override; falls back to the derived color. */
480
579
  color?: string;
580
+ /** Boundary diagnostics badge — see `SubsystemRegionIssue`. */
581
+ issue?: SubsystemRegionIssue;
481
582
  }
482
583
  export type SubsystemGraphNode = Node<SubsystemGraphNodeData, 'subsystem-component'> | Node<SubsystemGroupNodeData, 'subsystem-group'>;
483
584
  export interface SubsystemGraphEdgeData extends Record<string, unknown> {
484
- mechanism: SubsystemEdgeMechanism;
585
+ /** The edge verb (subsystem mechanism, or raw graphify relation). */
586
+ mechanism: string;
587
+ /** Origin of the edge; absent means `'subsystem'`. */
588
+ provenance?: SubsystemEdgeProvenance;
485
589
  refs?: string[];
590
+ /** 1-based source line of the relation site (graphify edges when known). */
591
+ line?: number;
592
+ /** graphify's provenance tag (`EXTRACTED` / `INFERRED` / `AMBIGUOUS`). */
593
+ confidence?: string;
594
+ /** Reference context on `references` edges (e.g. `return_type`, `field`). */
595
+ context?: string;
486
596
  /** True while another edge is selected — render this edge (and its label)
487
597
  * dimmed to focus the selected relationship. */
488
598
  dimmed?: boolean;
@@ -510,7 +620,7 @@ export type SubsystemGraphEdge = Edge<SubsystemGraphEdgeData>;
510
620
  * Used to split derived display edges into their relation vs walkthrough
511
621
  * source (the two unions are disjoint).
512
622
  */
513
- export declare const SUBSYSTEM_RELATION_TYPES: readonly ["extends", "inherits", "implements", "mixes_in", "method", "references"];
623
+ export declare const SUBSYSTEM_RELATION_TYPES: readonly ["extends", "inherits", "implements", "mixes_in", "method"];
514
624
  /** Runtime vocabulary of walkthrough hop mechanisms — mirrors `SubsystemWalkthroughMechanism`. */
515
625
  export declare const SUBSYSTEM_WALKTHROUGH_MECHANISMS: readonly ["calls", "uses", "feeds", "produces", "writes", "reads", "watches", "registers-into"];
516
626
  /** True when a mechanism belongs to the topology relation vocabulary. */
@@ -519,6 +629,36 @@ export declare function isRelationMechanism(mechanism: string): mechanism is Sub
519
629
  export declare function isWalkthroughMechanism(mechanism: string): mechanism is SubsystemWalkthroughMechanism;
520
630
  export declare const MECHANISM_COLOR: Record<SubsystemEdgeMechanism, string>;
521
631
  export declare const MECHANISM_STYLE: Record<SubsystemEdgeMechanism, 'solid' | 'dashed' | 'dotted'>;
632
+ /** Fallback hue for a mechanism outside the closed palette (defensive — the
633
+ * vocabulary is closed, so this only guards an unexpected verb from rendering
634
+ * an undefined stroke). */
635
+ export declare const MECHANISM_FALLBACK_COLOR = "#888888";
636
+ /**
637
+ * graphify-native relation hues — a palette deliberately SEPARATE from
638
+ * `MECHANISM_COLOR`.
639
+ *
640
+ * graphify edges are derived from a static symbol graph, not authored subsystem
641
+ * semantics, so they get their own (cooler, desaturated) family and their own
642
+ * stroke treatment. Keeping the hue variables separate means a graphify fact
643
+ * can never be mistaken for a subsystem claim, and a new graphify verb can
644
+ * never accidentally inherit a mechanism hue.
645
+ *
646
+ * Keyed by graphify's relation verbs. Open-ended: graphify adds verbs, so an
647
+ * unlisted verb falls back to `GRAPHIFY_RELATION_FALLBACK_COLOR`.
648
+ */
649
+ export declare const GRAPHIFY_RELATION_COLOR: Record<string, string>;
650
+ /** Fallback hue for a graphify verb absent from `GRAPHIFY_RELATION_COLOR`. */
651
+ export declare const GRAPHIFY_RELATION_FALLBACK_COLOR = "#7d8794";
652
+ /**
653
+ * graphify-native edges share one stroke treatment so provenance still reads
654
+ * even where a hue happens to sit near a mechanism hue. Mirrors the
655
+ * `MECHANISM_STYLE` value space.
656
+ */
657
+ export declare const GRAPHIFY_RELATION_STYLE: 'solid' | 'dashed' | 'dotted';
658
+ /** Resolve an edge's stroke color from its provenance + verb. */
659
+ export declare function edgeColor(edge: Pick<SubsystemComponentEdge, 'mechanism' | 'provenance'>): string;
660
+ /** Resolve an edge's dash treatment from its provenance + verb. */
661
+ export declare function edgeStrokeStyle(edge: Pick<SubsystemComponentEdge, 'mechanism' | 'provenance'>): 'solid' | 'dashed' | 'dotted';
522
662
  /**
523
663
  * Region colors for process boundaries in the aggregate graph. Kept separate
524
664
  * from MECHANISM_COLOR on purpose: that palette encodes edge semantics on thin
@@ -659,9 +799,11 @@ export declare function convertSubsystemToGroups(doc: Pick<SubsystemModelDocumen
659
799
  * is an external label (not a component alias) point at a synthetic stub so the
660
800
  * relationship is visible without a member node.
661
801
  */
662
- export declare function convertSubsystemToEdges(doc: SubsystemModelDocument): SubsystemGraphEdge[];
802
+ export declare function convertSubsystemToEdges(doc: SubsystemModelDocument, graphifyRelations?: readonly SubsystemGraphifyRelation[]): SubsystemGraphEdge[];
663
803
  /** Stable key for layout-affecting graph fields (ignores declarationRef, etc.). */
664
- export declare function subsystemGraphLayoutKey(doc: Pick<SubsystemModelDocument, 'components' | 'relations' | 'walkthroughs'>): string;
804
+ export declare function subsystemGraphLayoutKey(doc: Pick<SubsystemModelDocument, 'components' | 'relations' | 'walkthroughs'> & {
805
+ graphifyRelations?: readonly SubsystemGraphifyRelation[];
806
+ }): string;
665
807
  /**
666
808
  * Build the full React Flow graph (nodes + edges) using **ELK auto-layout** to
667
809
  * position every node (including external stub targets), so the graph is
@@ -672,6 +814,18 @@ export declare function buildSubsystemGraph(doc: SubsystemModelDocument, opts?:
672
814
  showEdgeLabels?: boolean;
673
815
  measuredWidths?: Map<string, number>;
674
816
  measuredHeights?: Map<string, number>;
817
+ /** graphify-native relations to merge into the display graph, drawn with
818
+ * the separate graphify palette. Display-only; never authored. */
819
+ graphifyRelations?: readonly SubsystemGraphifyRelation[];
820
+ /**
821
+ * Order same-layer nodes by `component.line` (ascending) instead of ELK's
822
+ * crossing-minimizer. Only meaningful when components carry a `line` — and
823
+ * callers are expected to stamp `line` with the RELEVANT site for their
824
+ * graph (e.g. an ego graph stamps each callee with the center's call-site
825
+ * line, not the callee's declaration line).
826
+ * @default false
827
+ */
828
+ orderByLine?: boolean;
675
829
  } & BoundaryFrameOptions): Promise<{
676
830
  nodes: SubsystemGraphNode[];
677
831
  edges: SubsystemGraphEdge[];
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/subsystem/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/subsystem/model.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,22 @@ export function deriveGraphEdges(doc) {
82
82
  }
83
83
  }
84
84
  }
85
+ for (const g of doc.graphifyRelations ?? []) {
86
+ const id = g.id || derivedGraphEdgeId(g.from, g.to, g.relation);
87
+ if (!byId.has(id)) {
88
+ byId.set(id, {
89
+ id,
90
+ from: g.from,
91
+ to: g.to,
92
+ mechanism: g.relation,
93
+ provenance: 'graphify',
94
+ refs: g.refs,
95
+ line: g.line,
96
+ confidence: g.confidence,
97
+ context: g.context,
98
+ });
99
+ }
100
+ }
85
101
  return [...byId.values()];
86
102
  }
87
103
  /**
@@ -94,6 +110,7 @@ export function isConstructsOnlyModel(doc) {
94
110
  return deriveGraphEdges({
95
111
  relations: doc.relations,
96
112
  walkthroughs: doc.walkthroughs,
113
+ graphifyRelations: doc.graphifyRelations,
97
114
  }).length === 0;
98
115
  }
99
116
  /**
@@ -510,7 +527,6 @@ export const SUBSYSTEM_RELATION_TYPES = [
510
527
  'implements',
511
528
  'mixes_in',
512
529
  'method',
513
- 'references',
514
530
  ];
515
531
  /** Runtime vocabulary of walkthrough hop mechanisms — mirrors `SubsystemWalkthroughMechanism`. */
516
532
  export const SUBSYSTEM_WALKTHROUGH_MECHANISMS = [
@@ -541,7 +557,6 @@ export const MECHANISM_COLOR = {
541
557
  mixes_in: '#d474a8',
542
558
  uses: '#e3b341',
543
559
  method: '#c586c0',
544
- references: '#3b82f6',
545
560
  feeds: '#4ec9b0',
546
561
  produces: '#a78bfa',
547
562
  writes: '#e8853a',
@@ -557,7 +572,6 @@ export const MECHANISM_STYLE = {
557
572
  mixes_in: 'dashed',
558
573
  uses: 'solid',
559
574
  method: 'solid',
560
- references: 'dotted',
561
575
  feeds: 'solid',
562
576
  produces: 'solid',
563
577
  writes: 'solid',
@@ -565,6 +579,64 @@ export const MECHANISM_STYLE = {
565
579
  watches: 'dashed',
566
580
  'registers-into': 'dashed',
567
581
  };
582
+ /** Fallback hue for a mechanism outside the closed palette (defensive — the
583
+ * vocabulary is closed, so this only guards an unexpected verb from rendering
584
+ * an undefined stroke). */
585
+ export const MECHANISM_FALLBACK_COLOR = '#888888';
586
+ /**
587
+ * graphify-native relation hues — a palette deliberately SEPARATE from
588
+ * `MECHANISM_COLOR`.
589
+ *
590
+ * graphify edges are derived from a static symbol graph, not authored subsystem
591
+ * semantics, so they get their own (cooler, desaturated) family and their own
592
+ * stroke treatment. Keeping the hue variables separate means a graphify fact
593
+ * can never be mistaken for a subsystem claim, and a new graphify verb can
594
+ * never accidentally inherit a mechanism hue.
595
+ *
596
+ * Keyed by graphify's relation verbs. Open-ended: graphify adds verbs, so an
597
+ * unlisted verb falls back to `GRAPHIFY_RELATION_FALLBACK_COLOR`.
598
+ */
599
+ export const GRAPHIFY_RELATION_COLOR = {
600
+ contains: '#5c6b7a',
601
+ defines: '#6e7d8c',
602
+ imports: '#4c7fb5',
603
+ imports_from: '#6699cc',
604
+ re_exports: '#7b7fd4',
605
+ dynamic_import: '#4f9aa8',
606
+ indirect_call: '#8494a4',
607
+ calls: '#3f9e78',
608
+ uses: '#b0924e',
609
+ references: '#5f7fa6',
610
+ extends: '#8c74b0',
611
+ inherits: '#7a68a6',
612
+ implements: '#a4739e',
613
+ method: '#a4739e',
614
+ decorator: '#b57fa0',
615
+ rationale_for: '#bda15e',
616
+ semantically_similar_to: '#9a80bf', // muted lavender
617
+ };
618
+ /** Fallback hue for a graphify verb absent from `GRAPHIFY_RELATION_COLOR`. */
619
+ export const GRAPHIFY_RELATION_FALLBACK_COLOR = '#7d8794';
620
+ /**
621
+ * graphify-native edges share one stroke treatment so provenance still reads
622
+ * even where a hue happens to sit near a mechanism hue. Mirrors the
623
+ * `MECHANISM_STYLE` value space.
624
+ */
625
+ export const GRAPHIFY_RELATION_STYLE = 'dashed';
626
+ /** Resolve an edge's stroke color from its provenance + verb. */
627
+ export function edgeColor(edge) {
628
+ if (edge.provenance === 'graphify') {
629
+ return (GRAPHIFY_RELATION_COLOR[edge.mechanism] ?? GRAPHIFY_RELATION_FALLBACK_COLOR);
630
+ }
631
+ return (MECHANISM_COLOR[edge.mechanism] ??
632
+ MECHANISM_FALLBACK_COLOR);
633
+ }
634
+ /** Resolve an edge's dash treatment from its provenance + verb. */
635
+ export function edgeStrokeStyle(edge) {
636
+ if (edge.provenance === 'graphify')
637
+ return GRAPHIFY_RELATION_STYLE;
638
+ return MECHANISM_STYLE[edge.mechanism] ?? 'solid';
639
+ }
568
640
  /**
569
641
  * Region colors for process boundaries in the aggregate graph. Kept separate
570
642
  * from MECHANISM_COLOR on purpose: that palette encodes edge semantics on thin
@@ -652,7 +724,6 @@ export const MECHANISM_DESCRIPTIONS = [
652
724
  ['mixes_in', 'applies mixin', true],
653
725
  ['uses', 'general dependency (import, call, or reference)', false],
654
726
  ['method', 'structural: has method / member', true],
655
- ['references', 'type / symbol reference (not a call)', true],
656
727
  ['feeds', 'data flow: output feeds into input', false],
657
728
  ['produces', 'data flow: produces / outputs', false],
658
729
  ['writes', 'state access: mutates retained state', true],
@@ -919,12 +990,12 @@ export function convertSubsystemToGroups(doc, opts = {}) {
919
990
  * is an external label (not a component alias) point at a synthetic stub so the
920
991
  * relationship is visible without a member node.
921
992
  */
922
- export function convertSubsystemToEdges(doc) {
993
+ export function convertSubsystemToEdges(doc, graphifyRelations = []) {
923
994
  const compAliases = new Set(doc.components.map((c) => c.alias));
924
995
  const edges = [];
925
- for (const e of deriveGraphEdges(doc)) {
926
- const color = MECHANISM_COLOR[e.mechanism];
927
- const style = MECHANISM_STYLE[e.mechanism];
996
+ for (const e of deriveGraphEdges({ ...doc, graphifyRelations })) {
997
+ const color = edgeColor(e);
998
+ const style = edgeStrokeStyle(e);
928
999
  // If `to` is a real component, connect directly; otherwise point at a stub node.
929
1000
  const isExternal = !compAliases.has(e.to);
930
1001
  const targetId = isExternal ? `external:${e.to}` : e.to;
@@ -932,7 +1003,14 @@ export function convertSubsystemToEdges(doc) {
932
1003
  id: e.id,
933
1004
  source: e.from,
934
1005
  target: targetId,
935
- data: { mechanism: e.mechanism, refs: e.refs },
1006
+ data: {
1007
+ mechanism: e.mechanism,
1008
+ provenance: e.provenance,
1009
+ refs: e.refs,
1010
+ line: e.line,
1011
+ confidence: e.confidence,
1012
+ context: e.context,
1013
+ },
936
1014
  type: 'subsystem-edge',
937
1015
  markerEnd: { type: MarkerType.ArrowClosed, color, width: 32, height: 32 },
938
1016
  style: { color, stroke: color, strokeDasharray: style === 'dashed' ? '6 4' : undefined },
@@ -963,10 +1041,10 @@ export function subsystemGraphLayoutKey(doc) {
963
1041
  * layered with minimized crossings.
964
1042
  */
965
1043
  export async function buildSubsystemGraph(doc, opts = {}) {
966
- const { maxNodeWidth, showEdgeLabels, measuredWidths, measuredHeights, showSingletonFrames, packageFrames, } = opts;
1044
+ const { maxNodeWidth, showEdgeLabels, measuredWidths, measuredHeights, showSingletonFrames, packageFrames, graphifyRelations, orderByLine = false, } = opts;
967
1045
  const frameOpts = { showSingletonFrames, packageFrames };
968
1046
  const nodes = convertSubsystemToNodes(doc, { maxNodeWidth });
969
- const edges = convertSubsystemToEdges(doc);
1047
+ const edges = convertSubsystemToEdges(doc, graphifyRelations);
970
1048
  // Nested boundary tree: package → process → module → leaves.
971
1049
  const layoutGroups = buildBoundaryLayoutGroups(doc, frameOpts);
972
1050
  const regions = layoutGroups.map((g) => g.region);
@@ -1001,7 +1079,7 @@ export async function buildSubsystemGraph(doc, opts = {}) {
1001
1079
  // cross-package edges have something to land on.
1002
1080
  const realAliases = new Set(doc.components.map((c) => c.alias));
1003
1081
  const externalIds = [];
1004
- for (const e of deriveGraphEdges(doc)) {
1082
+ for (const e of deriveGraphEdges({ ...doc, graphifyRelations })) {
1005
1083
  if (!realAliases.has(e.to)) {
1006
1084
  const extId = `external:${e.to}`;
1007
1085
  if (!externalIds.includes(extId))
@@ -1066,6 +1144,7 @@ export async function buildSubsystemGraph(doc, opts = {}) {
1066
1144
  interLayerSpacing: showEdgeLabels === false ? 120 : EDGE_LABEL_SIDE_PADDING,
1067
1145
  endpointInset: EDGE_ARROW_INSET,
1068
1146
  preserveNodePositions: false,
1147
+ orderByLine,
1069
1148
  edgeLabels: showEdgeLabels === false ? { enabled: false } : { enabled: true, placement: 'CENTER' },
1070
1149
  groups: layoutGroups.map((g) => ({
1071
1150
  id: g.id,