@documentation-robotics/cli 0.2.0 → 0.4.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 +46 -16
- package/dist/analysis/relationship-classifier.js +2 -9
- package/dist/analysis/relationship-classifier.js.map +2 -2
- package/dist/analyzers/active-analyzer.js +62 -0
- package/dist/analyzers/active-analyzer.js.map +7 -0
- 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 +191 -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/extract.js +138 -0
- package/dist/analyzers/cards/extract.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/routes.js +96 -0
- package/dist/analyzers/cards/routes.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 +270 -174
- package/dist/analyzers/cbm-analyzer.js.map +2 -2
- package/dist/analyzers/cbm-responses.js +342 -0
- package/dist/analyzers/cbm-responses.js.map +7 -0
- package/dist/analyzers/code-changes.js +159 -0
- package/dist/analyzers/code-changes.js.map +7 -0
- package/dist/analyzers/edge-relationships.js +49 -0
- package/dist/analyzers/edge-relationships.js.map +7 -0
- package/dist/analyzers/extraction-plan.js +541 -0
- package/dist/analyzers/extraction-plan.js.map +7 -0
- package/dist/analyzers/index-job.js +229 -0
- package/dist/analyzers/index-job.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 +23 -11
- 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 +269 -0
- package/dist/coding-agents/drbot-mcp.js.map +7 -0
- package/dist/commands/add.js +7 -4
- package/dist/commands/add.js.map +2 -2
- package/dist/commands/analyzer.js +143 -40
- package/dist/commands/analyzer.js.map +2 -2
- package/dist/commands/changeset-verify.js +63 -0
- package/dist/commands/changeset-verify.js.map +7 -0
- package/dist/commands/changeset.js +80 -29
- 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/init.js +9 -26
- package/dist/commands/init.js.map +2 -2
- package/dist/commands/mcp.js +40 -21
- package/dist/commands/mcp.js.map +3 -3
- package/dist/commands/relationship.js +208 -37
- package/dist/commands/relationship.js.map +2 -2
- package/dist/commands/reports.js +3 -3
- package/dist/commands/reports.js.map +2 -2
- package/dist/commands/update.js +52 -32
- package/dist/commands/update.js.map +2 -2
- package/dist/commands/upgrade.js +99 -103
- package/dist/commands/upgrade.js.map +3 -3
- package/dist/commands/validate.js +19 -3
- package/dist/commands/validate.js.map +2 -2
- package/dist/commands/version.js +1 -1
- package/dist/commands/visualize.js +34 -15
- package/dist/commands/visualize.js.map +2 -2
- package/dist/core/annotation-store.js +15 -5
- package/dist/core/annotation-store.js.map +2 -2
- package/dist/core/catalog-migration.js +34 -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 +160 -0
- package/dist/core/changeset-base-index.js.map +7 -0
- package/dist/core/changeset-brief-compact.js +256 -0
- package/dist/core/changeset-brief-compact.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 +848 -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/extraction-observability.js +161 -0
- package/dist/core/extraction-observability.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 +88 -47
- 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/project-init.js +53 -0
- package/dist/core/project-init.js.map +7 -0
- 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 +161 -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 +145 -18
- 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 +166 -24
- package/dist/core/staging-area.js.map +2 -2
- package/dist/core/upgrade-plan.js +117 -0
- package/dist/core/upgrade-plan.js.map +7 -0
- 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 +2468 -7913
- package/dist/generated/relationship-index.js.map +2 -2
- package/dist/integrations/claude_code/.claude-plugin/plugin.json +24 -0
- package/dist/integrations/claude_code/agents/dr-architect.md +30 -3
- package/dist/integrations/claude_code/agents/dr-extractor.md +8 -2
- package/dist/integrations/claude_code/commands/dr-analyzer.md +565 -0
- package/dist/integrations/claude_code/commands/dr-changeset.md +2 -1
- package/dist/integrations/claude_code/commands/dr-map.md +20 -1
- package/dist/integrations/claude_code/commands/dr-plan.md +66 -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 +47 -26
- package/dist/integrations/claude_code/docs/QUICK_START.md +37 -8
- package/dist/integrations/claude_code/docs/README.md +68 -2
- package/dist/integrations/claude_code/plugin-agents/dr-advisor.md +255 -0
- package/dist/integrations/claude_code/plugin-agents/dr-architect.md +306 -0
- 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 +95 -15
- package/dist/integrations/claude_code/skills/dr_change_planning/SKILL.md +178 -0
- package/dist/integrations/claude_code/skills/dr_changeset_reviewer/SKILL.md +8 -0
- package/dist/integrations/claude_code/skills/dr_engineering_guide/SKILL.md +6 -1
- package/dist/integrations/github_copilot/agents/dr-architect.md +3 -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 +225 -102
- package/dist/integrations/github_copilot/skills/dr_change_planning/SKILL.md +177 -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 +45 -0
- package/dist/mcp/changeset-only.js.map +7 -0
- package/dist/mcp/project-root.js +85 -0
- package/dist/mcp/project-root.js.map +7 -0
- package/dist/mcp/server-instructions.js +27 -0
- package/dist/mcp/server-instructions.js.map +7 -0
- package/dist/mcp/strict-schema.js +52 -0
- package/dist/mcp/strict-schema.js.map +7 -0
- package/dist/mcp/tool-registry.js +55 -5
- package/dist/mcp/tool-registry.js.map +2 -2
- package/dist/mcp/tools/changeset-analysis-tools.js +98 -0
- package/dist/mcp/tools/changeset-analysis-tools.js.map +7 -0
- package/dist/mcp/tools/changeset-commit.js +224 -0
- package/dist/mcp/tools/changeset-commit.js.map +7 -0
- package/dist/mcp/tools/changeset-editing.js +260 -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 +49 -0
- package/dist/mcp/tools/changeset-verify.js.map +7 -0
- package/dist/mcp/tools/codebase-extract.js +836 -0
- package/dist/mcp/tools/codebase-extract.js.map +7 -0
- package/dist/mcp/tools/codebase-index.js +125 -0
- package/dist/mcp/tools/codebase-index.js.map +7 -0
- package/dist/mcp/tools/codebase-shared.js +265 -0
- package/dist/mcp/tools/codebase-shared.js.map +7 -0
- package/dist/mcp/tools/codebase-verify.js +48 -0
- package/dist/mcp/tools/codebase-verify.js.map +7 -0
- package/dist/mcp/tools/index.js +34 -1
- package/dist/mcp/tools/index.js.map +2 -2
- package/dist/mcp/tools/model-add.js +191 -74
- 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 +46 -26
- package/dist/mcp/tools/model-update.js.map +2 -2
- package/dist/mcp/tools/model-validate.js +46 -4
- package/dist/mcp/tools/model-validate.js.map +2 -2
- package/dist/mcp/tools/project-status-collectors.js +381 -0
- package/dist/mcp/tools/project-status-collectors.js.map +7 -0
- package/dist/mcp/tools/project-status.js +237 -0
- package/dist/mcp/tools/project-status.js.map +7 -0
- package/dist/mcp/tools/project-tools.js +505 -0
- package/dist/mcp/tools/project-tools.js.map +7 -0
- package/dist/mcp/tools/relationship-tools.js +167 -0
- package/dist/mcp/tools/relationship-tools.js.map +7 -0
- package/dist/mcp/tools/review-open.js +210 -0
- package/dist/mcp/tools/review-open.js.map +7 -0
- package/dist/mcp/tools/shared.js +35 -4
- 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/reports/model-report-orchestrator.js +31 -2
- package/dist/reports/model-report-orchestrator.js.map +2 -2
- package/dist/schemas/bundled/analyzers/cbm.json +1200 -70
- 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 +865 -1646
- 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 +686 -231
- package/dist/server/server.js.map +3 -3
- package/dist/server/viewer-registry.js +264 -0
- package/dist/server/viewer-registry.js.map +7 -0
- 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/id-generator.js +5 -2
- package/dist/utils/id-generator.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 +64 -31
- 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/model-warnings.js +28 -0
- package/dist/validators/model-warnings.js.map +7 -0
- 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-CUOQGGRA.css +1 -0
- package/dist/viewer/assets/main-DvH3gYrI.js +84 -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
|
@@ -131,31 +131,43 @@ Explicit DO NOT rules with rationale:
|
|
|
131
131
|
| Source Type | Predicate | Target Type | Example |
|
|
132
132
|
| ------------------------ | ----------- | ---------------------- | ---------------------------------------------------------------------------------------- |
|
|
133
133
|
| ApplicationCollaboration | aggregates | ApplicationComponent | "Payment Ecosystem" aggregates "PaymentService", "FraudDetection", "NotificationService" |
|
|
134
|
-
|
|
|
135
|
-
|
|
|
136
|
-
| ApplicationComponent |
|
|
137
|
-
|
|
|
134
|
+
| ApplicationCollaboration | assigned-to | ApplicationInteraction | "Checkout Collaboration" assigned-to "Checkout Handshake" interaction |
|
|
135
|
+
| ApplicationCollaboration | realizes | ApplicationService | "Payment Ecosystem" realizes "Payment Service" |
|
|
136
|
+
| ApplicationComponent | provides | ApplicationInterface | "UserService" provides "User REST API" |
|
|
137
|
+
| ApplicationComponent | assigned-to | ApplicationFunction | "UserService" assigned-to "Token Validation" |
|
|
138
|
+
| ApplicationComponent | assigned-to | ApplicationProcess | "OrderOrchestrator" assigned-to "Order Fulfillment Saga" |
|
|
138
139
|
| ApplicationComponent | realizes | ApplicationService | "UserManagementAPI" realizes "User Management Service" |
|
|
140
|
+
| ApplicationComponent | uses | ApplicationComponent | "OrderService" uses "InventoryService" |
|
|
139
141
|
| ApplicationFunction | realizes | ApplicationService | "Authentication Function" realizes "Auth Service" |
|
|
140
142
|
| ApplicationProcess | realizes | ApplicationService | "Order Processing Workflow" realizes "Order Service" |
|
|
141
|
-
|
|
|
142
|
-
| DataObject |
|
|
143
|
+
| ApplicationInterface | assigned-to | ApplicationService | "User REST API" assigned-to "User Management Service" (interface exposes the service) |
|
|
144
|
+
| DataObject | composes | DataObject | "Order" composes "OrderLineItem" |
|
|
145
|
+
| DataObject | aggregates | DataObject | "Cart" aggregates "Product" references |
|
|
143
146
|
|
|
144
147
|
### Behavioral Relationships
|
|
145
148
|
|
|
146
|
-
| Source Type | Predicate
|
|
147
|
-
| ---------------------- |
|
|
148
|
-
| ApplicationEvent | triggers
|
|
149
|
-
| ApplicationEvent | triggers
|
|
150
|
-
|
|
|
151
|
-
|
|
|
152
|
-
|
|
|
153
|
-
|
|
|
154
|
-
|
|
|
155
|
-
| ApplicationFunction |
|
|
156
|
-
|
|
|
157
|
-
|
|
|
158
|
-
|
|
|
149
|
+
| Source Type | Predicate | Target Type | Example |
|
|
150
|
+
| ---------------------- | ---------- | ---------------------- | ---------------------------------------------------------------- |
|
|
151
|
+
| ApplicationEvent | triggers | ApplicationProcess | "PaymentFailed" triggers "Refund Process" |
|
|
152
|
+
| ApplicationEvent | triggers | ApplicationInteraction | "CheckoutStarted" triggers "Checkout Handshake" |
|
|
153
|
+
| ApplicationProcess | triggers | ApplicationEvent | "Place Order" triggers "OrderCreated" |
|
|
154
|
+
| ApplicationEvent | triggers | ApplicationFunction | "UserLoggedIn" triggers "Audit Logging" (event handler) |
|
|
155
|
+
| ApplicationFunction | triggers | ApplicationEvent | "Publish Order" triggers "OrderCreated" |
|
|
156
|
+
| ApplicationInteraction | triggers | ApplicationEvent | "Checkout Handshake" triggers "CheckoutCompleted" |
|
|
157
|
+
| ApplicationProcess | flows-to | ApplicationProcess | "Reserve Inventory" flows-to "Process Payment" |
|
|
158
|
+
| ApplicationFunction | flows-to | ApplicationFunction | "Parse Document" flows-to "Embed Chunks" |
|
|
159
|
+
| ApplicationService | flows-to | ApplicationService | "Checkout Service" flows-to "Payment Service" (synchronous call) |
|
|
160
|
+
| ApplicationService | depends-on | ApplicationService | "Order Service" depends-on "Inventory Service" |
|
|
161
|
+
| ApplicationService | serves | ApplicationComponent | "Auth Service" serves "WebApp" |
|
|
162
|
+
| ApplicationService | serves | ApplicationProcess | "Payment Service" serves "Order Fulfillment Saga" |
|
|
163
|
+
| ApplicationInterface | depends-on | ApplicationFunction | "API Gateway" depends-on "Rate Limiting" |
|
|
164
|
+
| ApplicationService | serves | ApplicationInteraction | "Payment Service" serves "Checkout Handshake" |
|
|
165
|
+
| ApplicationService | accesses | DataObject | "User Management Service" accesses "User" |
|
|
166
|
+
| ApplicationComponent | accesses | DataObject | "OrderService" accesses "Order" |
|
|
167
|
+
| ApplicationFunction | accesses | DataObject | "Data Validation" accesses "Order" |
|
|
168
|
+
| ApplicationProcess | accesses | DataObject | "Order Fulfillment Saga" accesses "Order" |
|
|
169
|
+
| ApplicationEvent | accesses | DataObject | "OrderCreated" accesses "Order" (event payload) |
|
|
170
|
+
| ApplicationInteraction | accesses | DataObject | "Checkout Handshake" accesses "PaymentIntent" |
|
|
159
171
|
|
|
160
172
|
---
|
|
161
173
|
|
|
@@ -163,31 +175,52 @@ Explicit DO NOT rules with rationale:
|
|
|
163
175
|
|
|
164
176
|
### Outgoing References (Application → Other Layers)
|
|
165
177
|
|
|
166
|
-
|
|
|
167
|
-
|
|
|
168
|
-
|
|
|
169
|
-
|
|
|
170
|
-
|
|
|
171
|
-
|
|
|
172
|
-
|
|
|
173
|
-
|
|
|
174
|
-
|
|
|
175
|
-
|
|
|
176
|
-
|
|
|
177
|
-
|
|
|
178
|
-
|
|
|
179
|
-
|
|
|
180
|
-
|
|
|
181
|
-
|
|
|
182
|
-
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
178
|
+
| Source Type | Predicate | Target Type | Example |
|
|
179
|
+
| -------------------- | -------------- | ------------------------------- | -------------------------------------------------------------- |
|
|
180
|
+
| ApplicationService | realizes | `business.businessservice` | "Order API" realizes "Order Management" |
|
|
181
|
+
| ApplicationService | serves | `business.businessprocess` | "Payment Service" serves "Checkout" business process |
|
|
182
|
+
| ApplicationService | accesses | `business.businessobject` | "Order API" accesses "Customer Order" |
|
|
183
|
+
| ApplicationProcess | realizes | `business.businessprocess` | "Order Fulfillment Saga" realizes "Fulfill Order" |
|
|
184
|
+
| ApplicationFunction | realizes | `business.businessfunction` | "Credit Scoring" realizes "Risk Assessment" |
|
|
185
|
+
| ApplicationEvent | triggers | `business.businessprocess` | "PaymentFailed" triggers "Dunning" process |
|
|
186
|
+
| ApplicationInterface | serves | `business.businessrole` | "Admin Console" serves "Support Agent" |
|
|
187
|
+
| ApplicationService | realizes | `motivation.goal` | "User Management API" realizes "Improve User Experience" |
|
|
188
|
+
| ApplicationService | delivers | `motivation.value` | "Instant Checkout" delivers "Convenience" |
|
|
189
|
+
| ApplicationFunction | satisfies | `motivation.requirement` | "Token Validation" satisfies "Sessions Expire After 30 Min" |
|
|
190
|
+
| ApplicationService | realizes | `product.softwarecapability` | "Search Service" realizes "Product Discovery" |
|
|
191
|
+
| ApplicationService | realizes | `product.feature` | "Graph Layout Service" realizes "Interactive Graph View" |
|
|
192
|
+
| ApplicationService | requires | `security.authenticationconfig` | "Order API" requires "OAuth2 JWT Auth" |
|
|
193
|
+
| ApplicationService | constrained-by | `security.securitypolicy` | "Patient Records Service" constrained-by "HIPAA Access Policy" |
|
|
194
|
+
| ApplicationComponent | realizes | `security.countermeasure` | "Fetch Interceptor" realizes "Bearer Token Injection" |
|
|
195
|
+
| ApplicationComponent | accesses | `security.secureresource` | "OrderService" accesses "Order Records" |
|
|
196
|
+
| ApplicationComponent | accesses | `data-model.objectschema` | "OrderRepository" accesses the "Order" entity class |
|
|
197
|
+
| ApplicationFunction | accesses | `data-model.objectschema` | "saveOrder" accesses the "Order" entity class |
|
|
198
|
+
| ApplicationComponent | accesses | `data-model.schemadefinition` | "PayloadValidator" accesses the "Address" definition |
|
|
199
|
+
| ApplicationFunction | accesses | `data-model.schemadefinition` | "buildInvoice" accesses the "Invoice" definition |
|
|
200
|
+
| ApplicationEvent | accesses | `data-model.schemadefinition` | "OrderPlaced" accesses its "OrderPlacedPayload" definition |
|
|
201
|
+
| ApplicationComponent | accesses | `data-store.collection` | "OrderRepository" accesses the `orders` table |
|
|
202
|
+
| ApplicationFunction | accesses | `data-store.collection` | "findOrdersByCustomer" accesses `orders` |
|
|
203
|
+
| ApplicationFunction | accesses | `data-store.view` | "monthlyRevenueReport" accesses `monthly_revenue_mv` |
|
|
204
|
+
| ApplicationService | accesses | `data-store.collection` | "Order API" accesses `orders` |
|
|
205
|
+
| ApplicationService | accesses | `data-store.view` | "Reporting Service" accesses `monthly_revenue_mv` |
|
|
206
|
+
| ApplicationService | references | `apm.traceconfiguration` | "Order API" references "Order Service Tracing" |
|
|
207
|
+
|
|
208
|
+
### Incoming References (Other Layers → Application)
|
|
209
|
+
|
|
210
|
+
| Source Type | Predicate | Target Type | Example |
|
|
211
|
+
| ------------------------------ | ---------- | -------------------- | --------------------------------------------------------- |
|
|
212
|
+
| `technology.node` | serves | ApplicationComponent | "K8s Cluster Prod" serves "UserService" (deployment host) |
|
|
213
|
+
| `technology.systemsoftware` | serves | ApplicationComponent | "React 18" serves "WebApp" |
|
|
214
|
+
| `technology.technologyservice` | serves | ApplicationService | "Managed PostgreSQL" serves "Order API" |
|
|
215
|
+
| `api.openapidocument` | realizes | ApplicationService | "user-api.yaml" realizes "User Management API" |
|
|
216
|
+
| `api.operation` | realizes | ApplicationFunction | "POST /auth/token" realizes "Token Issuance" |
|
|
217
|
+
| `data-model.objectschema` | realizes | DataObject | "User schema" realizes "User" |
|
|
218
|
+
| `business.businessobject` | references | DataObject | "Customer Order" references "Order" |
|
|
219
|
+
| `ux.actioncomponent` | triggers | ApplicationService | "Place Order" button triggers "Checkout Service" |
|
|
220
|
+
| `navigation.route` | lazy-loads | ApplicationComponent | "/settings" lazy-loads "SettingsPanel" |
|
|
221
|
+
| `apm.span` | monitors | ApplicationService | "checkout.process" span monitors "Checkout Service" |
|
|
222
|
+
| `apm.metricinstrument` | monitors | ApplicationService | "order_processing_latency" monitors "Order API" |
|
|
223
|
+
| `testing.testcasesketch` | tests | ApplicationService | "Checkout happy path" tests "Checkout Service" |
|
|
191
224
|
|
|
192
225
|
---
|
|
193
226
|
|
|
@@ -297,7 +330,7 @@ class OrderFulfillmentWorkflow:
|
|
|
297
330
|
|
|
298
331
|
- ApplicationProcess: "OrderFulfillmentSaga" (pattern: saga)
|
|
299
332
|
- Properties: orchestration-engine=temporal, compensation-enabled=true
|
|
300
|
-
-
|
|
333
|
+
- Sequences sub-processes (reserve, pay, ship) with `flows-to`
|
|
301
334
|
|
|
302
335
|
### Pattern 5: Data Transfer Object (DTO)
|
|
303
336
|
|
|
@@ -468,9 +501,12 @@ dr add application interface "order-grpc" \
|
|
|
468
501
|
dr add application interface "event-bus" \
|
|
469
502
|
--description "Event bus for async communication"
|
|
470
503
|
|
|
471
|
-
# Link service to interface
|
|
472
|
-
dr relationship add application.
|
|
473
|
-
application.
|
|
504
|
+
# Link interface to the service it exposes, and component to interface
|
|
505
|
+
dr relationship add application.applicationinterface.user-api-rest \
|
|
506
|
+
application.applicationservice.user-management-api --predicate assigned-to
|
|
507
|
+
|
|
508
|
+
dr relationship add application.applicationcomponent.user-service \
|
|
509
|
+
application.applicationinterface.user-api-rest --predicate provides
|
|
474
510
|
```
|
|
475
511
|
|
|
476
512
|
### Step 4: Define Application Functions
|
|
@@ -501,12 +537,12 @@ dr add application event "order-created" \
|
|
|
501
537
|
dr add application event "payment-processed" \
|
|
502
538
|
--description "Published when payment completes"
|
|
503
539
|
|
|
504
|
-
# Event triggering
|
|
540
|
+
# Event triggering (processes are defined in Step 7)
|
|
505
541
|
dr relationship add application.applicationevent.order-created \
|
|
506
|
-
application.
|
|
542
|
+
application.applicationprocess.order-fulfillment-saga --predicate triggers
|
|
507
543
|
|
|
508
|
-
dr relationship add application.
|
|
509
|
-
application.
|
|
544
|
+
dr relationship add application.applicationprocess.process-payment \
|
|
545
|
+
application.applicationevent.payment-processed --predicate triggers
|
|
510
546
|
```
|
|
511
547
|
|
|
512
548
|
### Step 6: Define Data Objects
|
|
@@ -544,17 +580,10 @@ dr add application process "process-payment" \
|
|
|
544
580
|
dr add application process "ship-order" \
|
|
545
581
|
--description "Initiate shipping workflow"
|
|
546
582
|
|
|
547
|
-
# Process
|
|
548
|
-
dr relationship add application.applicationprocess.order-fulfillment-saga \
|
|
549
|
-
application.applicationprocess.reserve-inventory --predicate composes
|
|
550
|
-
|
|
583
|
+
# Process flows (the catalog has no process-composes-process; model saga steps as a flows-to chain)
|
|
551
584
|
dr relationship add application.applicationprocess.order-fulfillment-saga \
|
|
552
|
-
application.applicationprocess.
|
|
585
|
+
application.applicationprocess.reserve-inventory --predicate flows-to
|
|
553
586
|
|
|
554
|
-
dr relationship add application.applicationprocess.order-fulfillment-saga \
|
|
555
|
-
application.applicationprocess.ship-order --predicate composes
|
|
556
|
-
|
|
557
|
-
# Process flows
|
|
558
587
|
dr relationship add application.applicationprocess.reserve-inventory \
|
|
559
588
|
application.applicationprocess.process-payment --predicate flows-to
|
|
560
589
|
|
|
@@ -567,27 +596,27 @@ dr relationship add application.applicationprocess.process-payment \
|
|
|
567
596
|
```bash
|
|
568
597
|
# Link to business layer
|
|
569
598
|
dr relationship add application.applicationservice.order-api \
|
|
570
|
-
business.
|
|
599
|
+
business.businessservice.order-management --predicate realizes
|
|
571
600
|
|
|
572
601
|
# Link to motivation layer
|
|
573
602
|
dr relationship add application.applicationservice.user-management-api \
|
|
574
|
-
motivation.goal.improve-user-experience --predicate
|
|
603
|
+
motivation.goal.improve-user-experience --predicate realizes
|
|
575
604
|
|
|
576
|
-
# Link
|
|
577
|
-
dr relationship add
|
|
578
|
-
|
|
605
|
+
# Link from technology layer (the node hosting the component serves it)
|
|
606
|
+
dr relationship add technology.node.k8s-cluster-prod \
|
|
607
|
+
application.applicationcomponent.user-service --predicate serves
|
|
579
608
|
|
|
580
|
-
# Link
|
|
581
|
-
dr relationship add
|
|
582
|
-
|
|
609
|
+
# Link from API layer (the OpenAPI document realizes the service contract)
|
|
610
|
+
dr relationship add api.openapidocument.user-api \
|
|
611
|
+
application.applicationservice.user-management-api --predicate realizes
|
|
583
612
|
|
|
584
|
-
# Link
|
|
585
|
-
dr relationship add
|
|
586
|
-
|
|
613
|
+
# Link from data model layer (the schema realizes the data object)
|
|
614
|
+
dr relationship add data-model.objectschema.user \
|
|
615
|
+
application.dataobject.user --predicate realizes
|
|
587
616
|
|
|
588
|
-
# Link
|
|
589
|
-
dr relationship add
|
|
590
|
-
|
|
617
|
+
# Link from APM layer
|
|
618
|
+
dr relationship add apm.metricinstrument.order-processing-latency \
|
|
619
|
+
application.applicationservice.order-api --predicate monitors
|
|
591
620
|
```
|
|
592
621
|
|
|
593
622
|
### Step 9: Validate
|
|
@@ -607,36 +636,36 @@ dr validate --relationships
|
|
|
607
636
|
ApplicationCollaboration: "E-commerce Platform"
|
|
608
637
|
├── aggregates → ApplicationComponent: "UserService"
|
|
609
638
|
│ ├── realizes → ApplicationService: "User API"
|
|
610
|
-
│ └──
|
|
639
|
+
│ └── ← serves — technology.node: "K8s Cluster"
|
|
611
640
|
├── aggregates → ApplicationComponent: "OrderService"
|
|
612
641
|
│ ├── realizes → ApplicationService: "Order API"
|
|
613
|
-
│ └──
|
|
642
|
+
│ └── ← serves — technology.node: "K8s Cluster"
|
|
614
643
|
├── aggregates → ApplicationComponent: "PaymentService"
|
|
615
644
|
│ └── realizes → ApplicationService: "Payment API"
|
|
616
|
-
└──
|
|
645
|
+
└── provides → ApplicationInterface: "API Gateway"
|
|
617
646
|
```
|
|
618
647
|
|
|
619
648
|
### Pattern 2: Event-Driven Architecture
|
|
620
649
|
|
|
621
650
|
```
|
|
622
651
|
ApplicationEvent: "OrderCreated"
|
|
623
|
-
├── triggers →
|
|
624
|
-
├── triggers →
|
|
625
|
-
├──
|
|
626
|
-
└──
|
|
627
|
-
└──
|
|
652
|
+
├── triggers → ApplicationProcess: "Reserve Inventory" (assigned to "InventoryService")
|
|
653
|
+
├── triggers → ApplicationProcess: "Send Confirmation Email" (assigned to "EmailWorker")
|
|
654
|
+
├── ← depends-on — ApplicationFunction: "Analytics Ingest" (handler in "AnalyticsService")
|
|
655
|
+
└── ← triggers — ApplicationProcess: "Place Order" (assigned to "OrderService")
|
|
656
|
+
└── "OrderService" provides → ApplicationInterface: "EventBus" (protocol: AMQP)
|
|
628
657
|
```
|
|
629
658
|
|
|
630
659
|
### Pattern 3: Saga Orchestration
|
|
631
660
|
|
|
632
661
|
```
|
|
633
662
|
ApplicationProcess: "Order Fulfillment Saga"
|
|
634
|
-
├──
|
|
663
|
+
├── flows-to → ApplicationProcess: "Reserve Inventory"
|
|
635
664
|
│ ├── flows-to → ApplicationProcess: "Process Payment"
|
|
636
|
-
│ └──
|
|
637
|
-
├──
|
|
665
|
+
│ └── flows-to (on failure) → ApplicationProcess: "Release Inventory"
|
|
666
|
+
├── ApplicationProcess: "Process Payment"
|
|
638
667
|
│ ├── flows-to → ApplicationProcess: "Ship Order"
|
|
639
|
-
│ └──
|
|
668
|
+
│ └── flows-to (on failure) → ApplicationProcess: "Refund Payment"
|
|
640
669
|
└── properties: orchestration-engine=temporal, pattern=saga
|
|
641
670
|
```
|
|
642
671
|
|
|
@@ -645,12 +674,12 @@ ApplicationProcess: "Order Fulfillment Saga"
|
|
|
645
674
|
```
|
|
646
675
|
ApplicationInterface: "API Gateway"
|
|
647
676
|
├── protocol: REST
|
|
648
|
-
├──
|
|
649
|
-
├──
|
|
650
|
-
├──
|
|
651
|
-
├──
|
|
652
|
-
├──
|
|
653
|
-
└──
|
|
677
|
+
├── assigned-to → ApplicationService: "User API"
|
|
678
|
+
├── assigned-to → ApplicationService: "Order API"
|
|
679
|
+
├── assigned-to → ApplicationService: "Payment API"
|
|
680
|
+
├── depends-on → ApplicationFunction: "Authentication"
|
|
681
|
+
├── depends-on → ApplicationFunction: "Rate Limiting"
|
|
682
|
+
└── depends-on → ApplicationFunction: "Request Logging"
|
|
654
683
|
```
|
|
655
684
|
|
|
656
685
|
---
|
|
@@ -684,7 +713,7 @@ export function GraphViewer({ nodes, edges }: GraphViewerProps) {
|
|
|
684
713
|
```
|
|
685
714
|
|
|
686
715
|
→ `ApplicationComponent` (type: generic)
|
|
687
|
-
→ Cross-reference: `
|
|
716
|
+
→ Cross-reference: `technology.systemsoftware.react` serves this component (a `technology.systemsoftware` → `serves` → `ApplicationComponent` relationship)
|
|
688
717
|
→ Also add `ux.component.graph-viewer` in the UX layer for rendering detail
|
|
689
718
|
|
|
690
719
|
### Pattern: Zustand Store
|
|
@@ -893,11 +922,11 @@ dr add application process <name>
|
|
|
893
922
|
|
|
894
923
|
```bash
|
|
895
924
|
dr relationship add <component> <service> --predicate realizes
|
|
896
|
-
dr relationship add <
|
|
925
|
+
dr relationship add <interface> <service> --predicate assigned-to
|
|
926
|
+
dr relationship add <component> <interface> --predicate provides
|
|
897
927
|
dr relationship add <component> <function> --predicate assigned-to
|
|
898
|
-
dr relationship add <event> <
|
|
928
|
+
dr relationship add <event> <process> --predicate triggers
|
|
899
929
|
dr relationship add <service> <data-object> --predicate accesses
|
|
900
|
-
dr relationship add <process> <sub-process> --predicate composes
|
|
901
930
|
dr relationship add <process-a> <process-b> --predicate flows-to
|
|
902
931
|
```
|
|
903
932
|
|
|
@@ -905,7 +934,7 @@ dr relationship add <process-a> <process-b> --predicate flows-to
|
|
|
905
934
|
|
|
906
935
|
```bash
|
|
907
936
|
dr relationship add application.<service> business.<service> --predicate realizes
|
|
908
|
-
dr relationship add
|
|
909
|
-
dr relationship add
|
|
910
|
-
dr relationship add
|
|
937
|
+
dr relationship add technology.<node> application.<component> --predicate serves
|
|
938
|
+
dr relationship add api.<openapi-doc> application.<service> --predicate realizes
|
|
939
|
+
dr relationship add data-model.<object-schema> application.<data-object> --predicate realizes
|
|
911
940
|
```
|