@documentation-robotics/cli 0.1.8 → 0.1.10

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 (120) hide show
  1. package/README.md +18 -17
  2. package/dist/audit/nodes/ai/prompts.js +1 -0
  3. package/dist/audit/nodes/ai/prompts.js.map +2 -2
  4. package/dist/audit/relationships/ai/prompts.js +20 -29
  5. package/dist/audit/relationships/ai/prompts.js.map +2 -2
  6. package/dist/audit/relationships/analysis/gap-analyzer.js.map +1 -1
  7. package/dist/audit/relationships/analysis/layer-templates.js +36 -0
  8. package/dist/audit/relationships/analysis/layer-templates.js.map +2 -2
  9. package/dist/cli.js +8 -8
  10. package/dist/cli.js.map +2 -2
  11. package/dist/commands/reports.js +3 -3
  12. package/dist/commands/reports.js.map +1 -1
  13. package/dist/commands/show.js.map +1 -1
  14. package/dist/commands/upgrade.js +1 -1
  15. package/dist/commands/upgrade.js.map +1 -1
  16. package/dist/commands/validate.js.map +1 -1
  17. package/dist/commands/version.js +1 -1
  18. package/dist/core/layers.js +1 -0
  19. package/dist/core/layers.js.map +2 -2
  20. package/dist/core/migration-registry.js +59 -2
  21. package/dist/core/migration-registry.js.map +2 -2
  22. package/dist/core/model.js +3 -16
  23. package/dist/core/model.js.map +2 -2
  24. package/dist/core/spec-loader.js.map +1 -1
  25. package/dist/core/stats-collector.js +2 -0
  26. package/dist/core/stats-collector.js.map +2 -2
  27. package/dist/export/archimate-exporter.js.map +2 -2
  28. package/dist/export/json-schema-exporter.js.map +1 -1
  29. package/dist/export/markdown-exporter.js.map +1 -1
  30. package/dist/export/markdown-utils.js +1 -0
  31. package/dist/export/markdown-utils.js.map +2 -2
  32. package/dist/export/mermaid-markdown-exporter.js.map +1 -1
  33. package/dist/export/openapi-exporter.js.map +1 -1
  34. package/dist/export/plantuml-exporter.js.map +1 -1
  35. package/dist/export/report-formatters.js +2 -2
  36. package/dist/export/report-formatters.js.map +1 -1
  37. package/dist/export/types.js +1 -0
  38. package/dist/export/types.js.map +2 -2
  39. package/dist/generated/layer-registry.js +44 -31
  40. package/dist/generated/layer-registry.js.map +2 -2
  41. package/dist/generated/layer-types.js +1 -1
  42. package/dist/generated/layer-types.js.map +2 -2
  43. package/dist/generated/node-types.js +45 -0
  44. package/dist/generated/node-types.js.map +2 -2
  45. package/dist/generated/relationship-index.js +201 -19
  46. package/dist/generated/relationship-index.js.map +2 -2
  47. package/dist/import/archimate-importer.js.map +1 -1
  48. package/dist/import/openapi-importer.js.map +1 -1
  49. package/dist/integrations/claude_code/agents/dr-advisor.md +14 -13
  50. package/dist/integrations/claude_code/agents/dr-extractor.md +2 -2
  51. package/dist/integrations/claude_code/commands/dr-info.md +1 -1
  52. package/dist/integrations/claude_code/commands/dr-init.md +3 -3
  53. package/dist/integrations/claude_code/commands/dr-map.md +2 -2
  54. package/dist/integrations/claude_code/commands/dr-model.md +1 -1
  55. package/dist/integrations/claude_code/commands/dr-relate.md +14 -4
  56. package/dist/integrations/claude_code/docs/END_TO_END_WALKTHROUGH.md +3 -3
  57. package/dist/integrations/claude_code/docs/QUICK_START.md +1 -1
  58. package/dist/integrations/claude_code/docs/README.md +2 -2
  59. package/dist/integrations/claude_code/skills/dr_01_motivation_layer/SKILL.md +2 -2
  60. package/dist/integrations/claude_code/skills/dr_03_product_layer/SKILL.md +679 -0
  61. package/dist/integrations/claude_code/skills/{dr_08_dataset_layer → dr_09_dataset_layer}/SKILL.md +1 -1
  62. package/dist/integrations/claude_code/skills/dr_engineering_guide/SKILL.md +2 -2
  63. package/dist/integrations/github_copilot/agents/dr-advisor.md +14 -13
  64. package/dist/integrations/github_copilot/agents/dr-architect.md +15 -14
  65. package/dist/integrations/github_copilot/skills/dr_01_motivation_layer/SKILL.md +2 -2
  66. package/dist/integrations/github_copilot/skills/dr_03_product_layer/SKILL.md +253 -0
  67. package/dist/reports/model-report-orchestrator.js +3 -3
  68. package/dist/reports/model-report-orchestrator.js.map +1 -1
  69. package/dist/schemas/bundled/analyzers/cbm.json +2 -2
  70. package/dist/schemas/bundled/analyzers/manifest.json +2 -2
  71. package/dist/schemas/bundled/api.json +3 -3
  72. package/dist/schemas/bundled/apm.json +3 -3
  73. package/dist/schemas/bundled/application.json +3 -3
  74. package/dist/schemas/bundled/base.json +29 -1
  75. package/dist/schemas/bundled/business.json +1 -1
  76. package/dist/schemas/bundled/data-model.json +3 -3
  77. package/dist/schemas/bundled/data-store.json +3 -3
  78. package/dist/schemas/bundled/manifest.json +20 -13
  79. package/dist/schemas/bundled/motivation.json +1 -1
  80. package/dist/schemas/bundled/navigation.json +3 -3
  81. package/dist/schemas/bundled/product.json +469 -0
  82. package/dist/schemas/bundled/security.json +3 -3
  83. package/dist/schemas/bundled/technology.json +3 -3
  84. package/dist/schemas/bundled/testing.json +3 -3
  85. package/dist/schemas/bundled/ux.json +3 -3
  86. package/dist/server/server.js +4 -15
  87. package/dist/server/server.js.map +2 -2
  88. package/dist/telemetry/index.js +1 -1
  89. package/dist/utils/spec-installer.js +2 -2
  90. package/dist/utils/spec-installer.js.map +1 -1
  91. package/dist/utils/spec-version.js +1 -1
  92. package/dist/utils/spec-version.js.map +2 -2
  93. package/dist/viewer/README.md +6 -6
  94. package/dist/viewer/assets/main-BRPZyc36.css +1 -0
  95. package/dist/viewer/assets/main-BrpLargo.js +81 -0
  96. package/dist/viewer/index.html +2 -2
  97. package/dist/viewer/manifest.json +10 -10
  98. package/dist/viewer/version.json +1 -1
  99. package/package.json +1 -1
  100. package/dist/viewer/assets/main-CY0Xufuj.css +0 -1
  101. package/dist/viewer/assets/main-DtgErnwF.js +0 -81
  102. /package/dist/integrations/claude_code/skills/{dr_03_security_layer → dr_04_security_layer}/SKILL.md +0 -0
  103. /package/dist/integrations/claude_code/skills/{dr_04_application_layer → dr_05_application_layer}/SKILL.md +0 -0
  104. /package/dist/integrations/claude_code/skills/{dr_05_technology_layer → dr_06_technology_layer}/SKILL.md +0 -0
  105. /package/dist/integrations/claude_code/skills/{dr_06_api_layer → dr_07_api_layer}/SKILL.md +0 -0
  106. /package/dist/integrations/claude_code/skills/{dr_07_data_model_layer → dr_08_data_model_layer}/SKILL.md +0 -0
  107. /package/dist/integrations/claude_code/skills/{dr_09_ux_layer → dr_10_ux_layer}/SKILL.md +0 -0
  108. /package/dist/integrations/claude_code/skills/{dr_10_navigation_layer → dr_11_navigation_layer}/SKILL.md +0 -0
  109. /package/dist/integrations/claude_code/skills/{dr_11_apm_layer → dr_12_apm_layer}/SKILL.md +0 -0
  110. /package/dist/integrations/claude_code/skills/{dr_12_testing_layer → dr_13_testing_layer}/SKILL.md +0 -0
  111. /package/dist/integrations/github_copilot/skills/{dr_03_security_layer → dr_04_security_layer}/SKILL.md +0 -0
  112. /package/dist/integrations/github_copilot/skills/{dr_04_application_layer → dr_05_application_layer}/SKILL.md +0 -0
  113. /package/dist/integrations/github_copilot/skills/{dr_05_technology_layer → dr_06_technology_layer}/SKILL.md +0 -0
  114. /package/dist/integrations/github_copilot/skills/{dr_06_api_layer → dr_07_api_layer}/SKILL.md +0 -0
  115. /package/dist/integrations/github_copilot/skills/{dr_07_data_model_layer → dr_08_data_model_layer}/SKILL.md +0 -0
  116. /package/dist/integrations/github_copilot/skills/{dr_08_dataset_layer → dr_09_dataset_layer}/SKILL.md +0 -0
  117. /package/dist/integrations/github_copilot/skills/{dr_09_ux_layer → dr_10_ux_layer}/SKILL.md +0 -0
  118. /package/dist/integrations/github_copilot/skills/{dr_10_navigation_layer → dr_11_navigation_layer}/SKILL.md +0 -0
  119. /package/dist/integrations/github_copilot/skills/{dr_11_apm_layer → dr_12_apm_layer}/SKILL.md +0 -0
  120. /package/dist/integrations/github_copilot/skills/{dr_12_testing_layer → dr_13_testing_layer}/SKILL.md +0 -0
@@ -0,0 +1,679 @@
1
+ ---
2
+ name: LAYER_03_PRODUCT
3
+ description: Expert knowledge for Product Layer modeling in Documentation Robotics
4
+ triggers:
5
+ [
6
+ "product",
7
+ "feature",
8
+ "persona",
9
+ "capability",
10
+ "milestone",
11
+ "user workflow",
12
+ "product roadmap",
13
+ "product planning",
14
+ "product management"
15
+ ]
16
+ version: 0.8.4
17
+ ---
18
+
19
+ # Product Layer Skill
20
+
21
+ **Layer Number:** 03
22
+ **Specification:** Metadata Model Spec v0.8.4
23
+ **Purpose:** Defines product personas, capabilities, features, user workflows, and milestones that represent what the product does and for whom.
24
+
25
+ ---
26
+
27
+ ## Layer Overview
28
+
29
+ The Product Layer captures the **product management dimension** of architecture:
30
+
31
+ - **WHO** - Personas and target user archetypes
32
+ - **WHAT** - Capabilities and features the product delivers
33
+ - **HOW** - User workflows describing how users accomplish goals
34
+ - **WHEN** - Milestones representing delivery roadmap
35
+ - **WHY** - Linkage to business goals and requirements
36
+
37
+ This layer uses a **custom specification** designed for product planning, prioritization, and user-centric modeling — distinct from Business layer (organization-internal processes) and UX layer (UI/interface design).
38
+
39
+ **Key Innovation:** Bridges strategic intent (Motivation layer) and organizational structure (Business layer) with externally-facing product value planning and delivery.
40
+
41
+ ---
42
+
43
+ ## Entity Types
44
+
45
+ > **CLI Introspection:** Run `dr schema types product` for the authoritative, always-current list of node types.
46
+ > Run `dr schema node <type-id>` for full attribute details on any type.
47
+
48
+ | Entity Type | Description | Key Attributes |
49
+ | ---------------- | ---------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
50
+ | **Persona** | User archetype with shared goals, behaviors, pain points | category (primary, secondary, served, negative), proficiency (novice, intermediate, advanced, expert) |
51
+ | **Capability** | Product ability independent of implementation | status (proposed, planned, developing, delivered, deprecated), properties |
52
+ | **Feature** | User-visible unit of functionality delivering capabilities | priority (critical, high, medium, low, informational), status, size (xs, s, m, l, xl) |
53
+ | **UserWorkflow** | Sequence of user-facing steps to accomplish a goal | complexity (simple, moderate, complex), properties |
54
+ | **Milestone** | Time-bound delivery target grouping features/capabilities | status (proposed, planned, active, completed, cancelled) |
55
+
56
+ ---
57
+
58
+ ## Intra-Layer Relationships
59
+
60
+ The Product layer models product structure and planning via these core relationships:
61
+
62
+ | Source | Predicate | Destination | Cardinality | Rationale |
63
+ | ---------------------- | --------------- | -------------------- | ------------ | ---------------------------------------------- |
64
+ | `product.capability` | `aggregates` | `product.capability` | many-to-many | Capability decomposition into sub-capabilities |
65
+ | `product.feature` | `realizes` | `product.capability` | many-to-many | Feature delivers a capability |
66
+ | `product.feature` | `serves` | `product.persona` | many-to-many | Feature targets a persona |
67
+ | `product.feature` | `scheduled-for` | `product.milestone` | many-to-many | Feature assigned to delivery milestone |
68
+ | `product.capability` | `scheduled-for` | `product.milestone` | many-to-many | Capability assigned to milestone |
69
+ | `product.userworkflow` | `serves` | `product.persona` | many-to-many | Workflow designed for a persona |
70
+ | `product.userworkflow` | `composes` | `product.feature` | many-to-many | Workflow composed of features |
71
+ | `product.milestone` | `precedes` | `product.milestone` | many-to-many | Milestone sequencing |
72
+ | `product.feature` | `depends-on` | `product.feature` | many-to-many | Feature dependency |
73
+
74
+ ---
75
+
76
+ ## Cross-Layer References
77
+
78
+ ### Outgoing References (Product → Motivation)
79
+
80
+ Product layer references Motivation layer to justify product decisions with strategic goals:
81
+
82
+ | Predicate | Source | Target | Rationale |
83
+ | ---------------- | ------------ | ----------- | -------------------------------------------- |
84
+ | `realizes` | Persona | Stakeholder | Persona concretizes stakeholder archetypes |
85
+ | `satisfies` | Feature | Requirement | Feature satisfies business/user requirements |
86
+ | `supports` | Capability | Goal | Capability supports strategic goals |
87
+ | `delivers` | UserWorkflow | Outcome | Workflow delivers business outcomes |
88
+ | `delivers-value` | Feature | Value | Feature delivers business value |
89
+ | `fulfills` | Capability | Requirement | Capability fulfills requirements |
90
+
91
+ ### Outgoing References (Product → Business)
92
+
93
+ Product layer references Business layer to align with organizational services and roles:
94
+
95
+ | Predicate | Source | Target | Rationale |
96
+ | ------------ | ------------ | ---------------- | --------------------------------------- |
97
+ | `realizes` | Feature | BusinessService | Feature realizes a business service |
98
+ | `aggregates` | UserWorkflow | BusinessProcess | Workflow aggregates business processes |
99
+ | `realizes` | Capability | BusinessFunction | Capability realizes a business function |
100
+ | `serves` | Persona | BusinessRole | Persona is served by a business role |
101
+
102
+ ### Incoming References (Lower Layers → Product)
103
+
104
+ Higher layers (Security through Testing) reference Product layer for feature-level concerns:
105
+
106
+ - Application → Feature: Application components implement features
107
+ - UX → Feature: UI views render features
108
+ - Testing → Feature: Test cases validate features
109
+ - API → Feature: API operations expose features
110
+
111
+ ---
112
+
113
+ ## Persona Definition
114
+
115
+ A Persona is a **user archetype** representing a class of users with shared goals, behaviors, and pain points.
116
+
117
+ **Distinction from Stakeholder (Motivation layer):**
118
+
119
+ - **Stakeholder** - Organizational relationship (internal/external/regulatory/customer)
120
+ - **Persona** - Behavioral archetype with usage patterns and proficiency levels
121
+
122
+ **Categories:**
123
+
124
+ - **Primary** - Core user the product is designed for
125
+ - **Secondary** - Important but not primary user
126
+ - **Served** - User who benefits indirectly
127
+ - **Negative** - User archetype the product explicitly doesn't serve
128
+
129
+ **Proficiency Levels:**
130
+
131
+ - **Novice** - First-time users, minimal technical background
132
+ - **Intermediate** - Recurring users with some experience
133
+ - **Advanced** - Power users with domain expertise
134
+ - **Expert** - Specialists who push product limits
135
+
136
+ **Example:**
137
+
138
+ ```
139
+ Persona: "Sales Representative"
140
+ ├── category: primary
141
+ ├── proficiency: intermediate
142
+ ├── realizes → Stakeholder: "Sales Team"
143
+ ├── served-by → BusinessRole: "Sales Manager"
144
+ └── pain-points:
145
+ - Time-consuming manual data entry
146
+ - Limited visibility into customer interactions
147
+ ```
148
+
149
+ ---
150
+
151
+ ## Capability Definition
152
+
153
+ A Capability is an **ability the product possesses**, independent of how it's implemented.
154
+
155
+ **Distinction from BusinessFunction (Business layer):**
156
+
157
+ - **BusinessFunction** - Internal organizational grouping of behavior
158
+ - **Capability** - Externally-facing product ability
159
+
160
+ **Lifecycle Statuses:**
161
+
162
+ - **Proposed** - Idea under evaluation
163
+ - **Planned** - Scheduled for development
164
+ - **Developing** - Currently being built
165
+ - **Delivered** - Implemented and released
166
+ - **Deprecated** - No longer supported
167
+
168
+ **Decomposition:**
169
+ Capabilities decompose into sub-capabilities via `aggregates` relationships for complex capabilities.
170
+
171
+ **Example:**
172
+
173
+ ```
174
+ Capability: "Customer Data Management"
175
+ ├── status: developing
176
+ ├── aggregates → Capability: "Customer CRUD"
177
+ ├── aggregates → Capability: "Customer Segmentation"
178
+ ├── realizes → BusinessFunction: "Customer Lifecycle Management"
179
+ └── supports → Goal: "Improve Customer Retention"
180
+ ```
181
+
182
+ ---
183
+
184
+ ## Feature Definition
185
+
186
+ A Feature is a **user-visible unit of functionality** that delivers one or more capabilities and is the primary unit of product planning.
187
+
188
+ **Distinction from Requirement (Motivation layer):**
189
+
190
+ - **Requirement** - What system _must_ do (functional/non-functional/regulatory)
191
+ - **Feature** - Planned unit of value with prioritization, sizing, and lifecycle
192
+
193
+ **Priority Levels:**
194
+
195
+ - **Critical** - Product cannot function without it (v1 release blocker)
196
+ - **High** - Core functionality users expect
197
+ - **Medium** - Valuable enhancement
198
+ - **Low** - Nice-to-have optimization
199
+ - **Informational** - Documentation or informational
200
+
201
+ **Sizing Estimates:**
202
+
203
+ - **XS** - < 1 day of effort
204
+ - **S** - 1–3 days
205
+ - **M** - 1–2 weeks
206
+ - **L** - 2–4 weeks
207
+ - **XL** - > 4 weeks
208
+
209
+ **Example:**
210
+
211
+ ```
212
+ Feature: "Two-Factor Authentication"
213
+ ├── priority: high
214
+ ├── status: developing
215
+ ├── size: m
216
+ ├── realizes → Capability: "Account Security"
217
+ ├── serves → Persona: "Security-Conscious User"
218
+ ├── satisfies → Requirement: "Support TOTP and SMS 2FA"
219
+ └── scheduled-for → Milestone: "Q3 Security Release"
220
+ ```
221
+
222
+ ---
223
+
224
+ ## User Workflow Definition
225
+
226
+ A UserWorkflow is a **sequence of user-facing steps** through the product to accomplish a goal.
227
+
228
+ **Distinction from BusinessProcess (Business layer) and ExperienceState (UX layer):**
229
+
230
+ - **BusinessProcess** - Organization-internal process (BPMN, ArchiMate)
231
+ - **UserWorkflow** - User-centric journey through product features
232
+ - **ExperienceState** - UI/interface-level state transitions
233
+
234
+ **Complexity Assessment:**
235
+
236
+ - **Simple** - Linear flow, 2–3 steps, minimal decision points
237
+ - **Moderate** - Multiple branches, 5–10 steps, some conditional logic
238
+ - **Complex** - Many decision points, 10+ steps, cross-system integration
239
+
240
+ **Example:**
241
+
242
+ ```
243
+ UserWorkflow: "Checkout Flow"
244
+ ├── complexity: moderate
245
+ ├── serves → Persona: "Online Shopper"
246
+ ├── composes → Feature: "Shopping Cart"
247
+ ├── composes → Feature: "Payment Processing"
248
+ ├── composes → Feature: "Order Confirmation"
249
+ ├── delivers → Outcome: "Completed Purchase"
250
+ └── aggregates → BusinessProcess: "Order Fulfillment"
251
+
252
+ Steps:
253
+ 1. Add item to cart (Feature: Shopping Cart)
254
+ 2. Review cart and shipping (Feature: Checkout)
255
+ 3. Enter payment details (Feature: Payment Processing)
256
+ 4. Confirm order (Feature: Order Confirmation)
257
+ 5. Receive confirmation email
258
+ ```
259
+
260
+ ---
261
+
262
+ ## Milestone Definition
263
+
264
+ A Milestone is a **time-bound delivery target** grouping features or capabilities.
265
+
266
+ **Lifecycle Statuses:**
267
+
268
+ - **Proposed** - Candidate milestone under evaluation
269
+ - **Planned** - Scheduled for planning and estimation
270
+ - **Active** - Development underway
271
+ - **Completed** - Released to users
272
+ - **Cancelled** - Postponed or deprioritized
273
+
274
+ **Milestone Sequencing:**
275
+ Milestones can precede/follow other milestones for roadmap planning.
276
+
277
+ **Example:**
278
+
279
+ ```
280
+ Milestone: "Q3 2024 Release"
281
+ ├── status: active
282
+ ├── scheduled-features:
283
+ │ ├── Feature: "Two-Factor Authentication"
284
+ │ ├── Feature: "Audit Logging"
285
+ │ └── Feature: "API Rate Limiting"
286
+ ├── scheduled-capabilities:
287
+ │ ├── Capability: "Account Security"
288
+ │ └── Capability: "System Reliability"
289
+ ├── precedes → Milestone: "Q4 2024 Release"
290
+ └── includes → Outcome: "Improved User Trust"
291
+ ```
292
+
293
+ ---
294
+
295
+ ## Codebase Detection Patterns
296
+
297
+ ### Pattern 1: Feature Flags
298
+
299
+ ```python
300
+ # Feature flag indicating incomplete feature
301
+ if feature_flags.get("two_factor_auth_enabled"):
302
+ user.enable_2fa()
303
+
304
+ # Feature flag with rollout percentage
305
+ if feature_flags.is_enabled("new_checkout", rollout_percentage=10):
306
+ return new_checkout_flow()
307
+ ```
308
+
309
+ **Maps to:**
310
+
311
+ - Feature: "Two-Factor Authentication" (status: developing)
312
+ - Feature: "New Checkout Flow" (status: developing, rollout: 10%)
313
+
314
+ ### Pattern 2: Product Roadmap Comment
315
+
316
+ ```python
317
+ # TODO: Implement user segmentation for Q3 milestone
318
+ # Feature: "User Segmentation" (priority: high)
319
+ # Capability: "Customer Segmentation"
320
+ # Milestone: "Q3 2024 Release"
321
+ def segment_users_by_behavior():
322
+ pass
323
+ ```
324
+
325
+ **Maps to:**
326
+
327
+ - Feature: "User Segmentation" (priority: high)
328
+ - Capability: "Customer Segmentation"
329
+ - Milestone: "Q3 2024 Release"
330
+
331
+ ### Pattern 3: User Role / Persona References
332
+
333
+ ```typescript
334
+ // Different workflows for different user personas
335
+ const workflowByPersona = {
336
+ basicUser: {
337
+ steps: ["login", "browse", "add-to-cart", "checkout"],
338
+ complexity: "simple"
339
+ },
340
+ powerUser: {
341
+ steps: [
342
+ "login",
343
+ "advanced-search",
344
+ "bulk-compare",
345
+ "batch-order",
346
+ "checkout"
347
+ ],
348
+ complexity: "complex"
349
+ },
350
+ admin: {
351
+ steps: ["login", "access-dashboard", "manage-users", "view-analytics"],
352
+ complexity: "complex"
353
+ }
354
+ };
355
+ ```
356
+
357
+ **Maps to:**
358
+
359
+ - Persona: "Basic User" (proficiency: novice)
360
+ - Persona: "Power User" (proficiency: advanced)
361
+ - Persona: "Admin" (proficiency: expert)
362
+ - UserWorkflow: "Basic Checkout Flow" (complexity: simple) → serves → Persona: "Basic User"
363
+ - UserWorkflow: "Power User Ordering" (complexity: complex) → serves → Persona: "Power User"
364
+
365
+ ### Pattern 4: Capability Requirements
366
+
367
+ ```yaml
368
+ # Product capability definition
369
+ capabilities:
370
+ authentication:
371
+ - password-based
372
+ - oauth2
373
+ - saml
374
+ - multi-factor-auth
375
+ reporting:
376
+ - real-time-dashboards
377
+ - scheduled-reports
378
+ - custom-queries
379
+ - data-export
380
+ ```
381
+
382
+ **Maps to:**
383
+
384
+ - Capability: "Authentication" → aggregates → [Password-Based Auth, OAuth2, SAML, Multi-Factor Auth]
385
+ - Capability: "Reporting" → aggregates → [Real-Time Dashboards, Scheduled Reports, Custom Queries, Data Export]
386
+
387
+ ### Pattern 5: Persona Attributes in Code
388
+
389
+ ```python
390
+ class UserProfile:
391
+ """User archetype modeling"""
392
+ def __init__(self, persona_type: str, proficiency: str):
393
+ self.persona_type = persona_type # e.g., "power-user", "casual-user"
394
+ self.proficiency = proficiency # e.g., "advanced", "novice"
395
+ self.pain_points = []
396
+ self.goals = []
397
+
398
+ def can_access_feature(self, feature: str) -> bool:
399
+ # Persona determines accessible features
400
+ if self.persona_type == "power-user":
401
+ return True
402
+ return feature in self.accessible_features
403
+ ```
404
+
405
+ **Maps to:**
406
+
407
+ - Persona: "Power User" (proficiency: advanced) → serves → Feature collection
408
+ - Persona: "Casual User" (proficiency: novice) → serves → Limited feature set
409
+
410
+ ---
411
+
412
+ ## Modeling Workflow
413
+
414
+ ### Step 1: Define Target Personas
415
+
416
+ ```bash
417
+ # Identify primary personas
418
+ dr add product persona "power-user" \
419
+ --description "Expert user who uses all advanced features" \
420
+ --attributes '{"category":"primary","proficiency":"advanced"}'
421
+
422
+ dr add product persona "casual-user" \
423
+ --description "Occasional user focused on core features" \
424
+ --attributes '{"category":"primary","proficiency":"novice"}'
425
+
426
+ dr add product persona "admin" \
427
+ --description "System administrator managing users and settings" \
428
+ --attributes '{"category":"primary","proficiency":"expert"}'
429
+ ```
430
+
431
+ ### Step 2: Define Product Capabilities
432
+
433
+ ```bash
434
+ # Product-level abilities (outcome-focused)
435
+ dr add product capability "user-authentication" \
436
+ --description "Authenticate and authorize users" \
437
+ --attributes '{"status":"planned"}'
438
+
439
+ dr add product capability "data-export" \
440
+ --description "Export user data in multiple formats" \
441
+ --attributes '{"status":"proposed"}'
442
+
443
+ dr add product capability "real-time-collaboration" \
444
+ --description "Enable multiple users to collaborate simultaneously" \
445
+ --attributes '{"status":"developing"}'
446
+ ```
447
+
448
+ ### Step 3: Define Features
449
+
450
+ ```bash
451
+ # User-visible features (deliverable units)
452
+ dr add product feature "multi-factor-authentication" \
453
+ --description "Two-factor auth via TOTP or SMS" \
454
+ --attributes '{"priority":"high","size":"m","status":"developing"}'
455
+
456
+ dr add product feature "csv-export" \
457
+ --description "Export data to CSV format" \
458
+ --attributes '{"priority":"medium","size":"s","status":"planned"}'
459
+
460
+ dr add product feature "live-cursor-tracking" \
461
+ --description "See other users' cursor positions in real-time" \
462
+ --attributes '{"priority":"high","size":"l","status":"proposed"}'
463
+ ```
464
+
465
+ ### Step 4: Map Features to Capabilities
466
+
467
+ ```bash
468
+ # Features realize capabilities
469
+ dr relationship add product.feature.multi-factor-authentication \
470
+ product.capability.user-authentication --predicate realizes
471
+
472
+ dr relationship add product.feature.csv-export \
473
+ product.capability.data-export --predicate realizes
474
+
475
+ dr relationship add product.feature.live-cursor-tracking \
476
+ product.capability.real-time-collaboration --predicate realizes
477
+ ```
478
+
479
+ ### Step 5: Map Features to Personas
480
+
481
+ ```bash
482
+ # Features serve personas
483
+ dr relationship add product.feature.multi-factor-authentication \
484
+ product.persona.security-conscious-user --predicate serves
485
+
486
+ dr relationship add product.feature.live-cursor-tracking \
487
+ product.persona.power-user --predicate serves
488
+
489
+ dr relationship add product.feature.csv-export \
490
+ product.persona.data-analyst --predicate serves
491
+ ```
492
+
493
+ ### Step 6: Define User Workflows
494
+
495
+ ```bash
496
+ # User journeys through product
497
+ dr add product user-workflow "basic-authentication-flow" \
498
+ --description "Standard login and session management" \
499
+ --attributes '{"complexity":"simple"}'
500
+
501
+ dr add product user-workflow "secure-authentication-flow" \
502
+ --description "Multi-factor authentication workflow" \
503
+ --attributes '{"complexity":"moderate"}'
504
+
505
+ dr add product user-workflow "collaboration-session" \
506
+ --description "Join and participate in real-time collaboration" \
507
+ --attributes '{"complexity":"complex"}'
508
+ ```
509
+
510
+ ### Step 7: Map Workflows to Features
511
+
512
+ ```bash
513
+ # Workflows compose features
514
+ dr relationship add product.user-workflow.secure-authentication-flow \
515
+ product.feature.multi-factor-authentication --predicate composes
516
+
517
+ dr relationship add product.user-workflow.collaboration-session \
518
+ product.feature.live-cursor-tracking --predicate composes
519
+ ```
520
+
521
+ ### Step 8: Define Milestones
522
+
523
+ ```bash
524
+ # Delivery roadmap
525
+ dr add product milestone "q3-security-release" \
526
+ --description "Security-focused quarterly release" \
527
+ --attributes '{"status":"planned"}'
528
+
529
+ dr add product milestone "q4-collaboration-release" \
530
+ --description "Real-time collaboration release" \
531
+ --attributes '{"status":"proposed"}'
532
+ ```
533
+
534
+ ### Step 9: Schedule Features to Milestones
535
+
536
+ ```bash
537
+ # Assign features to delivery targets
538
+ dr relationship add product.feature.multi-factor-authentication \
539
+ product.milestone.q3-security-release --predicate scheduled-for
540
+
541
+ dr relationship add product.feature.live-cursor-tracking \
542
+ product.milestone.q4-collaboration-release --predicate scheduled-for
543
+ ```
544
+
545
+ ### Step 10: Cross-Layer Integration
546
+
547
+ ```bash
548
+ # Link to Motivation layer
549
+ dr relationship add product.feature.multi-factor-authentication \
550
+ motivation.requirement.user-account-security --predicate satisfies
551
+
552
+ dr relationship add product.capability.user-authentication \
553
+ motivation.goal.customer-trust --predicate supports
554
+
555
+ # Link to Business layer
556
+ dr relationship add product.feature.csv-export \
557
+ business.business-service.data-analytics --predicate realizes
558
+
559
+ dr relationship add product.persona.power-user \
560
+ business.business-role.data-analyst --predicate serves
561
+ ```
562
+
563
+ ---
564
+
565
+ ## Modeling Patterns
566
+
567
+ ### Pattern 1: Feature Hierarchy
568
+
569
+ ```
570
+ Capability: "Order Management"
571
+ ├── aggregates → Capability: "Order Placement"
572
+ │ └── realizes → Feature: "Shopping Cart"
573
+ ├── aggregates → Capability: "Order Tracking"
574
+ │ └── realizes → Feature: "Order History"
575
+ └── aggregates → Capability: "Order Fulfillment"
576
+ └── realizes → Feature: "Shipment Tracking"
577
+ ```
578
+
579
+ ### Pattern 2: Persona-Driven Features
580
+
581
+ ```
582
+ Persona: "Enterprise Administrator"
583
+ ├── proficiency: expert
584
+ ├── served-by → Feature: "Bulk User Import"
585
+ ├── served-by → Feature: "Advanced Reporting"
586
+ ├── served-by → Feature: "API Key Management"
587
+ └── serves → BusinessRole: "IT Operations"
588
+ ```
589
+
590
+ ### Pattern 3: Milestone Roadmap
591
+
592
+ ```
593
+ Milestone: "Q1 2025 MVP"
594
+ ├── scheduled-features:
595
+ │ ├── Feature: "User Authentication"
596
+ │ ├── Feature: "Basic Search"
597
+ │ └── Feature: "Profile Management"
598
+ ├── precedes → Milestone: "Q2 2025 Enhancement"
599
+ │ ├── scheduled-features:
600
+ │ │ ├── Feature: "Advanced Search"
601
+ │ │ └── Feature: "Real-Time Notifications"
602
+ ```
603
+
604
+ ### Pattern 4: Workflow with Multiple Features
605
+
606
+ ```
607
+ UserWorkflow: "Power User Data Analysis"
608
+ ├── complexity: complex
609
+ ├── serves → Persona: "Data Analyst"
610
+ ├── composes → Feature: "Advanced Search"
611
+ ├── composes → Feature: "Custom Dashboards"
612
+ ├── composes → Feature: "CSV Export"
613
+ ├── composes → Feature: "Scheduled Reports"
614
+ └── aggregates → BusinessProcess: "Business Intelligence"
615
+ ```
616
+
617
+ ---
618
+
619
+ ## Best Practices
620
+
621
+ 1. **Start with Personas, End with Workflows** - Understand users first, model journeys last
622
+ 2. **Features Deliver Capabilities** - Every feature should map to at least one capability
623
+ 3. **Capabilities Support Goals** - Link capabilities to motivation layer goals for justification
624
+ 4. **Milestones Sequence Logically** - Plan dependencies and prerequisites
625
+ 5. **Workflows are User-Centric** - Name them from the user's perspective, not system perspective
626
+ 6. **Complexity Reflects User Experience** - Complex workflows should have features to manage that complexity
627
+ 7. **Prioritization Reflects Business Value** - Higher priority features deliver more strategic value
628
+ 8. **Personas Evolve** - As product matures, update persona proficiency and categories
629
+ 9. **Features Have Clear Status** - Track development progress from proposed to delivered
630
+ 10. **Link to Business Layer** - Map features to business services to show value realization
631
+
632
+ ---
633
+
634
+ ## Validation Tips
635
+
636
+ | Issue | Cause | Fix |
637
+ | ------------------- | ------------------------------------- | ------------------------------------- |
638
+ | Orphaned Feature | Feature doesn't realize a capability | Add capability or remove feature |
639
+ | Unused Persona | Persona serves no features | Add features for persona or remove |
640
+ | Unmapped Capability | Capability doesn't support a goal | Link to Motivation goal or remove |
641
+ | Incomplete Workflow | Workflow has no features | Add feature composition or simplify |
642
+ | Future Milestone | Milestone has no scheduled features | Add features or mark as candidate |
643
+ | Vague Persona | Persona lacks proficiency or category | Define proficiency level and category |
644
+ | Unlinked Feature | Feature doesn't satisfy a requirement | Add requirement link or remove |
645
+
646
+ ---
647
+
648
+ ## Quick Reference
649
+
650
+ **Add Commands:**
651
+
652
+ ```bash
653
+ dr add product persona <name> --description <desc> --attributes '{"category":"<category>","proficiency":"<proficiency>"}'
654
+ dr add product capability <name> --description <desc> --attributes '{"status":"<status>"}'
655
+ dr add product feature <name> --description <desc> --attributes '{"priority":"<priority>","status":"<status>","size":"<size>"}'
656
+ dr add product user-workflow <name> --description <desc> --attributes '{"complexity":"<complexity>"}'
657
+ dr add product milestone <name> --description <desc> --attributes '{"status":"<status>"}'
658
+ ```
659
+
660
+ **Relationship Commands:**
661
+
662
+ ```bash
663
+ dr relationship add <capability> <capability> --predicate aggregates
664
+ dr relationship add <feature> <capability> --predicate realizes
665
+ dr relationship add <feature> <persona> --predicate serves
666
+ dr relationship add <workflow> <feature> --predicate composes
667
+ dr relationship add <feature> <milestone> --predicate scheduled-for
668
+ dr relationship add <milestone> <milestone> --predicate precedes
669
+ ```
670
+
671
+ **Cross-Layer Commands:**
672
+
673
+ ```bash
674
+ dr relationship add <persona> <stakeholder> --predicate realizes
675
+ dr relationship add <feature> <requirement> --predicate satisfies
676
+ dr relationship add <capability> <goal> --predicate supports
677
+ dr relationship add <workflow> <outcome> --predicate delivers
678
+ dr relationship add <feature> <business-service> --predicate realizes
679
+ ```
@@ -50,7 +50,7 @@ This layer supports **multiple storage paradigms**: relational (PostgreSQL, MySQ
50
50
  > `storedlogic` is for stored **procedures, triggers, and user-defined functions** — executable logic that lives inside the database.
51
51
  > For relational **tables** (or document collections, streams, or buckets), use `collection` with `collectionType: TABLE` (or `DOCUMENT`, `STREAM`, etc.).
52
52
  > Using `storedlogic` for a table will fail schema validation.
53
-
53
+ >
54
54
  > **CLI Introspection:** Run `dr schema types data-store` for the authoritative, always-current list of node types.
55
55
  > Run `dr schema node <type-id>` for full attribute details on any type (e.g., `dr schema node data-store.collection`).
56
56