@documentation-robotics/cli 0.2.0 → 0.3.0
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.
- package/README.md +36 -2
- package/dist/analysis/relationship-classifier.js +2 -9
- package/dist/analysis/relationship-classifier.js.map +2 -2
- package/dist/analyzers/call-graph-utils.js +2 -2
- package/dist/analyzers/call-graph-utils.js.map +2 -2
- package/dist/analyzers/cards/build.js +171 -0
- package/dist/analyzers/cards/build.js.map +7 -0
- package/dist/analyzers/cards/classify.js +42 -0
- package/dist/analyzers/cards/classify.js.map +7 -0
- package/dist/analyzers/cards/edge-index.js +44 -0
- package/dist/analyzers/cards/edge-index.js.map +7 -0
- package/dist/analyzers/cards/facts.js +46 -0
- package/dist/analyzers/cards/facts.js.map +7 -0
- package/dist/analyzers/cards/graph.js +42 -0
- package/dist/analyzers/cards/graph.js.map +7 -0
- package/dist/analyzers/cards/index.js +8 -0
- package/dist/analyzers/cards/index.js.map +7 -0
- package/dist/analyzers/cards/tier0.js +18 -0
- package/dist/analyzers/cards/tier0.js.map +7 -0
- package/dist/analyzers/cards/types.js +1 -0
- package/dist/analyzers/cards/types.js.map +7 -0
- package/dist/analyzers/cbm-analyzer.js +195 -171
- package/dist/analyzers/cbm-analyzer.js.map +2 -2
- package/dist/analyzers/cbm-responses.js +336 -0
- package/dist/analyzers/cbm-responses.js.map +7 -0
- package/dist/analyzers/edge-relationships.js +45 -0
- package/dist/analyzers/edge-relationships.js.map +7 -0
- package/dist/analyzers/mapping-loader.js +9 -0
- package/dist/analyzers/mapping-loader.js.map +2 -2
- package/dist/analyzers/tier0-rules.js +153 -0
- package/dist/analyzers/tier0-rules.js.map +7 -0
- package/dist/analyzers/types.js.map +1 -1
- package/dist/audit/relationships/ai/prompts.js +10 -10
- package/dist/audit/relationships/ai/prompts.js.map +2 -2
- package/dist/audit/relationships/analysis/layer-templates.js +52 -52
- package/dist/audit/relationships/analysis/layer-templates.js.map +1 -1
- package/dist/cli.js +12 -2
- package/dist/cli.js.map +2 -2
- package/dist/coding-agents/default-permissions.js +31 -1
- package/dist/coding-agents/default-permissions.js.map +2 -2
- package/dist/coding-agents/drbot-mcp.js +167 -0
- package/dist/coding-agents/drbot-mcp.js.map +7 -0
- package/dist/commands/add.js +3 -2
- package/dist/commands/add.js.map +2 -2
- package/dist/commands/analyzer.js +117 -14
- package/dist/commands/analyzer.js.map +2 -2
- package/dist/commands/changeset-verify.js +55 -0
- package/dist/commands/changeset-verify.js.map +7 -0
- package/dist/commands/changeset.js +43 -22
- package/dist/commands/changeset.js.map +2 -2
- package/dist/commands/delete.js +10 -4
- package/dist/commands/delete.js.map +2 -2
- package/dist/commands/farm.js +176 -60
- package/dist/commands/farm.js.map +2 -2
- package/dist/commands/mcp.js +19 -4
- package/dist/commands/mcp.js.map +2 -2
- package/dist/commands/relationship.js +207 -26
- package/dist/commands/relationship.js.map +2 -2
- package/dist/commands/update.js +42 -23
- package/dist/commands/update.js.map +2 -2
- package/dist/commands/upgrade.js +99 -11
- package/dist/commands/upgrade.js.map +3 -3
- package/dist/commands/version.js +1 -1
- package/dist/commands/visualize.js +4 -3
- package/dist/commands/visualize.js.map +2 -2
- package/dist/core/catalog-migration.js +33 -0
- package/dist/core/catalog-migration.js.map +7 -0
- package/dist/core/changeset-analysis.js +421 -0
- package/dist/core/changeset-analysis.js.map +7 -0
- package/dist/core/changeset-base-index.js +153 -0
- package/dist/core/changeset-base-index.js.map +7 -0
- package/dist/core/changeset-brief-delta.js +102 -0
- package/dist/core/changeset-brief-delta.js.map +7 -0
- package/dist/core/changeset-graph.js +281 -0
- package/dist/core/changeset-graph.js.map +7 -0
- package/dist/core/changeset-only-guard.js +32 -0
- package/dist/core/changeset-only-guard.js.map +7 -0
- package/dist/core/changeset-summary.js +68 -0
- package/dist/core/changeset-summary.js.map +7 -0
- package/dist/core/changeset-validator.js +66 -20
- package/dist/core/changeset-validator.js.map +2 -2
- package/dist/core/changeset-verify.js +518 -0
- package/dist/core/changeset-verify.js.map +7 -0
- package/dist/core/changeset.js +56 -9
- package/dist/core/changeset.js.map +2 -2
- package/dist/core/element-type-migration.js +145 -0
- package/dist/core/element-type-migration.js.map +7 -0
- package/dist/core/farm-manifest.js +12 -6
- package/dist/core/farm-manifest.js.map +2 -2
- package/dist/core/farm-sync-engine.js +1 -1
- package/dist/core/farm-sync-engine.js.map +2 -2
- package/dist/core/farm-sync-state.js +10 -2
- package/dist/core/farm-sync-state.js.map +2 -2
- package/dist/core/migration-registry.js +75 -46
- package/dist/core/migration-registry.js.map +2 -2
- package/dist/core/model-upgrade.js +102 -0
- package/dist/core/model-upgrade.js.map +7 -0
- package/dist/core/model.js +82 -30
- package/dist/core/model.js.map +2 -2
- package/dist/core/mutation-handler.js +71 -6
- package/dist/core/mutation-handler.js.map +2 -2
- package/dist/core/relationship-migration-table.js +6639 -0
- package/dist/core/relationship-migration-table.js.map +7 -0
- package/dist/core/relationship-migration.js +272 -0
- package/dist/core/relationship-migration.js.map +7 -0
- package/dist/core/relationship-prune.js +49 -0
- package/dist/core/relationship-prune.js.map +7 -0
- package/dist/core/relationship-staging.js +68 -0
- package/dist/core/relationship-staging.js.map +7 -0
- package/dist/core/relationships.js +26 -4
- package/dist/core/relationships.js.map +2 -2
- package/dist/core/report-data-model.js +7 -13
- package/dist/core/report-data-model.js.map +2 -2
- package/dist/core/staged-changeset-storage.js +64 -17
- package/dist/core/staged-changeset-storage.js.map +2 -2
- package/dist/core/staged-source-reference.js +28 -0
- package/dist/core/staged-source-reference.js.map +7 -0
- package/dist/core/staging-area.js +83 -18
- package/dist/core/staging-area.js.map +2 -2
- package/dist/core/virtual-projection.js +13 -5
- package/dist/core/virtual-projection.js.map +2 -2
- package/dist/export/archimate-exporter.js +1 -0
- package/dist/export/archimate-exporter.js.map +2 -2
- package/dist/generated/compiled-validators.js +2 -2
- package/dist/generated/compiled-validators.js.map +2 -2
- package/dist/generated/layer-registry.js +16 -16
- package/dist/generated/layer-registry.js.map +2 -2
- package/dist/generated/node-types.js +186 -168
- package/dist/generated/node-types.js.map +2 -2
- package/dist/generated/relationship-index.js +2236 -7790
- package/dist/generated/relationship-index.js.map +2 -2
- package/dist/integrations/claude_code/agents/dr-architect.md +16 -3
- package/dist/integrations/claude_code/agents/dr-extractor.md +1 -1
- package/dist/integrations/claude_code/commands/dr-analyzer.md +565 -0
- package/dist/integrations/claude_code/commands/dr-map.md +13 -0
- package/dist/integrations/claude_code/commands/dr-plan.md +40 -0
- package/dist/integrations/claude_code/commands/dr-relate.md +106 -96
- package/dist/integrations/claude_code/commands/dr-verify.md +45 -2
- package/dist/integrations/claude_code/docs/END_TO_END_WALKTHROUGH.md +14 -0
- package/dist/integrations/claude_code/docs/MCP_SERVER.md +26 -2
- package/dist/integrations/claude_code/docs/QUICK_START.md +37 -8
- package/dist/integrations/claude_code/docs/README.md +48 -1
- package/dist/integrations/claude_code/skills/dr_01_motivation_layer/SKILL.md +93 -72
- package/dist/integrations/claude_code/skills/dr_02_business_layer/SKILL.md +163 -126
- package/dist/integrations/claude_code/skills/dr_03_product_layer/SKILL.md +161 -126
- package/dist/integrations/claude_code/skills/dr_04_security_layer/SKILL.md +153 -133
- package/dist/integrations/claude_code/skills/dr_05_application_layer/SKILL.md +129 -100
- package/dist/integrations/claude_code/skills/dr_06_technology_layer/SKILL.md +111 -94
- package/dist/integrations/claude_code/skills/dr_07_api_layer/SKILL.md +143 -157
- package/dist/integrations/claude_code/skills/dr_08_data_model_layer/SKILL.md +117 -33
- package/dist/integrations/claude_code/skills/dr_09_dataset_layer/SKILL.md +74 -25
- package/dist/integrations/claude_code/skills/dr_10_ux_layer/SKILL.md +88 -12
- package/dist/integrations/claude_code/skills/dr_11_navigation_layer/SKILL.md +83 -24
- package/dist/integrations/claude_code/skills/dr_12_apm_layer/SKILL.md +57 -12
- package/dist/integrations/claude_code/skills/dr_13_testing_layer/SKILL.md +92 -15
- package/dist/integrations/claude_code/skills/dr_change_planning/SKILL.md +119 -0
- package/dist/integrations/claude_code/skills/dr_changeset_reviewer/SKILL.md +3 -0
- package/dist/integrations/claude_code/skills/dr_engineering_guide/SKILL.md +1 -1
- package/dist/integrations/github_copilot/agents/dr-architect.md +1 -1
- package/dist/integrations/github_copilot/skills/dr_01_motivation_layer/SKILL.md +182 -102
- package/dist/integrations/github_copilot/skills/dr_02_business_layer/SKILL.md +266 -148
- package/dist/integrations/github_copilot/skills/dr_03_product_layer/SKILL.md +547 -86
- package/dist/integrations/github_copilot/skills/dr_04_security_layer/SKILL.md +164 -169
- package/dist/integrations/github_copilot/skills/dr_05_application_layer/SKILL.md +420 -150
- package/dist/integrations/github_copilot/skills/dr_06_technology_layer/SKILL.md +331 -138
- package/dist/integrations/github_copilot/skills/dr_07_api_layer/SKILL.md +265 -201
- package/dist/integrations/github_copilot/skills/dr_08_data_model_layer/SKILL.md +181 -58
- package/dist/integrations/github_copilot/skills/dr_09_dataset_layer/SKILL.md +209 -57
- package/dist/integrations/github_copilot/skills/dr_10_ux_layer/SKILL.md +277 -112
- package/dist/integrations/github_copilot/skills/dr_11_navigation_layer/SKILL.md +219 -70
- package/dist/integrations/github_copilot/skills/dr_12_apm_layer/SKILL.md +189 -105
- package/dist/integrations/github_copilot/skills/dr_13_testing_layer/SKILL.md +222 -102
- package/dist/integrations/github_copilot/skills/dr_change_planning/SKILL.md +119 -0
- package/dist/integrations/github_copilot/skills/dr_changeset_reviewer/SKILL.md +3 -0
- package/dist/integrations/hash-utils.js.map +2 -2
- package/dist/mcp/api-key-manager.js +14 -1
- package/dist/mcp/api-key-manager.js.map +2 -2
- package/dist/mcp/changeset-only.js +34 -0
- package/dist/mcp/changeset-only.js.map +7 -0
- package/dist/mcp/tool-registry.js +19 -3
- package/dist/mcp/tool-registry.js.map +2 -2
- package/dist/mcp/tools/changeset-analysis-tools.js +78 -0
- package/dist/mcp/tools/changeset-analysis-tools.js.map +7 -0
- package/dist/mcp/tools/changeset-editing.js +184 -0
- package/dist/mcp/tools/changeset-editing.js.map +7 -0
- package/dist/mcp/tools/changeset-lifecycle.js +83 -0
- package/dist/mcp/tools/changeset-lifecycle.js.map +7 -0
- package/dist/mcp/tools/changeset-shared.js +31 -0
- package/dist/mcp/tools/changeset-shared.js.map +7 -0
- package/dist/mcp/tools/changeset-show.js +17 -1
- package/dist/mcp/tools/changeset-show.js.map +2 -2
- package/dist/mcp/tools/changeset-verify.js +43 -0
- package/dist/mcp/tools/changeset-verify.js.map +7 -0
- package/dist/mcp/tools/index.js +19 -1
- package/dist/mcp/tools/index.js.map +2 -2
- package/dist/mcp/tools/model-add.js +6 -5
- package/dist/mcp/tools/model-add.js.map +2 -2
- package/dist/mcp/tools/model-delete.js +2 -2
- package/dist/mcp/tools/model-delete.js.map +2 -2
- package/dist/mcp/tools/model-search.js +14 -0
- package/dist/mcp/tools/model-search.js.map +2 -2
- package/dist/mcp/tools/model-show.js +29 -2
- package/dist/mcp/tools/model-show.js.map +2 -2
- package/dist/mcp/tools/model-trace.js +93 -30
- package/dist/mcp/tools/model-trace.js.map +2 -2
- package/dist/mcp/tools/model-update.js +35 -19
- package/dist/mcp/tools/model-update.js.map +2 -2
- package/dist/mcp/tools/relationship-tools.js +98 -0
- package/dist/mcp/tools/relationship-tools.js.map +7 -0
- package/dist/mcp/tools/shared.js +25 -2
- package/dist/mcp/tools/shared.js.map +2 -2
- package/dist/mcp/tools/spec-type.js +90 -0
- package/dist/mcp/tools/spec-type.js.map +7 -0
- package/dist/schemas/bundled/analyzers/cbm.json +1186 -68
- package/dist/schemas/bundled/analyzers/manifest.json +2 -2
- package/dist/schemas/bundled/api.json +1029 -1658
- package/dist/schemas/bundled/apm.json +499 -734
- package/dist/schemas/bundled/application.json +735 -371
- package/dist/schemas/bundled/base.json +3 -220
- package/dist/schemas/bundled/business.json +452 -366
- package/dist/schemas/bundled/data-model.json +395 -411
- package/dist/schemas/bundled/data-store.json +334 -558
- package/dist/schemas/bundled/manifest.json +18 -18
- package/dist/schemas/bundled/motivation.json +349 -368
- package/dist/schemas/bundled/navigation.json +415 -731
- package/dist/schemas/bundled/product.json +325 -159
- package/dist/schemas/bundled/security.json +864 -1232
- package/dist/schemas/bundled/technology.json +574 -703
- package/dist/schemas/bundled/testing.json +718 -1643
- package/dist/schemas/bundled/ux.json +739 -1352
- package/dist/server/schemas.js +8 -0
- package/dist/server/schemas.js.map +2 -2
- package/dist/server/server.js +218 -34
- package/dist/server/server.js.map +2 -2
- package/dist/server-entry.js +2 -1
- package/dist/server-entry.js.map +2 -2
- package/dist/telemetry/index.js +1 -1
- package/dist/utils/ansi-suppressor.js +6 -8
- package/dist/utils/ansi-suppressor.js.map +2 -2
- package/dist/utils/attribute-patch.js +41 -0
- package/dist/utils/attribute-patch.js.map +7 -0
- package/dist/utils/error-hints.js +29 -0
- package/dist/utils/error-hints.js.map +7 -0
- package/dist/utils/errors.js +9 -3
- package/dist/utils/errors.js.map +2 -2
- package/dist/utils/project-paths.js +26 -1
- package/dist/utils/project-paths.js.map +2 -2
- package/dist/utils/source-reference.js +14 -12
- package/dist/utils/source-reference.js.map +2 -2
- package/dist/utils/spec-version.js +2 -2
- package/dist/utils/spec-version.js.map +1 -1
- package/dist/validators/composed-reference-validator.js +5 -27
- package/dist/validators/composed-reference-validator.js.map +2 -2
- package/dist/validators/reference-validator.js +0 -7
- package/dist/validators/reference-validator.js.map +2 -2
- package/dist/validators/relationship-schema-validator.js +3 -3
- package/dist/validators/relationship-schema-validator.js.map +2 -2
- package/dist/validators/schema-validator.js +27 -9
- package/dist/validators/schema-validator.js.map +2 -2
- package/dist/validators/types.js.map +1 -1
- package/dist/viewer/README.md +6 -6
- package/dist/viewer/assets/main-CxzcuU_o.js +84 -0
- package/dist/viewer/assets/main-j-7ULYpm.css +1 -0
- package/dist/viewer/index.html +2 -2
- package/dist/viewer/manifest.json +10 -10
- package/dist/viewer/version.json +1 -1
- package/package.json +2 -1
- package/dist/viewer/assets/main-B7AOQXXX.js +0 -81
- package/dist/viewer/assets/main-vdrFrG7q.css +0 -1
|
@@ -110,64 +110,85 @@ IS this a semantic definition, interpretation, or piece of knowledge attached to
|
|
|
110
110
|
|
|
111
111
|
## Intra-Layer Relationships
|
|
112
112
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
|
121
|
-
|
|
|
122
|
-
|
|
|
123
|
-
| Requirement | realizes |
|
|
124
|
-
| Requirement | realizes | Principle |
|
|
125
|
-
|
|
|
126
|
-
| Goal |
|
|
127
|
-
| Requirement |
|
|
128
|
-
|
|
|
129
|
-
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
|
134
|
-
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
|
143
|
-
|
|
|
144
|
-
| Stakeholder |
|
|
145
|
-
|
|
|
146
|
-
|
|
|
147
|
-
|
|
|
148
|
-
|
|
|
149
|
-
|
|
|
150
|
-
|
|
|
151
|
-
|
|
|
113
|
+
Note that the ArchiMate influence predicate is spelled `influence` (not `influences`).
|
|
114
|
+
|
|
115
|
+
### Realization and Decomposition
|
|
116
|
+
|
|
117
|
+
Requirements realize the outcomes, goals and principles they make concrete, and outcomes realize
|
|
118
|
+
goals. Decomposition is same-type only: `aggregates` for parts, `specializes` for variants.
|
|
119
|
+
|
|
120
|
+
| Source Type | Predicate | Target Type | Example |
|
|
121
|
+
| ----------- | ----------- | ----------- | ------------------------------------------------------------------- |
|
|
122
|
+
| Requirement | realizes | Goal | "API must respond in <200ms" realizes "Improve Performance" |
|
|
123
|
+
| Requirement | realizes | Outcome | "99.99% availability" realizes "Downtime Under 1h per Quarter" |
|
|
124
|
+
| Requirement | realizes | Principle | "Orders API uses OAuth 2.0" realizes "Security by Design" |
|
|
125
|
+
| Outcome | realizes | Goal | "Churn Reduced 10%" realizes "Improve Customer Satisfaction" |
|
|
126
|
+
| Goal | aggregates | Goal | "Improve Customer Satisfaction" aggregates "Reduce Response Time" |
|
|
127
|
+
| Requirement | aggregates | Requirement | "Secure User Data" requirement aggregates "Encrypt Data in Transit" |
|
|
128
|
+
| Outcome | aggregates | Outcome | "Global NPS 50" aggregates "EU NPS 50" |
|
|
129
|
+
| Stakeholder | aggregates | Stakeholder | "Finance" aggregates "Accounts Payable Team" |
|
|
130
|
+
| Value | aggregates | Value | "Lower Total Cost" aggregates "Lower Licence Cost" |
|
|
131
|
+
| Goal | specializes | Goal | "Reduce API Latency" specializes "Improve Performance" |
|
|
132
|
+
| Requirement | specializes | Requirement | "99.95% Uptime SLA" specializes "High Availability Requirement" |
|
|
133
|
+
| Constraint | specializes | Constraint | "EU-only Data Residency" specializes "Data Residency Constraint" |
|
|
134
|
+
| Constraint | constrains | Requirement | "Must use OAuth 2.0" constrains "User Authentication" |
|
|
135
|
+
|
|
136
|
+
### Influence and Association Relationships
|
|
137
|
+
|
|
138
|
+
`influence` is one motivation element shaping another. `associated-with` is kept for concerns
|
|
139
|
+
(stakeholders, assessments evaluating drivers) and interpretation: meaning and value are associated
|
|
140
|
+
with any concept and are always the source.
|
|
141
|
+
|
|
142
|
+
| Source Type | Predicate | Target Type | Example |
|
|
143
|
+
| ----------- | --------------- | ----------- | --------------------------------------------------------------------- |
|
|
144
|
+
| Stakeholder | influence | Goal | "CEO" influences "Reduce Operating Costs by 20%" |
|
|
145
|
+
| Driver | influence | Goal | "Digital Transformation" influences "Modernize Architecture" |
|
|
146
|
+
| Driver | influence | Requirement | "GDPR Regulation" influences "Right to Deletion" |
|
|
147
|
+
| Driver | influence | Principle | "Cloud-First Strategy" influences "Cloud-Native Architecture" |
|
|
148
|
+
| Driver | influence | Constraint | "GDPR Regulation" influences "EU-only Data Residency" |
|
|
149
|
+
| Assessment | influence | Goal | "Legacy System Debt" influences "Modernize Architecture" |
|
|
150
|
+
| Assessment | influence | Requirement | "Slow Checkout Weakness" influences "Checkout must complete in <2s" |
|
|
151
|
+
| Assessment | influence | Outcome | "Checkout p95 is 4s" influences "Checkout p95 Under 2s by Q3" |
|
|
152
|
+
| Goal | influence | Requirement | "Improve Security" influences "Enforce MFA for Admins" |
|
|
153
|
+
| Goal | influence | Principle | "Modernize Architecture" influences "Cloud-Native Architecture" |
|
|
154
|
+
| Principle | influence | Requirement | "API-First Design" influences "Every Feature Exposes an API" |
|
|
155
|
+
| Constraint | influence | Goal | "Fixed Q4 Budget" influences "Launch Mobile App by Q4" |
|
|
156
|
+
| Stakeholder | associated-with | Driver | "Head of Compliance" associated with "GDPR Regulation" |
|
|
157
|
+
| Stakeholder | associated-with | Requirement | "End Users" associated with "Offline Mode Support" |
|
|
158
|
+
| Assessment | associated-with | Driver | "GDPR Gap Analysis" associated with "GDPR Regulation" |
|
|
159
|
+
| Value | associated-with | Stakeholder | "Customer Loyalty" associated with "Customers" |
|
|
160
|
+
| Value | associated-with | Goal | "Customer Loyalty" associated with "Improve Customer Satisfaction" |
|
|
161
|
+
| Value | associated-with | Driver | "Faster Time to Market" associated with "Market Competition" |
|
|
162
|
+
| Meaning | associated-with | Value | "Definition of Customer Success" associated with "Customer Loyalty" |
|
|
163
|
+
| Meaning | associated-with | Requirement | "Definition of Session" associated with "Sessions Expire After 15min" |
|
|
152
164
|
|
|
153
165
|
---
|
|
154
166
|
|
|
155
167
|
## Cross-Layer References
|
|
156
168
|
|
|
157
|
-
**Motivation Layer is the
|
|
158
|
-
|
|
159
|
-
### Incoming References (
|
|
160
|
-
|
|
161
|
-
|
|
|
162
|
-
|
|
|
163
|
-
|
|
|
164
|
-
|
|
|
165
|
-
|
|
|
166
|
-
|
|
|
167
|
-
|
|
|
168
|
-
|
|
|
169
|
-
|
|
170
|
-
|
|
169
|
+
**Motivation Layer is the root of traceability.** The catalog defines no outgoing references from Motivation; elements in other layers point to motivation elements to justify WHY they exist and WHAT value they deliver.
|
|
170
|
+
|
|
171
|
+
### Incoming References (Other Layers → Motivation)
|
|
172
|
+
|
|
173
|
+
| Source Type | Predicate | Target Type | Example |
|
|
174
|
+
| --------------------------------- | ---------------- | ----------- | ------------------------------------------------------------------- |
|
|
175
|
+
| `business.businessservice` | realizes | Goal | "Online Ordering" realizes "Grow Digital Revenue" |
|
|
176
|
+
| `business.businessservice` | delivers | Value | "Same-Day Delivery" delivers "Customer Convenience" |
|
|
177
|
+
| `business.businessprocess` | satisfies | Requirement | "Refund Processing" satisfies "Refunds Issued Within 5 Days" |
|
|
178
|
+
| `business.businessactor` | references | Stakeholder | "Customer" actor references "Customers" stakeholder |
|
|
179
|
+
| `product.softwarecapability` | supports | Goal | "Self-Service Returns" supports "Reduce Support Costs" |
|
|
180
|
+
| `product.feature` | satisfies | Requirement | "Two-Factor Login" satisfies "Enforce MFA for Admins" |
|
|
181
|
+
| `product.persona` | references | Stakeholder | "Busy Parent Persona" references "Retail Customers" |
|
|
182
|
+
| `product.userworkflow` | delivers | Outcome | "Checkout Flow" delivers "Cart Abandonment Reduced 15%" |
|
|
183
|
+
| `security.securitypolicy` | satisfies | Principle | "Encryption Policy" satisfies "Security by Design" |
|
|
184
|
+
| `security.countermeasure` | satisfies | Requirement | "Rate Limiting" satisfies "Prevent Credential Stuffing" |
|
|
185
|
+
| `application.applicationservice` | realizes | Goal | "Recommendation Service" realizes "Increase Average Order Value" |
|
|
186
|
+
| `application.applicationfunction` | satisfies | Requirement | "Audit Logging" satisfies "Log All Admin Actions" |
|
|
187
|
+
| `technology.systemsoftware` | satisfies | Constraint | "PostgreSQL 15" satisfies "Approved Open-Source Databases Only" |
|
|
188
|
+
| `api.operation` | satisfies | Requirement | "POST /orders" satisfies "Orders Accepted via Public API" |
|
|
189
|
+
| `data-store.retentionpolicy` | satisfies | Constraint | "Purge PII After 30 Days" satisfies "GDPR Data Minimization" |
|
|
190
|
+
| `apm.metricinstrument` | measures-outcome | Outcome | "checkout.duration" metric measures "Checkout Under 2s Outcome" |
|
|
191
|
+
| `testing.testcoveragemodel` | satisfies | Requirement | "Checkout Coverage Model" satisfies "Checkout must complete in <2s" |
|
|
171
192
|
|
|
172
193
|
---
|
|
173
194
|
|
|
@@ -347,23 +368,23 @@ Connect motivation elements using predicates:
|
|
|
347
368
|
```bash
|
|
348
369
|
# Driver influences Goal
|
|
349
370
|
dr relationship add motivation.driver.cloud-migration-pressure \
|
|
350
|
-
motivation.goal.modernize-architecture --predicate
|
|
371
|
+
motivation.goal.modernize-architecture --predicate influence
|
|
351
372
|
|
|
352
|
-
# Goal
|
|
353
|
-
dr relationship add motivation.
|
|
354
|
-
motivation.
|
|
373
|
+
# Value associated with Goal (meaning and value are the source)
|
|
374
|
+
dr relationship add motivation.value.operational-efficiency \
|
|
375
|
+
motivation.goal.modernize-architecture --predicate associated-with
|
|
355
376
|
|
|
356
377
|
# Principle influences Requirement
|
|
357
378
|
dr relationship add motivation.principle.api-first-design \
|
|
358
|
-
motivation.requirement.api-authentication --predicate
|
|
379
|
+
motivation.requirement.api-authentication --predicate influence
|
|
359
380
|
|
|
360
381
|
# Stakeholder influences Goal
|
|
361
382
|
dr relationship add motivation.stakeholder.product-manager \
|
|
362
|
-
motivation.goal.modernize-architecture --predicate
|
|
383
|
+
motivation.goal.modernize-architecture --predicate influence
|
|
363
384
|
|
|
364
385
|
# Assessment influences Goal
|
|
365
386
|
dr relationship add motivation.assessment.legacy-system-debt \
|
|
366
|
-
motivation.goal.modernize-architecture --predicate
|
|
387
|
+
motivation.goal.modernize-architecture --predicate influence
|
|
367
388
|
```
|
|
368
389
|
|
|
369
390
|
### Step 6: Validate
|
|
@@ -394,30 +415,29 @@ Strategic Goal: "Improve Customer Satisfaction"
|
|
|
394
415
|
```
|
|
395
416
|
Business Requirement: "Secure User Data"
|
|
396
417
|
├── aggregates → Functional Requirement: "Encrypt Data at Rest"
|
|
397
|
-
│ └──
|
|
418
|
+
│ └── aggregates → Technical Requirement: "Use AES-256 Encryption"
|
|
398
419
|
├── aggregates → Functional Requirement: "Encrypt Data in Transit"
|
|
399
|
-
│ └──
|
|
420
|
+
│ └── aggregates → Technical Requirement: "Use TLS 1.3"
|
|
400
421
|
└── aggregates → Compliance Requirement: "GDPR Data Protection"
|
|
401
|
-
└──
|
|
422
|
+
└── aggregates → Technical Requirement: "Right to Deletion API"
|
|
402
423
|
```
|
|
403
424
|
|
|
404
425
|
### Pattern 3: Principle Application
|
|
405
426
|
|
|
406
427
|
```
|
|
407
428
|
Principle: "Cloud-Native Architecture"
|
|
408
|
-
├──
|
|
409
|
-
├──
|
|
410
|
-
|
|
411
|
-
└── realizes → Value: "Scalability and Resilience"
|
|
429
|
+
├── influence → Requirement: "Containerized Deployments"
|
|
430
|
+
├── influence → Requirement: "Stateless Services"
|
|
431
|
+
└── associated-with → Value: "Scalability and Resilience"
|
|
412
432
|
```
|
|
413
433
|
|
|
414
434
|
### Pattern 4: Stakeholder → Goal → Implementation Chain
|
|
415
435
|
|
|
416
436
|
```
|
|
417
437
|
Stakeholder: "CEO"
|
|
418
|
-
└──
|
|
419
|
-
├──
|
|
420
|
-
├──
|
|
438
|
+
└── influence → Goal: "Reduce Operating Costs by 20%"
|
|
439
|
+
├── influence → Requirement: "Automated CI/CD Pipeline"
|
|
440
|
+
├── influence → Principle: "Infrastructure as Code"
|
|
421
441
|
└── realizes → Value: "Financial Efficiency"
|
|
422
442
|
└── (lower layers reference this chain)
|
|
423
443
|
```
|
|
@@ -487,7 +507,7 @@ dr export archimate --layers motivation --output motivation.archimate
|
|
|
487
507
|
|
|
488
508
|
**Supported Relationships:**
|
|
489
509
|
|
|
490
|
-
- `aggregates`, `realizes`, `specializes`, `
|
|
510
|
+
- `aggregates`, `realizes`, `specializes`, `influence`, `associated-with`
|
|
491
511
|
|
|
492
512
|
---
|
|
493
513
|
|
|
@@ -535,10 +555,11 @@ dr add motivation constraint <name> --description <description>
|
|
|
535
555
|
**Relationship Commands:**
|
|
536
556
|
|
|
537
557
|
```bash
|
|
538
|
-
dr relationship add <source-id> <target-id> --predicate
|
|
558
|
+
dr relationship add <source-id> <target-id> --predicate influence
|
|
539
559
|
dr relationship add <source-id> <target-id> --predicate aggregates
|
|
540
560
|
dr relationship add <source-id> <target-id> --predicate realizes
|
|
541
561
|
dr relationship add <source-id> <target-id> --predicate specializes
|
|
562
|
+
dr relationship add <source-id> <target-id> --predicate associated-with
|
|
542
563
|
```
|
|
543
564
|
|
|
544
565
|
**Query Commands:**
|