@eventmodelers/cli 1.0.36 → 1.0.38

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 (71) hide show
  1. package/package.json +1 -1
  2. package/shared/skills/learn-eventmodelers-api/SKILL.md +22 -13
  3. package/stacks/modeling-kit/templates/.claude/skills/add-next-slice/SKILL.md +2 -23
  4. package/stacks/modeling-kit/templates/.claude/skills/add-next-slice/references/api-fallback.md +11 -0
  5. package/stacks/modeling-kit/templates/.claude/skills/analyze-existing-model/SKILL.md +6 -57
  6. package/stacks/modeling-kit/templates/.claude/skills/analyze-existing-model/references/api-fallback.md +68 -0
  7. package/stacks/modeling-kit/templates/.claude/skills/attributes/SKILL.md +4 -61
  8. package/stacks/modeling-kit/templates/.claude/skills/attributes/references/api-fallback.md +39 -0
  9. package/stacks/modeling-kit/templates/.claude/skills/discover-storyboard/SKILL.md +9 -53
  10. package/stacks/modeling-kit/templates/.claude/skills/discover-storyboard/references/api-fallback.md +63 -0
  11. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-applying-conways-law/SKILL.md +12 -380
  12. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-applying-conways-law/references/examples.md +329 -0
  13. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-brainstorming-events/SKILL.md +45 -290
  14. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-brainstorming-events/references/api-fallback.md +97 -0
  15. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-brainstorming-events/references/examples.md +35 -0
  16. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-checking-completeness/SKILL.md +15 -410
  17. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-checking-completeness/references/api-fallback.md +22 -0
  18. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-checking-completeness/references/examples.md +397 -0
  19. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-core-rules/SKILL.md +182 -0
  20. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-automation-chains/SKILL.md +148 -0
  21. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-automation-chains/references/api-fallback.md +21 -0
  22. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-event-models/SKILL.md +48 -448
  23. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-event-models/references/examples.md +167 -0
  24. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-elaborating-scenarios/SKILL.md +31 -380
  25. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-elaborating-scenarios/references/api-fallback.md +31 -0
  26. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-elaborating-scenarios/references/examples.md +216 -0
  27. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-inputs/SKILL.md +33 -393
  28. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-inputs/references/api-fallback.md +79 -0
  29. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-inputs/references/examples.md +282 -0
  30. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-outputs/SKILL.md +54 -454
  31. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-outputs/references/api-fallback.md +67 -0
  32. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-outputs/references/examples.md +273 -0
  33. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-interview-protocol/SKILL.md +31 -0
  34. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/SKILL.md +37 -184
  35. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/references/domain-patterns.md +58 -99
  36. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/references/patterns.md +82 -163
  37. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-orchestrating-event-modeling/SKILL.md +86 -78
  38. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-orchestrating-event-modeling/references/api-fallback.md +51 -0
  39. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-plotting-events/SKILL.md +5 -5
  40. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-plotting-events/references/api-fallback.md +10 -0
  41. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/SKILL.md +22 -51
  42. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/references/api-fallback.md +41 -0
  43. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/references/examples.md +12 -9
  44. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/references/patterns.md +1 -10
  45. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-storyboarding-events/SKILL.md +29 -382
  46. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-storyboarding-events/references/api-fallback.md +77 -0
  47. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-storyboarding-events/references/examples.md +271 -0
  48. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-translating-external-events/SKILL.md +12 -349
  49. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-translating-external-events/references/examples.md +306 -0
  50. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models/SKILL.md +69 -107
  51. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models/references/api-fallback.md +14 -0
  52. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models-checklist/SKILL.md +75 -160
  53. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models-checklist/references/api-fallback.md +14 -0
  54. package/stacks/modeling-kit/templates/.claude/skills/examples/SKILL.md +3 -110
  55. package/stacks/modeling-kit/templates/.claude/skills/examples/references/api-fallback.md +118 -0
  56. package/stacks/modeling-kit/templates/.claude/skills/handle-comment/SKILL.md +5 -25
  57. package/stacks/modeling-kit/templates/.claude/skills/handle-comment/references/api-fallback.md +35 -0
  58. package/stacks/modeling-kit/templates/.claude/skills/html-screen/SKILL.md +9 -44
  59. package/stacks/modeling-kit/templates/.claude/skills/html-screen/references/api-fallback.md +51 -0
  60. package/stacks/modeling-kit/templates/.claude/skills/place-element/SKILL.md +34 -180
  61. package/stacks/modeling-kit/templates/.claude/skills/place-element/references/api-fallback.md +203 -0
  62. package/stacks/modeling-kit/templates/.claude/skills/storyboard/SKILL.md +14 -81
  63. package/stacks/modeling-kit/templates/.claude/skills/storyboard/references/api-fallback.md +74 -0
  64. package/stacks/modeling-kit/templates/.claude/skills/storyboard-screen/SKILL.md +4 -45
  65. package/stacks/modeling-kit/templates/.claude/skills/storyboard-screen/references/api-fallback.md +44 -0
  66. package/stacks/modeling-kit/templates/.claude/skills/timeline/SKILL.md +19 -88
  67. package/stacks/modeling-kit/templates/.claude/skills/timeline/references/api-fallback.md +91 -0
  68. package/stacks/modeling-kit/templates/.claude/skills/update-prompt-status/SKILL.md +1 -9
  69. package/stacks/modeling-kit/templates/.claude/skills/update-prompt-status/references/api-fallback.md +14 -0
  70. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-integrating-legacy-systems/SKILL.md +0 -674
  71. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/references/snapshotting.md +0 -204
@@ -11,16 +11,14 @@ allowed-tools:
11
11
 
12
12
  > **Before doing anything else**, invoke the `connect` skill — if not already connected — to resolve `TOKEN`, `BOARD_ID`, `ORG_ID`, and `BASE_URL`. Do not proceed until it has completed. Consult `learn-eventmodelers-api` only if you need to look up a specific endpoint or field this file doesn't cover — don't load it eagerly.
13
13
 
14
+ This step applies the shared element rules in **`eventmodeling-core-rules`** — read it once per session if you haven't already; it defines what a COMMAND/EVENT/READMODEL/SCREEN/AUTOMATION is, how each is named, and the anti-patterns to reject, so this step doesn't restate them.
15
+
14
16
  ## Interview Phase (Optional)
15
17
 
16
18
  **When to Interview**: Skip if the user has already specified: existing team structure, team responsibilities, and autonomous boundary preferences. Interview when team structure is unclear or organizational alignment hasn't been discussed.
17
19
 
18
- **Interview Strategy**: Understand team organization and decision-making to design system boundaries that teams can own independently. Misalignment here creates bottlenecks and tight coupling later.
19
-
20
20
  ### Critical Questions
21
21
 
22
- When team structure or boundaries are unclear:
23
-
24
22
  1. **Team Structure & Ownership** (Impact: Determines how many swimlanes/systems to create)
25
23
  - Question: "How is your organization structured? (A) Single team owns everything, (B) Separate teams by domain (payments, inventory, etc.), (C) Separate teams by function (backend, frontend, etc.)"
26
24
  - Why it matters: Team structure directly shapes system boundaries; aligning them reduces coordination overhead
@@ -36,63 +34,7 @@ When team structure or boundaries are unclear:
36
34
  - Why it matters: External systems often become separate swimlanes; knowing which ones matters for boundary design
37
35
  - Follow-up triggers: For each integration → ask "Who owns the integration—existing team or new team?"
38
36
 
39
- ### Interview Flow
40
-
41
- **Conditional Entry**:
42
- ```
43
- If user has provided:
44
- - Clear team structure (who owns what)
45
- - AND specified desired level of autonomy
46
- - AND identified external integrations
47
-
48
- Then: Skip interview, proceed directly to swimlanes
49
-
50
- Else: Conduct interview
51
- ```
52
-
53
- **Phase 1: Organization Assessment** (Questions 1-2)
54
- - Understand team structure
55
- - Determine autonomy expectations
56
- - Establish boundary philosophy
57
-
58
- **Phase 2: Integration Mapping** (Question 3)
59
- - Identify external systems
60
- - Plan integration boundaries
61
- - Finalize swimlane count
62
-
63
- ### Capturing Interview Findings
64
-
65
- Append findings to the project's event modeling file:
66
-
67
- **File**: `.trogonai/interviews/[project-name]/EVENTMODELING.md`
68
-
69
- Use Write tool to add/update this section:
70
-
71
- ```markdown
72
- ## 6. Conway's Law (eventmodeling-applying-conways-law)
73
-
74
- ### Team Structure
75
- - Team 1: [Name] - Owns [domain]
76
- - Team 2: [Name] - Owns [domain]
77
- - Team 3: [Name] - Owns [domain]
78
-
79
- ### Autonomy Goals
80
- [High / Moderate / Low]
81
-
82
- ### Swimlanes
83
- - [Swimlane 1]: [Team] owns [events]
84
- - [Swimlane 2]: [Team] owns [events]
85
- - [Swimlane 3]: [Team] owns [events]
86
-
87
- ### Cross-Team Communication
88
- - [Team A] → [Team B] via [event]
89
- - [Team B] → [Team C] via [event]
90
- ```
91
-
92
- Update Interview Trail:
93
- ```markdown
94
- | 6 | eventmodeling-applying-conways-law | [today] | Swimlanes defined, team boundaries confirmed |
95
- ```
37
+ Follow **`eventmodeling-interview-protocol`** to run this interview and record its findings — label this step "**6. Conway's Law** (`eventmodeling-applying-conways-law`)". Findings should cover: team structure and ownership, autonomy goals, the resulting swimlanes (which team owns which events), and cross-team communication paths.
96
38
 
97
39
  ---
98
40
 
@@ -100,339 +42,29 @@ Update Interview Trail:
100
42
 
101
43
  Given all events, inputs, and outputs, organize by ownership:
102
44
 
103
- ### 1. Identify System Boundaries
104
- Determine what constitutes a separate system/bounded context:
105
-
106
- ```
107
- System Boundaries:
108
-
45
+ > **This step's "swimlane" is the same boundary `eventmodeling-brainstorming-events` governs, described from the ownership angle instead of the board-mechanics angle.** That skill's Swimlane Rules restrict the board's actual `swimlane`-type lane to marking integration with another system — this step doesn't loosen that cap or add a lane per team. Under Conway's Law, "team" and "system" name the same boundary: a system this chapter's process integrates with is, by definition, owned by some other team. The diagrams below are a narrative/analysis device for documenting *who owns what* across those boundaries — not an instruction to create one board swimlane lane per team named here.
109
46
 
110
- Order Management System
111
- - Owns: Order entity and its lifecycle
112
- - Events: OrderCreated, OrderConfirmed, Cancelled
113
- - Owns: Order state machine
114
-
115
-
116
-
117
- Payment Processing System
118
- - Owns: Payment authorization and processing
119
- - Events: PaymentAuthorized, PaymentFailed
120
- - Owns: Payment state machine
121
-
122
-
123
-
124
- Inventory System
125
- - Owns: Stock levels and reservations
126
- - Events: InventoryReserved, InventoryAllocated
127
- - Owns: Inventory state machine
128
-
129
-
130
-
131
- Fulfillment System
132
- - Owns: Shipments and delivery
133
- - Events: OrderShipped, DeliveryConfirmed
134
- - Owns: Shipment state machine
135
-
136
- ```
47
+ ### 1. Identify System Boundaries
48
+ Determine what constitutes a separate system/bounded context: for each candidate system, name what it owns, list the events it produces, and note the state machine it's responsible for. A full worked example (Order/Payment/Inventory/Fulfillment domain) is in `references/examples.md`.
137
49
 
138
50
  ### 2. Create Swimlane Diagram
139
- Visual representation of system boundaries:
140
-
141
- ```
142
- Event Stream Timeline
143
-
144
-
145
- Order Team OrderCreated OrderConfirmed OrderCancelled
146
-
147
- Payment Team PaymentAuthorized PaymentFailed
148
-
149
- Inventory Team InventoryReserved
150
-
151
- Fulfillment Team OrderShipped DeliveryConfirmed
152
-
153
- Each team owns their swimlane events
154
- Coordination via events crossing swimlanes
155
- ```
51
+ Lay the events out on a timeline with one row per team, showing which events each team owns and where coordination crosses from one team's row into another's. A full worked example is in `references/examples.md`.
156
52
 
157
53
  ### 3. Map Team Responsibilities
158
- Define what each team owns:
159
-
160
- ```
161
- Order Management Team
162
- Commands they handle:
163
- - CreateOrder
164
- - ConfirmOrder
165
- - CancelOrder
166
- Events they produce:
167
- - OrderCreated
168
- - OrderConfirmed
169
- - OrderCancelled
170
- Read Models they maintain:
171
- - OrderStatusView
172
- - OrderListView
173
- Systems they call:
174
- - Payment System (to confirm payment)
175
- - Inventory System (to check stock)
176
-
177
- Payment Processing Team
178
- Commands they handle:
179
- - AuthorizePayment
180
- - ProcessPayment
181
- - RefundPayment
182
- Events they produce:
183
- - PaymentAuthorized
184
- - PaymentFailed
185
- - PaymentRefunded
186
- Read Models they maintain:
187
- - PaymentStatusView
188
- - TransactionHistory
189
- Systems they depend on:
190
- - Payment Gateway (external)
191
- - Order System (for context)
192
-
193
- Inventory Team
194
- Commands they handle:
195
- - ReserveInventory
196
- - ReleaseReservation
197
- - AllocateStock
198
- Events they produce:
199
- - InventoryReserved
200
- - ReservationReleased
201
- - StockAllocated
202
- Read Models they maintain:
203
- - InventoryLevelView
204
- - ReservationView
205
- Systems they depend on:
206
- - Order System (triggers)
207
- - Warehouse System (stock source)
208
-
209
- Fulfillment Team
210
- Commands they handle:
211
- - CreateShipment
212
- - MarkShipped
213
- - ConfirmDelivery
214
- Events they produce:
215
- - ShipmentCreated
216
- - OrderShipped
217
- - DeliveryConfirmed
218
- Read Models they maintain:
219
- - ShipmentTrackingView
220
- - DeliveryScheduleView
221
- Systems they depend on:
222
- - Inventory System (items to ship)
223
- - Carrier APIs (tracking)
224
- ```
54
+ For each team, define: the commands they handle, the events they produce, the read models they maintain, and the other systems they call or depend on. A full worked example (Order/Payment/Inventory/Fulfillment teams) is in `references/examples.md`.
225
55
 
226
56
  ### 4. Identify Inter-System Communication
227
- Show how systems talk to each other:
228
-
229
- ```
230
- Communication Patterns:
231
-
232
- Order System → Payment System
233
- Order System produces: OrderConfirmed event
234
- Payment System consumes: OrderConfirmed
235
- Payment System reacts: Issues AuthorizePayment command
236
- Payment System produces: PaymentAuthorized event
237
-
238
- Order System → Inventory System
239
- Order System produces: PaymentAuthorized event (indirectly)
240
- Inventory System consumes: PaymentAuthorized
241
- Inventory System reacts: Issues ReserveInventory command
242
- Inventory System produces: InventoryReserved event
243
-
244
- Inventory System → Fulfillment System
245
- Inventory System produces: InventoryReserved event
246
- Fulfillment System consumes: InventoryReserved
247
- Fulfillment System reacts: Issues CreateShipment command
248
- Fulfillment System produces: OrderShipped event
249
- ```
57
+ For each pair of systems that interact, document the triggering event, what the consuming system does in reaction (which command it issues), and the event that results. A full worked example is in `references/examples.md`.
250
58
 
251
59
  ### 5. Define System Interfaces
252
- What each system exposes:
253
-
254
- ```
255
- Order System Interface
256
- Commands it accepts:
257
- - CreateOrder (from UI)
258
- - ConfirmOrder (from UI)
259
- - CancelOrder (from UI or Processors)
260
- Events it produces:
261
- - OrderCreated
262
- - OrderConfirmed
263
- - OrderCancelled
264
- Read Models it provides:
265
- - OrderStatusView
266
- - OrderListView
267
-
268
- Payment System Interface
269
- Commands it accepts:
270
- - AuthorizePayment (from Payment Processor/Order System)
271
- - ProcessPayment (from Order System)
272
- Events it produces:
273
- - PaymentAuthorized
274
- - PaymentFailed
275
- - PaymentProcessed
276
-
277
- Inventory System Interface
278
- Commands it accepts:
279
- - ReserveInventory (triggered by PaymentAuthorized event)
280
- Events it produces:
281
- - InventoryReserved
282
- - InventoryFailed
283
- ```
60
+ For each system, list the commands it accepts (and from where — UI, another system, a processor) and the events/read models it produces or provides to others. A full worked example is in `references/examples.md`.
284
61
 
285
62
  ### 6. Identify Processors vs Systems
286
- Show where automation lives:
287
-
288
- ```
289
- Processors (autonomous automation):
290
-
291
- 1. PaymentProcessor
292
- Triggered by: OrderConfirmed event
293
- Logic: Calls external payment gateway
294
- Produces: AuthorizePayment command
295
- Lives in: Payment System
296
-
297
- 2. InventoryProcessor
298
- Triggered by: PaymentAuthorized event
299
- Logic: Checks stock, reserves inventory
300
- Produces: ReserveInventory command
301
- Lives in: Inventory System
302
-
303
- 3. FulfillmentProcessor
304
- Triggered by: InventoryReserved event
305
- Logic: Creates shipment records
306
- Produces: CreateShipment command
307
- Lives in: Fulfillment System
308
-
309
- 4. NotificationProcessor
310
- Triggered by: OrderCreated, OrderConfirmed, OrderShipped events
311
- Logic: Sends emails/SMS
312
- Produces: No commands (info-only)
313
- Lives in: Notification System (cross-cutting)
314
- ```
63
+ For each autonomous processor/automation, document what triggers it, its logic, the command(s) it produces, and which system it lives in. A full worked example (Payment/Inventory/Fulfillment/Notification processors) is in `references/examples.md`.
315
64
 
316
65
  ## Output Format
317
66
 
318
- Present as:
319
-
320
- ```markdown
321
- # System Organization: [Domain Name]
322
-
323
- ## System Boundaries
324
-
325
- ### System: Order Management
326
- - **Team**: Order Team
327
- - **Responsibilities**: Create, confirm, cancel orders
328
- - **Commands**: CreateOrder, ConfirmOrder, CancelOrder
329
- - **Events Produced**: OrderCreated, OrderConfirmed, OrderCancelled
330
- - **Events Consumed**: PaymentAuthorized, InventoryReserved (for state updates)
331
- - **Read Models**: OrderStatusView, OrderListView
332
- - **Scope**: One stream type (Order)
333
-
334
- ### System: Payment Processing
335
- - **Team**: Payment Team
336
- - **Responsibilities**: Authorize and process payments
337
- - **Commands**: AuthorizePayment, ProcessPayment, RefundPayment
338
- - **Events Produced**: PaymentAuthorized, PaymentFailed, PaymentRefunded
339
- - **Events Consumed**: OrderConfirmed (from Order System)
340
- - **Read Models**: PaymentStatusView, TransactionHistory
341
- - **Dependencies**: External payment gateway
342
- - **Scope**: One stream type (Payment)
343
-
344
- ### System: Inventory Management
345
- - **Team**: Inventory Team
346
- - **Responsibilities**: Stock management and reservations
347
- - **Commands**: ReserveInventory, ReleaseReservation, AllocateStock
348
- - **Events Produced**: InventoryReserved, ReservationReleased, StockAllocated
349
- - **Events Consumed**: PaymentAuthorized (from Payment System)
350
- - **Read Models**: InventoryLevelView, ReservationView
351
- - **Dependencies**: Warehouse system
352
- - **Scope**: One stream type (InventoryReservation)
353
-
354
- [Continue for each system]
355
-
356
- ---
357
-
358
- ## Event Flow Across System Boundaries
359
-
360
- ### Flow: Order → Payment → Inventory → Fulfillment
361
-
362
- ```
363
- Time →
364
-
365
- Order System
366
- OrderCreated →
367
- OrderConfirmed →
368
- (triggers)
369
- Payment System
370
- PaymentAuthorized →
371
- (triggers)
372
- Inventory System
373
- InventoryReserved →
374
- (triggers)
375
- Fulfillment System
376
- OrderShipped
377
- DeliveryConfirmed
378
- ```
379
-
380
- ---
381
-
382
- ## Team Responsibilities Matrix
383
-
384
- | Team | Creates Commands | Produces Events | Owns Read Models |
385
- |------|-----------------|-----------------|------------------|
386
- | Order | CreateOrder, ConfirmOrder | OrderCreated, OrderConfirmed | OrderStatusView |
387
- | Payment | AuthorizePayment | PaymentAuthorized | PaymentStatusView |
388
- | Inventory | ReserveInventory | InventoryReserved | InventoryLevelView |
389
- | Fulfillment | CreateShipment | OrderShipped | ShipmentTrackingView |
390
-
391
- ---
392
-
393
- ## Inter-System Communication
394
-
395
- ### Order → Payment
396
- - Trigger: OrderConfirmed event
397
- - Action: Payment System listens via Processor
398
- - Result: AuthorizePayment command issued
399
-
400
- ### Payment → Inventory
401
- - Trigger: PaymentAuthorized event
402
- - Action: Inventory System listens via Processor
403
- - Result: ReserveInventory command issued
404
-
405
- [Document all communication patterns]
406
-
407
- ---
408
-
409
- ## Dependencies
410
-
411
- ### External Systems
412
-
413
- | System | Owns | Called By | Purpose |
414
- |--------|------|-----------|---------|
415
- | Payment Gateway | Payment provider | Payment System | Authorization |
416
- | Warehouse | Inventory source | Inventory System | Stock info |
417
- | Carrier API | Shipping | Fulfillment System | Tracking |
418
-
419
- ---
420
-
421
- ## Independent Development
422
-
423
- Each system can:
424
- - Develop independently
425
- - Use different tech stacks
426
- - Scale independently
427
- - Deploy independently
428
- - Own their events
429
- - Maintain their read models
430
-
431
- Coordination via:
432
- - Events (async messaging)
433
- - Processors (listen and react)
434
- - Read models (shared views)
435
- ```
67
+ Present the analysis as a markdown document titled "System Organization: [Domain Name]" with these sections: **System Boundaries** (one entry per system, giving its owning team, responsibilities, commands, events produced/consumed, read models, dependencies, and scope); **Event Flow Across System Boundaries** (a time-ordered diagram showing which system's events trigger the next system downstream); a **Team Responsibilities Matrix** (one row per team: commands, events, read models); **Inter-System Communication** (one entry per system pair: triggering event, reacting system/action, resulting command); a **Dependencies** table of external systems (what they're called for); and a closing **Independent Development** note on how the boundaries let each team build, scale, and deploy independently, coordinating only via events, processors, and shared read models. A full worked example of this document (Order/Payment/Inventory/Fulfillment domain) is in `references/examples.md`.
436
68
 
437
69
  ## Quality Checklist
438
70