@evolith/core-domain 1.0.1 → 1.0.3

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 (502) hide show
  1. package/README.md +102 -0
  2. package/dist/domain/services/default-workflow-definition.js +4 -1
  3. package/dist/domain/services/default-workflow-definition.js.map +1 -1
  4. package/dist/gates/decision/gate-decision.js.map +1 -1
  5. package/package.json +1 -2
  6. package/rulesets/README.es.md +0 -170
  7. package/rulesets/README.md +0 -170
  8. package/rulesets/acl/README.es.md +0 -41
  9. package/rulesets/acl/README.md +0 -41
  10. package/rulesets/acl/anti-corruption-layer.rules.es.json +0 -99
  11. package/rulesets/acl/anti-corruption-layer.rules.json +0 -99
  12. package/rulesets/adr/ADR_COVERAGE.es.md +0 -133
  13. package/rulesets/adr/ADR_COVERAGE.md +0 -133
  14. package/rulesets/adr/README.es.md +0 -17
  15. package/rulesets/adr/README.md +0 -17
  16. package/rulesets/adr/adr-0002-hexagonal-architecture.rules.json +0 -103
  17. package/rulesets/adr/adr-0005-cicd-quality-gates.rules.json +0 -102
  18. package/rulesets/adr/adr-0010-multi-tenancy.rules.json +0 -129
  19. package/rulesets/adr/adr-0018-testing-pyramid.rules.json +0 -115
  20. package/rulesets/adr/adr-0032-protocol-selection.rules.json +0 -134
  21. package/rulesets/adr/adr-0040-multi-runtime.rules.json +0 -131
  22. package/rulesets/adr/adr-0050-gitflow-branching.rules.json +0 -176
  23. package/rulesets/adr/generated/adr-0001-monorepo-orchestration-principle.rules.json +0 -29
  24. package/rulesets/adr/generated/adr-0006-microservices-transition-via-sidecar-pattern.rules.json +0 -29
  25. package/rulesets/adr/generated/adr-0009-strict-dependency-pinning-and-automated-vulnerability-manage.rules.json +0 -29
  26. package/rulesets/adr/generated/adr-0011-fault-tolerance-and-resiliency-patterns.rules.json +0 -29
  27. package/rulesets/adr/generated/adr-0013-cloud-infrastructure-topology-and-disaster-recovery-dr.rules.json +0 -28
  28. package/rulesets/adr/generated/adr-0014-multi-layer-distributed-caching-strategy.rules.json +0 -29
  29. package/rulesets/adr/generated/adr-0015-event-driven-architecture-eda-for-intra-domain-communication.rules.json +0 -29
  30. package/rulesets/adr/generated/adr-0016-immutable-business-audit-trail-and-change-tracking.rules.json +0 -29
  31. package/rulesets/adr/generated/adr-0017-feature-flagging-strategy-for-progressive-delivery.rules.json +0 -28
  32. package/rulesets/adr/generated/adr-0019-tactical-design-patterns-for-future-proofing.rules.json +0 -29
  33. package/rulesets/adr/generated/adr-0020-identity-provider-abstraction-strategy.rules.json +0 -28
  34. package/rulesets/adr/generated/adr-0024-centralized-configuration-feature-platform.rules.json +0 -28
  35. package/rulesets/adr/generated/adr-0025-feature-flag-provider-abstraction-strategy.rules.json +0 -29
  36. package/rulesets/adr/generated/adr-0028-self-hosted-open-source-hybrid-infrastructure.rules.json +0 -29
  37. package/rulesets/adr/generated/adr-0030-two-tier-distributed-gateway-model.rules.json +0 -28
  38. package/rulesets/adr/generated/adr-0031-schema-per-bounded-context-and-domain-event-catalog.rules.json +0 -29
  39. package/rulesets/adr/generated/adr-0033-transactional-outbox-pattern-for-async-messaging.rules.json +0 -28
  40. package/rulesets/adr/generated/adr-0034-cqrs-pattern-application-matrix.rules.json +0 -29
  41. package/rulesets/adr/generated/adr-0035-distributed-saga-pattern-implementation-strategy.rules.json +0 -29
  42. package/rulesets/adr/generated/adr-0036-message-bus-delivery-flow-control-strategy.rules.json +0 -29
  43. package/rulesets/adr/generated/adr-0037-enterprise-performance-concurrency-chaos-verification-strate.rules.json +0 -28
  44. package/rulesets/adr/generated/adr-0039-deployment-topology-abstraction-environment-switcher.rules.json +0 -29
  45. package/rulesets/adr/generated/adr-0041-dual-engine-policy-evaluation-native-opa.rules.json +0 -28
  46. package/rulesets/adr/generated/adr-0044-configurable-security-persistence-strategy-agnosticism-vs-na.rules.json +0 -29
  47. package/rulesets/adr/generated/adr-0045-microservice-extraction-readiness-criteria.rules.json +0 -29
  48. package/rulesets/adr/generated/adr-0046-unified-traceability-via-w3c-tracecontext.rules.json +0 -29
  49. package/rulesets/adr/generated/adr-0047-progressive-architecture-evolution-framework-modular-monolit.rules.json +0 -29
  50. package/rulesets/adr/generated/adr-0048-enterprise-taxonomy-standardization-and-reference-layout.rules.json +0 -28
  51. package/rulesets/adr/generated/adr-0049-naming-semantics-clean-code-policy-e2e-and-global.rules.json +0 -29
  52. package/rulesets/adr/generated/adr-0051-enterprise-database-engine-selection-strategy.rules.json +0 -29
  53. package/rulesets/adr/generated/adr-0052-unit-testing-isolation-strategy-mocks-vs-stubs.rules.json +0 -29
  54. package/rulesets/adr/generated/adr-0053-integration-and-e2e-testing-strategy.rules.json +0 -29
  55. package/rulesets/adr/generated/adr-0054-database-design-and-normalization-standards.rules.json +0 -29
  56. package/rulesets/adr/generated/adr-0055-microfrontends-architecture-strategy.rules.json +0 -28
  57. package/rulesets/adr/generated/adr-0056-enterprise-naming-design-conventions-multi-language-multi-pl.rules.json +0 -29
  58. package/rulesets/adr/generated/adr-0057-architecture-intelligence-catalog.rules.json +0 -27
  59. package/rulesets/adr/generated/adr-0058-ai-consumable-architecture-knowledge.rules.json +0 -27
  60. package/rulesets/adr/generated/adr-0067-modular-monolith-persistence-boundaries.rules.json +0 -28
  61. package/rulesets/adr/generated/adr-0068-documentation-release-gitflow.rules.json +0 -29
  62. package/rulesets/adr/generated/adr-0069-ai-agent-context-protocol-integration.rules.json +0 -28
  63. package/rulesets/adr/generated/adr-0070-lean-root-repository-taxonomy.rules.json +0 -29
  64. package/rulesets/adr/generated/adr-0071-domain-layer-base-class-and-inheritance-strategy.rules.json +0 -29
  65. package/rulesets/adr/generated/adr-0072-utc-date-storage-browser-timezone-detection-and-language-res.rules.json +0 -29
  66. package/rulesets/adr/generated/adr-0073-unified-cli-mcp-output-contract-and-gate-evidence-schema.rules.json +0 -29
  67. package/rulesets/adr/generated/adr-0074-evolith-core-api-native-exposure-layer.rules.json +0 -29
  68. package/rulesets/adr/generated/adr-0075-core-api-authentication-strategy.rules.json +0 -28
  69. package/rulesets/adr/generated/adr-0076-domain-oriented-microservice-architecture-doma.rules.json +0 -28
  70. package/rulesets/adr/generated/adr-0077-masstransit-v9-commercial-pivot-stay-on-v8-monitor-opentrans.rules.json +0 -28
  71. package/rulesets/adr/generated/adr-0078-domain-financial-separation-governance.rules.json +0 -29
  72. package/rulesets/adr/generated/adr-0079-multi-topology-reference-corpus-and-topology-manifest-contra.rules.json +0 -29
  73. package/rulesets/adr/generated/adr-0080-remote-repository-reference-contract.rules.json +0 -29
  74. package/rulesets/adr/generated/adr-0081-agentic-ai-sandbox-isolation-boundary.rules.json +0 -29
  75. package/rulesets/adr/generated/adr-0082-agentic-ai-prompt-context-and-tool-trust-boundary.rules.json +0 -28
  76. package/rulesets/adr/generated/adr-0083-agentic-ai-action-authorization-and-audit.rules.json +0 -29
  77. package/rulesets/adr/generated/adr-0084-data-mesh-and-data-as-a-product.rules.json +0 -29
  78. package/rulesets/adr/generated/adr-0085-agnostic-opa-wasm-distribution-architecture.rules.json +0 -28
  79. package/rulesets/adr/generated/adr-0086-agentic-ai-telemetry-cost-control-standard.rules.json +0 -27
  80. package/rulesets/adr/generated/adr-0087-attribute-based-access-control-abac-for-agentic-tool-executi.rules.json +0 -29
  81. package/rulesets/adr/generated/adr-0088-sovereign-identity-for-agentic-ai.rules.json +0 -29
  82. package/rulesets/adr/generated/adr-0089-event-driven-agentic-workflow-pattern.rules.json +0 -28
  83. package/rulesets/adr/generated/adr-0090-rag-knowledge-governance-standard.rules.json +0 -29
  84. package/rulesets/adr/generated/adr-0091-workload-identity-token-rotation-standard.rules.json +0 -29
  85. package/rulesets/adr/generated/adr-0092-agent-infinite-loop-prevention-and-circuit-breaker-rules.rules.json +0 -29
  86. package/rulesets/adr/generated/adr-0093-concurrency-control-and-resource-locking-standard-for-mcp-to.rules.json +0 -29
  87. package/rulesets/adr/generated/adr-0094-multi-agent-handoff-and-task-delegation-standards.rules.json +0 -29
  88. package/rulesets/adr/generated/adr-0095-serverless-architecture-governance.rules.json +0 -29
  89. package/rulesets/adr/generated/adr-0096-edge-computing-architecture-governance.rules.json +0 -29
  90. package/rulesets/adr/generated/adr-0097-knowledge-lifecycle-governance-standard.rules.json +0 -29
  91. package/rulesets/adr/generated/adr-0098-rest-uri-versioning-and-deprecation-policy.rules.json +0 -29
  92. package/rulesets/adr/generated/adr-0099-opa-bundle-distribution-via-s3-minio.rules.json +0 -27
  93. package/rulesets/adr/generated/adr-ai-augmented-0001-harness-engineering-for-ai-augmented-development.rules.json +0 -29
  94. package/rulesets/adr/generated/adr-ai-augmented-0002-mcp-integration-protocol-for-agent-tool-invocation.rules.json +0 -29
  95. package/rulesets/adr/generated/adr-ai-augmented-0003-model-selection-governance-for-ai-augmented-workflows.rules.json +0 -29
  96. package/rulesets/adr/generated/adr-ai-augmented-0004-agents-md-as-mandatory-repository-artifact.rules.json +0 -29
  97. package/rulesets/adr/generated/adr-ai-augmented-0005-human-in-the-loop-policy-for-autonomous-agent-operations.rules.json +0 -29
  98. package/rulesets/adr/generated/adr-android-0042-canonical-android-native-mobile-architecture.rules.json +0 -29
  99. package/rulesets/adr/generated/adr-dotnet-0041-canonical-net-c-backend-architecture.rules.json +0 -29
  100. package/rulesets/adr/generated/adr-dotnet-0060-net-multi-tenancy-dual-layer-strategy-ef-core-sql-server.rules.json +0 -29
  101. package/rulesets/adr/generated/adr-dotnet-0061-transactional-event-lifecycle-in-ef-core.rules.json +0 -28
  102. package/rulesets/adr/generated/adr-dotnet-0062-net-immutable-audit-trail-via-ddl-triggers-delta-capture.rules.json +0 -29
  103. package/rulesets/adr/generated/adr-dotnet-0063-b2b-request-idempotency-middleware-in-asp-net-core.rules.json +0 -28
  104. package/rulesets/adr/generated/adr-dotnet-0064-net-request-scope-observability-context-propagation.rules.json +0 -29
  105. package/rulesets/adr/generated/adr-dotnet-0065-net-pii-safe-structured-logging-pipeline-serilog.rules.json +0 -29
  106. package/rulesets/adr/generated/adr-dotnet-0066-net-lightweight-http-idempotency-via-imemorycache-idistribut.rules.json +0 -28
  107. package/rulesets/adr/generated/adr-dotnet-0069-net-grpc-service-setup-protobuf-contracts.rules.json +0 -29
  108. package/rulesets/adr/generated/adr-dotnet-0070-net-api-endpoint-strategy.rules.json +0 -29
  109. package/rulesets/adr/generated/adr-dotnet-0071-net-data-access-strategy-ef-core-as-default-orm-dapper-for-o.rules.json +0 -27
  110. package/rulesets/adr/generated/adr-dotnet-0072-net-aop-cross-cutting-concern-strategy-dispatchproxy-over-pi.rules.json +0 -29
  111. package/rulesets/adr/generated/adr-nodejs-0003-strict-typescript-standards.rules.json +0 -29
  112. package/rulesets/adr/generated/adr-nodejs-0004-frontend-offline-resilience.rules.json +0 -28
  113. package/rulesets/adr/generated/adr-nodejs-0007-observability-with-opentelemetry-loki-and-jaeger.rules.json +0 -29
  114. package/rulesets/adr/generated/adr-nodejs-0008-progressive-multi-module-evolution-with-api-gateway-and-bff-.rules.json +0 -28
  115. package/rulesets/adr/generated/adr-nodejs-0012-advanced-authorization-rbac-abac-strategy.rules.json +0 -28
  116. package/rulesets/adr/generated/adr-nodejs-0021-high-performance-authentication-graph-compilation.rules.json +0 -28
  117. package/rulesets/adr/generated/adr-nodejs-0022-contextual-authentication-and-pluggable-output-projections.rules.json +0 -28
  118. package/rulesets/adr/generated/adr-nodejs-0023-centralized-authorization-core-strategy.rules.json +0 -28
  119. package/rulesets/adr/generated/adr-nodejs-0026-adaptive-mfa-and-passwordless-platform.rules.json +0 -28
  120. package/rulesets/adr/generated/adr-nodejs-0027-dual-protocol-api-strategy-rest-grpc.rules.json +0 -28
  121. package/rulesets/adr/generated/adr-nodejs-0029-adoption-of-tactical-ddd-primitives-library.rules.json +0 -29
  122. package/rulesets/adr/generated/adr-nodejs-0038-enterprise-error-handling-result-pattern-strategy.rules.json +0 -29
  123. package/rulesets/adr/generated/adr-nodejs-0043-data-access-and-orm-strategy-for-node-js.rules.json +0 -29
  124. package/rulesets/adr/generated/adr-nodejs-0044-frontend-clean-architecture-layer-boundaries-react.rules.json +0 -29
  125. package/rulesets/adr/generated/adr-nodejs-0045-frontend-state-management-zustand-tanstack-query-dual-strate.rules.json +0 -29
  126. package/rulesets/adr/generated/adr-nodejs-0046-prohibition-of-raw-technical-identifiers-in-user-interfaces.rules.json +0 -29
  127. package/rulesets/adr/generated/adr-nodejs-0047-actionable-user-error-contract-and-correlated-diagnostics.rules.json +0 -29
  128. package/rulesets/adr/generated/adr-nodejs-0048-feature-flag-system-scope-and-structured-criteria-model.rules.json +0 -29
  129. package/rulesets/adr/generated/adr-nodejs-0074-monorepo-orchestration-with-nx.rules.json +0 -29
  130. package/rulesets/adr/generated/adr-nodejs-0075-application-gateway-bff-with-nestjs.rules.json +0 -29
  131. package/rulesets/architecture/README.es.md +0 -21
  132. package/rulesets/architecture/README.md +0 -21
  133. package/rulesets/architecture/opa/progressive-axis.rego +0 -50
  134. package/rulesets/cli/README.es.md +0 -17
  135. package/rulesets/cli/README.md +0 -17
  136. package/rulesets/cli/core-parity.rules.json +0 -61
  137. package/rulesets/cli/release-readiness.rules.json +0 -77
  138. package/rulesets/compliance-baseline/README.es.md +0 -26
  139. package/rulesets/compliance-baseline/README.md +0 -26
  140. package/rulesets/compliance-baseline/compliance-baseline.rules.json +0 -81
  141. package/rulesets/contracts/README.es.md +0 -19
  142. package/rulesets/contracts/README.md +0 -19
  143. package/rulesets/contracts/evolith-machine-contracts.json +0 -29
  144. package/rulesets/contracts/fixtures/gate-evidence.success.json +0 -10
  145. package/rulesets/contracts/fixtures/output-envelope.success.json +0 -23
  146. package/rulesets/cross-cutting/README.es.md +0 -14
  147. package/rulesets/cross-cutting/README.md +0 -14
  148. package/rulesets/cross-cutting/compliance-baseline.rules.json +0 -81
  149. package/rulesets/cross-cutting/definition-of-done.rules.json +0 -135
  150. package/rulesets/cross-cutting/engineering-manifesto.rules.json +0 -145
  151. package/rulesets/cross-cutting/repository-taxonomy.rules.json +0 -172
  152. package/rulesets/definition-of-done/README.es.md +0 -26
  153. package/rulesets/definition-of-done/README.md +0 -26
  154. package/rulesets/definition-of-done/definition-of-done.rules.json +0 -135
  155. package/rulesets/engineering-manifesto/README.es.md +0 -26
  156. package/rulesets/engineering-manifesto/README.md +0 -26
  157. package/rulesets/engineering-manifesto/engineering-manifesto.rules.json +0 -145
  158. package/rulesets/evidence/README.es.md +0 -12
  159. package/rulesets/evidence/README.md +0 -12
  160. package/rulesets/evidence/evidence-manifest.rules.json +0 -48
  161. package/rulesets/executive-scorecards/executive-scorecards.rules.es.json +0 -213
  162. package/rulesets/executive-scorecards/executive-scorecards.rules.json +0 -213
  163. package/rulesets/governance/README.es.md +0 -13
  164. package/rulesets/governance/README.md +0 -13
  165. package/rulesets/governance/abac-mcp-access.rules.es.json +0 -41
  166. package/rulesets/governance/abac-mcp-access.rules.json +0 -41
  167. package/rulesets/governance/executive-scorecards.rules.es.json +0 -213
  168. package/rulesets/governance/executive-scorecards.rules.json +0 -213
  169. package/rulesets/governance/inheritance.rules.json +0 -115
  170. package/rulesets/governance/knowledge-intake.rules.json +0 -18
  171. package/rulesets/governance/open-core-boundary.rules.es.json +0 -148
  172. package/rulesets/governance/open-core-boundary.rules.json +0 -148
  173. package/rulesets/governance/satellite-contracts.rules.json +0 -183
  174. package/rulesets/infrastructure/helm-enforcement.rules.json +0 -21
  175. package/rulesets/infrastructure/opa/helm-enforcement.rego +0 -25
  176. package/rulesets/infrastructure/opa/helm-enforcement.test.rego +0 -31
  177. package/rulesets/infrastructure/opa/opa-sidecar-bundle.rego +0 -115
  178. package/rulesets/infrastructure/opa/opa-sidecar-bundle.test.rego +0 -66
  179. package/rulesets/infrastructure/opa-sidecar-bundle.rules.json +0 -18
  180. package/rulesets/mcp/README.es.md +0 -12
  181. package/rulesets/mcp/README.md +0 -12
  182. package/rulesets/mcp/protocol-compliance.rules.json +0 -57
  183. package/rulesets/observability/README.es.md +0 -12
  184. package/rulesets/observability/README.md +0 -12
  185. package/rulesets/observability/telemetry-evidence.rules.json +0 -48
  186. package/rulesets/opa/README.es.md +0 -22
  187. package/rulesets/opa/README.md +0 -22
  188. package/rulesets/opa/abac-mcp-tool-access.rego +0 -122
  189. package/rulesets/opa/abac-mcp-tool-access.test.rego +0 -33
  190. package/rulesets/opa/anti-corruption-layer.rego +0 -39
  191. package/rulesets/opa/anti-corruption-layer.test.rego +0 -118
  192. package/rulesets/opa/ci-cd.rego +0 -41
  193. package/rulesets/opa/ci-cd.test.rego +0 -23
  194. package/rulesets/opa/cicd-quality-gates.rego +0 -29
  195. package/rulesets/opa/cicd-quality-gates.test.rego +0 -54
  196. package/rulesets/opa/cli-core-parity.rego +0 -17
  197. package/rulesets/opa/cli-core-parity.test.rego +0 -39
  198. package/rulesets/opa/cli-readiness.rego +0 -32
  199. package/rulesets/opa/cli-readiness.test.rego +0 -23
  200. package/rulesets/opa/cli-release-readiness.rego +0 -21
  201. package/rulesets/opa/cli-release-readiness.test.rego +0 -46
  202. package/rulesets/opa/compliance-baseline.rego +0 -95
  203. package/rulesets/opa/compliance-baseline.test.rego +0 -89
  204. package/rulesets/opa/dod.rego +0 -42
  205. package/rulesets/opa/dod.test.rego +0 -250
  206. package/rulesets/opa/engineering-manifesto.rego +0 -78
  207. package/rulesets/opa/engineering-manifesto.test.rego +0 -133
  208. package/rulesets/opa/evidence.rego +0 -64
  209. package/rulesets/opa/evidence.test.rego +0 -23
  210. package/rulesets/opa/executive-scorecards.rego +0 -41
  211. package/rulesets/opa/executive-scorecards.test.rego +0 -60
  212. package/rulesets/opa/gitflow-branching.rego +0 -41
  213. package/rulesets/opa/gitflow-branching.test.rego +0 -60
  214. package/rulesets/opa/governance.rego +0 -39
  215. package/rulesets/opa/governance.test.rego +0 -23
  216. package/rulesets/opa/hexagonal-architecture.rego +0 -33
  217. package/rulesets/opa/hexagonal-architecture.test.rego +0 -57
  218. package/rulesets/opa/infrastructure/helm-enforcement.rego +0 -33
  219. package/rulesets/opa/infrastructure/opa-sidecar-bundle.rego +0 -42
  220. package/rulesets/opa/knowledge-intake.rego +0 -98
  221. package/rulesets/opa/knowledge-intake.test.rego +0 -50
  222. package/rulesets/opa/main.rego +0 -147
  223. package/rulesets/opa/main_test.rego +0 -149
  224. package/rulesets/opa/mcp.rego +0 -61
  225. package/rulesets/opa/mcp.test.rego +0 -27
  226. package/rulesets/opa/multi-runtime.rego +0 -33
  227. package/rulesets/opa/multi-runtime.test.rego +0 -53
  228. package/rulesets/opa/multi-tenancy.rego +0 -33
  229. package/rulesets/opa/multi-tenancy.test.rego +0 -53
  230. package/rulesets/opa/open-core-boundary.rego +0 -33
  231. package/rulesets/opa/open-core-boundary.test.rego +0 -60
  232. package/rulesets/opa/protocol-selection.rego +0 -29
  233. package/rulesets/opa/protocol-selection.test.rego +0 -46
  234. package/rulesets/opa/rbac/gate-role-enforcement.rego +0 -112
  235. package/rulesets/opa/repository-taxonomy.rego +0 -98
  236. package/rulesets/opa/repository-taxonomy.test.rego +0 -91
  237. package/rulesets/opa/satellite-contracts.rego +0 -42
  238. package/rulesets/opa/satellite-contracts.test.rego +0 -70
  239. package/rulesets/opa/schemas/abac-mcp-tool-access.input.schema.json +0 -21
  240. package/rulesets/opa/schemas/anti-corruption-layer.input.schema.json +0 -25
  241. package/rulesets/opa/schemas/ci-cd.input.schema.json +0 -27
  242. package/rulesets/opa/schemas/cicd-quality-gates.input.schema.json +0 -33
  243. package/rulesets/opa/schemas/cli-core-parity.input.schema.json +0 -30
  244. package/rulesets/opa/schemas/cli-readiness.input.schema.json +0 -28
  245. package/rulesets/opa/schemas/cli-release-readiness.input.schema.json +0 -26
  246. package/rulesets/opa/schemas/compliance-baseline.input.schema.json +0 -25
  247. package/rulesets/opa/schemas/dod.input.schema.json +0 -38
  248. package/rulesets/opa/schemas/engineering-manifesto.input.schema.json +0 -24
  249. package/rulesets/opa/schemas/evidence.input.schema.json +0 -35
  250. package/rulesets/opa/schemas/executive-scorecards.input.schema.json +0 -36
  251. package/rulesets/opa/schemas/gitflow-branching.input.schema.json +0 -36
  252. package/rulesets/opa/schemas/governance.input.schema.json +0 -19
  253. package/rulesets/opa/schemas/hexagonal-architecture.input.schema.json +0 -46
  254. package/rulesets/opa/schemas/knowledge-intake.input.schema.json +0 -57
  255. package/rulesets/opa/schemas/mcp.input.schema.json +0 -38
  256. package/rulesets/opa/schemas/multi-runtime.input.schema.json +0 -27
  257. package/rulesets/opa/schemas/multi-tenancy.input.schema.json +0 -27
  258. package/rulesets/opa/schemas/open-core-boundary.input.schema.json +0 -36
  259. package/rulesets/opa/schemas/protocol-selection.input.schema.json +0 -26
  260. package/rulesets/opa/schemas/repository-taxonomy.input.schema.json +0 -18
  261. package/rulesets/opa/schemas/satellite-contracts.input.schema.json +0 -38
  262. package/rulesets/opa/schemas/taxonomy.input.schema.json +0 -27
  263. package/rulesets/opa/schemas/testing-pyramid.input.schema.json +0 -42
  264. package/rulesets/opa/schemas/version-pinning.input.schema.json +0 -39
  265. package/rulesets/opa/sdlc/coverage.rego +0 -49
  266. package/rulesets/opa/sdlc/coverage.test.rego +0 -29
  267. package/rulesets/opa/sdlc/pyramid-distribution.rego +0 -31
  268. package/rulesets/opa/sdlc/pyramid-distribution.test.rego +0 -33
  269. package/rulesets/opa/taxonomy.rego +0 -51
  270. package/rulesets/opa/taxonomy.test.rego +0 -28
  271. package/rulesets/opa/telemetry-evidence.rego +0 -102
  272. package/rulesets/opa/testing-pyramid.rego +0 -49
  273. package/rulesets/opa/testing-pyramid.test.rego +0 -81
  274. package/rulesets/opa/version-pinning.rego +0 -99
  275. package/rulesets/opa/version-pinning.test.rego +0 -28
  276. package/rulesets/phase-gates/README.es.md +0 -28
  277. package/rulesets/phase-gates/README.md +0 -28
  278. package/rulesets/phase-gates/phase-gates.rules.json +0 -297
  279. package/rulesets/quality-thresholds/README.es.md +0 -28
  280. package/rulesets/quality-thresholds/README.md +0 -28
  281. package/rulesets/quality-thresholds/quality-thresholds.rules.json +0 -96
  282. package/rulesets/repository-taxonomy/README.es.md +0 -26
  283. package/rulesets/repository-taxonomy/README.md +0 -26
  284. package/rulesets/repository-taxonomy/repository-taxonomy.rules.json +0 -172
  285. package/rulesets/satellite-contracts/README.es.md +0 -27
  286. package/rulesets/satellite-contracts/README.md +0 -27
  287. package/rulesets/satellite-contracts/satellite-contracts.rules.json +0 -183
  288. package/rulesets/schema/README.es.md +0 -39
  289. package/rulesets/schema/README.md +0 -39
  290. package/rulesets/schema/adr.schema.json +0 -138
  291. package/rulesets/schema/agile-backlog.schema.json +0 -91
  292. package/rulesets/schema/ballpark-estimation.schema.json +0 -109
  293. package/rulesets/schema/build-vs-compose.schema.json +0 -98
  294. package/rulesets/schema/cli-impact-analysis.schema.json +0 -114
  295. package/rulesets/schema/discovery-canvas.schema.json +0 -92
  296. package/rulesets/schema/evolith-user-story.schema.json +0 -105
  297. package/rulesets/schema/evolith-yaml.schema.json +0 -191
  298. package/rulesets/schema/functional-story.schema.json +0 -111
  299. package/rulesets/schema/gate-evidence.schema.json +0 -85
  300. package/rulesets/schema/integration-evidence.schema.json +0 -47
  301. package/rulesets/schema/knowledge-intake.schema.json +0 -67
  302. package/rulesets/schema/knowledge-projection.schema.json +0 -24
  303. package/rulesets/schema/maturity-evidence.schema.json +0 -59
  304. package/rulesets/schema/observability-validation.schema.json +0 -85
  305. package/rulesets/schema/on-call-handoff.schema.json +0 -91
  306. package/rulesets/schema/output-envelope.schema.json +0 -102
  307. package/rulesets/schema/prd.schema.json +0 -117
  308. package/rulesets/schema/release-notes.schema.json +0 -138
  309. package/rulesets/schema/rollback-rehearsal.schema.json +0 -73
  310. package/rulesets/schema/ruleset-sdlc.schema.json +0 -59
  311. package/rulesets/schema/ruleset-standard.schema.json +0 -73
  312. package/rulesets/schema/security-scan-report.schema.json +0 -79
  313. package/rulesets/schema/source-registry.schema.json +0 -51
  314. package/rulesets/schema/technical-feasibility.schema.json +0 -66
  315. package/rulesets/schema/technical-story.schema.json +0 -112
  316. package/rulesets/schema/test-summary-report.schema.json +0 -158
  317. package/rulesets/schema/topology-composition.schema.json +0 -43
  318. package/rulesets/schema/topology-manifest.schema.json +0 -421
  319. package/rulesets/sdlc/README.es.md +0 -12
  320. package/rulesets/sdlc/README.md +0 -12
  321. package/rulesets/sdlc/default-workflow.yaml +0 -73
  322. package/rulesets/sdlc/dependency-pinning.rules.json +0 -183
  323. package/rulesets/sdlc/phase-gates.rules.json +0 -297
  324. package/rulesets/sdlc/quality-thresholds.rules.json +0 -96
  325. package/rulesets/topologies/README.es.md +0 -42
  326. package/rulesets/topologies/README.md +0 -42
  327. package/rulesets/topologies/agentic-ai/README.es.md +0 -142
  328. package/rulesets/topologies/agentic-ai/README.md +0 -142
  329. package/rulesets/topologies/agentic-ai/adoption.es.md +0 -37
  330. package/rulesets/topologies/agentic-ai/adoption.md +0 -37
  331. package/rulesets/topologies/agentic-ai/agent.config.schema.json +0 -100
  332. package/rulesets/topologies/agentic-ai/agentic-ai.rego +0 -46
  333. package/rulesets/topologies/agentic-ai/agentic-ai.rules.json +0 -109
  334. package/rulesets/topologies/agentic-ai/agentic-ai.test.rego +0 -68
  335. package/rulesets/topologies/agentic-ai/agentic-ai.wasm +0 -0
  336. package/rulesets/topologies/agentic-ai/cli/cli-flows.es.md +0 -35
  337. package/rulesets/topologies/agentic-ai/cli/cli-flows.md +0 -45
  338. package/rulesets/topologies/agentic-ai/evidence.es.md +0 -25
  339. package/rulesets/topologies/agentic-ai/evidence.md +0 -25
  340. package/rulesets/topologies/agentic-ai/evolution.es.md +0 -26
  341. package/rulesets/topologies/agentic-ai/evolution.md +0 -26
  342. package/rulesets/topologies/agentic-ai/fixtures/invalid-agent.config.json +0 -48
  343. package/rulesets/topologies/agentic-ai/fixtures/valid-agent.config.json +0 -48
  344. package/rulesets/topologies/agentic-ai/maturity.es.md +0 -33
  345. package/rulesets/topologies/agentic-ai/maturity.md +0 -33
  346. package/rulesets/topologies/agentic-ai/mcp/mcp-manifest.json +0 -100
  347. package/rulesets/topologies/agentic-ai/openapi/openapi.yaml +0 -187
  348. package/rulesets/topologies/agentic-ai/operations.es.md +0 -32
  349. package/rulesets/topologies/agentic-ai/operations.md +0 -32
  350. package/rulesets/topologies/agentic-ai/parity-fixtures/compliant.json +0 -18
  351. package/rulesets/topologies/agentic-ai/parity-fixtures/violation.json +0 -22
  352. package/rulesets/topologies/agentic-ai/patterns.es.md +0 -32
  353. package/rulesets/topologies/agentic-ai/patterns.md +0 -32
  354. package/rulesets/topologies/agentic-ai/resilience.es.md +0 -26
  355. package/rulesets/topologies/agentic-ai/resilience.md +0 -26
  356. package/rulesets/topologies/agentic-ai/runbooks.es.md +0 -48
  357. package/rulesets/topologies/agentic-ai/runbooks.md +0 -48
  358. package/rulesets/topologies/agentic-ai/security.es.md +0 -26
  359. package/rulesets/topologies/agentic-ai/security.md +0 -26
  360. package/rulesets/topologies/agentic-ai/topology.manifest.json +0 -127
  361. package/rulesets/topologies/data-mesh/README.es.md +0 -69
  362. package/rulesets/topologies/data-mesh/README.md +0 -69
  363. package/rulesets/topologies/data-mesh/adoption.es.md +0 -95
  364. package/rulesets/topologies/data-mesh/adoption.md +0 -95
  365. package/rulesets/topologies/data-mesh/cli/cli-flows.es.md +0 -41
  366. package/rulesets/topologies/data-mesh/cli/cli-flows.md +0 -53
  367. package/rulesets/topologies/data-mesh/data-mesh.rego +0 -11
  368. package/rulesets/topologies/data-mesh/data-mesh.rules.json +0 -100
  369. package/rulesets/topologies/data-mesh/data-mesh.test.rego +0 -107
  370. package/rulesets/topologies/data-mesh/data-mesh.wasm +0 -0
  371. package/rulesets/topologies/data-mesh/evidence.es.md +0 -111
  372. package/rulesets/topologies/data-mesh/evidence.md +0 -111
  373. package/rulesets/topologies/data-mesh/evolution.es.md +0 -67
  374. package/rulesets/topologies/data-mesh/evolution.md +0 -67
  375. package/rulesets/topologies/data-mesh/fixtures/invalid.topology.config.json +0 -12
  376. package/rulesets/topologies/data-mesh/fixtures/valid.topology.config.json +0 -12
  377. package/rulesets/topologies/data-mesh/maturity.es.md +0 -36
  378. package/rulesets/topologies/data-mesh/maturity.md +0 -36
  379. package/rulesets/topologies/data-mesh/mcp/mcp-manifest.json +0 -68
  380. package/rulesets/topologies/data-mesh/openapi/openapi.yaml +0 -186
  381. package/rulesets/topologies/data-mesh/operations.es.md +0 -63
  382. package/rulesets/topologies/data-mesh/operations.md +0 -63
  383. package/rulesets/topologies/data-mesh/parity-fixtures/compliant.json +0 -18
  384. package/rulesets/topologies/data-mesh/parity-fixtures/violation.json +0 -21
  385. package/rulesets/topologies/data-mesh/patterns.es.md +0 -67
  386. package/rulesets/topologies/data-mesh/patterns.md +0 -67
  387. package/rulesets/topologies/data-mesh/resilience.es.md +0 -64
  388. package/rulesets/topologies/data-mesh/resilience.md +0 -64
  389. package/rulesets/topologies/data-mesh/runbooks.es.md +0 -147
  390. package/rulesets/topologies/data-mesh/runbooks.md +0 -147
  391. package/rulesets/topologies/data-mesh/security.es.md +0 -66
  392. package/rulesets/topologies/data-mesh/security.md +0 -66
  393. package/rulesets/topologies/data-mesh/topology.config.schema.json +0 -30
  394. package/rulesets/topologies/data-mesh/topology.manifest.json +0 -107
  395. package/rulesets/topologies/edge-computing/README.es.md +0 -81
  396. package/rulesets/topologies/edge-computing/README.md +0 -81
  397. package/rulesets/topologies/edge-computing/adoption.es.md +0 -268
  398. package/rulesets/topologies/edge-computing/adoption.md +0 -268
  399. package/rulesets/topologies/edge-computing/cli/cli-flows.es.md +0 -41
  400. package/rulesets/topologies/edge-computing/cli/cli-flows.md +0 -53
  401. package/rulesets/topologies/edge-computing/edge-computing.rego +0 -41
  402. package/rulesets/topologies/edge-computing/edge-computing.rules.json +0 -50
  403. package/rulesets/topologies/edge-computing/edge-computing.test.rego +0 -33
  404. package/rulesets/topologies/edge-computing/edge-computing.wasm +0 -0
  405. package/rulesets/topologies/edge-computing/evidence.es.md +0 -263
  406. package/rulesets/topologies/edge-computing/evidence.md +0 -263
  407. package/rulesets/topologies/edge-computing/evolution.es.md +0 -257
  408. package/rulesets/topologies/edge-computing/evolution.md +0 -257
  409. package/rulesets/topologies/edge-computing/fixtures/invalid.topology.config.json +0 -6
  410. package/rulesets/topologies/edge-computing/fixtures/valid.topology.config.json +0 -6
  411. package/rulesets/topologies/edge-computing/maturity.es.md +0 -36
  412. package/rulesets/topologies/edge-computing/maturity.md +0 -36
  413. package/rulesets/topologies/edge-computing/mcp/mcp-manifest.json +0 -72
  414. package/rulesets/topologies/edge-computing/openapi/openapi.yaml +0 -187
  415. package/rulesets/topologies/edge-computing/operations.es.md +0 -148
  416. package/rulesets/topologies/edge-computing/operations.md +0 -148
  417. package/rulesets/topologies/edge-computing/parity-fixtures/compliant.json +0 -12
  418. package/rulesets/topologies/edge-computing/parity-fixtures/violation.json +0 -13
  419. package/rulesets/topologies/edge-computing/patterns.es.md +0 -291
  420. package/rulesets/topologies/edge-computing/patterns.md +0 -290
  421. package/rulesets/topologies/edge-computing/resilience.es.md +0 -232
  422. package/rulesets/topologies/edge-computing/resilience.md +0 -229
  423. package/rulesets/topologies/edge-computing/runbooks.es.md +0 -405
  424. package/rulesets/topologies/edge-computing/runbooks.md +0 -405
  425. package/rulesets/topologies/edge-computing/security.es.md +0 -218
  426. package/rulesets/topologies/edge-computing/security.md +0 -218
  427. package/rulesets/topologies/edge-computing/topology.config.schema.json +0 -13
  428. package/rulesets/topologies/edge-computing/topology.manifest.json +0 -113
  429. package/rulesets/topologies/event-driven/README.es.md +0 -71
  430. package/rulesets/topologies/event-driven/README.md +0 -71
  431. package/rulesets/topologies/event-driven/adoption.es.md +0 -67
  432. package/rulesets/topologies/event-driven/adoption.md +0 -67
  433. package/rulesets/topologies/event-driven/cli/cli-flows.es.md +0 -41
  434. package/rulesets/topologies/event-driven/cli/cli-flows.md +0 -53
  435. package/rulesets/topologies/event-driven/event-driven.rego +0 -11
  436. package/rulesets/topologies/event-driven/event-driven.rules.json +0 -100
  437. package/rulesets/topologies/event-driven/event-driven.test.rego +0 -107
  438. package/rulesets/topologies/event-driven/event-driven.wasm +0 -0
  439. package/rulesets/topologies/event-driven/evidence.es.md +0 -69
  440. package/rulesets/topologies/event-driven/evidence.md +0 -69
  441. package/rulesets/topologies/event-driven/evolution.es.md +0 -59
  442. package/rulesets/topologies/event-driven/evolution.md +0 -59
  443. package/rulesets/topologies/event-driven/fixtures/invalid.topology.config.json +0 -12
  444. package/rulesets/topologies/event-driven/fixtures/valid.topology.config.json +0 -12
  445. package/rulesets/topologies/event-driven/maturity.es.md +0 -36
  446. package/rulesets/topologies/event-driven/maturity.md +0 -36
  447. package/rulesets/topologies/event-driven/mcp/mcp-manifest.json +0 -68
  448. package/rulesets/topologies/event-driven/openapi/openapi.yaml +0 -186
  449. package/rulesets/topologies/event-driven/operations.es.md +0 -67
  450. package/rulesets/topologies/event-driven/operations.md +0 -67
  451. package/rulesets/topologies/event-driven/parity-fixtures/compliant.json +0 -18
  452. package/rulesets/topologies/event-driven/parity-fixtures/violation.json +0 -21
  453. package/rulesets/topologies/event-driven/patterns.es.md +0 -68
  454. package/rulesets/topologies/event-driven/patterns.md +0 -68
  455. package/rulesets/topologies/event-driven/resilience.es.md +0 -65
  456. package/rulesets/topologies/event-driven/resilience.md +0 -65
  457. package/rulesets/topologies/event-driven/runbooks.es.md +0 -79
  458. package/rulesets/topologies/event-driven/runbooks.md +0 -79
  459. package/rulesets/topologies/event-driven/security.es.md +0 -59
  460. package/rulesets/topologies/event-driven/security.md +0 -59
  461. package/rulesets/topologies/event-driven/topology.config.schema.json +0 -30
  462. package/rulesets/topologies/event-driven/topology.manifest.json +0 -109
  463. package/rulesets/topologies/progressive-axis/distributed-modules/distributed-modules.rules.es.json +0 -111
  464. package/rulesets/topologies/progressive-axis/distributed-modules/distributed-modules.rules.json +0 -111
  465. package/rulesets/topologies/progressive-axis/microservices/microservices.rules.es.json +0 -106
  466. package/rulesets/topologies/progressive-axis/microservices/microservices.rules.json +0 -106
  467. package/rulesets/topologies/progressive-axis/modular-monolith/modular-monolith.rules.es.json +0 -148
  468. package/rulesets/topologies/progressive-axis/modular-monolith/modular-monolith.rules.json +0 -148
  469. package/rulesets/topologies/serverless/README.es.md +0 -74
  470. package/rulesets/topologies/serverless/README.md +0 -74
  471. package/rulesets/topologies/serverless/adoption.es.md +0 -50
  472. package/rulesets/topologies/serverless/adoption.md +0 -50
  473. package/rulesets/topologies/serverless/cli/cli-flows.es.md +0 -41
  474. package/rulesets/topologies/serverless/cli/cli-flows.md +0 -53
  475. package/rulesets/topologies/serverless/evidence.es.md +0 -66
  476. package/rulesets/topologies/serverless/evidence.md +0 -66
  477. package/rulesets/topologies/serverless/evolution.es.md +0 -36
  478. package/rulesets/topologies/serverless/evolution.md +0 -36
  479. package/rulesets/topologies/serverless/fixtures/invalid.topology.config.json +0 -6
  480. package/rulesets/topologies/serverless/fixtures/valid.topology.config.json +0 -6
  481. package/rulesets/topologies/serverless/maturity.es.md +0 -36
  482. package/rulesets/topologies/serverless/maturity.md +0 -36
  483. package/rulesets/topologies/serverless/mcp/mcp-manifest.json +0 -72
  484. package/rulesets/topologies/serverless/openapi/openapi.yaml +0 -186
  485. package/rulesets/topologies/serverless/operations.es.md +0 -36
  486. package/rulesets/topologies/serverless/operations.md +0 -36
  487. package/rulesets/topologies/serverless/parity-fixtures/compliant.json +0 -13
  488. package/rulesets/topologies/serverless/parity-fixtures/violation.json +0 -15
  489. package/rulesets/topologies/serverless/patterns.es.md +0 -36
  490. package/rulesets/topologies/serverless/patterns.md +0 -36
  491. package/rulesets/topologies/serverless/resilience.es.md +0 -36
  492. package/rulesets/topologies/serverless/resilience.md +0 -36
  493. package/rulesets/topologies/serverless/runbooks.es.md +0 -68
  494. package/rulesets/topologies/serverless/runbooks.md +0 -68
  495. package/rulesets/topologies/serverless/security.es.md +0 -36
  496. package/rulesets/topologies/serverless/security.md +0 -36
  497. package/rulesets/topologies/serverless/serverless.rego +0 -32
  498. package/rulesets/topologies/serverless/serverless.rules.json +0 -33
  499. package/rulesets/topologies/serverless/serverless.test.rego +0 -28
  500. package/rulesets/topologies/serverless/serverless.wasm +0 -0
  501. package/rulesets/topologies/serverless/topology.config.schema.json +0 -28
  502. package/rulesets/topologies/serverless/topology.manifest.json +0 -114
@@ -1,68 +0,0 @@
1
- {
2
- "protocolVersion": "2025-03-26",
3
- "topologyId": "event-driven",
4
- "description": "MCP interface for the Event-Driven topology. Provides tools for inspecting and validating event-driven configurations, resources for manifest and ruleset access, and prompts for event-governed implementation guidance.",
5
- "capabilities": {
6
- "tools": {},
7
- "resources": {},
8
- "prompts": {}
9
- },
10
- "tools": [
11
- {
12
- "name": "evolith-topology-inspect",
13
- "description": "Inspect an Event-Driven topology configuration and return its parsed manifest, event channels, and corpus artifact references.",
14
- "inputSchema": {
15
- "type": "object",
16
- "properties": {
17
- "configPath": {
18
- "type": "string",
19
- "description": "Path to the Event-Driven configuration file"
20
- },
21
- "includeChannels": {
22
- "type": "boolean",
23
- "description": "Include event channel and subscription metadata"
24
- }
25
- },
26
- "required": ["configPath"]
27
- }
28
- },
29
- {
30
- "name": "evolith-topology-validate",
31
- "description": "Validate an Event-Driven configuration against the topology ruleset and OPA policies, returning pass/fail per gate.",
32
- "inputSchema": {
33
- "type": "object",
34
- "properties": {
35
- "configPath": {
36
- "type": "string",
37
- "description": "Path to the Event-Driven configuration to validate"
38
- },
39
- "strictMode": {
40
- "type": "boolean",
41
- "description": "Fail on warnings, not just errors"
42
- }
43
- },
44
- "required": ["configPath"]
45
- }
46
- }
47
- ],
48
- "resources": [
49
- {
50
- "uri": "evolith://topologies/event-driven/manifest",
51
- "name": "Event-Driven Topology Manifest",
52
- "description": "Full topology manifest for Event-Driven, including metadata, artifact references, and corpus configuration.",
53
- "mimeType": "application/json"
54
- },
55
- {
56
- "uri": "evolith://topologies/event-driven/rulesets",
57
- "name": "Event-Driven Rulesets",
58
- "description": "All ruleset files for Event-Driven: native rules JSON, OPA Rego policies, and WASM bundle.",
59
- "mimeType": "application/json"
60
- }
61
- ],
62
- "prompts": [
63
- {
64
- "name": "topology-aware-implementation",
65
- "description": "Guides AI-assisted implementation to respect Event-Driven topology constraints, message ordering, idempotency, and eventual consistency."
66
- }
67
- ]
68
- }
@@ -1,186 +0,0 @@
1
- openapi: "3.1.0"
2
- info:
3
- title: "Event-Driven Topology — Core API Surface"
4
- version: "0.1.0"
5
- description: >
6
- REST API surface specific to the Event-Driven topology.
7
- Describes endpoints exposed by the Core API for querying,
8
- inspecting, and validating Event-Driven topology instances.
9
- servers:
10
- - url: "https://api.evolith.dev/v1"
11
- description: "Evolith Core API (production)"
12
- paths:
13
- /topologies/{id}:
14
- get:
15
- tags: [Topologies]
16
- summary: "Retrieve Event-Driven topology information"
17
- description: >
18
- Returns the full topology record for Event-Driven, including
19
- dimension, status, version, governance metadata, and corpus
20
- artifact references (rulesets, OPA policies, ADRs, guidance).
21
- operationId: "getEventDrivenTopology"
22
- parameters:
23
- - name: id
24
- in: path
25
- required: true
26
- schema:
27
- type: string
28
- pattern: "^event-driven$"
29
- example: "event-driven"
30
- responses:
31
- "200":
32
- description: "Successful response with Event-Driven topology data"
33
- content:
34
- application/json:
35
- schema:
36
- $ref: "#/components/schemas/EnvelopeTopology"
37
- "404":
38
- description: "Topology not found"
39
- /topologies/{id}/manifest:
40
- get:
41
- tags: [Topologies]
42
- summary: "Get Event-Driven topology manifest"
43
- description: >
44
- Returns the full topology manifest for Event-Driven, with
45
- artifact references, corpus configuration, and business
46
- boundary declaration.
47
- operationId: "getEventDrivenManifest"
48
- parameters:
49
- - name: id
50
- in: path
51
- required: true
52
- schema:
53
- type: string
54
- pattern: "^event-driven$"
55
- responses:
56
- "200":
57
- description: "Successful response with Event-Driven manifest"
58
- content:
59
- application/json:
60
- schema:
61
- $ref: "#/components/schemas/EnvelopeManifest"
62
- /topologies/{id}/validate:
63
- post:
64
- tags: [Topologies]
65
- summary: "Validate Event-Driven topology rules"
66
- description: >
67
- Executes all applicable rulesets and OPA policies for Event-Driven
68
- against a submitted configuration, returning pass/fail per gate.
69
- operationId: "validateEventDrivenTopology"
70
- parameters:
71
- - name: id
72
- in: path
73
- required: true
74
- schema:
75
- type: string
76
- pattern: "^event-driven$"
77
- requestBody:
78
- required: true
79
- content:
80
- application/json:
81
- schema:
82
- $ref: "#/components/schemas/ValidationRequest"
83
- responses:
84
- "200":
85
- description: "Validation results"
86
- content:
87
- application/json:
88
- schema:
89
- $ref: "#/components/schemas/EnvelopeValidation"
90
- components:
91
- schemas:
92
- Envelope:
93
- type: object
94
- properties:
95
- success:
96
- type: boolean
97
- data: {}
98
- meta:
99
- type: object
100
- properties:
101
- context:
102
- type: string
103
- timing:
104
- type: number
105
- schemaVersion:
106
- type: string
107
- pattern: "^\\d+\\.\\d+\\.\\d+$"
108
- required: [context, timing, schemaVersion]
109
- required: [success, data, meta]
110
- EnvelopeTopology:
111
- allOf:
112
- - $ref: "#/components/schemas/Envelope"
113
- - type: object
114
- properties:
115
- data:
116
- $ref: "#/components/schemas/TopologyRecord"
117
- EnvelopeManifest:
118
- allOf:
119
- - $ref: "#/components/schemas/Envelope"
120
- - type: object
121
- properties:
122
- data:
123
- $ref: "#/components/schemas/TopologyManifest"
124
- EnvelopeValidation:
125
- allOf:
126
- - $ref: "#/components/schemas/Envelope"
127
- - type: object
128
- properties:
129
- data:
130
- $ref: "#/components/schemas/ValidationResult"
131
- TopologyRecord:
132
- type: object
133
- properties:
134
- id:
135
- type: string
136
- example: "event-driven"
137
- name:
138
- type: string
139
- example: "Event-Driven"
140
- dimension:
141
- type: string
142
- example: "integration"
143
- status:
144
- type: string
145
- enum: [accepted, draft, deprecated]
146
- version:
147
- type: string
148
- example: "0.1.0"
149
- TopologyManifest:
150
- type: object
151
- properties:
152
- apiVersion:
153
- type: string
154
- example: "evolith.dev/topology/v1"
155
- kind:
156
- type: string
157
- example: "TopologyManifest"
158
- metadata:
159
- type: object
160
- spec:
161
- type: object
162
- ValidationRequest:
163
- type: object
164
- properties:
165
- config:
166
- type: object
167
- description: "Configuration to validate against topology rules"
168
- required: [config]
169
- ValidationResult:
170
- type: object
171
- properties:
172
- passed:
173
- type: boolean
174
- gates:
175
- type: array
176
- items:
177
- type: object
178
- properties:
179
- gate:
180
- type: string
181
- passed:
182
- type: boolean
183
- evidence:
184
- type: array
185
- items:
186
- type: string
@@ -1,67 +0,0 @@
1
- # Guía de Operaciones Orientada a Eventos
2
-
3
- > **Navegación Bilingüe:** [English](./operations.md) | [Español](./operations.es.md)
4
-
5
- **Propietario:** Junta de Arquitectura
6
- **Topología:** Orientada a Eventos
7
-
8
- ## Propósito
9
-
10
- Definir procedimientos operativos para la gestión de brokers de eventos, el monitoreo de retraso de consumidores, el manejo de colas de letras muertas (DLQ), la observabilidad del flujo de eventos y la gestión de particiones en arquitecturas orientadas a eventos.
11
-
12
- ## Gestión del Broker
13
-
14
- ### Monitoreo de Salud
15
-
16
- - Rastrear tiempo de actividad del broker, conteo de conexiones y throughput por tema.
17
- - Configurar verificaciones de salud en probes de disponibilidad y vitalidad del broker.
18
- - Alertar cuando el uso de memoria del broker exceda el 80% de la capacidad asignada.
19
-
20
- ### Planificación de Capacidad
21
-
22
- - Monitorear el conteo de particiones del tema contra el paralelismo del consumidor.
23
- - Escalar nodos del broker cuando el throughput sostenido exceda el 70% de la capacidad pico.
24
- - Revisar configuraciones de retención trimestralmente para alinear con presupuestos de almacenamiento.
25
-
26
- ## Monitoreo de Retraso de Consumidores
27
-
28
- - Exponer métricas de retraso del consumidor mediante herramientas nativas del broker (por ejemplo, Consumer Groups de Kafka).
29
- - Configurar umbrales de alerta: advertencia a 10,000 mensajes, crítico a 100,000 mensajes de retraso.
30
- - Rastrear tendencias de retraso semanalmente; investigar crecimiento persistente del retraso.
31
-
32
- ## Manejo de Cola de Letras Muertas (DLQ) — ED-R03
33
-
34
- - Enviar mensajes no procesables a DLQ después del agotamiento configurable de reintentos (predeterminado: 3 intentos).
35
- - Monitorear la profundidad de DLQ diariamente; mensajes mayores a 72 horas requieren triaje manual.
36
- - Implementar herramientas de reproducción de DLQ con protecciones de idempotencia antes de reprocesar.
37
-
38
- ## Observabilidad del Flujo de Eventos — ED-R08
39
-
40
- - Instrumentar productores y consumidores con tracing distribuido (OpenTelemetry).
41
- - Capturar metadatos del evento: tema, partición, offset, timestamp, ID del productor.
42
- - Mantener paneles de control del flujo de eventos mostrando tasas de producción/consumo, tasas de error y latencia de extremo a extremo.
43
-
44
- ## Gestión de Particiones — ED-R04
45
-
46
- - Diseñar claves de partición para garantizar ordenamiento donde sea necesario.
47
- - Evitar particiones calientes distribuyendo claves en dominios de alta cardinalidad.
48
- - Monitorear throughput por partición; rebalancear cuando la varianza exceda 3x entre particiones.
49
-
50
- ## Aplicabilidad Componible
51
-
52
- | Componible | Orientación |
53
- |---|---|
54
- | Monolito Modular | Broker embebido; la gestión de particiones es intra-proceso. |
55
- | Módulos Distribuidos | Cluster de broker compartido; se requiere monitoreo de retraso de consumidores entre módulos. |
56
- | Microservicios | Infraestructura completa de broker; aislamiento de grupo de consumidores por servicio. |
57
- | Serverless | Servicios de broker gestionados; el escalado de particiones lo maneja el proveedor. |
58
- | Computación Edge | Instancias de broker locales con sincronización periódica a la nube. |
59
-
60
- ## Referencias ADR
61
-
62
- - **ADR-0015**: Infraestructura de broker de eventos y estrategia de particionamiento.
63
- - **ADR-0079**: Estándares de observabilidad y monitoreo de eventos.
64
-
65
- ---
66
-
67
- [Volver al Perfil Orientado a Eventos](./README.es.md)
@@ -1,67 +0,0 @@
1
- # Event-Driven — Operations Guide
2
-
3
- > **Bilingual Navigation:** [English](./operations.md) | [Español](./operations.es.md)
4
-
5
- **Owner:** Architecture Board
6
- **Topology:** Event-Driven
7
-
8
- ## Purpose
9
-
10
- Define operational procedures for managing event brokers, monitoring consumer lag, handling dead-letter queues (DLQs), ensuring event flow observability, and managing partitions in event-driven architectures.
11
-
12
- ## Broker Management
13
-
14
- ### Health Monitoring
15
-
16
- - Track broker uptime, connection count, and message throughput per topic.
17
- - Configure health checks on broker readiness and liveness probes.
18
- - Alert on broker memory usage exceeding 80% of allocated capacity.
19
-
20
- ### Capacity Planning
21
-
22
- - Monitor topic partition count against consumer parallelism.
23
- - Scale broker nodes when sustained throughput exceeds 70% of peak capacity.
24
- - Review retention settings quarterly to align with storage budgets.
25
-
26
- ## Consumer Lag Monitoring
27
-
28
- - Expose consumer lag metrics via broker-native tooling (e.g., Kafka Consumer Groups).
29
- - Set alert thresholds: warning at 10,000 messages, critical at 100,000 messages lag.
30
- - Track lag trends weekly; investigate persistent lag growth.
31
-
32
- ## Dead-Letter Queue (DLQ) Handling — ED-R03
33
-
34
- - Route unprocessable messages to DLQ after configurable retry exhaustion (default: 3 attempts).
35
- - Monitor DLQ depth daily; messages older than 72 hours require manual triage.
36
- - Implement DLQ replay tooling with idempotency guards before reprocessing.
37
-
38
- ## Event Flow Observability — ED-R08
39
-
40
- - Instrument producers and consumers with distributed tracing (OpenTelemetry).
41
- - Capture event metadata: topic, partition, offset, timestamp, producer ID.
42
- - Maintain event flow dashboards showing produce/consume rates, error rates, and end-to-end latency.
43
-
44
- ## Partition Management — ED-R04
45
-
46
- - Design partition keys to ensure ordering guarantees where required.
47
- - Avoid hot partitions by distributing keys across high-cardinality domains.
48
- - Monitor per-partition throughput; rebalance when variance exceeds 3x across partitions.
49
-
50
- ## Composable Applicability
51
-
52
- | Composable | Guidance |
53
- |---|---|
54
- | Modular Monolith | Embedded broker; partition management is intra-process. |
55
- | Distributed Modules | Shared broker cluster; cross-module consumer lag monitoring required. |
56
- | Microservices | Full broker infrastructure; per-service consumer group isolation. |
57
- | Serverless | Managed broker services; partition scaling handled by provider. |
58
- | Edge Computing | Local broker instances with periodic cloud sync. |
59
-
60
- ## ADR References
61
-
62
- - **ADR-0015**: Event broker infrastructure and partitioning strategy.
63
- - **ADR-0079**: Event observability and monitoring standards.
64
-
65
- ---
66
-
67
- [Back to Event-Driven Profile](./README.md)
@@ -1,18 +0,0 @@
1
- {
2
- "input": {
3
- "satellite": {
4
- "eventDriven": {
5
- "hasStrictAsyncApi": true,
6
- "hasOutbox": true,
7
- "hasDlq": true,
8
- "hasOrderingGuarantee": true,
9
- "hasIdempotencyKey": true,
10
- "hasBackwardCompatibleSchema": true,
11
- "hasRetentionPolicy": true,
12
- "hasEventCorrelation": true,
13
- "hasConsumerGroupRegistry": true
14
- }
15
- }
16
- },
17
- "expectedNative": []
18
- }
@@ -1,21 +0,0 @@
1
- {
2
- "input": {
3
- "satellite": {
4
- "eventDriven": {
5
- "hasStrictAsyncApi": false,
6
- "hasOutbox": true,
7
- "hasDlq": true,
8
- "hasOrderingGuarantee": false,
9
- "hasIdempotencyKey": true,
10
- "hasBackwardCompatibleSchema": true,
11
- "hasRetentionPolicy": true,
12
- "hasEventCorrelation": true,
13
- "hasConsumerGroupRegistry": true
14
- }
15
- }
16
- },
17
- "expectedNative": [
18
- { "ruleId": "ED-R01", "severity": "error", "file": null },
19
- { "ruleId": "ED-R04", "severity": "error", "file": null }
20
- ]
21
- }
@@ -1,68 +0,0 @@
1
- # Guía de Patrones Orientada a Eventos
2
-
3
- > **Navegación Bilingüe:** [English](./patterns.md) | [Español](./patterns.es.md)
4
-
5
- **Propietario:** Junta de Arquitectura
6
- **Topología:** Orientada a Eventos
7
-
8
- ## Propósito
9
-
10
- Documentar patrones fundamentales orientados a eventos: almacenamiento de eventos, CQRS, saga, outbox transaccional, captura de cambios de datos (CDC) y tradeoffs entre coreografía y orquestación.
11
-
12
- ## Almacenamiento de Eventos (Event Sourcing)
13
-
14
- - Persistir estado como una secuencia inmutable de eventos en lugar de instantáneas del estado actual.
15
- - Reconstruir estado reproduciendo eventos desde el inicio del flujo.
16
- - Usar snapshots periódicamente para acotar el tiempo de reproducción (por ejemplo, cada 1,000 eventos).
17
-
18
- ## CQRS (Segregación de Responsabilidades de Comando y Consulta)
19
-
20
- - Separar modelo de escritura (comandos) del modelo de lectura (consultas) para escalado independiente.
21
- - Sincronizar modelo de lectura mediante eventos publicados desde el lado de escritura.
22
- - Aceptar consistencia eventual entre modelos de escritura y lectura; diseñar UIs en consecuencia.
23
-
24
- ## Patrón Saga
25
-
26
- - Coordinar procesos de negocio de múltiples pasos como una secuencia de transacciones locales.
27
- - Implementar transacciones compensatorias para reversión cuando un paso falla.
28
- - Preferir coreografía (orientada a eventos) para sagas simples; usar orquestación (coordinador central) para flujos de trabajo complejos y de larga ejecución.
29
-
30
- ## Outbox Transaccional — ED-R02
31
-
32
- - Asegurar publicación confiable de eventos escribiendo eventos en un outbox dentro de la misma transacción de BD que la escritura de negocio.
33
- - Usar CDC (Debezium) o un editor de sondeo para transmitir eventos del outbox al broker.
34
- - Deduplicar del lado del consumidor; el outbox puede publicar duplicados durante failover.
35
-
36
- ## Captura de Cambios de Datos (CDC)
37
-
38
- - Transmitir cambios de base de datos como eventos sin modificar el código de la aplicación.
39
- - Usar Debezium o conectores equivalentes para PostgreSQL, MySQL o SQL Server.
40
- - Monitorear retraso del conector; alertar cuando el retraso exceda 5 minutos.
41
-
42
- ## Coreografía vs. Orquestación — ED-R04
43
-
44
- | Aspecto | Coreografía | Orquestación |
45
- |---|---|---|
46
- | Acoplamiento | Loose; los servicios reaccionan a eventos | Más fuerte; el coordinador invoca servicios |
47
- | Visibilidad | Distribuida; más difícil de rastrear | Centralizada; más fácil de monitorear |
48
- | Manejo de errores | Eventos compensatorios por servicio | Reintento y compensación centralizados |
49
- | Caso de uso | Flujos simples de pocos pasos | Complejos, multi-servicio, larga ejecución |
50
-
51
- ## Aplicabilidad Componible
52
-
53
- | Componible | Orientación |
54
- |---|---|
55
- | Monolito Modular | Almacenamiento de eventos y CQRS dentro de límites de módulos; outbox es intra-BD. |
56
- | Módulos Distribuidos | Saga entre módulos; coreografía preferida para acoplamiento loose. |
57
- | Microservicios | Saga completo con orquestación o coreografía; CDC para sincronización de datos. |
58
- | Serverless | Almacenamiento de eventos con flujos gestionados; CDC vía conectores gestionados. |
59
- | Computación Edge | Almacenamiento de eventos local con sincronización periódica a la nube. |
60
-
61
- ## Referencias ADR
62
-
63
- - **ADR-0015**: Criterios de adopción de almacenamiento de eventos y CQRS.
64
- - **ADR-0079**: Marco de decisión de orquestación vs. coreografía en saga.
65
-
66
- ---
67
-
68
- [Volver al Perfil Orientado a Eventos](./README.es.md)
@@ -1,68 +0,0 @@
1
- # Event-Driven — Patterns Guide
2
-
3
- > **Bilingual Navigation:** [English](./patterns.md) | [Español](./patterns.es.md)
4
-
5
- **Owner:** Architecture Board
6
- **Topology:** Event-Driven
7
-
8
- ## Purpose
9
-
10
- Document core event-driven patterns: event sourcing, CQRS, saga, transactional outbox, change data capture (CDC), and choreography vs. orchestration tradeoffs.
11
-
12
- ## Event Sourcing
13
-
14
- - Persist state as an immutable sequence of events rather than current-state snapshots.
15
- - Rebuild state by replaying events from the beginning of the stream.
16
- - Use snapshots periodically to bound replay time (e.g., every 1,000 events).
17
-
18
- ## CQRS (Command Query Responsibility Segregation)
19
-
20
- - Separate write model (commands) from read model (queries) for independent scaling.
21
- - Synchronize read model via events published from the write side.
22
- - Accept eventual consistency between write and read models; design UIs accordingly.
23
-
24
- ## Saga Pattern
25
-
26
- - Coordinate multi-step business processes as a sequence of local transactions.
27
- - Implement compensating transactions for rollback when a step fails.
28
- - Prefer choreography (event-driven) for simple sagas; use orchestration (central coordinator) for complex, long-running workflows.
29
-
30
- ## Transactional Outbox — ED-R02
31
-
32
- - Ensure reliable event publication by writing events to an outbox within the same DB transaction as the business write.
33
- - Use CDC (Debezium) or a polling publisher to relay outbox events to the broker.
34
- - Deduplicate at the consumer side; the outbox may publish duplicates during failover.
35
-
36
- ## Change Data Capture (CDC)
37
-
38
- - Stream database changes as events without modifying application code.
39
- - Use Debezium or equivalent connectors for PostgreSQL, MySQL, or SQL Server.
40
- - Monitor connector lag; alert when lag exceeds 5 minutes.
41
-
42
- ## Choreography vs. Orchestration — ED-R04
43
-
44
- | Aspect | Choreography | Orchestration |
45
- |---|---|---|
46
- | Coupling | Loose; services react to events | Tighter; coordinator invokes services |
47
- | Visibility | Distributed; harder to trace | Centralized; easier to monitor |
48
- | Error handling | Compensating events per service | Centralized retry and compensation |
49
- | Use case | Simple, few-step workflows | Complex, multi-service, long-running |
50
-
51
- ## Composable Applicability
52
-
53
- | Composable | Guidance |
54
- |---|---|
55
- | Modular Monolith | Event sourcing and CQRS within module boundaries; outbox is intra-DB. |
56
- | Distributed Modules | Saga across modules; choreography preferred for loose coupling. |
57
- | Microservices | Full saga with orchestration or choreography; CDC for data synchronization. |
58
- | Serverless | Event sourcing with managed streams; CDC via managed connectors. |
59
- | Edge Computing | Local event sourcing with periodic cloud synchronization. |
60
-
61
- ## ADR References
62
-
63
- - **ADR-0015**: Event sourcing and CQRS adoption criteria.
64
- - **ADR-0079**: Saga orchestration vs. choreography decision framework.
65
-
66
- ---
67
-
68
- [Back to Event-Driven Profile](./README.md)
@@ -1,65 +0,0 @@
1
- # Guía de Resiliencia Orientada a Eventos
2
-
3
- > **Navegación Bilingüe:** [English](./resilience.md) | [Español](./resilience.es.md)
4
-
5
- **Propietario:** Junta de Arquitectura
6
- **Topología:** Orientada a Eventos
7
-
8
- ## Propósito
9
-
10
- Definir patrones de resiliencia para arquitecturas orientadas a eventos: consumidores idempotentes, semántica de exactamente una vez, manejo de píldoras venenosas, retroceso de reintentos, rebalanceo de consumidores y outbox transaccional.
11
-
12
- ## Consumidores Idempotentes — ED-R05
13
-
14
- - Cada consumidor DEBE procesar eventos de forma idempotente; se asume entrega duplicada.
15
- - Usar claves de deduplicación compuestas por `(event-id, consumer-group)` almacenadas en una caché duradera.
16
- - Establecer la ventana de deduplicación en al menos 2x el período máximo de retención del broker.
17
-
18
- ## Semántica de Exactamente Una Vez
19
-
20
- - Preferir productores idempotentes con IDs de productor sobre garantías de exactamente una vez a nivel de broker.
21
- - Para flujos de trabajo críticos, usar productores transaccionales que escriban atómicamente en múltiples temas.
22
- - Documentar el nivel de garantía semántica (al menos una vez, efectivamente una vez) por consumidor.
23
-
24
- ## Manejo de Píldoras Venenosas — ED-R03
25
-
26
- - Detectar píldoras venenosas rastreando conteos de reintentos por mensaje en el estado del consumidor.
27
- - Después del agotamiento configurable de reintentos (predeterminado: 3), enrutar el mensaje a DLQ con contexto completo.
28
- - Alertar cuando la tasa de píldoras venenosas exceda el 0.1% del volumen total de mensajes.
29
-
30
- ## Retroceso de Reintentos
31
-
32
- - Implementar retroceso exponencial con jitter: `base * 2^attempto + random(0, base)`.
33
- - Establecer un máximo de retraso de reintento de 5 minutos; escalar a DLQ después de alcanzar el máximo.
34
- - Usar colas de reintento separadas para categorías de falla transitoria vs. permanente.
35
-
36
- ## Rebalanceo de Consumidores
37
-
38
- - Diseñar consumidores para manejar eventos de rebalanceo con gracia; pausar procesamiento durante rebalanceo.
39
- - Usar asignación de partición cooperativa y pegajosa para minimizar movimiento de particiones.
40
- - Monitorear frecuencia de rebalanceo; investigar si los rebalanceos exceden 1 por hora por grupo de consumidores.
41
-
42
- ## Outbox Transaccional — ED-R02
43
-
44
- - Escribir eventos de dominio en una tabla de outbox dentro de la misma transacción que los cambios de estado del negocio.
45
- - Publicar eventos de outbox mediante CDC o editor de sondeo al broker.
46
- - Garantizar que los registros de outbox se publiquen eventualmente; monitorear la profundidad del outbox.
47
-
48
- ## Aplicabilidad Componible
49
-
50
- | Componible | Orientación |
51
- |---|---|
52
- | Monolito Modular | El outbox es intra-base de datos; idempotencia vía caché compartida. |
53
- | Módulos Distribuidos | El outbox entre módulos requiere diseño cuidadoso de límites de transacción. |
54
- | Microservicios | Outbox por servicio; aislamiento de consumidores por límite de servicio. |
55
- | Serverless | Deduplicación gestionada; outbox mediante disparadores de base de datos. |
56
- | Computación Edge | Outbox local con sincronización eventual al broker en la nube. |
57
-
58
- ## Referencias ADR
59
-
60
- - **ADR-0015**: Estándares de resiliencia de consumidores y políticas de reintento.
61
- - **ADR-0079**: Patrón de implementación de outbox transaccional.
62
-
63
- ---
64
-
65
- [Volver al Perfil Orientado a Eventos](./README.es.md)