@documentation-robotics/cli 0.1.0 → 0.1.5

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 (510) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +466 -693
  3. package/dist/analysis/data-model-analyzer.js +189 -0
  4. package/dist/analysis/data-model-analyzer.js.map +7 -0
  5. package/dist/analysis/index.js +3 -0
  6. package/dist/analysis/index.js.map +7 -0
  7. package/dist/analysis/relationship-classifier.js +181 -0
  8. package/dist/analysis/relationship-classifier.js.map +7 -0
  9. package/dist/analyzers/base-analyzer.js +1 -0
  10. package/dist/analyzers/base-analyzer.js.map +7 -0
  11. package/dist/analyzers/call-graph-utils.js +39 -0
  12. package/dist/analyzers/call-graph-utils.js.map +7 -0
  13. package/dist/analyzers/cbm-analyzer.js +1205 -0
  14. package/dist/analyzers/cbm-analyzer.js.map +7 -0
  15. package/dist/analyzers/heuristic-utils.js +55 -0
  16. package/dist/analyzers/heuristic-utils.js.map +7 -0
  17. package/dist/analyzers/mapping-loader.js +146 -0
  18. package/dist/analyzers/mapping-loader.js.map +7 -0
  19. package/dist/analyzers/registry.js +124 -0
  20. package/dist/analyzers/registry.js.map +7 -0
  21. package/dist/analyzers/session-state.js +176 -0
  22. package/dist/analyzers/session-state.js.map +7 -0
  23. package/dist/analyzers/stdio-client.js +206 -0
  24. package/dist/analyzers/stdio-client.js.map +7 -0
  25. package/dist/analyzers/types.js +15 -0
  26. package/dist/analyzers/types.js.map +7 -0
  27. package/dist/analyzers/verify-engine.js +209 -0
  28. package/dist/analyzers/verify-engine.js.map +7 -0
  29. package/dist/analyzers/verify-ignore.js +130 -0
  30. package/dist/analyzers/verify-ignore.js.map +7 -0
  31. package/dist/analyzers/version.js +8 -0
  32. package/dist/analyzers/version.js.map +7 -0
  33. package/dist/audit/ai/runner.js +41 -0
  34. package/dist/audit/ai/runner.js.map +7 -0
  35. package/dist/audit/differential-analyzer.js +183 -0
  36. package/dist/audit/differential-analyzer.js.map +7 -0
  37. package/dist/audit/index.js +32 -0
  38. package/dist/audit/index.js.map +7 -0
  39. package/dist/audit/nodes/ai/evaluator.js +49 -0
  40. package/dist/audit/nodes/ai/evaluator.js.map +7 -0
  41. package/dist/audit/nodes/ai/parser.js +55 -0
  42. package/dist/audit/nodes/ai/parser.js.map +7 -0
  43. package/dist/audit/nodes/ai/prompts.js +103 -0
  44. package/dist/audit/nodes/ai/prompts.js.map +7 -0
  45. package/dist/audit/nodes/analysis/node-completeness-checker.js +32 -0
  46. package/dist/audit/nodes/analysis/node-completeness-checker.js.map +7 -0
  47. package/dist/audit/nodes/analysis/node-definition-analyzer.js +47 -0
  48. package/dist/audit/nodes/analysis/node-definition-analyzer.js.map +7 -0
  49. package/dist/audit/nodes/analysis/node-overlap-detector.js +79 -0
  50. package/dist/audit/nodes/analysis/node-overlap-detector.js.map +7 -0
  51. package/dist/audit/nodes/model/orchestrator.js +82 -0
  52. package/dist/audit/nodes/model/orchestrator.js.map +7 -0
  53. package/dist/audit/nodes/spec/loader.js +116 -0
  54. package/dist/audit/nodes/spec/loader.js.map +7 -0
  55. package/dist/audit/nodes/spec/orchestrator.js +68 -0
  56. package/dist/audit/nodes/spec/orchestrator.js.map +7 -0
  57. package/dist/audit/nodes/types.js +1 -0
  58. package/dist/audit/nodes/types.js.map +7 -0
  59. package/dist/audit/pipeline/index.js +5 -0
  60. package/dist/audit/pipeline/index.js.map +7 -0
  61. package/dist/audit/pipeline/pipeline-orchestrator.js +218 -0
  62. package/dist/audit/pipeline/pipeline-orchestrator.js.map +7 -0
  63. package/dist/audit/relationships/ai/evaluator.js +235 -0
  64. package/dist/audit/relationships/ai/evaluator.js.map +7 -0
  65. package/dist/audit/relationships/ai/parser.js +197 -0
  66. package/dist/audit/relationships/ai/parser.js.map +7 -0
  67. package/dist/audit/relationships/ai/prompts.js +274 -0
  68. package/dist/audit/relationships/ai/prompts.js.map +7 -0
  69. package/dist/audit/relationships/analysis/balance-assessor.js +115 -0
  70. package/dist/audit/relationships/analysis/balance-assessor.js.map +7 -0
  71. package/dist/audit/relationships/analysis/coverage-analyzer.js +99 -0
  72. package/dist/audit/relationships/analysis/coverage-analyzer.js.map +7 -0
  73. package/dist/audit/relationships/analysis/duplicate-detector.js +95 -0
  74. package/dist/audit/relationships/analysis/duplicate-detector.js.map +7 -0
  75. package/dist/audit/relationships/analysis/gap-analyzer.js +99 -0
  76. package/dist/audit/relationships/analysis/gap-analyzer.js.map +7 -0
  77. package/dist/audit/relationships/analysis/layer-templates.js +294 -0
  78. package/dist/audit/relationships/analysis/layer-templates.js.map +7 -0
  79. package/dist/audit/relationships/graph/connectivity.js +129 -0
  80. package/dist/audit/relationships/graph/connectivity.js.map +7 -0
  81. package/dist/audit/relationships/graph/relationship-graph.js +179 -0
  82. package/dist/audit/relationships/graph/relationship-graph.js.map +7 -0
  83. package/dist/audit/relationships/model/balance-assessor.js +49 -0
  84. package/dist/audit/relationships/model/balance-assessor.js.map +7 -0
  85. package/dist/audit/relationships/model/coverage-analyzer.js +34 -0
  86. package/dist/audit/relationships/model/coverage-analyzer.js.map +7 -0
  87. package/dist/audit/relationships/model/duplicate-detector.js +68 -0
  88. package/dist/audit/relationships/model/duplicate-detector.js.map +7 -0
  89. package/dist/audit/relationships/model/gap-analyzer.js +41 -0
  90. package/dist/audit/relationships/model/gap-analyzer.js.map +7 -0
  91. package/dist/audit/relationships/model/orchestrator.js +126 -0
  92. package/dist/audit/relationships/model/orchestrator.js.map +7 -0
  93. package/dist/audit/relationships/spec/orchestrator.js +157 -0
  94. package/dist/audit/relationships/spec/orchestrator.js.map +7 -0
  95. package/dist/audit/reports/index.js +5 -0
  96. package/dist/audit/reports/index.js.map +7 -0
  97. package/dist/audit/reports/report-generator.js +118 -0
  98. package/dist/audit/reports/report-generator.js.map +7 -0
  99. package/dist/audit/snapshot-storage.js +163 -0
  100. package/dist/audit/snapshot-storage.js.map +7 -0
  101. package/dist/audit/types.js +21 -0
  102. package/dist/audit/types.js.map +7 -0
  103. package/dist/cli.js +223 -92
  104. package/dist/cli.js.map +3 -3
  105. package/dist/coding-agents/agents/claude-code.js +147 -0
  106. package/dist/coding-agents/agents/claude-code.js.map +7 -0
  107. package/dist/coding-agents/agents/index.js +5 -0
  108. package/dist/coding-agents/agents/index.js.map +7 -0
  109. package/dist/coding-agents/agents/types.js +1 -0
  110. package/dist/coding-agents/agents/types.js.map +7 -0
  111. package/dist/coding-agents/base-chat-client.js +45 -0
  112. package/dist/coding-agents/base-chat-client.js.map +7 -0
  113. package/dist/coding-agents/chat-utils.js +23 -0
  114. package/dist/coding-agents/chat-utils.js.map +7 -0
  115. package/dist/coding-agents/claude-code-client.js +246 -0
  116. package/dist/coding-agents/claude-code-client.js.map +7 -0
  117. package/dist/coding-agents/copilot-client.js +209 -0
  118. package/dist/coding-agents/copilot-client.js.map +7 -0
  119. package/dist/commands/add.js +95 -33
  120. package/dist/commands/add.js.map +2 -2
  121. package/dist/commands/analyzer.js +511 -0
  122. package/dist/commands/analyzer.js.map +7 -0
  123. package/dist/commands/audit-diff.js +49 -0
  124. package/dist/commands/audit-diff.js.map +7 -0
  125. package/dist/commands/audit-snapshots.js +62 -0
  126. package/dist/commands/audit-snapshots.js.map +7 -0
  127. package/dist/commands/audit.js +81 -0
  128. package/dist/commands/audit.js.map +7 -0
  129. package/dist/commands/catalog.js +248 -0
  130. package/dist/commands/catalog.js.map +7 -0
  131. package/dist/commands/changeset.js +577 -66
  132. package/dist/commands/changeset.js.map +2 -2
  133. package/dist/commands/chat.js +106 -83
  134. package/dist/commands/chat.js.map +2 -2
  135. package/dist/commands/claude.js +74 -0
  136. package/dist/commands/claude.js.map +7 -0
  137. package/dist/commands/conformance.js +71 -68
  138. package/dist/commands/conformance.js.map +2 -2
  139. package/dist/commands/copilot.js +75 -0
  140. package/dist/commands/copilot.js.map +7 -0
  141. package/dist/commands/delete.js +125 -11
  142. package/dist/commands/delete.js.map +3 -3
  143. package/dist/commands/discover-logic.js +44 -0
  144. package/dist/commands/discover-logic.js.map +7 -0
  145. package/dist/commands/docs.js +87 -0
  146. package/dist/commands/docs.js.map +7 -0
  147. package/dist/commands/element.js +14 -20
  148. package/dist/commands/element.js.map +2 -2
  149. package/dist/commands/export.js +13 -3
  150. package/dist/commands/export.js.map +2 -2
  151. package/dist/commands/import.js +51 -0
  152. package/dist/commands/import.js.map +7 -0
  153. package/dist/commands/info.js +30 -24
  154. package/dist/commands/info.js.map +2 -2
  155. package/dist/commands/init.js +27 -11
  156. package/dist/commands/init.js.map +2 -2
  157. package/dist/commands/list.js +63 -13
  158. package/dist/commands/list.js.map +3 -3
  159. package/dist/commands/relationship.js +225 -37
  160. package/dist/commands/relationship.js.map +2 -2
  161. package/dist/commands/report.js +54 -0
  162. package/dist/commands/report.js.map +7 -0
  163. package/dist/commands/reports.js +45 -0
  164. package/dist/commands/reports.js.map +7 -0
  165. package/dist/commands/schema.js +135 -0
  166. package/dist/commands/schema.js.map +7 -0
  167. package/dist/commands/search.js +40 -12
  168. package/dist/commands/search.js.map +2 -2
  169. package/dist/commands/show.js +58 -27
  170. package/dist/commands/show.js.map +2 -2
  171. package/dist/commands/stats.js +35 -0
  172. package/dist/commands/stats.js.map +7 -0
  173. package/dist/commands/trace.js +39 -16
  174. package/dist/commands/trace.js.map +2 -2
  175. package/dist/commands/update.js +141 -14
  176. package/dist/commands/update.js.map +2 -2
  177. package/dist/commands/upgrade.js +210 -46
  178. package/dist/commands/upgrade.js.map +3 -3
  179. package/dist/commands/validate.js +142 -23
  180. package/dist/commands/validate.js.map +3 -3
  181. package/dist/commands/version.js +8 -12
  182. package/dist/commands/version.js.map +2 -2
  183. package/dist/commands/visualize.js +155 -25
  184. package/dist/commands/visualize.js.map +2 -2
  185. package/dist/core/base-snapshot-manager.js +84 -0
  186. package/dist/core/base-snapshot-manager.js.map +7 -0
  187. package/dist/core/changeset-exporter.js +305 -0
  188. package/dist/core/changeset-exporter.js.map +7 -0
  189. package/dist/core/changeset-validator.js +41 -0
  190. package/dist/core/changeset-validator.js.map +7 -0
  191. package/dist/core/changeset.js +88 -173
  192. package/dist/core/changeset.js.map +2 -2
  193. package/dist/core/dependency-tracker.js +4 -2
  194. package/dist/core/dependency-tracker.js.map +2 -2
  195. package/dist/core/element.js +98 -27
  196. package/dist/core/element.js.map +2 -2
  197. package/dist/core/golden-copy-cache.js +290 -0
  198. package/dist/core/golden-copy-cache.js.map +7 -0
  199. package/dist/core/graph-model.js +266 -0
  200. package/dist/core/graph-model.js.map +7 -0
  201. package/dist/core/layer.js +159 -16
  202. package/dist/core/layer.js.map +2 -2
  203. package/dist/core/layers.js +32 -0
  204. package/dist/core/layers.js.map +7 -0
  205. package/dist/core/manifest.js +32 -11
  206. package/dist/core/manifest.js.map +2 -2
  207. package/dist/core/migration-registry.js +56 -1
  208. package/dist/core/migration-registry.js.map +2 -2
  209. package/dist/core/model.js +424 -217
  210. package/dist/core/model.js.map +3 -3
  211. package/dist/core/mutation-handler.js +179 -0
  212. package/dist/core/mutation-handler.js.map +7 -0
  213. package/dist/core/reference-registry.js +29 -21
  214. package/dist/core/reference-registry.js.map +2 -2
  215. package/dist/core/relationship-catalog.js +189 -0
  216. package/dist/core/relationship-catalog.js.map +7 -0
  217. package/dist/core/relationship-registry.js.map +2 -2
  218. package/dist/core/relationships.js.map +1 -1
  219. package/dist/core/report-data-model.js +285 -0
  220. package/dist/core/report-data-model.js.map +7 -0
  221. package/dist/core/spec-data-service.js +185 -0
  222. package/dist/core/spec-data-service.js.map +7 -0
  223. package/dist/core/spec-loader-types.js +1 -0
  224. package/dist/core/spec-loader-types.js.map +7 -0
  225. package/dist/core/spec-loader.js +234 -0
  226. package/dist/core/spec-loader.js.map +7 -0
  227. package/dist/core/staged-changeset-storage.js +282 -0
  228. package/dist/core/staged-changeset-storage.js.map +7 -0
  229. package/dist/core/staging-area.js +1002 -0
  230. package/dist/core/staging-area.js.map +7 -0
  231. package/dist/core/stats-collector.js +169 -0
  232. package/dist/core/stats-collector.js.map +7 -0
  233. package/dist/core/virtual-projection.js +443 -0
  234. package/dist/core/virtual-projection.js.map +7 -0
  235. package/dist/export/archimate-exporter.js +99 -60
  236. package/dist/export/archimate-exporter.js.map +2 -2
  237. package/dist/export/audit-formatters.js +479 -0
  238. package/dist/export/audit-formatters.js.map +7 -0
  239. package/dist/export/diff-formatters.js +99 -0
  240. package/dist/export/diff-formatters.js.map +7 -0
  241. package/dist/export/export-manager.js.map +2 -2
  242. package/dist/export/graphml-exporter.js +44 -27
  243. package/dist/export/graphml-exporter.js.map +2 -2
  244. package/dist/export/index.js +4 -0
  245. package/dist/export/index.js.map +2 -2
  246. package/dist/export/json-schema-exporter.js +55 -42
  247. package/dist/export/json-schema-exporter.js.map +2 -2
  248. package/dist/export/markdown-exporter.js +92 -70
  249. package/dist/export/markdown-exporter.js.map +2 -2
  250. package/dist/export/markdown-generator.js +248 -0
  251. package/dist/export/markdown-generator.js.map +7 -0
  252. package/dist/export/markdown-utils.js +30 -0
  253. package/dist/export/markdown-utils.js.map +7 -0
  254. package/dist/export/mermaid-markdown-exporter.js +37 -0
  255. package/dist/export/mermaid-markdown-exporter.js.map +7 -0
  256. package/dist/export/openapi-exporter.js +119 -71
  257. package/dist/export/openapi-exporter.js.map +2 -2
  258. package/dist/export/plantuml-exporter.js +104 -39
  259. package/dist/export/plantuml-exporter.js.map +2 -2
  260. package/dist/export/report-formatters.js +111 -0
  261. package/dist/export/report-formatters.js.map +7 -0
  262. package/dist/export/stats-formatters.js +98 -0
  263. package/dist/export/stats-formatters.js.map +7 -0
  264. package/dist/export/types.js +2 -14
  265. package/dist/export/types.js.map +2 -2
  266. package/dist/export/verify-formatters.js +153 -0
  267. package/dist/export/verify-formatters.js.map +7 -0
  268. package/dist/generated/compiled-validators.js +17 -0
  269. package/dist/generated/compiled-validators.js.map +7 -0
  270. package/dist/generated/index.js +31 -0
  271. package/dist/generated/index.js.map +7 -0
  272. package/dist/generated/layer-registry.js +190 -0
  273. package/dist/generated/layer-registry.js.map +7 -0
  274. package/dist/generated/layer-types.js +7 -0
  275. package/dist/generated/layer-types.js.map +7 -0
  276. package/dist/generated/node-types.js +1719 -0
  277. package/dist/generated/node-types.js.map +7 -0
  278. package/dist/generated/relationship-index.js +14552 -0
  279. package/dist/generated/relationship-index.js.map +7 -0
  280. package/dist/import/archimate-importer.js +166 -0
  281. package/dist/import/archimate-importer.js.map +7 -0
  282. package/dist/import/index.js +47 -0
  283. package/dist/import/index.js.map +7 -0
  284. package/dist/import/openapi-importer.js +143 -0
  285. package/dist/import/openapi-importer.js.map +7 -0
  286. package/dist/import/types.js +1 -0
  287. package/dist/import/types.js.map +7 -0
  288. package/dist/integrations/base-manager.js +311 -0
  289. package/dist/integrations/base-manager.js.map +7 -0
  290. package/dist/integrations/claude-manager.js +360 -0
  291. package/dist/integrations/claude-manager.js.map +7 -0
  292. package/dist/integrations/claude_code/agents/dr-advisor.md +253 -0
  293. package/dist/integrations/claude_code/agents/dr-architect.md +278 -0
  294. package/dist/integrations/claude_code/agents/dr-extractor.md +286 -0
  295. package/dist/integrations/claude_code/commands/dr-changeset.md +657 -0
  296. package/dist/integrations/claude_code/commands/dr-design.md +373 -0
  297. package/dist/integrations/claude_code/commands/dr-info.md +132 -0
  298. package/dist/integrations/claude_code/commands/dr-init.md +251 -0
  299. package/dist/integrations/claude_code/commands/dr-map.md +936 -0
  300. package/dist/integrations/claude_code/commands/dr-model.md +493 -0
  301. package/dist/integrations/claude_code/commands/dr-relate.md +814 -0
  302. package/dist/integrations/claude_code/commands/dr-sync.md +279 -0
  303. package/dist/integrations/claude_code/commands/dr-validate.md +654 -0
  304. package/dist/integrations/claude_code/commands/dr-verify.md +559 -0
  305. package/dist/integrations/claude_code/docs/END_TO_END_WALKTHROUGH.md +903 -0
  306. package/dist/integrations/claude_code/docs/QUICK_START.md +271 -0
  307. package/dist/integrations/claude_code/docs/README.md +347 -0
  308. package/dist/integrations/claude_code/skills/dr_01_motivation_layer/SKILL.md +550 -0
  309. package/dist/integrations/claude_code/skills/dr_02_business_layer/SKILL.md +620 -0
  310. package/dist/integrations/claude_code/skills/dr_03_security_layer/SKILL.md +642 -0
  311. package/dist/integrations/claude_code/skills/dr_04_application_layer/SKILL.md +911 -0
  312. package/dist/integrations/claude_code/skills/dr_05_technology_layer/SKILL.md +836 -0
  313. package/dist/integrations/claude_code/skills/dr_06_api_layer/SKILL.md +933 -0
  314. package/dist/integrations/claude_code/skills/dr_07_data_model_layer/SKILL.md +210 -0
  315. package/dist/integrations/claude_code/skills/dr_08_dataset_layer/SKILL.md +319 -0
  316. package/dist/integrations/claude_code/skills/dr_09_ux_layer/SKILL.md +319 -0
  317. package/dist/integrations/claude_code/skills/dr_10_navigation_layer/SKILL.md +318 -0
  318. package/dist/integrations/claude_code/skills/dr_11_apm_layer/SKILL.md +273 -0
  319. package/dist/integrations/claude_code/skills/dr_12_testing_layer/SKILL.md +273 -0
  320. package/dist/integrations/claude_code/skills/dr_changeset_reviewer/SKILL.md +187 -0
  321. package/dist/integrations/claude_code/skills/dr_codebase_memory/SKILL.md +590 -0
  322. package/dist/integrations/claude_code/skills/dr_engineering_guide/SKILL.md +295 -0
  323. package/dist/integrations/copilot-manager.js +328 -0
  324. package/dist/integrations/copilot-manager.js.map +7 -0
  325. package/dist/integrations/github_copilot/agents/dr-advisor.md +243 -0
  326. package/dist/integrations/github_copilot/agents/dr-architect.md +1567 -0
  327. package/dist/integrations/github_copilot/skills/dr_01_motivation_layer/SKILL.md +491 -0
  328. package/dist/integrations/github_copilot/skills/dr_02_business_layer/SKILL.md +539 -0
  329. package/dist/integrations/github_copilot/skills/dr_03_security_layer/SKILL.md +667 -0
  330. package/dist/integrations/github_copilot/skills/dr_04_application_layer/SKILL.md +670 -0
  331. package/dist/integrations/github_copilot/skills/dr_05_technology_layer/SKILL.md +660 -0
  332. package/dist/integrations/github_copilot/skills/dr_06_api_layer/SKILL.md +855 -0
  333. package/dist/integrations/github_copilot/skills/dr_07_data_model_layer/SKILL.md +171 -0
  334. package/dist/integrations/github_copilot/skills/dr_08_dataset_layer/SKILL.md +216 -0
  335. package/dist/integrations/github_copilot/skills/dr_09_ux_layer/SKILL.md +230 -0
  336. package/dist/integrations/github_copilot/skills/dr_10_navigation_layer/SKILL.md +228 -0
  337. package/dist/integrations/github_copilot/skills/dr_11_apm_layer/SKILL.md +234 -0
  338. package/dist/integrations/github_copilot/skills/dr_12_testing_layer/SKILL.md +230 -0
  339. package/dist/integrations/github_copilot/skills/dr_changeset_reviewer/SKILL.md +187 -0
  340. package/dist/integrations/hash-utils.js +51 -0
  341. package/dist/integrations/hash-utils.js.map +7 -0
  342. package/dist/integrations/types.js +16 -0
  343. package/dist/integrations/types.js.map +7 -0
  344. package/dist/reports/model-layer-report-generator.js +278 -0
  345. package/dist/reports/model-layer-report-generator.js.map +7 -0
  346. package/dist/reports/model-report-data.js +57 -0
  347. package/dist/reports/model-report-data.js.map +7 -0
  348. package/dist/reports/model-report-orchestrator.js +103 -0
  349. package/dist/reports/model-report-orchestrator.js.map +7 -0
  350. package/dist/schemas/bundled/analyzers/cbm.json +595 -0
  351. package/dist/schemas/bundled/analyzers/manifest.json +9 -0
  352. package/dist/schemas/bundled/api.json +3411 -0
  353. package/dist/schemas/bundled/apm.json +2371 -0
  354. package/dist/schemas/bundled/application.json +1253 -0
  355. package/dist/schemas/bundled/base.json +1622 -0
  356. package/dist/schemas/bundled/business.json +1279 -0
  357. package/dist/schemas/bundled/data-model.json +1298 -0
  358. package/dist/schemas/bundled/data-store.json +2025 -0
  359. package/dist/schemas/bundled/manifest.json +93 -0
  360. package/dist/schemas/bundled/motivation.json +1360 -0
  361. package/dist/schemas/bundled/navigation.json +1874 -0
  362. package/dist/schemas/bundled/security.json +3488 -0
  363. package/dist/schemas/bundled/technology.json +2067 -0
  364. package/dist/schemas/bundled/testing.json +3120 -0
  365. package/dist/schemas/bundled/ux.json +3592 -0
  366. package/dist/server/schemas.js +202 -0
  367. package/dist/server/schemas.js.map +7 -0
  368. package/dist/server/server.js +1336 -252
  369. package/dist/server/server.js.map +3 -3
  370. package/dist/server/telemetry-middleware.js +22 -15
  371. package/dist/server/telemetry-middleware.js.map +2 -2
  372. package/dist/server-entry.js +65 -0
  373. package/dist/server-entry.js.map +7 -0
  374. package/dist/telemetry/config.js +89 -0
  375. package/dist/telemetry/config.js.map +7 -0
  376. package/dist/telemetry/console-interceptor.js.map +1 -1
  377. package/dist/telemetry/detect.js +24 -0
  378. package/dist/telemetry/detect.js.map +7 -0
  379. package/dist/telemetry/fetch-otlp-exporter.js +112 -0
  380. package/dist/telemetry/fetch-otlp-exporter.js.map +7 -0
  381. package/dist/telemetry/index.js +153 -3
  382. package/dist/telemetry/index.js.map +2 -2
  383. package/dist/telemetry/resilient-exporter.js +22 -8
  384. package/dist/telemetry/resilient-exporter.js.map +2 -2
  385. package/dist/telemetry/resilient-log-exporter.js +17 -8
  386. package/dist/telemetry/resilient-log-exporter.js.map +2 -2
  387. package/dist/telemetry/test-instrumentation.js.map +2 -2
  388. package/dist/types/index.js +84 -0
  389. package/dist/types/index.js.map +3 -3
  390. package/dist/types/source-reference.js +1 -0
  391. package/dist/types/source-reference.js.map +7 -0
  392. package/dist/utils/chat-logger.js +292 -0
  393. package/dist/utils/chat-logger.js.map +7 -0
  394. package/dist/utils/claude-stream.js +8 -0
  395. package/dist/utils/claude-stream.js.map +7 -0
  396. package/dist/utils/date-utils.js +7 -0
  397. package/dist/utils/date-utils.js.map +7 -0
  398. package/dist/utils/element-utils.js.map +1 -1
  399. package/dist/utils/errors.js +88 -15
  400. package/dist/utils/errors.js.map +3 -3
  401. package/dist/utils/export-python-annotations.js +82 -0
  402. package/dist/utils/export-python-annotations.js.map +7 -0
  403. package/dist/utils/file-io.js +7 -2
  404. package/dist/utils/file-io.js.map +2 -2
  405. package/dist/utils/file-lock.js +156 -0
  406. package/dist/utils/file-lock.js.map +7 -0
  407. package/dist/utils/id-generator.js +18 -0
  408. package/dist/utils/id-generator.js.map +7 -0
  409. package/dist/utils/layer-name-formatter.js +16 -0
  410. package/dist/utils/layer-name-formatter.js.map +7 -0
  411. package/dist/utils/markdown-anchor.js +7 -0
  412. package/dist/utils/markdown-anchor.js.map +7 -0
  413. package/dist/utils/markdown-link.js +12 -0
  414. package/dist/utils/markdown-link.js.map +7 -0
  415. package/dist/utils/markdown-table.js +17 -0
  416. package/dist/utils/markdown-table.js.map +7 -0
  417. package/dist/utils/mermaid-utils.js +11 -0
  418. package/dist/utils/mermaid-utils.js.map +7 -0
  419. package/dist/utils/project-paths.js.map +2 -2
  420. package/dist/utils/source-reference.js +52 -0
  421. package/dist/utils/source-reference.js.map +7 -0
  422. package/dist/utils/spec-installer.js +40 -53
  423. package/dist/utils/spec-installer.js.map +2 -2
  424. package/dist/utils/spec-version.js +5 -1
  425. package/dist/utils/spec-version.js.map +2 -2
  426. package/dist/utils/string-utils.js +12 -0
  427. package/dist/utils/string-utils.js.map +7 -0
  428. package/dist/utils/table-formatting.js +19 -0
  429. package/dist/utils/table-formatting.js.map +7 -0
  430. package/dist/validators/index.js +4 -0
  431. package/dist/validators/index.js.map +2 -2
  432. package/dist/validators/naming-validator.js +20 -23
  433. package/dist/validators/naming-validator.js.map +2 -2
  434. package/dist/validators/reference-validator.js +23 -38
  435. package/dist/validators/reference-validator.js.map +2 -2
  436. package/dist/validators/relationship-schema-validator.js +243 -0
  437. package/dist/validators/relationship-schema-validator.js.map +7 -0
  438. package/dist/validators/schema-validator.js +168 -68
  439. package/dist/validators/schema-validator.js.map +2 -2
  440. package/dist/validators/semantic-validator.js +36 -60
  441. package/dist/validators/semantic-validator.js.map +2 -2
  442. package/dist/validators/types.js.map +2 -2
  443. package/dist/validators/validation-formatter.js +159 -0
  444. package/dist/validators/validation-formatter.js.map +7 -0
  445. package/dist/validators/validator.js +24 -38
  446. package/dist/validators/validator.js.map +2 -2
  447. package/dist/viewer/README.md +139 -0
  448. package/dist/viewer/assets/main-CY0Xufuj.css +1 -0
  449. package/dist/viewer/assets/main-DtgErnwF.js +81 -0
  450. package/dist/viewer/assets/vendor-CxKvDp2x.js +17 -0
  451. package/dist/viewer/favicon.svg +11 -0
  452. package/dist/viewer/fonts/inter/Inter-Black.woff2 +0 -0
  453. package/dist/viewer/fonts/inter/Inter-Bold.woff2 +0 -0
  454. package/dist/viewer/fonts/inter/Inter-ExtraBold.woff2 +0 -0
  455. package/dist/viewer/fonts/inter/Inter-Light.woff2 +0 -0
  456. package/dist/viewer/fonts/inter/Inter-Medium.woff2 +0 -0
  457. package/dist/viewer/fonts/inter/Inter-Regular.woff2 +0 -0
  458. package/dist/viewer/fonts/inter/Inter-SemiBold.woff2 +0 -0
  459. package/dist/viewer/fonts/jetbrains-mono/JetBrainsMono-Medium.woff2 +0 -0
  460. package/dist/viewer/fonts/jetbrains-mono/JetBrainsMono-Regular.woff2 +0 -0
  461. package/dist/viewer/fonts/jetbrains-mono/JetBrainsMono-SemiBold.woff2 +0 -0
  462. package/dist/viewer/index.html +15 -0
  463. package/dist/viewer/manifest.json +99 -0
  464. package/dist/viewer/version.json +1 -0
  465. package/package.json +37 -13
  466. package/PYTHON_CLI_PARITY.md +0 -265
  467. package/PYTHON_CLI_STRUCTURE_UPDATE.md +0 -246
  468. package/biome.json +0 -42
  469. package/bunfig.toml +0 -3
  470. package/dist/ai/claude-client.js +0 -71
  471. package/dist/ai/claude-client.js.map +0 -7
  472. package/dist/ai/context-provider.js +0 -129
  473. package/dist/ai/context-provider.js.map +0 -7
  474. package/dist/ai/tools.js +0 -231
  475. package/dist/ai/tools.js.map +0 -7
  476. package/dist/commands/migrate.js +0 -36
  477. package/dist/commands/migrate.js.map +0 -7
  478. package/dist/commands/project.js +0 -74
  479. package/dist/commands/project.js.map +0 -7
  480. package/dist/core/active-changeset.js +0 -52
  481. package/dist/core/active-changeset.js.map +0 -7
  482. package/dist/core/projection-engine.js +0 -288
  483. package/dist/core/projection-engine.js.map +0 -7
  484. package/dist/schemas/bundled/01-motivation-layer.schema.json +0 -942
  485. package/dist/schemas/bundled/02-business-layer.schema.json +0 -1293
  486. package/dist/schemas/bundled/03-security-layer.schema.json +0 -2177
  487. package/dist/schemas/bundled/04-application-layer.schema.json +0 -1328
  488. package/dist/schemas/bundled/05-technology-layer.schema.json +0 -1465
  489. package/dist/schemas/bundled/06-api-layer.schema.json +0 -1743
  490. package/dist/schemas/bundled/07-data-model-layer.schema.json +0 -1253
  491. package/dist/schemas/bundled/08-datastore-layer.schema.json +0 -892
  492. package/dist/schemas/bundled/09-ux-layer.schema.json +0 -1506
  493. package/dist/schemas/bundled/10-navigation-layer.schema.json +0 -843
  494. package/dist/schemas/bundled/11-apm-observability-layer.schema.json +0 -1430
  495. package/dist/schemas/bundled/12-testing-layer.schema.json +0 -1091
  496. package/dist/schemas/bundled/common/layer-extensions.schema.json +0 -266
  497. package/dist/schemas/bundled/common/predicates.schema.json +0 -493
  498. package/dist/schemas/bundled/common/relationships.schema.json +0 -791
  499. package/dist/schemas/bundled/common/source-references.schema.json +0 -71
  500. package/dist/schemas/bundled/link-registry.json +0 -1839
  501. package/dist/schemas/bundled/link-registry.schema.json +0 -339
  502. package/dist/schemas/bundled/relationship-catalog.json +0 -1302
  503. package/dist/schemas/bundled/relationship-type.schema.json +0 -221
  504. package/dist/utils/model-path.js +0 -22
  505. package/dist/utils/model-path.js.map +0 -7
  506. package/docs/TEST-INSTRUMENTATION.md +0 -405
  507. package/docs/telemetry.md +0 -427
  508. package/test-debug.js +0 -33
  509. package/test-special.mjs +0 -46
  510. package/test_runner.ts +0 -7
@@ -0,0 +1,491 @@
1
+ ---
2
+ name: LAYER_01_MOTIV
3
+ description: Expert knowledge for Motivation Layer modeling in Documentation Robotics
4
+ triggers:
5
+ [
6
+ "stakeholder",
7
+ "driver",
8
+ "assessment",
9
+ "goal",
10
+ "outcome",
11
+ "principle",
12
+ "requirement",
13
+ "constraint",
14
+ "motivation",
15
+ "archimate motivation"
16
+ ]
17
+ version: 0.8.1
18
+ ---
19
+
20
+ # Motivation Layer Skill
21
+
22
+ **Layer Number:** 01
23
+ **Specification:** Metadata Model Spec v0.8.1
24
+ **Purpose:** Captures stakeholder concerns, goals, requirements, and constraints that drive architectural decisions using ArchiMate motivation elements.
25
+
26
+ ---
27
+
28
+ ## Layer Overview
29
+
30
+ The Motivation Layer is the **highest layer** in the 12-layer architecture and provides governance to all other layers. It describes:
31
+
32
+ - **WHY** - The reasons and drivers behind architectural decisions
33
+ - **WHO** - Stakeholders with interests in the outcome
34
+ - **WHAT** - Goals, requirements, principles, and constraints
35
+ - **VALUE** - The worth and importance of business outcomes
36
+
37
+ This layer uses **ArchiMate 3.2 Motivation Layer** standard without custom extensions.
38
+
39
+ ---
40
+
41
+ ## Entity Types
42
+
43
+ > **CLI Introspection:** Run `dr schema types motivation` for the authoritative, always-current list of node types.
44
+ > Run `dr schema node <type-id>` for full attribute details on any type.
45
+
46
+ | Entity Type | Description | Key Attributes |
47
+ | --------------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
48
+ | **Stakeholder** | Individual, team, or organization with interest in the outcome | Types: internal, external, customer, partner, regulator |
49
+ | **Driver** | External or internal condition that motivates an organization | Categories: market, regulatory, technology, competitive, operational, strategic |
50
+ | **Assessment** | Outcome of analysis of the state of affairs (SWOT) | Types: strength, weakness, opportunity, threat, risk, gap |
51
+ | **Goal** | High-level statement of intent, direction, or desired end state | Priority: critical, high, medium, low. Can be SMART (measurable, target-date, KPI) |
52
+ | **Outcome** | End result that has been achieved | Status: planned, in-progress, achieved, not-achieved |
53
+ | **Principle** | Normative property of all systems in a given context | Categories: business, data, application, technology, security, integration |
54
+ | **Requirement** | Statement of need that must be realized | Types: functional, non-functional, business, technical, compliance, user |
55
+ | **Constraint** | Restriction on the way in which a system is realized | Types: budget, time, technology, regulatory, organizational, resource |
56
+ | **Meaning** | Knowledge or expertise present in a representation | Used to describe semantics and interpretations |
57
+ | **Value** | Relative worth, utility, or importance of something | Types: financial, customer, operational, strategic, social |
58
+
59
+ ---
60
+
61
+ ## Intra-Layer Relationships
62
+
63
+ ### Structural Relationships
64
+
65
+ | Source Type | Predicate | Target Type | Example |
66
+ | ----------- | ----------- | ----------- | ------------------------------------------------------------ |
67
+ | Goal | aggregates | Goal | Strategic Goal aggregates Operational Goals |
68
+ | Requirement | aggregates | Requirement | Business Requirement aggregates Functional Requirements |
69
+ | Principle | aggregates | Principle | Enterprise Principles aggregate Domain Principles |
70
+ | Constraint | aggregates | Constraint | Budget Constraint aggregates Project Budget Constraints |
71
+ | Outcome | realizes | Goal | "Launched Mobile App" realizes "Launch Mobile App by Q4" |
72
+ | Goal | realizes | Value | "Improve Customer Satisfaction" realizes "Customer Value" |
73
+ | Requirement | realizes | Goal | Functional Requirements realize Business Goals |
74
+ | Requirement | realizes | Principle | Technical Requirements realize Security Principles |
75
+ | Constraint | realizes | Principle | Technology Constraints realize Technology Principles |
76
+ | Goal | specializes | Goal | "Reduce API Latency" specializes "Improve Performance" |
77
+ | Requirement | specializes | Requirement | "95% Uptime SLA" specializes "High Availability Requirement" |
78
+ | Principle | specializes | Principle | "Encrypt All PII" specializes "Data Security Principle" |
79
+ | Value | specializes | Value | "Customer Retention Value" specializes "Customer Value" |
80
+
81
+ ### Behavioral Relationships
82
+
83
+ | Source Type | Predicate | Target Type | Example |
84
+ | ----------- | --------------- | ----------- | ----------------------------------------------------------------------- |
85
+ | Driver | influences | Goal | "Digital Transformation" influences "Modernize Architecture" |
86
+ | Driver | influences | Requirement | "GDPR Compliance" influences "Data Protection Requirements" |
87
+ | Driver | influences | Principle | "Cloud-First Strategy" influences "Cloud-Native Principles" |
88
+ | Assessment | influences | Goal | "Legacy System Weakness" influences "Modernization Goal" |
89
+ | Goal | influences | Requirement | Business Goals influence Functional Requirements |
90
+ | Principle | influences | Requirement | Security Principles influence Technical Requirements |
91
+ | Principle | influences | Constraint | "API-First Principle" influences "RESTful API Constraint" |
92
+ | Constraint | influences | Requirement | Budget Constraints influence Implementation Requirements |
93
+ | Value | influences | Goal | "Customer Value" influences "Improve UX Goal" |
94
+ | Stakeholder | influences | Goal | "CEO" influences Strategic Goals |
95
+ | Stakeholder | influences | Requirement | "End Users" influence Functional Requirements |
96
+ | Stakeholder | influences | Value | "Shareholders" influence Financial Value |
97
+ | Stakeholder | associated-with | Driver | "Product Manager" associated with "Market Competition Driver" |
98
+ | Goal | associated-with | Outcome | "Improve Performance" associated with "Achieved 50ms Latency" |
99
+ | Requirement | associated-with | Outcome | "High Availability Requirement" associated with "99.99% Uptime Outcome" |
100
+ | Driver | associated-with | Assessment | "Market Driver" associated with "Competitive Threat Assessment" |
101
+ | Value | associated-with | Meaning | "Customer Value" associated with "Definition of Customer Success" |
102
+
103
+ ---
104
+
105
+ ## Cross-Layer References
106
+
107
+ **Motivation Layer is the highest layer** - It does **NOT reference any lower layers**. Instead, lower layers reference UP to this layer for governance.
108
+
109
+ ### Incoming References (Lower Layers → Motivation)
110
+
111
+ | Layer | References Motivation For |
112
+ | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
113
+ | **Layer 2 (Business)** | BusinessService delivers Value, supports Goals, governed by Principles; BusinessActor is Stakeholder; Contract drives Constraints |
114
+ | **Layer 3 (Security)** | Actor references Stakeholder; ActorObjective references Goal; Threat references Assessment; Countermeasure implements Requirement |
115
+ | **Layer 4 (Application)** | ApplicationService supports Goals, delivers Value, governed by Principles; ApplicationFunction fulfills Requirements |
116
+ | **Layer 5 (Technology)** | TechnologyService supports Goals, governed by Principles; Node fulfills Requirements, constrained by Constraints |
117
+ | **Layer 6 (API)** | Operation supports Goals (x-supports-goals), fulfills Requirements, governed by Principles, constrained by Constraints |
118
+ | **Layer 7-12** | All layers can reference Principles, Constraints, Requirements, Goals for governance and traceability |
119
+
120
+ **Design Pattern:** Lower layers "look up" to the Motivation layer to justify WHY they exist and WHAT value they deliver.
121
+
122
+ ---
123
+
124
+ ## Codebase Detection Patterns
125
+
126
+ The Motivation Layer is typically **NOT extracted from code** but documented separately. However, certain patterns suggest the need for motivation elements:
127
+
128
+ ### Pattern 1: Requirements Traceability Comments
129
+
130
+ ```python
131
+ # REQUIREMENT: REQ-001 - User authentication must support OAuth 2.0
132
+ # GOAL: Improve security and user experience
133
+ # PRINCIPLE: Security by design
134
+
135
+ def configure_oauth(provider: str):
136
+ pass
137
+ ```
138
+
139
+ **Maps to:**
140
+
141
+ - Requirement entity (REQ-001)
142
+ - Goal entity (improve security)
143
+ - Principle entity (security by design)
144
+
145
+ ### Pattern 2: Non-Functional Requirements in Tests
146
+
147
+ ```python
148
+ @npm test.mark.performance
149
+ def test_api_response_time():
150
+ """Verify API responds within 200ms (GOAL: sub-second response)"""
151
+ response_time = measure_api_call()
152
+ assert response_time < 0.2 # Constraint: < 200ms
153
+ ```
154
+
155
+ **Maps to:**
156
+
157
+ - Goal (sub-second response)
158
+ - Constraint (< 200ms)
159
+ - Requirement (performance requirement)
160
+
161
+ ### Pattern 3: Configuration Constants
162
+
163
+ ```python
164
+ # Constraint: Budget limit for cloud spending
165
+ MAX_MONTHLY_CLOUD_COST = 10000 # USD
166
+
167
+ # Principle: Data residency compliance
168
+ ALLOWED_REGIONS = ["us-east-1", "us-west-2"] # Constraint: US-only
169
+
170
+ # Goal: 99.99% availability
171
+ TARGET_UPTIME_SLA = 0.9999
172
+ ```
173
+
174
+ **Maps to:**
175
+
176
+ - Constraint entities (budget, region)
177
+ - Goal (availability target)
178
+ - Principle (data residency)
179
+
180
+ ### Pattern 4: README/Documentation Headers
181
+
182
+ ```markdown
183
+ ## Goals
184
+
185
+ - Achieve 99.9% system availability
186
+ - Reduce customer onboarding time to < 5 minutes
187
+ - Support 10,000 concurrent users
188
+
189
+ ## Principles
190
+
191
+ - API-first architecture
192
+ - Microservices over monoliths
193
+ - Security by design
194
+
195
+ ## Constraints
196
+
197
+ - Budget: $500K for 2024
198
+ - Timeline: Launch by Q3 2024
199
+ - Technology: Must run on AWS
200
+ ```
201
+
202
+ **Maps to:** Direct creation of Goal, Principle, and Constraint entities
203
+
204
+ ---
205
+
206
+ ## Modeling Workflow
207
+
208
+ ### Step 1: Identify Stakeholders
209
+
210
+ Start by documenting **WHO cares** about the system:
211
+
212
+ ```bash
213
+ # Add key stakeholders
214
+ dr add motivation stakeholder "End Users" \
215
+ --properties type=external \
216
+ --description "Customers using the platform"
217
+
218
+ dr add motivation stakeholder "Product Manager" \
219
+ --properties type=internal \
220
+ --description "Defines product vision and priorities"
221
+
222
+ dr add motivation stakeholder "Compliance Team" \
223
+ --properties type=internal \
224
+ --description "Ensures regulatory compliance"
225
+ ```
226
+
227
+ ### Step 2: Document Drivers and Assessments
228
+
229
+ Identify **WHAT is pushing** the organization:
230
+
231
+ ```bash
232
+ # Market driver
233
+ dr add motivation driver "Cloud Migration Pressure" \
234
+ --properties category=market \
235
+ --description "Industry shift to cloud-native architectures"
236
+
237
+ # SWOT assessment
238
+ dr add motivation assessment "Legacy System Debt" \
239
+ --properties assessmentType=weakness \
240
+ --description "Monolithic architecture limits agility"
241
+
242
+ dr add motivation assessment "Strong Engineering Team" \
243
+ --properties assessmentType=strength \
244
+ --description "Experienced team with cloud expertise"
245
+ ```
246
+
247
+ ### Step 3: Define Goals and Values
248
+
249
+ Articulate **WHAT we want to achieve**:
250
+
251
+ ```bash
252
+ # Strategic goal
253
+ dr add motivation goal "Modernize Architecture" \
254
+ --properties priority=critical,measurable=true,target-date=2024-12-31 \
255
+ --description "Migrate to microservices architecture"
256
+
257
+ # Value delivered
258
+ dr add motivation value "Operational Efficiency" \
259
+ --properties type=operational \
260
+ --description "Reduced deployment time and increased reliability"
261
+ ```
262
+
263
+ ### Step 4: Specify Requirements and Principles
264
+
265
+ Define **HOW we will operate**:
266
+
267
+ ```bash
268
+ # Functional requirement
269
+ dr add motivation requirement "API Authentication" \
270
+ --properties type=functional \
271
+ --description "All API endpoints must authenticate users"
272
+
273
+ # Guiding principle
274
+ dr add motivation principle "API-First Design" \
275
+ --properties category=application \
276
+ --description "All services expose RESTful APIs with OpenAPI specs"
277
+
278
+ # Hard constraint
279
+ dr add motivation constraint "AWS-Only Infrastructure" \
280
+ --properties type=technology \
281
+ --description "All services must deploy to AWS (no multi-cloud)"
282
+ ```
283
+
284
+ ### Step 5: Establish Relationships
285
+
286
+ Connect motivation elements using predicates:
287
+
288
+ ```bash
289
+ # Driver influences Goal
290
+ dr relationship add "motivation/driver/cloud-migration-pressure" \
291
+ influences "motivation/goal/modernize-architecture"
292
+
293
+ # Goal realizes Value
294
+ dr relationship add "motivation/goal/modernize-architecture" \
295
+ realizes "motivation/value/operational-efficiency"
296
+
297
+ # Principle influences Requirement
298
+ dr relationship add "motivation/principle/api-first-design" \
299
+ influences "motivation/requirement/api-authentication"
300
+
301
+ # Stakeholder influences Goal
302
+ dr relationship add "motivation/stakeholder/product-manager" \
303
+ influences "motivation/goal/modernize-architecture"
304
+
305
+ # Assessment influences Goal
306
+ dr relationship add "motivation/assessment/legacy-system-debt" \
307
+ influences "motivation/goal/modernize-architecture"
308
+ ```
309
+
310
+ ### Step 6: Validate
311
+
312
+ ```bash
313
+ dr validate --layer motivation
314
+ dr validate --validate-relationships
315
+ ```
316
+
317
+ ---
318
+
319
+ ## Traceability Patterns
320
+
321
+ ### Pattern 1: Goal Decomposition Hierarchy
322
+
323
+ ```
324
+ Strategic Goal: "Improve Customer Satisfaction"
325
+ ├── aggregates → Business Goal: "Reduce Response Time"
326
+ │ ├── aggregates → Operational Goal: "Achieve <100ms API Latency"
327
+ │ └── aggregates → Operational Goal: "Implement Caching Layer"
328
+ └── aggregates → Business Goal: "Improve Mobile Experience"
329
+ ├── aggregates → Operational Goal: "Launch iOS App"
330
+ └── aggregates → Operational Goal: "Launch Android App"
331
+ ```
332
+
333
+ ### Pattern 2: Requirement Hierarchy
334
+
335
+ ```
336
+ Business Requirement: "Secure User Data"
337
+ ├── aggregates → Functional Requirement: "Encrypt Data at Rest"
338
+ │ └── influences → Technical Requirement: "Use AES-256 Encryption"
339
+ ├── aggregates → Functional Requirement: "Encrypt Data in Transit"
340
+ │ └── influences → Technical Requirement: "Use TLS 1.3"
341
+ └── aggregates → Compliance Requirement: "GDPR Data Protection"
342
+ └── influences → Technical Requirement: "Right to Deletion API"
343
+ ```
344
+
345
+ ### Pattern 3: Principle Application
346
+
347
+ ```
348
+ Principle: "Cloud-Native Architecture"
349
+ ├── influences → Requirement: "Containerized Deployments"
350
+ ├── influences → Requirement: "Stateless Services"
351
+ ├── influences → Constraint: "No On-Premise Infrastructure"
352
+ └── realizes → Value: "Scalability and Resilience"
353
+ ```
354
+
355
+ ### Pattern 4: Stakeholder → Goal → Implementation Chain
356
+
357
+ ```
358
+ Stakeholder: "CEO"
359
+ └── influences → Goal: "Reduce Operating Costs by 20%"
360
+ ├── influences → Requirement: "Automated CI/CD Pipeline"
361
+ ├── influences → Principle: "Infrastructure as Code"
362
+ └── realizes → Value: "Financial Efficiency"
363
+ └── (lower layers reference this chain)
364
+ ```
365
+
366
+ ---
367
+
368
+ ## Common Modeling Scenarios
369
+
370
+ ### Scenario 1: New Feature Justification
371
+
372
+ **Question:** "Why are we building this feature?"
373
+
374
+ **Approach:**
375
+
376
+ 1. Add **Stakeholder** who requested it
377
+ 2. Add **Driver** (market, customer, regulatory)
378
+ 3. Add **Goal** the feature achieves
379
+ 4. Add **Value** delivered
380
+ 5. Lower layers reference the Goal
381
+
382
+ ### Scenario 2: Regulatory Compliance
383
+
384
+ **Question:** "How do we track GDPR compliance?"
385
+
386
+ **Approach:**
387
+
388
+ 1. Add **Driver** ("GDPR Regulation")
389
+ 2. Add **Constraint** ("Data Residency: EU only")
390
+ 3. Add **Requirement** ("Right to Deletion", "Data Portability")
391
+ 4. Add **Principle** ("Privacy by Design")
392
+ 5. Security layer references these elements
393
+
394
+ ### Scenario 3: Architecture Decision Records (ADR)
395
+
396
+ **Question:** "Document why we chose microservices?"
397
+
398
+ **Approach:**
399
+
400
+ 1. Add **Assessment** (strength/weakness of monolith)
401
+ 2. Add **Principle** ("Microservices Architecture")
402
+ 3. Add **Goal** ("Improve Deployment Frequency")
403
+ 4. Add **Constraint** ("Team size supports distributed ownership")
404
+ 5. Application layer references the Principle
405
+
406
+ ---
407
+
408
+ ## ArchiMate Integration
409
+
410
+ When exporting to ArchiMate format:
411
+
412
+ ```bash
413
+ dr export archimate --layer motivation --output motivation.archimate
414
+ ```
415
+
416
+ **Supported ArchiMate Elements:**
417
+
418
+ - `Stakeholder` → ArchiMate Stakeholder
419
+ - `Driver` → ArchiMate Driver
420
+ - `Assessment` → ArchiMate Assessment
421
+ - `Goal` → ArchiMate Goal
422
+ - `Outcome` → ArchiMate Outcome
423
+ - `Principle` → ArchiMate Principle
424
+ - `Requirement` → ArchiMate Requirement
425
+ - `Constraint` → ArchiMate Constraint
426
+ - `Meaning` → ArchiMate Meaning
427
+ - `Value` → ArchiMate Value
428
+
429
+ **Supported Relationships:**
430
+
431
+ - `aggregates`, `realizes`, `specializes`, `influences`, `associated-with`
432
+
433
+ ---
434
+
435
+ ## Best Practices
436
+
437
+ 1. **Start with Stakeholders** - Understand WHO before WHAT
438
+ 2. **Use SMART Goals** - Make goals Specific, Measurable, Achievable, Relevant, Time-bound
439
+ 3. **Distinguish Requirements from Constraints**:
440
+ - **Requirement**: "System MUST authenticate users" (functional need)
441
+ - **Constraint**: "System MUST use OAuth 2.0" (limits HOW requirement is met)
442
+ 4. **Link Principles to Requirements** - Every requirement should trace to a principle or goal
443
+ 5. **Use Assessments for Trade-offs** - Document strengths/weaknesses to justify decisions
444
+ 6. **Track Outcomes** - Update outcome status as goals are achieved
445
+ 7. **Don't Over-Document** - Focus on high-value motivation elements that drive decisions
446
+
447
+ ---
448
+
449
+ ## Validation Tips
450
+
451
+ Common validation issues:
452
+
453
+ | Issue | Cause | Fix |
454
+ | ---------------------- | --------------------------------------- | ----------------------------------------------- |
455
+ | Orphaned Goal | No stakeholder influences it | Add stakeholder or driver that influences goal |
456
+ | Unrealized Requirement | No goal justifies it | Link requirement to goal or principle |
457
+ | Unused Principle | No requirements reference it | Either apply principle or remove it |
458
+ | Missing Value | Goals don't realize any value | Add value elements and link goals |
459
+ | No Traceability | Lower layers don't reference motivation | Add references from business/application layers |
460
+
461
+ ---
462
+
463
+ ## Quick Reference
464
+
465
+ **Add Commands:**
466
+
467
+ ```bash
468
+ dr add motivation stakeholder <name> --properties type=<type>
469
+ dr add motivation driver <name> --properties category=<category>
470
+ dr add motivation goal <name> --properties priority=<priority>
471
+ dr add motivation requirement <name> --properties type=<type>
472
+ dr add motivation principle <name> --properties category=<category>
473
+ dr add motivation constraint <name> --properties type=<type>
474
+ ```
475
+
476
+ **Relationship Commands:**
477
+
478
+ ```bash
479
+ dr relationship add <source-id> influences <target-id>
480
+ dr relationship add <source-id> aggregates <target-id>
481
+ dr relationship add <source-id> realizes <target-id>
482
+ dr relationship add <source-id> specializes <target-id>
483
+ ```
484
+
485
+ **Query Commands:**
486
+
487
+ ```bash
488
+ dr search --layer motivation --type goal
489
+ dr search --layer motivation --property priority=critical
490
+ dr relationship list <element-id> --direction outgoing
491
+ ```