@principal-ai/subsystems-react 0.51.2 → 0.51.3

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 (73) hide show
  1. package/dist/index.d.ts +5 -3
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/subsystem/C4Graph.d.ts +12 -1
  6. package/dist/subsystem/C4Graph.d.ts.map +1 -1
  7. package/dist/subsystem/C4Graph.js +82 -14
  8. package/dist/subsystem/C4Graph.js.map +1 -1
  9. package/dist/subsystem/C4NodeCard.d.ts +22 -22
  10. package/dist/subsystem/C4NodeCard.d.ts.map +1 -1
  11. package/dist/subsystem/C4NodeCard.js +56 -77
  12. package/dist/subsystem/C4NodeCard.js.map +1 -1
  13. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  14. package/dist/subsystem/SubsystemComponentGraph.js +0 -6
  15. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  16. package/dist/subsystem/TrailsPanel.d.ts.map +1 -1
  17. package/dist/subsystem/TrailsPanel.js +8 -4
  18. package/dist/subsystem/TrailsPanel.js.map +1 -1
  19. package/dist/subsystem/c4.d.ts +24 -86
  20. package/dist/subsystem/c4.d.ts.map +1 -1
  21. package/dist/subsystem/c4.js +6 -285
  22. package/dist/subsystem/c4.js.map +1 -1
  23. package/dist/subsystem/c4Evidence.js +1 -1
  24. package/dist/subsystem/c4Evidence.js.map +1 -1
  25. package/dist/subsystem/model.d.ts +8 -0
  26. package/dist/subsystem/model.d.ts.map +1 -1
  27. package/dist/subsystem/model.js.map +1 -1
  28. package/dist/subsystem/techIcons/bun.d.ts +11 -0
  29. package/dist/subsystem/techIcons/bun.d.ts.map +1 -0
  30. package/dist/subsystem/techIcons/bun.js +11 -0
  31. package/dist/subsystem/techIcons/bun.js.map +1 -0
  32. package/dist/subsystem/techIcons/index.d.ts +36 -0
  33. package/dist/subsystem/techIcons/index.d.ts.map +1 -0
  34. package/dist/subsystem/techIcons/index.js +55 -0
  35. package/dist/subsystem/techIcons/index.js.map +1 -0
  36. package/dist/subsystem/techIcons/node.d.ts +12 -0
  37. package/dist/subsystem/techIcons/node.d.ts.map +1 -0
  38. package/dist/subsystem/techIcons/node.js +39 -0
  39. package/dist/subsystem/techIcons/node.js.map +1 -0
  40. package/dist/subsystem/techIcons/react.d.ts +12 -0
  41. package/dist/subsystem/techIcons/react.d.ts.map +1 -0
  42. package/dist/subsystem/techIcons/react.js +19 -0
  43. package/dist/subsystem/techIcons/react.js.map +1 -0
  44. package/dist/utils/elkLayout.d.ts.map +1 -1
  45. package/dist/utils/elkLayout.js +16 -5
  46. package/dist/utils/elkLayout.js.map +1 -1
  47. package/package.json +3 -3
  48. package/src/index.ts +4 -6
  49. package/src/stories/Subsystem/C4Graph/C4Container.stories.tsx +212 -0
  50. package/src/stories/Subsystem/C4Graph/C4NodeGallery.stories.tsx +20 -10
  51. package/src/stories/Subsystem/ComponentGraph/IssueOverlay.stories.tsx +4 -2
  52. package/src/subsystem/C4Graph.tsx +127 -12
  53. package/src/subsystem/C4NodeCard.test.ts +71 -77
  54. package/src/subsystem/C4NodeCard.tsx +65 -95
  55. package/src/subsystem/SubsystemComponentGraph.tsx +0 -6
  56. package/src/subsystem/TrailsPanel.tsx +10 -5
  57. package/src/subsystem/c4.ts +23 -357
  58. package/src/subsystem/c4Evidence.test.ts +1 -1
  59. package/src/subsystem/c4Evidence.ts +1 -1
  60. package/src/subsystem/model.ts +8 -0
  61. package/src/subsystem/techIcons/bun.ts +10 -0
  62. package/src/subsystem/techIcons/index.tsx +73 -0
  63. package/src/subsystem/techIcons/node.ts +38 -0
  64. package/src/subsystem/techIcons/react.ts +18 -0
  65. package/src/subsystem/techIcons/techIcons.test.ts +39 -0
  66. package/src/utils/elkLayout.ts +16 -5
  67. package/dist/stories/Subsystem/C4Graph/c4ProposedElements.fixture.d.ts +0 -493
  68. package/dist/stories/Subsystem/C4Graph/c4ProposedElements.fixture.d.ts.map +0 -1
  69. package/dist/stories/Subsystem/C4Graph/c4ProposedElements.fixture.js +0 -329
  70. package/dist/stories/Subsystem/C4Graph/c4ProposedElements.fixture.js.map +0 -1
  71. package/src/stories/Subsystem/C4Graph/ProposedElements.stories.tsx +0 -293
  72. package/src/stories/Subsystem/C4Graph/c4ProposedElements.fixture.ts +0 -366
  73. package/src/subsystem/c4.test.ts +0 -573
@@ -1,329 +0,0 @@
1
- const author = 'c4-proposer';
2
- export const c4ProposedElements = [
3
- // --- deployable units ----------------------------------------------------
4
- {
5
- id: 'container:studio-host',
6
- kind: 'container',
7
- label: 'Subsystem Studio — host',
8
- derivedFrom: ['subsystems-studio/host'],
9
- // Only the aliases with no component of their own. The store I/O and the
10
- // audit runner name their own members below, and `buildC4Model` rolls
11
- // those up into this container rather than counting them twice.
12
- members: [
13
- 'resolve-root', 'http-put', 'http-propose', 'tab-registry',
14
- 'live-feed-store', 'maintain-probe-registry', 'run-store',
15
- 'graphify-store', 'proposal-create', 'proposal-accept',
16
- 'maintain-orchestrator', 'run-maintain-agent', 'ensure-graphify',
17
- 'close-tab', 'open-tab',
18
- ],
19
- containerKind: 'application',
20
- technology: 'Bun + Electrobun host',
21
- description: 'Owns the model store on disk, runs graphify-backed verification, and serves the renderer over RPC.',
22
- state: 'proposed',
23
- rationale: 'The Electron main process, holding 113 components in the live corpus.',
24
- author,
25
- },
26
- {
27
- id: 'container:legacy-host',
28
- kind: 'container',
29
- label: 'Principal Studio — host',
30
- // The other half of the merge question. `subsystems-studio/host` (113
31
- // components) and `principal-studio/host` (1) are either one process or
32
- // two, and no amount of reading the keys decides it — `mergeElements`
33
- // exists for exactly this, and the story shows the button.
34
- derivedFrom: ['principal-studio/host'],
35
- members: ['register-roots'],
36
- containerKind: 'application',
37
- technology: 'Electrobun host',
38
- description: "The same Electron main process under the app's former name.",
39
- state: 'proposed',
40
- rationale: 'One member, and the same process as container:studio-host. Merged or kept separate, one deployable unit under two app names or two units?',
41
- author,
42
- },
43
- {
44
- id: 'container:studio-renderer',
45
- kind: 'container',
46
- label: 'Subsystem Studio — renderer',
47
- // `file-panel` is not repeated here: component:file-viewer owns it, and
48
- // the build rolls it up. An alias belongs to exactly one element.
49
- derivedFrom: ['subsystems-studio/renderer'],
50
- members: [
51
- 'subsystems-view', 'model-view', 'regular-audit-view', 'list-view',
52
- 'rpc-bridge', 'reload-subs', 'regular-audit-subscribers',
53
- 'tab-strip', 'graph-view', 'detail-graph', 'is-model-viewed',
54
- 'preloadHighlighter', 'SharedHighlighter', 'CodeView',
55
- ],
56
- containerKind: 'application',
57
- technology: 'React 19 in an Electron renderer',
58
- description: 'Renders subsystem models and talks to the host over the Electrobun RPC bridge.',
59
- state: 'proposed',
60
- rationale: 'The Electron renderer process, holding 41 components in the live corpus.',
61
- author,
62
- },
63
- {
64
- id: 'container:legacy-renderer',
65
- kind: 'container',
66
- label: 'Principal Studio — renderer',
67
- // The other half of the renderer merge question, mirroring legacy-host.
68
- derivedFrom: ['principal-studio/renderer'],
69
- members: ['app-shell'],
70
- containerKind: 'application',
71
- technology: 'React 19',
72
- description: "The same React bundle under the app's former name.",
73
- state: 'proposed',
74
- rationale: 'One member, and the same process as container:studio-renderer. One deployable unit under two app names or two units?',
75
- author,
76
- },
77
- {
78
- id: 'container:cli',
79
- kind: 'container',
80
- label: 'Subsystem Modeling CLI',
81
- derivedFrom: ['principal-studio-cli'],
82
- members: ['cli-create'],
83
- containerKind: 'application',
84
- technology: 'Node',
85
- description: 'Creates and updates models from the terminal.',
86
- state: 'proposed',
87
- rationale: 'A standalone binary is a deployable unit even with one command.',
88
- author,
89
- },
90
- // --- the shape questions -------------------------------------------------
91
- {
92
- id: 'container:shared-ui',
93
- kind: 'container',
94
- label: 'subsystems-react (proposed container?)',
95
- members: ['measured-dims'],
96
- containerKind: 'application',
97
- technology: 'React',
98
- description: 'Shared graph UI, published as an npm package.',
99
- state: 'proposed',
100
- // Proposed as a container so the question is visible. There is no `library`
101
- // kind to fall back on: c4model says a JAR/assembly/module "typically" is
102
- // not an element at all, so a published package has to earn its box or be
103
- // demoted into the containers that import it.
104
- rationale: 'MEMBER OF THE COMPANION LIBRARY, not a runtime unit — no process of its own, imported by both renderers. Expected to be rejected or demoted.',
105
- author,
106
- },
107
- {
108
- id: 'container:model-store',
109
- kind: 'container',
110
- label: 'Subsystem model store',
111
- members: ['model-disk-store', 'proposals-store'],
112
- containerKind: 'data-store',
113
- technology: 'JSON files under ~/.principal',
114
- description: 'Every stored model and the correction queue, on local disk.',
115
- state: 'proposed',
116
- // The open Q2 decision: is this one C4 data-store container, or internals
117
- // of the host that owns them?
118
- rationale: 'Disk-backed and shared across the host and the CLI, which reads it. Whether C4 wants one data-store container or internals of the host is unresolved.',
119
- author,
120
- },
121
- {
122
- id: 'container:in-memory-state',
123
- kind: 'container',
124
- label: 'In-memory renderer state (proposed container?)',
125
- // Two aliases nothing else claims. Rejecting this element is what makes
126
- // them reappear in `unmapped` — which is the point: rejecting an element
127
- // orphans whatever was in it, and the build says so out loud.
128
- members: ['renderer-probe-cache', 'tab-order-cache'],
129
- containerKind: 'application',
130
- // Required by the type on every container, and empty on purpose: this is
131
- // the shape the C4 notation forbids (process-lifetime state has no
132
- // technology), and `summarizeElements` reports exactly this gap.
133
- technology: '',
134
- description: 'Module-level Sets and Maps that do not outlive the process.',
135
- state: 'proposed',
136
- rationale: 'Process-lifetime state, not durable storage. Belongs inside the renderer container as components, not beside it as its own container. Expected to be rejected.',
137
- author,
138
- },
139
- // --- outside the boundary ----------------------------------------------
140
- {
141
- id: 'external:opencode2',
142
- kind: 'external-system',
143
- label: 'OpenCode v2 service',
144
- members: ['opencode-v2-service'],
145
- technology: 'HTTP',
146
- description: 'Runs the maintain agent sessions this model is edited by.',
147
- state: 'proposed',
148
- rationale: 'Another system we call out to — a C4 software system, not one of our containers.',
149
- author,
150
- },
151
- {
152
- id: 'external:gists',
153
- kind: 'external-system',
154
- label: 'GitHub Gists API',
155
- members: ['github-gists-api'],
156
- technology: 'REST',
157
- description: 'Publishes the portable model JSON as a gist.',
158
- state: 'proposed',
159
- author,
160
- },
161
- {
162
- id: 'external:opencode-db',
163
- kind: 'external-system',
164
- label: 'opencode.db',
165
- members: ['session-v2', 'event', 'session-message'],
166
- // No technology field at all: C4 makes technology optional for an
167
- // external system, and for a SQLite file the honest answer is "on disk".
168
- description: 'Agent session transcripts, read by the host to build the timeline.',
169
- state: 'proposed',
170
- // Two models disagree about this: one claims these tables inside our
171
- // system, another marks them external. Flagged rather than resolved.
172
- rationale: 'CONFLICT — one stored model claims these tables inside the system, another marks the same tables external. Needs the user.',
173
- author,
174
- },
175
- {
176
- id: 'person:maintainer',
177
- kind: 'person',
178
- label: 'Maintain operator',
179
- members: ['maintain-agent'],
180
- description: 'Reviews and accepts the correction proposals this subsystem model accumulates.',
181
- state: 'proposed',
182
- rationale: 'C4 Person — no technology, by the notation. The only actor in the corpus; entityKind was never set on the underlying custom_entity.',
183
- author,
184
- },
185
- // --- component level ----------------------------------------------------
186
- {
187
- id: 'component:boundary-layout',
188
- kind: 'component',
189
- label: 'Boundary layout builder',
190
- members: ['build-boundary-layout', 'nest-groups'],
191
- // Naming `container:shared-ui` as the parent is itself part of the open
192
- // question: if that container is rejected, this component has no home and
193
- // `buildC4Model` reports `unknown_container`.
194
- container: 'container:shared-ui',
195
- technology: 'React + ELK',
196
- description: 'Turns module and process claims into nested compound frames.',
197
- state: 'proposed',
198
- author,
199
- },
200
- {
201
- id: 'component:file-viewer',
202
- kind: 'component',
203
- label: 'Pierre file viewer',
204
- members: ['file-panel'],
205
- container: 'container:studio-renderer',
206
- technology: 'React',
207
- description: 'Opens the source slice a trail step points at.',
208
- state: 'proposed',
209
- author,
210
- },
211
- {
212
- id: 'component:model-store-io',
213
- kind: 'component',
214
- label: 'Model store I/O',
215
- members: ['store-create', 'store-list', 'read-file', 'store-file'],
216
- container: 'container:studio-host',
217
- technology: 'Bun fs',
218
- description: 'Reads and writes model JSON under ~/.principal.',
219
- state: 'proposed',
220
- author,
221
- },
222
- {
223
- id: 'component:audit-runner',
224
- kind: 'component',
225
- label: 'Audit runner',
226
- members: ['audit-model', 'verify-files'],
227
- // Deliberately dangling: points at a container that is not in this set, so
228
- // the story shows what `unknown_container` looks like.
229
- container: 'container:verifier',
230
- technology: 'Bun',
231
- description: 'Verifies every component claim in a model.',
232
- state: 'proposed',
233
- rationale: 'Named a container that does not exist yet — shows the build problem report.',
234
- author,
235
- },
236
- ];
237
- /**
238
- * A small document the elements above can be drawn against: the member aliases
239
- * resolved, plus one trail so there is a line to draw.
240
- *
241
- * Only members named by an element appear. A component nobody claimed is
242
- * deliberately absent — `buildC4Model` reports those as `unmapped` instead of
243
- * inventing a home for them.
244
- */
245
- export const c4FixtureDocument = {
246
- components: [
247
- { alias: 'store-create', name: 'createSubsystemModel', construct: 'function', file: 'packages/subsystems-studio/src/bun/subsystem-model-store.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/subsystem-model-store.ts' },
248
- { alias: 'store-list', name: 'listSubsystemModels', construct: 'function', file: 'packages/subsystems-studio/src/bun/subsystem-model-store.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/subsystem-model-store.ts' },
249
- { alias: 'verify-files', name: 'verifyModelFiles', construct: 'function', file: 'packages/subsystems-studio/src/bun/subsystem-model-store.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/subsystem-model-store.ts' },
250
- { alias: 'resolve-root', name: 'resolveRepoRootForComponent', construct: 'function', file: 'packages/subsystems-studio/src/bun/subsystem-model-store.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/subsystem-model-store.ts' },
251
- { alias: 'audit-model', name: 'auditSubsystemModel', construct: 'function', file: 'packages/subsystems-studio/src/bun/verify-subsystem-component.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/verify-subsystem-component.ts' },
252
- { alias: 'http-put', name: 'handleSubsystemModelRequest', construct: 'function', file: 'packages/subsystems-studio/src/bun/http-server.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/http-server.ts' },
253
- { alias: 'http-propose', name: 'postSubsystemModelProposal', construct: 'function', file: 'packages/subsystems-studio/src/bun/proposal-store.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/proposal-store.ts' },
254
- { alias: 'register-roots', name: 'registerRepoRoots', construct: 'function', file: 'packages/subsystems-studio/src/bun/alexandria.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/alexandria.ts' },
255
- { alias: 'tab-registry', name: 'tabs', construct: 'store', file: 'packages/subsystems-studio/src/bun/index.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/index.ts', declaration: { kind: 'store', storage: 'memory', properties: [] } },
256
- { alias: 'live-feed-store', name: 'OpencodeLiveFeedState', construct: 'store', file: 'packages/subsystems-studio/src/bun/opencode-v2-live.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/opencode-v2-live.ts', declaration: { kind: 'store', storage: 'memory', properties: [] } },
257
- { alias: 'maintain-probe-registry', name: 'MaintainerProbeRegistry', construct: 'store', file: 'packages/subsystems-studio/src/bun/maintainer-probe.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/maintainer-probe.ts', declaration: { kind: 'store', storage: 'memory', properties: [] } },
258
- { alias: 'run-store', name: 'SubsystemModelRunStore', construct: 'store', file: 'packages/subsystems-studio/src/bun/subsystem-model-runs.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/subsystem-model-runs.ts', declaration: { kind: 'store', storage: 'disk', properties: [] } },
259
- { alias: 'graphify-store', name: 'ensureCaches', construct: 'function', file: 'packages/subsystems-studio/src/bun/graphify-store.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/graphify-store.ts' },
260
- { alias: 'proposal-create', name: 'createSubsystemModelProposal', construct: 'function', file: 'packages/subsystems-studio/src/bun/proposal-store.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/proposal-store.ts' },
261
- { alias: 'proposal-accept', name: 'acceptSubsystemModelProposal', construct: 'function', file: 'packages/subsystems-studio/src/bun/proposal-store.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/proposal-store.ts' },
262
- { alias: 'maintain-orchestrator', name: 'maintainSubsystemModel', construct: 'function', file: 'packages/subsystems-studio/src/bun/maintain-model.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/maintain-model.ts' },
263
- { alias: 'run-maintain-agent', name: 'runMaintainAgent', construct: 'function', file: 'packages/subsystems-studio/src/bun/maintain-model.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/maintain-model.ts' },
264
- { alias: 'ensure-graphify', name: 'ensureCaches', construct: 'function', file: 'packages/subsystems-studio/src/bun/graphify-store.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/graphify-store.ts' },
265
- { alias: 'store-file', name: 'writeFile', construct: 'function', file: 'packages/subsystems-studio/src/bun/subsystem-model-store.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/subsystem-model-store.ts' },
266
- { alias: 'read-file', name: 'readSubsystemFile', construct: 'function', file: 'packages/subsystems-studio/src/bun/index.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/index.ts' },
267
- { alias: 'close-tab', name: 'closeTabById', construct: 'function', file: 'packages/subsystems-studio/src/bun/index.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/index.ts' },
268
- { alias: 'open-tab', name: 'openSubsystemModelTab', construct: 'function', file: 'packages/subsystems-studio/src/bun/index.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/index.ts' },
269
- { alias: 'subsystems-view', name: 'SubsystemsModelsView', construct: 'function', file: 'packages/subsystems-studio/src/mainview/views/SubsystemModelsView.tsx', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/views/SubsystemModelsView.tsx' },
270
- { alias: 'model-view', name: 'SubsystemModelView', construct: 'function', file: 'packages/subsystems-studio/src/mainview/views/SubsystemModelView.tsx', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/views/SubsystemModelView.tsx' },
271
- { alias: 'regular-audit-view', name: 'RegularAuditView', construct: 'function', file: 'packages/subsystems-studio/src/mainview/views/SubsystemModelView.tsx', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/views/SubsystemModelView.tsx' },
272
- { alias: 'list-view', name: 'listView', construct: 'function', file: 'packages/subsystems-studio/src/mainview/views/SubsystemModelsView.tsx', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/views/SubsystemModelsView.tsx' },
273
- { alias: 'file-panel', name: 'FilePanel', construct: 'function', file: 'packages/subsystems-studio/src/mainview/views/SubsystemModelsView.tsx', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/views/SubsystemModelsView.tsx' },
274
- { alias: 'rpc-bridge', name: 'electrobun', construct: 'store', file: 'packages/subsystems-studio/src/mainview/rpc.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/rpc.ts', declaration: { kind: 'store', properties: [] } },
275
- { alias: 'reload-subs', name: 'reloadSubscribers', construct: 'store', file: 'packages/subsystems-studio/src/mainview/rpc.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/rpc.ts', declaration: { kind: 'store', properties: [] } },
276
- { alias: 'regular-audit-subscribers', name: 'regularAuditChangeSubscribers', construct: 'store', file: 'packages/subsystems-studio/src/mainview/rpc.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/rpc.ts', declaration: { kind: 'store', properties: [] } },
277
- { alias: 'app-shell', name: 'App', construct: 'function', file: 'packages/subsystems-studio/src/mainview/App.tsx', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/App.tsx' },
278
- { alias: 'tab-strip', name: 'TabStrip', construct: 'function', file: 'packages/subsystems-studio/src/mainview/components/TabStrip.tsx', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/components/TabStrip.tsx' },
279
- { alias: 'graph-view', name: 'SubsystemComponentGraph', construct: 'function', file: 'packages/subsystems-react/src/subsystem/SubsystemComponentGraph.tsx', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-react/src/subsystem/SubsystemComponentGraph.tsx' },
280
- { alias: 'detail-graph', name: 'DetailGraph', construct: 'function', file: 'packages/subsystems-react/src/subsystem/SubsystemComponentGraph.tsx', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-react/src/subsystem/SubsystemComponentGraph.tsx' },
281
- { alias: 'is-model-viewed', name: 'isModelViewed', construct: 'function', file: 'packages/subsystems-studio/src/mainview/views/SubsystemModelsView.tsx', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/views/SubsystemModelsView.tsx' },
282
- { alias: 'preloadHighlighter', name: 'preloadHighlighter', construct: 'external', file: '', purl: 'pkg:npm/@pierre/diffs' },
283
- { alias: 'SharedHighlighter', name: 'SharedHighlighter', construct: 'external', file: '', purl: 'pkg:npm/@pierre/diffs' },
284
- { alias: 'CodeView', name: 'CodeView', construct: 'external', file: '', purl: 'pkg:npm/@pierre/diffs' },
285
- { alias: 'cli-create', name: 'create', construct: 'function', file: 'packages/principal-studio-cli/src/commands/subsystem-model.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/principal-studio-cli/src/commands/subsystem-model.ts' },
286
- { alias: 'nest-groups', name: 'nestCompoundGroups', construct: 'function', file: 'packages/subsystems-react/src/utils/elkLayout.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-react/src/utils/elkLayout.ts' },
287
- { alias: 'build-boundary-layout', name: 'buildBoundaryLayoutGroups', construct: 'function', file: 'packages/subsystems-react/src/subsystem/model.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-react/src/subsystem/model.ts' },
288
- { alias: 'measured-dims', name: 'measuredDimsRef', construct: 'store', file: 'packages/subsystems-react/src/subsystem/SubsystemComponentGraph.tsx', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-react/src/subsystem/SubsystemComponentGraph.tsx', declaration: { kind: 'store', properties: [] } },
289
- { alias: 'model-disk-store', name: '~/.principal/subsystem-models', construct: 'store', file: '', purl: 'external:file:~/.principal/subsystem-models', declaration: { kind: 'store', storage: 'disk', properties: [] } },
290
- { alias: 'proposals-store', name: 'SubsystemModelProposalStore', construct: 'store', file: 'packages/subsystems-studio/src/bun/proposal-store.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/proposal-store.ts', declaration: { kind: 'store', storage: 'disk', properties: [] } },
291
- { alias: 'opencode-v2-service', name: 'OpenCode v2 service', construct: 'external', file: '', purl: 'external:opencode/v2-service' },
292
- { alias: 'github-gists-api', name: 'GitHub Gists API', construct: 'external', file: '', purl: 'external:api.github.com/gists' },
293
- { alias: 'session-v2', name: 'session_v2', construct: 'external', file: '', purl: 'external:opencode.db/session-v2' },
294
- { alias: 'event', name: 'event', construct: 'external', file: '', purl: 'external:opencode.db/event' },
295
- { alias: 'session-message', name: 'session_message', construct: 'external', file: '', purl: 'external:opencode.db/session-message' },
296
- { alias: 'renderer-probe-cache', name: 'rendererProbeCache', construct: 'store', file: 'packages/subsystems-studio/src/mainview/rpc.ts', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/rpc.ts', declaration: { kind: 'store', storage: 'memory', properties: [] } },
297
- { alias: 'tab-order-cache', name: 'tabOrderCache', construct: 'store', file: 'packages/subsystems-studio/src/mainview/components/TabStrip.tsx', purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/components/TabStrip.tsx', declaration: { kind: 'store', storage: 'memory', properties: [] } },
298
- { alias: 'maintain-agent', name: 'Maintenance agent (OpenCode) session', construct: 'custom_entity', file: '', purl: 'external' },
299
- ],
300
- trails: [
301
- {
302
- id: 'tl-audit',
303
- title: 'Run a dry-run audit from the Audit button',
304
- steps: [
305
- { from: 'model-view', to: 'audit-model', mechanism: 'calls', file: 'packages/subsystems-studio/src/mainview/views/SubsystemModelView.tsx', line: 443, purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/views/SubsystemModelView.tsx', symbol: 'SubsystemModelView' },
306
- { from: 'audit-model', to: 'model-disk-store', mechanism: 'writes', file: 'packages/subsystems-studio/src/bun/verify-subsystem-component.ts', line: 950, purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/verify-subsystem-component.ts', symbol: 'auditSubsystemModel' },
307
- { from: 'subsystems-view', to: 'model-view', mechanism: 'feeds', file: 'packages/subsystems-studio/src/mainview/views/SubsystemModelsView.tsx', line: 1152, purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/views/SubsystemModelsView.tsx', symbol: 'openSubsystemModel' },
308
- { from: 'subsystems-view', to: 'file-panel', mechanism: 'uses', file: 'packages/subsystems-studio/src/mainview/views/SubsystemModelsView.tsx', line: 958, purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/mainview/views/SubsystemModelsView.tsx', symbol: 'onShowAuditReport' },
309
- ],
310
- },
311
- {
312
- id: 'tl-maintain',
313
- title: 'Maintain run posts a correction proposal',
314
- steps: [
315
- { from: 'maintain-orchestrator', to: 'run-maintain-agent', mechanism: 'calls', file: 'packages/subsystems-studio/src/bun/maintain-model.ts', line: 854, purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/maintain-model.ts', symbol: 'maintainSubsystemModel' },
316
- { from: 'run-maintain-agent', to: 'opencode-v2-service', mechanism: 'calls', file: 'packages/subsystems-studio/src/bun/maintain-model.ts', line: 651, purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/maintain-model.ts', symbol: 'runMaintainAgent' },
317
- { from: 'opencode-v2-service', to: 'maintain-agent', mechanism: 'feeds', file: 'packages/subsystems-studio/src/bun/maintain-model.ts', line: 650, purl: 'external:opencode/v2-service#packages/subsystems-studio/src/bun/maintain-model.ts', symbol: 'runMaintainAgent' },
318
- { from: 'http-propose', to: 'proposal-create', mechanism: 'calls', file: 'packages/subsystems-studio/src/bun/http-server.ts', line: 404, purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/http-server.ts', symbol: 'handleSubsystemModelRequest' },
319
- { from: 'proposal-create', to: 'proposals-store', mechanism: 'writes', file: 'packages/subsystems-studio/src/bun/proposal-store.ts', line: 554, purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/proposal-store.ts', symbol: 'createSubsystemModelProposal' },
320
- { from: 'maintain-orchestrator', to: 'run-store', mechanism: 'writes', file: 'packages/subsystems-studio/src/bun/maintain-model.ts', line: 892, purl: 'pkg:github/acme/subsystem-modeling#packages/subsystems-studio/src/bun/maintain-model.ts', symbol: 'noteSubsystemModelRunStart' },
321
- ],
322
- },
323
- ],
324
- };
325
- /** Elements the author is asking a question about, surfaced in the story. */
326
- export const c4OpenQuestions = c4ProposedElements
327
- .filter((a) => a.rationale && /(CONFLICT|not a|Expected to be|whether|Needs|one deployable unit)/.test(a.rationale))
328
- .map((a) => ({ id: a.id, label: a.label, rationale: a.rationale }));
329
- //# sourceMappingURL=c4ProposedElements.fixture.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"c4ProposedElements.fixture.js","sourceRoot":"","sources":["../../../../src/stories/Subsystem/C4Graph/c4ProposedElements.fixture.ts"],"names":[],"mappings":"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"}