@principal-ai/subsystems-react 0.56.10 → 0.56.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"TrailsPanel.js","sourceRoot":"","sources":["../../src/subsystem/TrailsPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrailsPanel.js","sourceRoot":"","sources":["../../src/subsystem/TrailsPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { SubsystemComponent, SubsystemTrail } from './model';
2
+ import type { SubsystemIssue } from './IssueList';
3
+ import { type TreePathMapping } from './paths';
4
+ export interface TrailSidebarScope {
5
+ trail: SubsystemTrail | null;
6
+ treePaths: TreePathMapping;
7
+ issues: SubsystemIssue[];
8
+ }
9
+ /** Scope sidebar content to a trail's endpoints and authored source sites. */
10
+ export declare function buildTrailSidebarScope(components: SubsystemComponent[], trails: SubsystemTrail[] | undefined, issues: SubsystemIssue[] | undefined, trailId: string | null): TrailSidebarScope;
11
+ //# sourceMappingURL=trailSidebarScope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailSidebarScope.d.ts","sourceRoot":"","sources":["../../src/subsystem/trailSidebarScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAoD,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAEjG,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,kBAAkB,EAAE,EAChC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,EACpC,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,EACpC,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,iBAAiB,CA6CnB"}
@@ -0,0 +1,47 @@
1
+ import { buildTreePathMapping, purlOwnerName, purlRepoKey } from './paths';
2
+ /** Scope sidebar content to a trail's endpoints and authored source sites. */
3
+ export function buildTrailSidebarScope(components, trails, issues, trailId) {
4
+ const trail = trails?.find((item) => item.id === trailId) ?? null;
5
+ if (!trail) {
6
+ return { trail: null, treePaths: buildTreePathMapping(components), issues: issues ?? [] };
7
+ }
8
+ const aliases = new Set(trail.steps.flatMap((step) => [step.from, step.to]));
9
+ const participants = components.filter((component) => aliases.has(component.alias));
10
+ const files = [...participants];
11
+ for (const step of trail.steps) {
12
+ files.push(step);
13
+ if (step.target)
14
+ files.push(step.target);
15
+ }
16
+ const modules = new Set(participants.map((component) => component.module?.trim()).filter(Boolean));
17
+ const processes = new Set(participants.map((component) => component.process).filter(Boolean));
18
+ const repos = new Set(files.flatMap((file) => [purlRepoKey(file.purl), purlOwnerName(file.purl)].filter((key) => !!key)));
19
+ const scopedIssues = (issues ?? []).filter((issue) => {
20
+ const target = issue.target;
21
+ if (!target)
22
+ return false;
23
+ const key = target.id ?? target.label;
24
+ switch (target.kind) {
25
+ case 'component': {
26
+ const component = components.find((candidate) => candidate.alias === target.id || candidate.alias === target.label ||
27
+ candidate.name === target.label || candidate.symbol === target.label);
28
+ return component != null && aliases.has(component.alias);
29
+ }
30
+ case 'trail':
31
+ return target.id != null ? target.id === trail.id : target.label === trail.title;
32
+ case 'step':
33
+ return target.id === trail.id && target.stepIndex != null &&
34
+ Number.isInteger(target.stepIndex) && trail.steps[target.stepIndex] != null;
35
+ case 'module':
36
+ return modules.has(key);
37
+ case 'process':
38
+ return processes.has(key);
39
+ case 'repo':
40
+ return repos.has(purlRepoKey(key) ?? key);
41
+ default:
42
+ return false;
43
+ }
44
+ });
45
+ return { trail, treePaths: buildTreePathMapping(files), issues: scopedIssues };
46
+ }
47
+ //# sourceMappingURL=trailSidebarScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trailSidebarScope.js","sourceRoot":"","sources":["../../src/subsystem/trailSidebarScope.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principal-ai/subsystems-react",
3
- "version": "0.56.10",
3
+ "version": "0.56.11",
4
4
  "description": "React UI for Subsystem Models — graph, Pierre code views, and session-event feeds",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -0,0 +1,68 @@
1
+ import { useState } from 'react';
2
+ import '@xyflow/react/dist/style.css';
3
+ import type { Meta, StoryObj } from '@storybook/react';
4
+ import { ThemeProvider, defaultEditorTheme } from '@principal-ade/industry-theme';
5
+ import { SubsystemComponentGraph } from '../../../subsystem/SubsystemComponentGraph';
6
+ import type { SubsystemComponent, SubsystemTrail } from '../../../subsystem/model';
7
+ import type { SubsystemIssue } from '../../../subsystem/IssueList';
8
+
9
+ const components: SubsystemComponent[] = [
10
+ { alias: 'checkout', name: 'Checkout', construct: 'function', file: 'src/checkout.ts', purl: 'pkg:github/acme/app' },
11
+ { alias: 'store', name: 'Store', construct: 'function', file: 'src/store.ts', purl: 'pkg:github/acme/app' },
12
+ { alias: 'report', name: 'Report', construct: 'function', file: 'src/report.ts', purl: 'pkg:github/acme/app' },
13
+ { alias: 'mail', name: 'Mail', construct: 'function', file: 'src/mail.ts', purl: 'pkg:github/acme/app' },
14
+ ];
15
+ const trails: SubsystemTrail[] = [
16
+ { id: 'checkout', title: 'Save checkout', steps: [
17
+ { from: 'checkout', to: 'store', mechanism: 'calls', file: 'src/checkout.ts',
18
+ purl: 'pkg:github/acme/app', symbol: 'saveCheckout', annotation: 'Persist the checkout.' },
19
+ ] },
20
+ { id: 'report', title: 'Send report', steps: [
21
+ { from: 'report', to: 'mail', mechanism: 'calls', file: 'src/report.ts',
22
+ purl: 'pkg:github/acme/app', symbol: 'sendReport' },
23
+ ] },
24
+ ];
25
+ const issues: SubsystemIssue[] = [
26
+ { id: 'checkout-symbol', severity: 'error', kind: 'symbol_unmatched',
27
+ message: 'Checkout declaration needs verification.',
28
+ target: { kind: 'component', id: 'checkout', label: 'Checkout' } },
29
+ { id: 'checkout-step', severity: 'error', kind: 'step_span_unconfirmed',
30
+ message: 'Capture the checkout seam.',
31
+ target: { kind: 'step', id: 'checkout', stepIndex: 0, label: 'Checkout → Store' } },
32
+ { id: 'report-symbol', severity: 'error', kind: 'symbol_unmatched',
33
+ message: 'Report declaration needs verification.',
34
+ target: { kind: 'component', id: 'report', label: 'Report' } },
35
+ ];
36
+
37
+ function Demo() {
38
+ const [showIssues, setShowIssues] = useState(false);
39
+ return (
40
+ <div style={{ height: '100vh' }}>
41
+ <SubsystemComponentGraph
42
+ title="Trail-scoped sidebar"
43
+ description="Select a trail, then switch between Trails, Files, and Issues. Its header stays visible and each panel shows only that trail’s information. Back clears the trail context."
44
+ components={components}
45
+ trails={trails}
46
+ issues={issues}
47
+ showIssues={showIssues}
48
+ diagnostic={{ status: 'issues', issueCount: issues.length,
49
+ onToggle: () => setShowIssues((value) => !value) }}
50
+ renderFileViewer={(file) => (
51
+ <pre style={{ padding: 16 }}>Source preview: {file}</pre>
52
+ )}
53
+ />
54
+ </div>
55
+ );
56
+ }
57
+
58
+ const meta = {
59
+ title: 'Canvases/Subsystem/TrailSidebarViews',
60
+ component: SubsystemComponentGraph,
61
+ parameters: { layout: 'fullscreen' },
62
+ decorators: [(Story) => (
63
+ <ThemeProvider theme={defaultEditorTheme}><Story /></ThemeProvider>
64
+ )],
65
+ } satisfies Meta<typeof SubsystemComponentGraph>;
66
+ export default meta;
67
+ type Story = StoryObj<typeof meta>;
68
+ export const ScopedPanels: Story = { render: () => <Demo /> };
@@ -78,6 +78,7 @@ describe('subsystem graph sidebar', () => {
78
78
  expect(group?.querySelectorAll('button').length).toBe(3);
79
79
  expect(group?.querySelectorAll('button[aria-pressed="true"]').length).toBe(1);
80
80
  expect(group?.querySelector('button[aria-label="Trails"]')?.getAttribute('aria-pressed')).toBe('true');
81
+ expect(group?.querySelector('button[aria-label="Trails"]')?.textContent).toBe('Trails');
81
82
  expect(group?.querySelector('button[aria-label^="Issues:"]')?.textContent).toBe('Issues');
82
83
  expect((group as HTMLElement).style.borderStyle).toBe('solid');
83
84
  });
@@ -188,6 +189,8 @@ describe('subsystem graph sidebar', () => {
188
189
  globalThis.window = dom as unknown as typeof window;
189
190
  try {
190
191
  const body = renderGraph({ persistKey: 'trail-nav-test' });
192
+ expect(body.querySelector('header button[aria-label="Trail"]')?.textContent).toBe('Trail');
193
+ expect(body.querySelector('header button[aria-label="Trails"]')).toBeNull();
191
194
  expect(body.querySelector('[aria-hidden="false"] button[aria-label="Back to trails"]')).not.toBeNull();
192
195
  expect(body.querySelector('button[aria-label^="Play "]')).toBeNull();
193
196
  expect(body.querySelector('button[aria-label^="Focus layout"]')).toBeNull();
@@ -197,6 +200,40 @@ describe('subsystem graph sidebar', () => {
197
200
  }
198
201
  });
199
202
 
203
+ test('keeps the trail header and scoped counts in Issues after graph selection is cleared', () => {
204
+ const previousWindow = globalThis.window;
205
+ const dom = new Window();
206
+ dom.localStorage.setItem('principal.subsystems.viewState.scoped-sidebar-test', JSON.stringify({
207
+ sidebarTrailId: 'request',
208
+ focusedTrailId: null,
209
+ }));
210
+ globalThis.window = dom as unknown as typeof window;
211
+ try {
212
+ const body = renderGraph({
213
+ persistKey: 'scoped-sidebar-test',
214
+ showIssues: true,
215
+ components: [...components, {
216
+ alias: 'other', name: 'Other', construct: 'function', file: 'src/other.ts', purl: 'pkg:github/test/app',
217
+ }],
218
+ issues: [
219
+ { id: 'related', severity: 'error', kind: 'missing_file', message: 'Related finding',
220
+ target: { kind: 'component', id: 'entry', label: 'Entry' } },
221
+ { id: 'unrelated', severity: 'error', kind: 'missing_file', message: 'Unrelated finding',
222
+ target: { kind: 'component', id: 'other', label: 'Other' } },
223
+ ],
224
+ diagnostic: { status: 'issues', issueCount: 2 },
225
+ });
226
+ expect(body.querySelector('[aria-hidden="false"] button[aria-label="Back to trails"]')).not.toBeNull();
227
+ expect(body.querySelector('[aria-hidden="false"]')?.textContent).toContain('Request flow');
228
+ expect(body.querySelector('header button[aria-label^="Files"]')?.textContent).toBe('Files2');
229
+ expect(body.querySelector('header button[aria-label^="Issues:"]')?.textContent).toBe('Issues1');
230
+ expect(body.querySelector('header button[aria-label="Trail"]')?.textContent).toBe('Trail');
231
+ expect(body.querySelector('[aria-hidden="false"]')?.textContent).not.toContain('Unrelated finding');
232
+ } finally {
233
+ globalThis.window = previousWindow;
234
+ }
235
+ });
236
+
200
237
  test('static graphs keep their description but do not show a file panel', () => {
201
238
  const body = renderGraph({ trails: undefined, graphifyRelations });
202
239
  expect(body.textContent).toContain('Always visible description.');
@@ -82,7 +82,7 @@ import {
82
82
  } from './IssueList';
83
83
  import { GraphLayoutCover } from './GraphLayoutCover';
84
84
  import { SubsystemFileTree } from './SubsystemFileTree';
85
- import { buildTreePathMapping } from './paths';
85
+ import { buildTrailSidebarScope, type TrailSidebarScope } from './trailSidebarScope';
86
86
  import { GRAPH_CANVAS_CLASS, GRAPH_NAV_PROPS, GraphChrome, GraphLayerStyle, LAYOUT_FLIP_CLASS, LAYOUT_FLIP_EDGE_MS, LAYOUT_FLIP_NODE_MS } from './graphChrome';
87
87
  import { ComponentDeclaration } from './ComponentDeclaration';
88
88
  import type { ComponentVerificationState } from './ComponentDeclaration';
@@ -151,6 +151,7 @@ type DrawerTarget =
151
151
  interface PersistedViewState {
152
152
  expandedTrails?: string[];
153
153
  focusedTrailId?: string | null;
154
+ sidebarTrailId?: string | null;
154
155
  focusedStepIndex?: number | null;
155
156
  /** Sidebar width moved to the shared GraphWithSidebar chrome (persisted
156
157
  * under `principal.subsystems.sidebarWidth.<persistKey>`); reading the old
@@ -609,9 +610,11 @@ const TrailDrawerContent = memo(function TrailDrawerContent({
609
610
  interface InnerProps extends SubsystemComponentGraphProps {
610
611
  measured: { w: number; h: number } | null;
611
612
  filesActive: boolean;
613
+ sidebarScope: TrailSidebarScope;
614
+ onSidebarTrailChange: (trailId: string | null) => void;
612
615
  }
613
616
 
614
- function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirection: layoutDirectionProp, defaultLayoutDirection = 'horizontal', onLayoutDirectionChange, hideLayoutToggle = false, refocusOnLayoutFlip = true, initialTrailId, onTrailSelect, onTrailStepHover, onReorderTrails, stepEmphasis, onRemoveStepEmphasis, onSelect, onEdgeSelect, measured: _measured, maxNodeWidth, showEdgeLabels, showSingletonFrames = true, moduleNesting, edgeView, hideSidebar, trailStepMode = 'focus', autoPlayTrails = false, trailAutoPlayIntervalMs = TRAIL_PLAY_PAUSE_MS, zoomOnTrailFocus = true, trailFocusDurationMs = 300, graphTitle, showTrailTitle = false, description, canvasOverlay, sidebarExtra, sidebarAfterDescription, issues, showIssues, filesActive, focusIssueCategory, laneStatus, onSelectIssue, onApplyIssueFix, onHoverIssue, renderFileViewer, renderTrailViewer, onFileSelect, componentVerification, onInspectSymbol, boundaryColors, codeProcessKeys, hideDrawer = false, persistKey, liveEvents, agentsPanel }: InnerProps) {
617
+ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirection: layoutDirectionProp, defaultLayoutDirection = 'horizontal', onLayoutDirectionChange, hideLayoutToggle = false, refocusOnLayoutFlip = true, initialTrailId, onTrailSelect, onTrailStepHover, onReorderTrails, stepEmphasis, onRemoveStepEmphasis, onSelect, onEdgeSelect, measured: _measured, maxNodeWidth, showEdgeLabels, showSingletonFrames = true, moduleNesting, edgeView, hideSidebar, trailStepMode = 'focus', autoPlayTrails = false, trailAutoPlayIntervalMs = TRAIL_PLAY_PAUSE_MS, zoomOnTrailFocus = true, trailFocusDurationMs = 300, graphTitle, showTrailTitle = false, description, canvasOverlay, sidebarExtra, sidebarAfterDescription, issues, showIssues, filesActive, sidebarScope, onSidebarTrailChange, focusIssueCategory, laneStatus, onSelectIssue, onApplyIssueFix, onHoverIssue, renderFileViewer, renderTrailViewer, onFileSelect, componentVerification, onInspectSymbol, boundaryColors, codeProcessKeys, hideDrawer = false, persistKey, liveEvents, agentsPanel }: InnerProps) {
615
618
  const { theme } = useTheme();
616
619
  const { fitView, fitBounds } = useReactFlow();
617
620
  const viewport = useViewport();
@@ -1834,7 +1837,11 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
1834
1837
  }, []);
1835
1838
 
1836
1839
  const hasTrails = useMemo(() => (trails?.length ?? 0) > 0, [trails]);
1837
- const treePaths = useMemo(() => buildTreePathMapping(components), [components]);
1840
+ const { treePaths, trail: sidebarTrail } = sidebarScope;
1841
+ const treeFilePaths = useMemo(() => treePaths.entries.map((entry) => entry.displayPath), [treePaths]);
1842
+ useEffect(() => {
1843
+ if (persistKey) writeViewState(persistKey, { sidebarTrailId: sidebarTrail?.id ?? null });
1844
+ }, [persistKey, sidebarTrail?.id]);
1838
1845
  // Alias → component, so the Trails panel can show human hop names instead
1839
1846
  // of model-local aliases (and the site/`via` distinction can read).
1840
1847
  const componentByAlias = useMemo(
@@ -2123,13 +2130,14 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
2123
2130
  }
2124
2131
  setExpandedTrails(new Set([tl.id]));
2125
2132
  setLayoutTrailId(tl.id);
2133
+ onSidebarTrailChange(tl.id);
2126
2134
  setFocusedStepIndex(null);
2127
2135
  setFocusedTrailId(tl.id);
2128
2136
  onTrailSelect?.({ trailId: tl.id });
2129
2137
  fitFocusBounds(new Set(tl.steps.map((s) => trailStepGraphEdgeId(s))));
2130
2138
  setDrawerTarget((prev) => (prev?.kind === 'trail' ? null : prev));
2131
2139
  },
2132
- [fitFocusBounds, trailStepMode, onTrailSelect],
2140
+ [fitFocusBounds, trailStepMode, onTrailSelect, onSidebarTrailChange],
2133
2141
  );
2134
2142
 
2135
2143
  const clearTrailFocus = useCallback(() => {
@@ -2139,25 +2147,25 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
2139
2147
  }
2140
2148
  setExpandedTrails(new Set());
2141
2149
  setLayoutTrailId(null);
2150
+ onSidebarTrailChange(null);
2142
2151
  setFocusedTrailId(null);
2143
2152
  setFocusedStepIndex(null);
2144
2153
  setHoveredTrailStep(null);
2145
2154
  setDrawerTarget((prev) => (prev?.kind === 'trail' ? null : prev));
2146
2155
  onTrailSelect?.(null);
2147
- }, [onTrailSelect]);
2156
+ }, [onTrailSelect, onSidebarTrailChange]);
2148
2157
 
2149
- // A hidden trail must not leave the file view filtered to its cast.
2158
+ // Switching panels keeps the selected trail, but drops transient hover previews.
2150
2159
  const filesWereActive = useRef(false);
2151
2160
  useEffect(() => {
2152
2161
  const enteringFiles = filesActive && !filesWereActive.current;
2153
2162
  filesWereActive.current = filesActive;
2154
2163
  if (!enteringFiles) return;
2155
- clearTrailFocus();
2156
- setExpandedTrails(new Set());
2164
+ if (!sidebarTrail) clearTrailFocus();
2157
2165
  setSelectedEdgeId(null);
2158
- setLayoutTrailId(null);
2166
+ setHoveredTrailStep(null);
2159
2167
  onTrailStepHover?.(null);
2160
- }, [filesActive, clearTrailFocus, onTrailStepHover]);
2168
+ }, [filesActive, clearTrailFocus, onTrailStepHover, sidebarTrail]);
2161
2169
 
2162
2170
  // Host deep-link: opening the graph from a trail row selects that
2163
2171
  // flow — expand its steps and focus its edges.
@@ -2195,6 +2203,7 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
2195
2203
  return;
2196
2204
  }
2197
2205
  // Toggle: clicking the selected step unselects it (back to whole flow).
2206
+ onSidebarTrailChange(tl.id);
2198
2207
  if (focusedTrailId === tl.id && focusedStepIndex === stepIndex) {
2199
2208
  setFocusedStepIndex(null);
2200
2209
  // Pointer is still over the row — keep hover preview so dimming doesn't
@@ -2250,6 +2259,7 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
2250
2259
  renderTrailViewer,
2251
2260
  trailStepMode,
2252
2261
  onTrailSelect,
2262
+ onSidebarTrailChange,
2253
2263
  ],
2254
2264
  );
2255
2265
 
@@ -2705,7 +2715,7 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
2705
2715
  (description || filesActive || issuesActive || sidebarExtra || sidebarAfterDescription ||
2706
2716
  hasTrails);
2707
2717
  const sidebarBodyVisible = hasTrails || filesActive || issuesActive;
2708
- const sidebarTabs: GraphSidebarTab[] | undefined = issuesActive
2718
+ const sidebarTabs: GraphSidebarTab[] | undefined = issuesActive && !sidebarTrail
2709
2719
  ? agentsPanel
2710
2720
  ? [
2711
2721
  { id: 'issues', label: 'Issues' },
@@ -2736,14 +2746,14 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
2736
2746
  </>
2737
2747
  );
2738
2748
  // Lower panel: diagnostics, the file tree, or the trail flow list.
2739
- const sidebarBody = issuesActive ? (
2740
- diagnosticsTab === 'agents' && agentsPanel ? (
2749
+ const sidebarPanel = issuesActive ? (
2750
+ diagnosticsTab === 'agents' && agentsPanel && !sidebarTrail ? (
2741
2751
  <SubsystemAgentsPanel {...agentsPanel} />
2742
2752
  ) : (
2743
2753
  <SubsystemIssueList
2744
- issues={issues ?? []}
2754
+ issues={sidebarScope.issues}
2745
2755
  focusCategory={focusIssueCategory}
2746
- laneStatus={laneStatus}
2756
+ laneStatus={sidebarTrail ? undefined : laneStatus}
2747
2757
  onSelectIssue={focusIssueTarget}
2748
2758
  onDeselectIssue={unfocusIssueTarget}
2749
2759
  onApplyFix={onApplyIssueFix}
@@ -2751,22 +2761,26 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
2751
2761
  onExpandedCategoriesChange={handleExpandedCategoriesChange}
2752
2762
  />
2753
2763
  )
2754
- ) : filesActive ? (
2764
+ ) : filesActive ? treePaths.entries.length === 0 ? (
2765
+ <div style={{ padding: 16, color: theme.colors.textSecondary }}>No files for this trail.</div>
2766
+ ) : (
2755
2767
  <SubsystemFileTree
2756
- files={treePaths.entries.map((entry) => entry.displayPath)}
2768
+ files={treeFilePaths}
2757
2769
  selectedFile={openFile ? treePaths.toDisplay.get(openFile) : null}
2758
2770
  onSelectFile={(path) => {
2759
2771
  const file = treePaths.toFile.get(path);
2760
2772
  if (file) onOpenDeclarationFile(file);
2761
2773
  }}
2762
2774
  />
2763
- ) : trails && trails.length > 0 ? (
2775
+ ) : null;
2776
+ const trailNavigation = trails && trails.length > 0 ? (
2764
2777
  <TrailsPanel
2765
2778
  drilldown={trailStepMode !== 'dim'}
2766
2779
  trails={trails}
2767
2780
  expandedTrails={expandedTrails}
2768
- focusedTrailId={focusedTrailId}
2769
- focusedStepIndex={focusedStepIndex}
2781
+ focusedTrailId={sidebarTrail?.id ?? focusedTrailId}
2782
+ focusedStepIndex={!sidebarTrail || focusedTrailId === sidebarTrail.id ? focusedStepIndex : null}
2783
+ detailContent={sidebarPanel}
2770
2784
  hoveredTrailStep={hoveredTrailStep}
2771
2785
  onToggleCollapsed={toggleTrailCollapsed}
2772
2786
  onFocusFlow={focusTrailEdges}
@@ -2790,6 +2804,9 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
2790
2804
  onRemoveStepEmphasis={onRemoveStepEmphasis}
2791
2805
  />
2792
2806
  ) : null;
2807
+ const sidebarBody = sidebarTrail && trailStepMode !== 'dim'
2808
+ ? trailNavigation
2809
+ : sidebarPanel ?? trailNavigation;
2793
2810
  const fileOverlayView = fileOverlay && (
2794
2811
  <div
2795
2812
  style={{
@@ -3385,11 +3402,29 @@ export function SubsystemComponentGraph(props: SubsystemComponentGraphProps) {
3385
3402
  const wrapRef = useRef<HTMLDivElement>(null);
3386
3403
  const [size, setSize] = useState<{ w: number; h: number } | null>(null);
3387
3404
  const [filesOpen, setFilesOpen] = useState(false);
3388
- const fileCount = useMemo(
3389
- () => buildTreePathMapping(props.components).entries.length,
3390
- [props.components],
3405
+ // Browsing a trail is independent of selecting one of its files or findings.
3406
+ const [sidebarTrailId, setSidebarTrailId] = useState<string | null>(() => {
3407
+ const saved = readViewState(props.persistKey);
3408
+ return saved.sidebarTrailId !== undefined ? saved.sidebarTrailId : saved.focusedTrailId ?? null;
3409
+ });
3410
+ const sidebarScope = useMemo(
3411
+ () => buildTrailSidebarScope(props.components, props.trails, props.issues, sidebarTrailId),
3412
+ [props.components, props.trails, props.issues, sidebarTrailId],
3391
3413
  );
3392
- const hasFiles = fileCount > 0;
3414
+ const fileCount = sidebarScope.treePaths.entries.length;
3415
+ const trailViewLabel = sidebarScope.trail ? 'Trail' : 'Trails';
3416
+ const hasFiles = fileCount > 0 || sidebarScope.trail != null;
3417
+ const sidebarDiagnostic: SubsystemDiagnostic = sidebarScope.trail ? {
3418
+ ...props.diagnostic,
3419
+ status: props.issues == null ? props.diagnostic?.status ?? 'unknown'
3420
+ : sidebarScope.issues.length > 0 ? 'issues' : 'ok',
3421
+ issueCount: sidebarScope.issues.length,
3422
+ fixableCount: sidebarScope.issues.filter((issue) => issue.fix != null).length,
3423
+ title: undefined,
3424
+ } : props.diagnostic ?? { status: 'unknown', issueCount: props.issues?.length };
3425
+ useEffect(() => {
3426
+ if (sidebarTrailId != null && !sidebarScope.trail) setSidebarTrailId(null);
3427
+ }, [sidebarTrailId, sidebarScope.trail]);
3393
3428
  const [diagnosticsOpen, setDiagnosticsOpen] = useState<boolean>(
3394
3429
  props.showIssues ?? (props.issues?.length ?? 0) > 0,
3395
3430
  );
@@ -3500,13 +3535,13 @@ export function SubsystemComponentGraph(props: SubsystemComponentGraphProps) {
3500
3535
  >
3501
3536
  <button
3502
3537
  type="button"
3503
- aria-label="Trails"
3538
+ aria-label={trailViewLabel}
3504
3539
  aria-pressed={!filesActive && !issuesActive}
3505
3540
  onClick={() => selectSidebarView('trails')}
3506
3541
  style={viewButtonStyle(!filesActive && !issuesActive)}
3507
3542
  >
3508
3543
  <Route size={14} aria-hidden />
3509
- <span>Trails</span>
3544
+ <span>{trailViewLabel}</span>
3510
3545
  </button>
3511
3546
  {hasFiles && (
3512
3547
  <button
@@ -3523,7 +3558,7 @@ export function SubsystemComponentGraph(props: SubsystemComponentGraphProps) {
3523
3558
  </button>
3524
3559
  )}
3525
3560
  <SubsystemDiagnosticToggle
3526
- {...(props.diagnostic ?? { status: 'unknown', issueCount: props.issues?.length })}
3561
+ {...sidebarDiagnostic}
3527
3562
  labelText="Issues"
3528
3563
  segmented
3529
3564
  active={issuesActive}
@@ -3552,7 +3587,8 @@ export function SubsystemComponentGraph(props: SubsystemComponentGraphProps) {
3552
3587
  />
3553
3588
  ) : (
3554
3589
  <ReactFlowProvider>
3555
- <Inner {...props} showIssues={issuesActive} filesActive={filesActive} measured={size} />
3590
+ <Inner {...props} showIssues={issuesActive} filesActive={filesActive} measured={size}
3591
+ sidebarScope={sidebarScope} onSidebarTrailChange={setSidebarTrailId} />
3556
3592
  </ReactFlowProvider>
3557
3593
  )}
3558
3594
  </div>
@@ -56,6 +56,28 @@ function renderNav(props: Record<string, unknown>) {
56
56
  }
57
57
 
58
58
  describe('TrailStepsNav', () => {
59
+ test('keeps the selected trail header when files or issues replace the step body', () => {
60
+ let cleared = false;
61
+ const { getByRole, getByText, queryByText } = renderNav({
62
+ trails: TRAILS,
63
+ focusedTrailId: 't1',
64
+ focusedStepIndex: null,
65
+ hoveredTrailStep: null,
66
+ onFocusFlow: () => {},
67
+ onClearFocus: () => { cleared = true; },
68
+ onFocusStep: () => {},
69
+ onHoverStep: () => {},
70
+ onHoverFlow: () => {},
71
+ onLeaveStep: () => {},
72
+ detailContent: createElement('div', null, 'Files for this trail'),
73
+ });
74
+ expect(getByRole('button', { name: 'First flow', exact: true })).toBeTruthy();
75
+ expect(getByText('Files for this trail')).toBeTruthy();
76
+ expect(queryByText('A.go')).toBeNull();
77
+ fireEvent.click(getByRole('button', { name: 'Back to trails' }));
78
+ expect(cleared).toBe(true);
79
+ });
80
+
59
81
  test('lists trails with step counts and focuses on click', () => {
60
82
  let focused: string | null = null;
61
83
  const { getByText, getByRole } = renderNav({
@@ -54,6 +54,8 @@ export interface TrailStepsNavProps {
54
54
  listContent?: ReactNode;
55
55
  /** Optional step content, for hosts with copy and guidance controls. */
56
56
  renderSteps?: (trail: SubsystemTrail) => ReactNode;
57
+ /** Replace the step body without replacing the selected trail's header. */
58
+ detailContent?: ReactNode;
57
59
  }
58
60
 
59
61
  const PANE: CSSProperties = {
@@ -80,6 +82,7 @@ export function TrailStepsNav({
80
82
  transitionMs = 340,
81
83
  listContent,
82
84
  renderSteps,
85
+ detailContent,
83
86
  }: TrailStepsNavProps) {
84
87
  const { theme } = useTheme();
85
88
  const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
@@ -285,7 +288,7 @@ export function TrailStepsNav({
285
288
  <X size={16} strokeWidth={2} />
286
289
  </button>
287
290
  </div>
288
- <div
291
+ {detailContent ?? <div
289
292
  style={{ flex: 1, minHeight: 0, overflowY: 'auto', padding: '0 0 12px' }}
290
293
  onMouseLeave={onLeaveStep}
291
294
  >
@@ -370,7 +373,7 @@ export function TrailStepsNav({
370
373
  </button>
371
374
  );
372
375
  })}
373
- </div>
376
+ </div>}
374
377
  </>
375
378
  )}
376
379
  </div>