system-diff 0.3.0__tar.gz → 0.4.0__tar.gz

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 (56) hide show
  1. {system_diff-0.3.0 → system_diff-0.4.0}/PKG-INFO +25 -5
  2. {system_diff-0.3.0 → system_diff-0.4.0}/README.md +24 -4
  3. {system_diff-0.3.0 → system_diff-0.4.0}/docs/diagrams/system.json +81 -15
  4. {system_diff-0.3.0 → system_diff-0.4.0}/docs/diagrams/system.svg +44 -37
  5. {system_diff-0.3.0 → system_diff-0.4.0}/mods/system-diff/.claude-plugin/plugin.json +1 -1
  6. {system_diff-0.3.0 → system_diff-0.4.0}/mods/system-diff/hooks/page.tsx +9 -23
  7. {system_diff-0.3.0 → system_diff-0.4.0}/mods/system-diff/hooks/pane.test.tsx +17 -13
  8. {system_diff-0.3.0 → system_diff-0.4.0}/mods/system-diff/hooks/register.tsx +19 -17
  9. {system_diff-0.3.0 → system_diff-0.4.0}/pyproject.toml +1 -1
  10. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/__init__.py +1 -1
  11. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/agent.py +32 -12
  12. system_diff-0.4.0/src/system_diff/agents.py +296 -0
  13. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/cli.py +1 -1
  14. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/mcp_server.py +44 -2
  15. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/pane.py +107 -2
  16. {system_diff-0.3.0 → system_diff-0.4.0}/system-diff.toml +8 -0
  17. {system_diff-0.3.0 → system_diff-0.4.0}/tests/test_checkpoint_watch_mcp.py +2 -1
  18. {system_diff-0.3.0 → system_diff-0.4.0}/tests/test_design_and_pane.py +43 -0
  19. {system_diff-0.3.0 → system_diff-0.4.0}/tests/test_terminal_and_learning.py +7 -1
  20. {system_diff-0.3.0 → system_diff-0.4.0}/.claude-plugin/marketplace.json +0 -0
  21. {system_diff-0.3.0 → system_diff-0.4.0}/.gitattributes +0 -0
  22. {system_diff-0.3.0 → system_diff-0.4.0}/.github/workflows/ci.yml +0 -0
  23. {system_diff-0.3.0 → system_diff-0.4.0}/.github/workflows/release.yml +0 -0
  24. {system_diff-0.3.0 → system_diff-0.4.0}/.github/workflows/system-diff.yml +0 -0
  25. {system_diff-0.3.0 → system_diff-0.4.0}/.gitignore +0 -0
  26. {system_diff-0.3.0 → system_diff-0.4.0}/LICENSE +0 -0
  27. {system_diff-0.3.0 → system_diff-0.4.0}/mods/system-diff/hooks/hooks.json +0 -0
  28. {system_diff-0.3.0 → system_diff-0.4.0}/mods/system-diff/types/index.d.ts +0 -0
  29. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/__main__.py +0 -0
  30. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/activity.py +0 -0
  31. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/architecture.py +0 -0
  32. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/canvas.py +0 -0
  33. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/companion.py +0 -0
  34. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/compare.py +0 -0
  35. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/config.py +0 -0
  36. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/design.py +0 -0
  37. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/diff.py +0 -0
  38. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/extract.py +0 -0
  39. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/graph.py +0 -0
  40. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/inside.py +0 -0
  41. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/learn.py +0 -0
  42. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/narrate.py +0 -0
  43. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/panel.py +0 -0
  44. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/pictures.py +0 -0
  45. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/png.py +0 -0
  46. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/profile.py +0 -0
  47. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/readme.py +0 -0
  48. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/sources.py +0 -0
  49. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/statusline.py +0 -0
  50. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/textmap.py +0 -0
  51. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/topics.py +0 -0
  52. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/tui.py +0 -0
  53. {system_diff-0.3.0 → system_diff-0.4.0}/src/system_diff/watch.py +0 -0
  54. {system_diff-0.3.0 → system_diff-0.4.0}/tests/conftest.py +0 -0
  55. {system_diff-0.3.0 → system_diff-0.4.0}/tests/test_capture.py +0 -0
  56. {system_diff-0.3.0 → system_diff-0.4.0}/tests/test_system_diff.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: system-diff
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: Draws your system from its code (parts, entry points, data, outside systems) and what each change adds, changes or removes. No dependencies; SVG pictures for PRs and READMEs.
5
5
  Project-URL: Homepage, https://github.com/simplifiedmachine/system-diff
6
6
  Project-URL: Documentation, https://github.com/simplifiedmachine/system-diff/wiki
@@ -74,8 +74,7 @@ hooks it added before, and frees `/system-diff` for the pane.
74
74
  ### The System diff pane
75
75
 
76
76
  A tab beside Claude Code's own file diff: your system drawn the way a system designer draws it, live, with what
77
- Claude is changing in it. It opens as wide as Claude Code docks a pane (45% of the terminal); drag its edge to narrow
78
- it.
77
+ Claude is changing in it. `/system-diff close` (or "× close" in its tab row) hides it; `/system-diff` brings it back.
79
78
 
80
79
  - **Now** follows Claude, in the order your attention needs it:
81
80
  - **What Claude is doing** ("● Claude is working ✎ Editing API") and what you asked.
@@ -92,8 +91,7 @@ it.
92
91
  other ends, and a line says what it uses and what uses it.
93
92
  - **Zoom:** Enter (or a second click) zooms in on a container's components, with the lines between them. `b` goes
94
93
  back, `f` follows Claude again.
95
- - **Scroll:** `[` `]` or shift ← → scroll a wide diagram across; shift ↑ ↓, Page Up/Down or the wheel scroll a
96
- tall one.
94
+ - **Scroll:** `[` `]` scroll a wide diagram across; shift ↑ ↓, Page Up/Down or the wheel scroll a tall one.
97
95
  - **This turn**: each change to the design, and what it trades off.
98
96
  - **Learn**: how the part Claude works on is designed.
99
97
  - The principle its place calls for: an edge of the system, an adapter, a shared foundation, a coordinator.
@@ -102,6 +100,9 @@ it.
102
100
  - **What just happened**: the system diff, step by step. Each change an edit made is said in plain words, with why
103
101
  it matters and the file it came from. Edits that changed no structure are told once.
104
102
  - **Map**: the system diagram since your checkpoint, every box to pick and zoom into.
103
+ - **Agents**: the team at work. Each agent's area, the blocks it owns and edited, and unread messages; the system
104
+ diagram with `@agent` after each block it works on; the bus, newest first; and a warning when two agents edit one
105
+ block, or one edits a block claimed for another.
105
106
  - **Changes**: every change since your checkpoint, and this turn, read for design. Once you have understood it, tell
106
107
  Claude "mark it as seen" (or run `system-diff checkpoint`): from then on you see only what is new to you.
107
108
  - **Topics**: the stack, technology by technology. Pick one and the parts that use it light up in the diagram; space
@@ -118,6 +119,25 @@ One meaning per colour, so your eye goes where it should:
118
119
 
119
120
  `n` `m` `c` `t` switch views.
120
121
 
122
+ ### A team of agents, by the system's blocks
123
+
124
+ Claude does most work alone unless asked otherwise, so system-diff asks it to plan a team:
125
+
126
+ - **Planning:** at each prompt, the hook tells Claude to call `plan_agents` with the task. The plan splits the task by
127
+ the system's blocks, one agent per area it touches (a container, else a part). Each agent gets the blocks it owns
128
+ (claimed for it), the blocks it depends on, and a brief to launch it with. Claude then launches the agents in
129
+ parallel as subagents. Turn this off with `[agents] orchestrate = false` in `system-diff.toml`.
130
+ - **The bus:** an async publish/subscribe channel whose topics are the blocks. Each agent follows the blocks its own
131
+ depend on. Every change an agent makes to a block's structure is published on that block's topic as it happens
132
+ ("API no longer answers DELETE /orders/{id}"), with why it matters. Agents publish their own notes with `publish`
133
+ (to a block, to "all", or to "agent:<name>"). Each agent's unread messages reach it with its next tool result:
134
+ nobody waits on anybody.
135
+ - **Claims:** `claim` gives an agent its blocks. An edit to someone else's block is published to its owner and shown
136
+ under Needs your attention.
137
+
138
+ The MCP tools: `plan_agents`, `claim`, `publish`, `subscribe`, `inbox`, `team`. It all stays in `.git/system-diff/`
139
+ (`agents.json`, `bus.jsonl`), never pushed.
140
+
121
141
  ### In the conversation
122
142
 
123
143
  - **After an edit that changes the system's structure**, one line under it: "System diff: API now answers GET
@@ -42,8 +42,7 @@ hooks it added before, and frees `/system-diff` for the pane.
42
42
  ### The System diff pane
43
43
 
44
44
  A tab beside Claude Code's own file diff: your system drawn the way a system designer draws it, live, with what
45
- Claude is changing in it. It opens as wide as Claude Code docks a pane (45% of the terminal); drag its edge to narrow
46
- it.
45
+ Claude is changing in it. `/system-diff close` (or "× close" in its tab row) hides it; `/system-diff` brings it back.
47
46
 
48
47
  - **Now** follows Claude, in the order your attention needs it:
49
48
  - **What Claude is doing** ("● Claude is working ✎ Editing API") and what you asked.
@@ -60,8 +59,7 @@ it.
60
59
  other ends, and a line says what it uses and what uses it.
61
60
  - **Zoom:** Enter (or a second click) zooms in on a container's components, with the lines between them. `b` goes
62
61
  back, `f` follows Claude again.
63
- - **Scroll:** `[` `]` or shift ← → scroll a wide diagram across; shift ↑ ↓, Page Up/Down or the wheel scroll a
64
- tall one.
62
+ - **Scroll:** `[` `]` scroll a wide diagram across; shift ↑ ↓, Page Up/Down or the wheel scroll a tall one.
65
63
  - **This turn**: each change to the design, and what it trades off.
66
64
  - **Learn**: how the part Claude works on is designed.
67
65
  - The principle its place calls for: an edge of the system, an adapter, a shared foundation, a coordinator.
@@ -70,6 +68,9 @@ it.
70
68
  - **What just happened**: the system diff, step by step. Each change an edit made is said in plain words, with why
71
69
  it matters and the file it came from. Edits that changed no structure are told once.
72
70
  - **Map**: the system diagram since your checkpoint, every box to pick and zoom into.
71
+ - **Agents**: the team at work. Each agent's area, the blocks it owns and edited, and unread messages; the system
72
+ diagram with `@agent` after each block it works on; the bus, newest first; and a warning when two agents edit one
73
+ block, or one edits a block claimed for another.
73
74
  - **Changes**: every change since your checkpoint, and this turn, read for design. Once you have understood it, tell
74
75
  Claude "mark it as seen" (or run `system-diff checkpoint`): from then on you see only what is new to you.
75
76
  - **Topics**: the stack, technology by technology. Pick one and the parts that use it light up in the diagram; space
@@ -86,6 +87,25 @@ One meaning per colour, so your eye goes where it should:
86
87
 
87
88
  `n` `m` `c` `t` switch views.
88
89
 
90
+ ### A team of agents, by the system's blocks
91
+
92
+ Claude does most work alone unless asked otherwise, so system-diff asks it to plan a team:
93
+
94
+ - **Planning:** at each prompt, the hook tells Claude to call `plan_agents` with the task. The plan splits the task by
95
+ the system's blocks, one agent per area it touches (a container, else a part). Each agent gets the blocks it owns
96
+ (claimed for it), the blocks it depends on, and a brief to launch it with. Claude then launches the agents in
97
+ parallel as subagents. Turn this off with `[agents] orchestrate = false` in `system-diff.toml`.
98
+ - **The bus:** an async publish/subscribe channel whose topics are the blocks. Each agent follows the blocks its own
99
+ depend on. Every change an agent makes to a block's structure is published on that block's topic as it happens
100
+ ("API no longer answers DELETE /orders/{id}"), with why it matters. Agents publish their own notes with `publish`
101
+ (to a block, to "all", or to "agent:<name>"). Each agent's unread messages reach it with its next tool result:
102
+ nobody waits on anybody.
103
+ - **Claims:** `claim` gives an agent its blocks. An edit to someone else's block is published to its owner and shown
104
+ under Needs your attention.
105
+
106
+ The MCP tools: `plan_agents`, `claim`, `publish`, `subscribe`, `inbox`, `team`. It all stays in `.git/system-diff/`
107
+ (`agents.json`, `bus.jsonl`), never pushed.
108
+
89
109
  ### In the conversation
90
110
 
91
111
  - **After an edit that changes the system's structure**, one line under it: "System diff: API now answers GET
@@ -17,7 +17,7 @@
17
17
  "label": "Agent activity",
18
18
  "layer": "",
19
19
  "kind": "data",
20
- "order": 23,
20
+ "order": 24,
21
21
  "container": "",
22
22
  "declared": true,
23
23
  "files": 1,
@@ -33,7 +33,19 @@
33
33
  "container": "",
34
34
  "declared": true,
35
35
  "files": 1,
36
- "lines": 436,
36
+ "lines": 456,
37
+ "hub": false,
38
+ "quiet": false
39
+ },
40
+ "agents": {
41
+ "label": "Agent team",
42
+ "layer": "",
43
+ "kind": "logic",
44
+ "order": 14,
45
+ "container": "",
46
+ "declared": true,
47
+ "files": 1,
48
+ "lines": 296,
37
49
  "hub": false,
38
50
  "quiet": false
39
51
  },
@@ -53,7 +65,7 @@
53
65
  "label": "Pane pictures",
54
66
  "layer": "",
55
67
  "kind": "logic",
56
- "order": 15,
68
+ "order": 16,
57
69
  "container": "",
58
70
  "declared": true,
59
71
  "files": 1,
@@ -65,7 +77,7 @@
65
77
  "label": "Panes beside the agent",
66
78
  "layer": "",
67
79
  "kind": "logic",
68
- "order": 20,
80
+ "order": 21,
69
81
  "container": "",
70
82
  "declared": true,
71
83
  "files": 1,
@@ -101,7 +113,7 @@
101
113
  "label": "Design notes",
102
114
  "layer": "",
103
115
  "kind": "logic",
104
- "order": 14,
116
+ "order": 15,
105
117
  "container": "",
106
118
  "declared": true,
107
119
  "files": 1,
@@ -149,7 +161,7 @@
149
161
  "label": "Lessons and topics",
150
162
  "layer": "",
151
163
  "kind": "logic",
152
- "order": 18,
164
+ "order": 19,
153
165
  "container": "",
154
166
  "declared": true,
155
167
  "files": 3,
@@ -165,7 +177,7 @@
165
177
  "container": "",
166
178
  "declared": true,
167
179
  "files": 1,
168
- "lines": 240,
180
+ "lines": 282,
169
181
  "hub": false,
170
182
  "quiet": false
171
183
  },
@@ -173,7 +185,7 @@
173
185
  "label": "LLM summary",
174
186
  "layer": "",
175
187
  "kind": "logic",
176
- "order": 17,
188
+ "order": 18,
177
189
  "container": "",
178
190
  "declared": true,
179
191
  "files": 1,
@@ -189,7 +201,7 @@
189
201
  "container": "",
190
202
  "declared": true,
191
203
  "files": 2,
192
- "lines": 627,
204
+ "lines": 732,
193
205
  "hub": false,
194
206
  "quiet": false
195
207
  },
@@ -209,7 +221,7 @@
209
221
  "label": "PNG rendering",
210
222
  "layer": "",
211
223
  "kind": "logic",
212
- "order": 21,
224
+ "order": 22,
213
225
  "container": "",
214
226
  "declared": true,
215
227
  "files": 1,
@@ -221,7 +233,7 @@
221
233
  "label": "README section",
222
234
  "layer": "",
223
235
  "kind": "logic",
224
- "order": 16,
236
+ "order": 17,
225
237
  "container": "",
226
238
  "declared": true,
227
239
  "files": 1,
@@ -233,7 +245,7 @@
233
245
  "label": "Git and folder sources",
234
246
  "layer": "",
235
247
  "kind": "data",
236
- "order": 22,
248
+ "order": 23,
237
249
  "container": "",
238
250
  "declared": true,
239
251
  "files": 1,
@@ -257,7 +269,7 @@
257
269
  "label": "Terminal pictures",
258
270
  "layer": "",
259
271
  "kind": "logic",
260
- "order": 19,
272
+ "order": 20,
261
273
  "container": "",
262
274
  "declared": true,
263
275
  "files": 1,
@@ -296,6 +308,7 @@
296
308
  "activity>learn": 1,
297
309
  "activity>sources": 1,
298
310
  "agent>activity": 1,
311
+ "agent>agents": 1,
299
312
  "agent>companion": 1,
300
313
  "agent>compare": 1,
301
314
  "agent>config": 1,
@@ -303,6 +316,10 @@
303
316
  "agent>extract": 1,
304
317
  "agent>learn": 1,
305
318
  "agent>sources": 1,
319
+ "agents>activity": 1,
320
+ "agents>architecture": 1,
321
+ "agents>design": 1,
322
+ "agents>sources": 1,
306
323
  "architecture>design": 2,
307
324
  "architecture>diff": 1,
308
325
  "architecture>extract": 1,
@@ -347,6 +364,7 @@
347
364
  "learn>narrate": 1,
348
365
  "learn>sources": 1,
349
366
  "mcp>activity": 1,
367
+ "mcp>agents": 1,
350
368
  "mcp>compare": 1,
351
369
  "mcp>config": 1,
352
370
  "mcp>extract": 2,
@@ -356,6 +374,7 @@
356
374
  "mcp>sources": 1,
357
375
  "mcp>textmap": 1,
358
376
  "panel>activity": 2,
377
+ "panel>agents": 1,
359
378
  "panel>architecture": 2,
360
379
  "panel>canvas": 1,
361
380
  "panel>compare": 2,
@@ -412,6 +431,10 @@
412
431
  "write_state",
413
432
  "READ"
414
433
  ],
434
+ "agent>agents": [
435
+ "ORCHESTRATE",
436
+ "after_edit"
437
+ ],
415
438
  "agent>companion": [
416
439
  "add_vscode_task",
417
440
  "open_beside",
@@ -441,6 +464,27 @@
441
464
  "agent>sources": [
442
465
  "git"
443
466
  ],
467
+ "agents>activity": [
468
+ "EDIT",
469
+ "_replace",
470
+ "PROMPT",
471
+ "READ",
472
+ "is_system",
473
+ "part_of"
474
+ ],
475
+ "agents>architecture": [
476
+ "groups_of"
477
+ ],
478
+ "agents>design": [
479
+ "depends",
480
+ "and_list",
481
+ "fan_in",
482
+ "kinds",
483
+ "summarize"
484
+ ],
485
+ "agents>sources": [
486
+ "git_dir"
487
+ ],
444
488
  "architecture>design": [
445
489
  "kinds"
446
490
  ],
@@ -617,6 +661,14 @@
617
661
  "events",
618
662
  "now"
619
663
  ],
664
+ "mcp>agents": [
665
+ "claim",
666
+ "inbox",
667
+ "messages",
668
+ "plan",
669
+ "publish",
670
+ "state"
671
+ ],
620
672
  "mcp>compare": [
621
673
  "compare",
622
674
  "checkpoint",
@@ -659,12 +711,19 @@
659
711
  ],
660
712
  "panel>activity": [
661
713
  "events",
662
- "now",
663
714
  "label",
715
+ "now",
664
716
  "EDIT",
665
717
  "PROMPT",
666
718
  "STOP"
667
719
  ],
720
+ "panel>agents": [
721
+ "MAIN",
722
+ "state",
723
+ "inbox",
724
+ "messages",
725
+ "who_worked"
726
+ ],
668
727
  "panel>architecture": [
669
728
  "system",
670
729
  "container",
@@ -672,8 +731,8 @@
672
731
  "internals"
673
732
  ],
674
733
  "panel>canvas": [
675
- "Page",
676
734
  "cut",
735
+ "Page",
677
736
  "detail_rows",
678
737
  "Grid",
679
738
  "chips",
@@ -870,6 +929,13 @@
870
929
  "sys": 1,
871
930
  "typing": 1
872
931
  },
932
+ "agents": {
933
+ "json": 1,
934
+ "pathlib": 1,
935
+ "re": 1,
936
+ "time": 1,
937
+ "typing": 1
938
+ },
873
939
  "architecture": {
874
940
  "collections": 2,
875
941
  "typing": 2,
@@ -1,4 +1,4 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="756" height="998" viewBox="0 0 756 998" role="img" aria-label="System map">
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="756" height="1058" viewBox="0 0 756 1058" role="img" aria-label="System map">
2
2
  <style>
3
3
  text { font-family: 'Segoe UI', FreeSans, 'Helvetica Neue', Arial, sans-serif; }
4
4
  .bg { fill: #f8f9fb; stroke: #e1e5eb; }
@@ -47,23 +47,28 @@ text { font-family: 'Segoe UI', FreeSans, 'Helvetica Neue', Arial, sans-serif; }
47
47
  .note .box { fill: #fff3dd; stroke: #e9c98f; } .note text { font-size: 11.5px; fill: #9a5600; }
48
48
  </style>
49
49
  <defs><marker id="ar-call-same" class="ar k-call s-same" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0,0 L10,5 L0,10 z"/></marker></defs>
50
- <rect class="bg" x="0.5" y="0.5" width="755" height="997" rx="10"/>
50
+ <rect class="bg" x="0.5" y="0.5" width="755" height="1057" rx="10"/>
51
51
  <text class="col" x="14" y="18">ENTRY POINTS</text>
52
52
  <text class="col" x="278" y="18">LOGIC</text>
53
53
  <text class="col" x="542" y="18">DATA ACCESS</text>
54
54
  <path class="be k-call s-same" d="M542,112 C513,112 513,248 484,248" marker-end="url(#ar-call-same)"><title>activity → diff</title></path>
55
55
  <path class="be k-call s-same" d="M542,112 C513,112 513,188 484,188" marker-end="url(#ar-call-same)"><title>activity → extract</title></path>
56
- <path class="be k-call s-same" d="M542,112 C513,112 513,728 484,728" marker-end="url(#ar-call-same)"><title>activity → learn</title></path>
56
+ <path class="be k-call s-same" d="M542,112 C513,112 513,788 484,788" marker-end="url(#ar-call-same)"><title>activity → learn</title></path>
57
57
  <path class="be k-call s-same" d="M742,112 C778,112 778,52 748,52" marker-end="url(#ar-call-same)"><title>activity → sources</title></path>
58
58
  <path class="be k-call s-same" d="M214,172 C246,172 246,159 278,159 L478,159 C507,159 507,112 536,112" marker-end="url(#ar-call-same)"><title>agent → activity</title></path>
59
- <path class="be k-call s-same" d="M214,172 C243,172 243,848 272,848" marker-end="url(#ar-call-same)"><title>agent → companion</title></path>
59
+ <path class="be k-call s-same" d="M214,172 C243,172 243,488 272,488" marker-end="url(#ar-call-same)"><title>agent → agents</title></path>
60
+ <path class="be k-call s-same" d="M214,172 C243,172 243,908 272,908" marker-end="url(#ar-call-same)"><title>agent → companion</title></path>
60
61
  <path class="be k-call s-same" d="M214,172 C243,172 243,52 272,52" marker-end="url(#ar-call-same)"><title>agent → compare</title></path>
61
62
  <path class="be k-call s-same" d="M214,172 C243,172 243,128 272,128" marker-end="url(#ar-call-same)"><title>agent → config</title></path>
62
- <path class="be k-call s-same" d="M214,172 C243,172 243,488 272,488" marker-end="url(#ar-call-same)"><title>agent → design</title></path>
63
+ <path class="be k-call s-same" d="M214,172 C243,172 243,548 272,548" marker-end="url(#ar-call-same)"><title>agent → design</title></path>
63
64
  <path class="be k-call s-same" d="M214,172 C243,172 243,188 272,188" marker-end="url(#ar-call-same)"><title>agent → extract</title></path>
64
- <path class="be k-call s-same" d="M214,172 C243,172 243,728 272,728" marker-end="url(#ar-call-same)"><title>agent → learn</title></path>
65
+ <path class="be k-call s-same" d="M214,172 C243,172 243,788 272,788" marker-end="url(#ar-call-same)"><title>agent → learn</title></path>
65
66
  <path class="be k-call s-same" d="M214,172 C246,172 246,99 278,99 L478,99 C507,99 507,52 536,52" marker-end="url(#ar-call-same)"><title>agent → sources</title></path>
66
- <path class="be k-call s-same" d="M478,428 C514,428 514,488 484,488" marker-end="url(#ar-call-same)"><title>architecture → design</title></path>
67
+ <path class="be k-call s-same" d="M478,488 C507,488 507,112 536,112" marker-end="url(#ar-call-same)"><title>agents → activity</title></path>
68
+ <path class="be k-call s-same" d="M478,488 C514,488 514,428 484,428" marker-end="url(#ar-call-same)"><title>agents → architecture</title></path>
69
+ <path class="be k-call s-same" d="M478,488 C514,488 514,548 484,548" marker-end="url(#ar-call-same)"><title>agents → design</title></path>
70
+ <path class="be k-call s-same" d="M478,488 C507,488 507,52 536,52" marker-end="url(#ar-call-same)"><title>agents → sources</title></path>
71
+ <path class="be k-call s-same" d="M478,428 C524,428 524,548 484,548" marker-end="url(#ar-call-same)"><title>architecture → design</title></path>
67
72
  <path class="be k-call s-same" d="M478,428 C524,428 524,308 484,308" marker-end="url(#ar-call-same)"><title>architecture → graph</title></path>
68
73
  <path class="be k-call s-same" d="M478,428 C534,428 534,248 484,248" marker-end="url(#ar-call-same)"><title>architecture → diff</title></path>
69
74
  <path class="be k-call s-same" d="M478,428 C544,428 544,188 484,188" marker-end="url(#ar-call-same)"><title>architecture → extract</title></path>
@@ -72,37 +77,38 @@ text { font-family: 'Segoe UI', FreeSans, 'Helvetica Neue', Arial, sans-serif; }
72
77
  <path class="be k-call s-same" d="M214,52 C243,52 243,128 272,128" marker-end="url(#ar-call-same)"><title>cli → config</title></path>
73
78
  <path class="be k-call s-same" d="M214,52 C243,52 243,188 272,188" marker-end="url(#ar-call-same)"><title>cli → extract</title></path>
74
79
  <path class="be k-call s-same" d="M214,52 C243,52 243,308 272,308" marker-end="url(#ar-call-same)"><title>cli → graph</title></path>
75
- <path class="be k-call s-same" d="M214,52 C243,52 243,728 272,728" marker-end="url(#ar-call-same)"><title>cli → learn</title></path>
80
+ <path class="be k-call s-same" d="M214,52 C243,52 243,788 272,788" marker-end="url(#ar-call-same)"><title>cli → learn</title></path>
76
81
  <path class="be k-call s-same" d="M214,52 C246,52 246,99 278,99 L478,99 C507,99 507,112 536,112" marker-end="url(#ar-call-same)"><title>cli → activity</title></path>
77
- <path class="be k-call s-same" d="M214,52 C243,52 243,848 272,848" marker-end="url(#ar-call-same)"><title>cli → companion</title></path>
82
+ <path class="be k-call s-same" d="M214,52 C243,52 243,908 272,908" marker-end="url(#ar-call-same)"><title>cli → companion</title></path>
78
83
  <path class="be k-call s-same" d="M214,52 C243,52 243,52 272,52" marker-end="url(#ar-call-same)"><title>cli → compare</title></path>
79
84
  <path class="be k-call s-same" d="M214,52 C243,52 243,248 272,248" marker-end="url(#ar-call-same)"><title>cli → diff</title></path>
80
85
  <path class="be k-call s-same" d="M214,52 C250,52 250,112 220,112" marker-end="url(#ar-call-same)"><title>cli → mcp</title></path>
81
- <path class="be k-call s-same" d="M478,848 C507,848 507,52 536,52" marker-end="url(#ar-call-same)"><title>companion → sources</title></path>
86
+ <path class="be k-call s-same" d="M478,908 C507,908 507,52 536,52" marker-end="url(#ar-call-same)"><title>companion → sources</title></path>
82
87
  <path class="be k-call s-same" d="M478,52 C516.7,52 516.7,128 484,128" marker-end="url(#ar-call-same)"><title>compare → config</title></path>
83
88
  <path class="be k-call s-same" d="M478,52 C536.7,52 536.7,248 484,248" marker-end="url(#ar-call-same)"><title>compare → diff</title></path>
84
89
  <path class="be k-call s-same" d="M478,52 C526.7,52 526.7,188 484,188" marker-end="url(#ar-call-same)"><title>compare → extract</title></path>
85
90
  <path class="be k-call s-same" d="M478,52 C507,52 507,52 536,52" marker-end="url(#ar-call-same)"><title>compare → sources</title></path>
86
- <path class="be k-call s-same" d="M478,488 C534,488 534,308 484,308" marker-end="url(#ar-call-same)"><title>design → graph</title></path>
91
+ <path class="be k-call s-same" d="M478,548 C544,548 544,308 484,308" marker-end="url(#ar-call-same)"><title>design → graph</title></path>
87
92
  <path class="be k-call s-same" d="M478,248 C514,248 514,188 484,188" marker-end="url(#ar-call-same)"><title>diff → extract</title></path>
88
93
  <path class="be k-call s-same" d="M478,248 C507,248 507,52 536,52" marker-end="url(#ar-call-same)"><title>diff → sources</title></path>
89
94
  <path class="be k-call s-same" d="M478,188 C514,188 514,128 484,128" marker-end="url(#ar-call-same)"><title>extract → config</title></path>
90
95
  <path class="be k-call s-same" d="M478,308 C514,308 514,248 484,248" marker-end="url(#ar-call-same)"><title>graph → diff</title></path>
91
- <path class="be k-call s-same" d="M478,728 C507,728 507,112 536,112" marker-end="url(#ar-call-same)"><title>learn → activity</title></path>
92
- <path class="be k-call s-same" d="M478,728 C544,728 544,248 484,248" marker-end="url(#ar-call-same)"><title>learn → diff</title></path>
93
- <path class="be k-call s-same" d="M478,728 C544,728 544,188 484,188" marker-end="url(#ar-call-same)"><title>learn → extract</title></path>
94
- <path class="be k-call s-same" d="M478,728 C544,728 544,308 484,308" marker-end="url(#ar-call-same)"><title>learn → graph</title></path>
95
- <path class="be k-call s-same" d="M478,728 C514,728 514,668 484,668" marker-end="url(#ar-call-same)"><title>learn → narrate</title></path>
96
- <path class="be k-call s-same" d="M478,728 C507,728 507,52 536,52" marker-end="url(#ar-call-same)"><title>learn → sources</title></path>
96
+ <path class="be k-call s-same" d="M478,788 C507,788 507,112 536,112" marker-end="url(#ar-call-same)"><title>learn → activity</title></path>
97
+ <path class="be k-call s-same" d="M478,788 C544,788 544,248 484,248" marker-end="url(#ar-call-same)"><title>learn → diff</title></path>
98
+ <path class="be k-call s-same" d="M478,788 C544,788 544,188 484,188" marker-end="url(#ar-call-same)"><title>learn → extract</title></path>
99
+ <path class="be k-call s-same" d="M478,788 C544,788 544,308 484,308" marker-end="url(#ar-call-same)"><title>learn → graph</title></path>
100
+ <path class="be k-call s-same" d="M478,788 C514,788 514,728 484,728" marker-end="url(#ar-call-same)"><title>learn → narrate</title></path>
101
+ <path class="be k-call s-same" d="M478,788 C507,788 507,52 536,52" marker-end="url(#ar-call-same)"><title>learn → sources</title></path>
97
102
  <path class="be k-call s-same" d="M214,112 C243,112 243,188 272,188" marker-end="url(#ar-call-same)"><title>mcp → extract</title></path>
98
103
  <path class="be k-call s-same" d="M214,112 C246,112 246,99 278,99 L478,99 C507,99 507,112 536,112" marker-end="url(#ar-call-same)"><title>mcp → activity</title></path>
104
+ <path class="be k-call s-same" d="M214,112 C243,112 243,488 272,488" marker-end="url(#ar-call-same)"><title>mcp → agents</title></path>
99
105
  <path class="be k-call s-same" d="M214,112 C243,112 243,52 272,52" marker-end="url(#ar-call-same)"><title>mcp → compare</title></path>
100
106
  <path class="be k-call s-same" d="M214,112 C243,112 243,128 272,128" marker-end="url(#ar-call-same)"><title>mcp → config</title></path>
101
107
  <path class="be k-call s-same" d="M214,112 C243,112 243,308 272,308" marker-end="url(#ar-call-same)"><title>mcp → graph</title></path>
102
- <path class="be k-call s-same" d="M214,112 C243,112 243,728 272,728" marker-end="url(#ar-call-same)"><title>mcp → learn</title></path>
108
+ <path class="be k-call s-same" d="M214,112 C243,112 243,788 272,788" marker-end="url(#ar-call-same)"><title>mcp → learn</title></path>
103
109
  <path class="be k-call s-same" d="M214,112 C246,112 246,99 278,99 L478,99 C507,99 507,52 536,52" marker-end="url(#ar-call-same)"><title>mcp → sources</title></path>
104
- <path class="be k-call s-same" d="M214,112 C243,112 243,788 272,788" marker-end="url(#ar-call-same)"><title>mcp → textmap</title></path>
105
- <path class="be k-call s-same" d="M214,368 C243,368 243,728 272,728" marker-end="url(#ar-call-same)"><title>panel → learn</title></path>
110
+ <path class="be k-call s-same" d="M214,112 C243,112 243,848 272,848" marker-end="url(#ar-call-same)"><title>mcp → textmap</title></path>
111
+ <path class="be k-call s-same" d="M214,368 C243,368 243,788 272,788" marker-end="url(#ar-call-same)"><title>panel → learn</title></path>
106
112
  <path class="be k-call s-same" d="M214,368 C246,368 246,219 278,219 L478,219 C507,219 507,112 536,112" marker-end="url(#ar-call-same)"><title>panel → activity</title></path>
107
113
  <path class="be k-call s-same" d="M214,368 C243,368 243,428 272,428" marker-end="url(#ar-call-same)"><title>panel → architecture</title></path>
108
114
  <path class="be k-call s-same" d="M214,368 C243,368 243,52 272,52" marker-end="url(#ar-call-same)"><title>panel → compare</title></path>
@@ -110,26 +116,26 @@ text { font-family: 'Segoe UI', FreeSans, 'Helvetica Neue', Arial, sans-serif; }
110
116
  <path class="be k-call s-same" d="M214,368 C243,368 243,188 272,188" marker-end="url(#ar-call-same)"><title>panel → extract</title></path>
111
117
  <path class="be k-call s-same" d="M214,368 C243,368 243,308 272,308" marker-end="url(#ar-call-same)"><title>panel → graph</title></path>
112
118
  <path class="be k-call s-same" d="M214,368 C246,368 246,219 278,219 L478,219 C507,219 507,52 536,52" marker-end="url(#ar-call-same)"><title>panel → sources</title></path>
113
- <path class="be k-call s-same" d="M214,368 C243,368 243,548 272,548" marker-end="url(#ar-call-same)"><title>panel → canvas</title></path>
114
- <path class="be k-call s-same" d="M214,368 C243,368 243,488 272,488" marker-end="url(#ar-call-same)"><title>panel → design</title></path>
119
+ <path class="be k-call s-same" d="M214,368 C243,368 243,488 272,488" marker-end="url(#ar-call-same)"><title>panel → agents</title></path>
120
+ <path class="be k-call s-same" d="M214,368 C243,368 243,608 272,608" marker-end="url(#ar-call-same)"><title>panel → canvas</title></path>
115
121
  <path class="be k-call s-same" d="M214,428 C246,428 246,279 278,279 L478,279 C507,279 507,112 536,112" marker-end="url(#ar-call-same)"><title>statusline → activity</title></path>
116
122
  <path class="be k-call s-same" d="M214,428 C243,428 243,128 272,128" marker-end="url(#ar-call-same)"><title>statusline → config</title></path>
117
123
  <path class="be k-call s-same" d="M214,428 C243,428 243,188 272,188" marker-end="url(#ar-call-same)"><title>statusline → extract</title></path>
118
124
  <path class="be k-call s-same" d="M214,428 C246,428 246,219 278,219 L478,219 C507,219 507,52 536,52" marker-end="url(#ar-call-same)"><title>statusline → sources</title></path>
119
- <path class="be k-call s-same" d="M214,428 C243,428 243,788 272,788" marker-end="url(#ar-call-same)"><title>statusline → textmap</title></path>
125
+ <path class="be k-call s-same" d="M214,428 C243,428 243,848 272,848" marker-end="url(#ar-call-same)"><title>statusline → textmap</title></path>
120
126
  <path class="be k-call s-same" d="M214,308 C246,308 246,219 278,219 L478,219 C507,219 507,112 536,112" marker-end="url(#ar-call-same)"><title>tui → activity</title></path>
121
- <path class="be k-call s-same" d="M214,308 C243,308 243,848 272,848" marker-end="url(#ar-call-same)"><title>tui → companion</title></path>
127
+ <path class="be k-call s-same" d="M214,308 C243,308 243,908 272,908" marker-end="url(#ar-call-same)"><title>tui → companion</title></path>
122
128
  <path class="be k-call s-same" d="M214,308 C243,308 243,308 272,308" marker-end="url(#ar-call-same)"><title>tui → graph</title></path>
123
- <path class="be k-call s-same" d="M214,308 C243,308 243,728 272,728" marker-end="url(#ar-call-same)"><title>tui → learn</title></path>
129
+ <path class="be k-call s-same" d="M214,308 C243,308 243,788 272,788" marker-end="url(#ar-call-same)"><title>tui → learn</title></path>
124
130
  <path class="be k-call s-same" d="M214,308 C246,308 246,159 278,159 L478,159 C507,159 507,52 536,52" marker-end="url(#ar-call-same)"><title>tui → sources</title></path>
125
- <path class="be k-call s-same" d="M214,308 C243,308 243,788 272,788" marker-end="url(#ar-call-same)"><title>tui → textmap</title></path>
131
+ <path class="be k-call s-same" d="M214,308 C243,308 243,848 272,848" marker-end="url(#ar-call-same)"><title>tui → textmap</title></path>
126
132
  <path class="be k-call s-same" d="M214,308 C250,308 250,248 220,248" marker-end="url(#ar-call-same)"><title>tui → watch</title></path>
127
133
  <path class="be k-call s-same" d="M214,248 C246,248 246,159 278,159 L478,159 C507,159 507,112 536,112" marker-end="url(#ar-call-same)"><title>watch → activity</title></path>
128
134
  <path class="be k-call s-same" d="M214,248 C243,248 243,52 272,52" marker-end="url(#ar-call-same)"><title>watch → compare</title></path>
129
135
  <path class="be k-call s-same" d="M214,248 C243,248 243,248 272,248" marker-end="url(#ar-call-same)"><title>watch → diff</title></path>
130
136
  <path class="be k-call s-same" d="M214,248 C243,248 243,188 272,188" marker-end="url(#ar-call-same)"><title>watch → extract</title></path>
131
137
  <path class="be k-call s-same" d="M214,248 C243,248 243,308 272,308" marker-end="url(#ar-call-same)"><title>watch → graph</title></path>
132
- <path class="be k-call s-same" d="M214,248 C243,248 243,728 272,728" marker-end="url(#ar-call-same)"><title>watch → learn</title></path>
138
+ <path class="be k-call s-same" d="M214,248 C243,248 243,788 272,788" marker-end="url(#ar-call-same)"><title>watch → learn</title></path>
133
139
  <path class="be k-call s-same" d="M214,248 C246,248 246,159 278,159 L478,159 C507,159 507,52 536,52" marker-end="url(#ar-call-same)"><title>watch → sources</title></path>
134
140
  <g class="bn t-component s-same" transform="translate(14,30)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Command line</text><text x="12" y="35" class="bn-s">3 files</text><title>Command line</title></g>
135
141
  <g class="bn t-component s-same" transform="translate(14,90)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">MCP server</text><text x="12" y="35" class="bn-s">1 file</text><title>MCP server</title></g>
@@ -145,16 +151,17 @@ text { font-family: 'Segoe UI', FreeSans, 'Helvetica Neue', Arial, sans-serif; }
145
151
  <g class="bn t-component s-same" transform="translate(278,286)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Map layout</text><text x="12" y="35" class="bn-s">1 file</text><title>Map layout</title></g>
146
152
  <g class="bn t-component s-same" transform="translate(278,346)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">SVG pictures</text><text x="12" y="35" class="bn-s">used across the code</text><title>SVG pictures</title></g>
147
153
  <g class="bn t-component s-same" transform="translate(278,406)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">System diagram</text><text x="12" y="35" class="bn-s">2 files</text><title>System diagram</title></g>
148
- <g class="bn t-component s-same" transform="translate(278,466)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Design notes</text><text x="12" y="35" class="bn-s">1 file</text><title>Design notes</title></g>
149
- <g class="bn t-component s-same" transform="translate(278,526)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Pane pictures</text><text x="12" y="35" class="bn-s">1 file</text><title>Pane pictures</title></g>
150
- <g class="bn t-component s-same" transform="translate(278,586)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">README section</text><text x="12" y="35" class="bn-s">1 file</text><title>README section</title></g>
151
- <g class="bn t-component s-same" transform="translate(278,646)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">LLM summary</text><text x="12" y="35" class="bn-s">1 file</text><title>LLM summary</title></g>
152
- <g class="bn t-component s-same" transform="translate(278,706)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Lessons and topics</text><text x="12" y="35" class="bn-s">3 files</text><title>Lessons and topics</title></g>
153
- <g class="bn t-component s-same" transform="translate(278,766)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Terminal pictures</text><text x="12" y="35" class="bn-s">1 file</text><title>Terminal pictures</title></g>
154
- <g class="bn t-component s-same" transform="translate(278,826)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Panes beside the agent</text><text x="12" y="35" class="bn-s">1 file</text><title>Panes beside the agent</title></g>
155
- <g class="bn t-component s-same" transform="translate(278,886)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">PNG rendering</text><text x="12" y="35" class="bn-s">1 file</text><title>PNG rendering</title></g>
154
+ <g class="bn t-component s-same" transform="translate(278,466)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Agent team</text><text x="12" y="35" class="bn-s">1 file</text><title>Agent team</title></g>
155
+ <g class="bn t-component s-same" transform="translate(278,526)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Design notes</text><text x="12" y="35" class="bn-s">1 file</text><title>Design notes</title></g>
156
+ <g class="bn t-component s-same" transform="translate(278,586)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Pane pictures</text><text x="12" y="35" class="bn-s">1 file</text><title>Pane pictures</title></g>
157
+ <g class="bn t-component s-same" transform="translate(278,646)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">README section</text><text x="12" y="35" class="bn-s">1 file</text><title>README section</title></g>
158
+ <g class="bn t-component s-same" transform="translate(278,706)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">LLM summary</text><text x="12" y="35" class="bn-s">1 file</text><title>LLM summary</title></g>
159
+ <g class="bn t-component s-same" transform="translate(278,766)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Lessons and topics</text><text x="12" y="35" class="bn-s">3 files</text><title>Lessons and topics</title></g>
160
+ <g class="bn t-component s-same" transform="translate(278,826)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Terminal pictures</text><text x="12" y="35" class="bn-s">1 file</text><title>Terminal pictures</title></g>
161
+ <g class="bn t-component s-same" transform="translate(278,886)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Panes beside the agent</text><text x="12" y="35" class="bn-s">1 file</text><title>Panes beside the agent</title></g>
162
+ <g class="bn t-component s-same" transform="translate(278,946)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">PNG rendering</text><text x="12" y="35" class="bn-s">1 file</text><title>PNG rendering</title></g>
156
163
  <g class="bn t-component s-same" transform="translate(542,30)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Git and folder sources</text><text x="12" y="35" class="bn-s">1 file</text><title>Git and folder sources</title></g>
157
164
  <g class="bn t-component s-same" transform="translate(542,90)"><rect class="box" width="200" height="46" rx="8"/><text x="12" y="19" class="bn-t">Agent activity</text><text x="12" y="35" class="bn-s">1 file</text><title>Agent activity</title></g>
158
- <path class="be k-call" d="M16,972 L36,972" style="opacity:1"/>
159
- <text x="42" y="976" class="lg">calls</text>
165
+ <path class="be k-call" d="M16,1032 L36,1032" style="opacity:1"/>
166
+ <text x="42" y="1036" class="lg">calls</text>
160
167
  </svg>
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "system-diff",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "A pane beside the chat: what Claude is working on in your system, zoomed in, what just happened and why it matters, and a topic to learn (system-diff)",
5
5
  "types": "./types/index.d.ts",
6
6
  "author": {