@evolith/core-domain 1.0.1 → 1.0.2

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 (501) hide show
  1. package/dist/domain/services/default-workflow-definition.js +4 -1
  2. package/dist/domain/services/default-workflow-definition.js.map +1 -1
  3. package/dist/gates/decision/gate-decision.js.map +1 -1
  4. package/package.json +1 -2
  5. package/rulesets/README.es.md +0 -170
  6. package/rulesets/README.md +0 -170
  7. package/rulesets/acl/README.es.md +0 -41
  8. package/rulesets/acl/README.md +0 -41
  9. package/rulesets/acl/anti-corruption-layer.rules.es.json +0 -99
  10. package/rulesets/acl/anti-corruption-layer.rules.json +0 -99
  11. package/rulesets/adr/ADR_COVERAGE.es.md +0 -133
  12. package/rulesets/adr/ADR_COVERAGE.md +0 -133
  13. package/rulesets/adr/README.es.md +0 -17
  14. package/rulesets/adr/README.md +0 -17
  15. package/rulesets/adr/adr-0002-hexagonal-architecture.rules.json +0 -103
  16. package/rulesets/adr/adr-0005-cicd-quality-gates.rules.json +0 -102
  17. package/rulesets/adr/adr-0010-multi-tenancy.rules.json +0 -129
  18. package/rulesets/adr/adr-0018-testing-pyramid.rules.json +0 -115
  19. package/rulesets/adr/adr-0032-protocol-selection.rules.json +0 -134
  20. package/rulesets/adr/adr-0040-multi-runtime.rules.json +0 -131
  21. package/rulesets/adr/adr-0050-gitflow-branching.rules.json +0 -176
  22. package/rulesets/adr/generated/adr-0001-monorepo-orchestration-principle.rules.json +0 -29
  23. package/rulesets/adr/generated/adr-0006-microservices-transition-via-sidecar-pattern.rules.json +0 -29
  24. package/rulesets/adr/generated/adr-0009-strict-dependency-pinning-and-automated-vulnerability-manage.rules.json +0 -29
  25. package/rulesets/adr/generated/adr-0011-fault-tolerance-and-resiliency-patterns.rules.json +0 -29
  26. package/rulesets/adr/generated/adr-0013-cloud-infrastructure-topology-and-disaster-recovery-dr.rules.json +0 -28
  27. package/rulesets/adr/generated/adr-0014-multi-layer-distributed-caching-strategy.rules.json +0 -29
  28. package/rulesets/adr/generated/adr-0015-event-driven-architecture-eda-for-intra-domain-communication.rules.json +0 -29
  29. package/rulesets/adr/generated/adr-0016-immutable-business-audit-trail-and-change-tracking.rules.json +0 -29
  30. package/rulesets/adr/generated/adr-0017-feature-flagging-strategy-for-progressive-delivery.rules.json +0 -28
  31. package/rulesets/adr/generated/adr-0019-tactical-design-patterns-for-future-proofing.rules.json +0 -29
  32. package/rulesets/adr/generated/adr-0020-identity-provider-abstraction-strategy.rules.json +0 -28
  33. package/rulesets/adr/generated/adr-0024-centralized-configuration-feature-platform.rules.json +0 -28
  34. package/rulesets/adr/generated/adr-0025-feature-flag-provider-abstraction-strategy.rules.json +0 -29
  35. package/rulesets/adr/generated/adr-0028-self-hosted-open-source-hybrid-infrastructure.rules.json +0 -29
  36. package/rulesets/adr/generated/adr-0030-two-tier-distributed-gateway-model.rules.json +0 -28
  37. package/rulesets/adr/generated/adr-0031-schema-per-bounded-context-and-domain-event-catalog.rules.json +0 -29
  38. package/rulesets/adr/generated/adr-0033-transactional-outbox-pattern-for-async-messaging.rules.json +0 -28
  39. package/rulesets/adr/generated/adr-0034-cqrs-pattern-application-matrix.rules.json +0 -29
  40. package/rulesets/adr/generated/adr-0035-distributed-saga-pattern-implementation-strategy.rules.json +0 -29
  41. package/rulesets/adr/generated/adr-0036-message-bus-delivery-flow-control-strategy.rules.json +0 -29
  42. package/rulesets/adr/generated/adr-0037-enterprise-performance-concurrency-chaos-verification-strate.rules.json +0 -28
  43. package/rulesets/adr/generated/adr-0039-deployment-topology-abstraction-environment-switcher.rules.json +0 -29
  44. package/rulesets/adr/generated/adr-0041-dual-engine-policy-evaluation-native-opa.rules.json +0 -28
  45. package/rulesets/adr/generated/adr-0044-configurable-security-persistence-strategy-agnosticism-vs-na.rules.json +0 -29
  46. package/rulesets/adr/generated/adr-0045-microservice-extraction-readiness-criteria.rules.json +0 -29
  47. package/rulesets/adr/generated/adr-0046-unified-traceability-via-w3c-tracecontext.rules.json +0 -29
  48. package/rulesets/adr/generated/adr-0047-progressive-architecture-evolution-framework-modular-monolit.rules.json +0 -29
  49. package/rulesets/adr/generated/adr-0048-enterprise-taxonomy-standardization-and-reference-layout.rules.json +0 -28
  50. package/rulesets/adr/generated/adr-0049-naming-semantics-clean-code-policy-e2e-and-global.rules.json +0 -29
  51. package/rulesets/adr/generated/adr-0051-enterprise-database-engine-selection-strategy.rules.json +0 -29
  52. package/rulesets/adr/generated/adr-0052-unit-testing-isolation-strategy-mocks-vs-stubs.rules.json +0 -29
  53. package/rulesets/adr/generated/adr-0053-integration-and-e2e-testing-strategy.rules.json +0 -29
  54. package/rulesets/adr/generated/adr-0054-database-design-and-normalization-standards.rules.json +0 -29
  55. package/rulesets/adr/generated/adr-0055-microfrontends-architecture-strategy.rules.json +0 -28
  56. package/rulesets/adr/generated/adr-0056-enterprise-naming-design-conventions-multi-language-multi-pl.rules.json +0 -29
  57. package/rulesets/adr/generated/adr-0057-architecture-intelligence-catalog.rules.json +0 -27
  58. package/rulesets/adr/generated/adr-0058-ai-consumable-architecture-knowledge.rules.json +0 -27
  59. package/rulesets/adr/generated/adr-0067-modular-monolith-persistence-boundaries.rules.json +0 -28
  60. package/rulesets/adr/generated/adr-0068-documentation-release-gitflow.rules.json +0 -29
  61. package/rulesets/adr/generated/adr-0069-ai-agent-context-protocol-integration.rules.json +0 -28
  62. package/rulesets/adr/generated/adr-0070-lean-root-repository-taxonomy.rules.json +0 -29
  63. package/rulesets/adr/generated/adr-0071-domain-layer-base-class-and-inheritance-strategy.rules.json +0 -29
  64. package/rulesets/adr/generated/adr-0072-utc-date-storage-browser-timezone-detection-and-language-res.rules.json +0 -29
  65. package/rulesets/adr/generated/adr-0073-unified-cli-mcp-output-contract-and-gate-evidence-schema.rules.json +0 -29
  66. package/rulesets/adr/generated/adr-0074-evolith-core-api-native-exposure-layer.rules.json +0 -29
  67. package/rulesets/adr/generated/adr-0075-core-api-authentication-strategy.rules.json +0 -28
  68. package/rulesets/adr/generated/adr-0076-domain-oriented-microservice-architecture-doma.rules.json +0 -28
  69. package/rulesets/adr/generated/adr-0077-masstransit-v9-commercial-pivot-stay-on-v8-monitor-opentrans.rules.json +0 -28
  70. package/rulesets/adr/generated/adr-0078-domain-financial-separation-governance.rules.json +0 -29
  71. package/rulesets/adr/generated/adr-0079-multi-topology-reference-corpus-and-topology-manifest-contra.rules.json +0 -29
  72. package/rulesets/adr/generated/adr-0080-remote-repository-reference-contract.rules.json +0 -29
  73. package/rulesets/adr/generated/adr-0081-agentic-ai-sandbox-isolation-boundary.rules.json +0 -29
  74. package/rulesets/adr/generated/adr-0082-agentic-ai-prompt-context-and-tool-trust-boundary.rules.json +0 -28
  75. package/rulesets/adr/generated/adr-0083-agentic-ai-action-authorization-and-audit.rules.json +0 -29
  76. package/rulesets/adr/generated/adr-0084-data-mesh-and-data-as-a-product.rules.json +0 -29
  77. package/rulesets/adr/generated/adr-0085-agnostic-opa-wasm-distribution-architecture.rules.json +0 -28
  78. package/rulesets/adr/generated/adr-0086-agentic-ai-telemetry-cost-control-standard.rules.json +0 -27
  79. package/rulesets/adr/generated/adr-0087-attribute-based-access-control-abac-for-agentic-tool-executi.rules.json +0 -29
  80. package/rulesets/adr/generated/adr-0088-sovereign-identity-for-agentic-ai.rules.json +0 -29
  81. package/rulesets/adr/generated/adr-0089-event-driven-agentic-workflow-pattern.rules.json +0 -28
  82. package/rulesets/adr/generated/adr-0090-rag-knowledge-governance-standard.rules.json +0 -29
  83. package/rulesets/adr/generated/adr-0091-workload-identity-token-rotation-standard.rules.json +0 -29
  84. package/rulesets/adr/generated/adr-0092-agent-infinite-loop-prevention-and-circuit-breaker-rules.rules.json +0 -29
  85. package/rulesets/adr/generated/adr-0093-concurrency-control-and-resource-locking-standard-for-mcp-to.rules.json +0 -29
  86. package/rulesets/adr/generated/adr-0094-multi-agent-handoff-and-task-delegation-standards.rules.json +0 -29
  87. package/rulesets/adr/generated/adr-0095-serverless-architecture-governance.rules.json +0 -29
  88. package/rulesets/adr/generated/adr-0096-edge-computing-architecture-governance.rules.json +0 -29
  89. package/rulesets/adr/generated/adr-0097-knowledge-lifecycle-governance-standard.rules.json +0 -29
  90. package/rulesets/adr/generated/adr-0098-rest-uri-versioning-and-deprecation-policy.rules.json +0 -29
  91. package/rulesets/adr/generated/adr-0099-opa-bundle-distribution-via-s3-minio.rules.json +0 -27
  92. package/rulesets/adr/generated/adr-ai-augmented-0001-harness-engineering-for-ai-augmented-development.rules.json +0 -29
  93. package/rulesets/adr/generated/adr-ai-augmented-0002-mcp-integration-protocol-for-agent-tool-invocation.rules.json +0 -29
  94. package/rulesets/adr/generated/adr-ai-augmented-0003-model-selection-governance-for-ai-augmented-workflows.rules.json +0 -29
  95. package/rulesets/adr/generated/adr-ai-augmented-0004-agents-md-as-mandatory-repository-artifact.rules.json +0 -29
  96. package/rulesets/adr/generated/adr-ai-augmented-0005-human-in-the-loop-policy-for-autonomous-agent-operations.rules.json +0 -29
  97. package/rulesets/adr/generated/adr-android-0042-canonical-android-native-mobile-architecture.rules.json +0 -29
  98. package/rulesets/adr/generated/adr-dotnet-0041-canonical-net-c-backend-architecture.rules.json +0 -29
  99. package/rulesets/adr/generated/adr-dotnet-0060-net-multi-tenancy-dual-layer-strategy-ef-core-sql-server.rules.json +0 -29
  100. package/rulesets/adr/generated/adr-dotnet-0061-transactional-event-lifecycle-in-ef-core.rules.json +0 -28
  101. package/rulesets/adr/generated/adr-dotnet-0062-net-immutable-audit-trail-via-ddl-triggers-delta-capture.rules.json +0 -29
  102. package/rulesets/adr/generated/adr-dotnet-0063-b2b-request-idempotency-middleware-in-asp-net-core.rules.json +0 -28
  103. package/rulesets/adr/generated/adr-dotnet-0064-net-request-scope-observability-context-propagation.rules.json +0 -29
  104. package/rulesets/adr/generated/adr-dotnet-0065-net-pii-safe-structured-logging-pipeline-serilog.rules.json +0 -29
  105. package/rulesets/adr/generated/adr-dotnet-0066-net-lightweight-http-idempotency-via-imemorycache-idistribut.rules.json +0 -28
  106. package/rulesets/adr/generated/adr-dotnet-0069-net-grpc-service-setup-protobuf-contracts.rules.json +0 -29
  107. package/rulesets/adr/generated/adr-dotnet-0070-net-api-endpoint-strategy.rules.json +0 -29
  108. package/rulesets/adr/generated/adr-dotnet-0071-net-data-access-strategy-ef-core-as-default-orm-dapper-for-o.rules.json +0 -27
  109. package/rulesets/adr/generated/adr-dotnet-0072-net-aop-cross-cutting-concern-strategy-dispatchproxy-over-pi.rules.json +0 -29
  110. package/rulesets/adr/generated/adr-nodejs-0003-strict-typescript-standards.rules.json +0 -29
  111. package/rulesets/adr/generated/adr-nodejs-0004-frontend-offline-resilience.rules.json +0 -28
  112. package/rulesets/adr/generated/adr-nodejs-0007-observability-with-opentelemetry-loki-and-jaeger.rules.json +0 -29
  113. package/rulesets/adr/generated/adr-nodejs-0008-progressive-multi-module-evolution-with-api-gateway-and-bff-.rules.json +0 -28
  114. package/rulesets/adr/generated/adr-nodejs-0012-advanced-authorization-rbac-abac-strategy.rules.json +0 -28
  115. package/rulesets/adr/generated/adr-nodejs-0021-high-performance-authentication-graph-compilation.rules.json +0 -28
  116. package/rulesets/adr/generated/adr-nodejs-0022-contextual-authentication-and-pluggable-output-projections.rules.json +0 -28
  117. package/rulesets/adr/generated/adr-nodejs-0023-centralized-authorization-core-strategy.rules.json +0 -28
  118. package/rulesets/adr/generated/adr-nodejs-0026-adaptive-mfa-and-passwordless-platform.rules.json +0 -28
  119. package/rulesets/adr/generated/adr-nodejs-0027-dual-protocol-api-strategy-rest-grpc.rules.json +0 -28
  120. package/rulesets/adr/generated/adr-nodejs-0029-adoption-of-tactical-ddd-primitives-library.rules.json +0 -29
  121. package/rulesets/adr/generated/adr-nodejs-0038-enterprise-error-handling-result-pattern-strategy.rules.json +0 -29
  122. package/rulesets/adr/generated/adr-nodejs-0043-data-access-and-orm-strategy-for-node-js.rules.json +0 -29
  123. package/rulesets/adr/generated/adr-nodejs-0044-frontend-clean-architecture-layer-boundaries-react.rules.json +0 -29
  124. package/rulesets/adr/generated/adr-nodejs-0045-frontend-state-management-zustand-tanstack-query-dual-strate.rules.json +0 -29
  125. package/rulesets/adr/generated/adr-nodejs-0046-prohibition-of-raw-technical-identifiers-in-user-interfaces.rules.json +0 -29
  126. package/rulesets/adr/generated/adr-nodejs-0047-actionable-user-error-contract-and-correlated-diagnostics.rules.json +0 -29
  127. package/rulesets/adr/generated/adr-nodejs-0048-feature-flag-system-scope-and-structured-criteria-model.rules.json +0 -29
  128. package/rulesets/adr/generated/adr-nodejs-0074-monorepo-orchestration-with-nx.rules.json +0 -29
  129. package/rulesets/adr/generated/adr-nodejs-0075-application-gateway-bff-with-nestjs.rules.json +0 -29
  130. package/rulesets/architecture/README.es.md +0 -21
  131. package/rulesets/architecture/README.md +0 -21
  132. package/rulesets/architecture/opa/progressive-axis.rego +0 -50
  133. package/rulesets/cli/README.es.md +0 -17
  134. package/rulesets/cli/README.md +0 -17
  135. package/rulesets/cli/core-parity.rules.json +0 -61
  136. package/rulesets/cli/release-readiness.rules.json +0 -77
  137. package/rulesets/compliance-baseline/README.es.md +0 -26
  138. package/rulesets/compliance-baseline/README.md +0 -26
  139. package/rulesets/compliance-baseline/compliance-baseline.rules.json +0 -81
  140. package/rulesets/contracts/README.es.md +0 -19
  141. package/rulesets/contracts/README.md +0 -19
  142. package/rulesets/contracts/evolith-machine-contracts.json +0 -29
  143. package/rulesets/contracts/fixtures/gate-evidence.success.json +0 -10
  144. package/rulesets/contracts/fixtures/output-envelope.success.json +0 -23
  145. package/rulesets/cross-cutting/README.es.md +0 -14
  146. package/rulesets/cross-cutting/README.md +0 -14
  147. package/rulesets/cross-cutting/compliance-baseline.rules.json +0 -81
  148. package/rulesets/cross-cutting/definition-of-done.rules.json +0 -135
  149. package/rulesets/cross-cutting/engineering-manifesto.rules.json +0 -145
  150. package/rulesets/cross-cutting/repository-taxonomy.rules.json +0 -172
  151. package/rulesets/definition-of-done/README.es.md +0 -26
  152. package/rulesets/definition-of-done/README.md +0 -26
  153. package/rulesets/definition-of-done/definition-of-done.rules.json +0 -135
  154. package/rulesets/engineering-manifesto/README.es.md +0 -26
  155. package/rulesets/engineering-manifesto/README.md +0 -26
  156. package/rulesets/engineering-manifesto/engineering-manifesto.rules.json +0 -145
  157. package/rulesets/evidence/README.es.md +0 -12
  158. package/rulesets/evidence/README.md +0 -12
  159. package/rulesets/evidence/evidence-manifest.rules.json +0 -48
  160. package/rulesets/executive-scorecards/executive-scorecards.rules.es.json +0 -213
  161. package/rulesets/executive-scorecards/executive-scorecards.rules.json +0 -213
  162. package/rulesets/governance/README.es.md +0 -13
  163. package/rulesets/governance/README.md +0 -13
  164. package/rulesets/governance/abac-mcp-access.rules.es.json +0 -41
  165. package/rulesets/governance/abac-mcp-access.rules.json +0 -41
  166. package/rulesets/governance/executive-scorecards.rules.es.json +0 -213
  167. package/rulesets/governance/executive-scorecards.rules.json +0 -213
  168. package/rulesets/governance/inheritance.rules.json +0 -115
  169. package/rulesets/governance/knowledge-intake.rules.json +0 -18
  170. package/rulesets/governance/open-core-boundary.rules.es.json +0 -148
  171. package/rulesets/governance/open-core-boundary.rules.json +0 -148
  172. package/rulesets/governance/satellite-contracts.rules.json +0 -183
  173. package/rulesets/infrastructure/helm-enforcement.rules.json +0 -21
  174. package/rulesets/infrastructure/opa/helm-enforcement.rego +0 -25
  175. package/rulesets/infrastructure/opa/helm-enforcement.test.rego +0 -31
  176. package/rulesets/infrastructure/opa/opa-sidecar-bundle.rego +0 -115
  177. package/rulesets/infrastructure/opa/opa-sidecar-bundle.test.rego +0 -66
  178. package/rulesets/infrastructure/opa-sidecar-bundle.rules.json +0 -18
  179. package/rulesets/mcp/README.es.md +0 -12
  180. package/rulesets/mcp/README.md +0 -12
  181. package/rulesets/mcp/protocol-compliance.rules.json +0 -57
  182. package/rulesets/observability/README.es.md +0 -12
  183. package/rulesets/observability/README.md +0 -12
  184. package/rulesets/observability/telemetry-evidence.rules.json +0 -48
  185. package/rulesets/opa/README.es.md +0 -22
  186. package/rulesets/opa/README.md +0 -22
  187. package/rulesets/opa/abac-mcp-tool-access.rego +0 -122
  188. package/rulesets/opa/abac-mcp-tool-access.test.rego +0 -33
  189. package/rulesets/opa/anti-corruption-layer.rego +0 -39
  190. package/rulesets/opa/anti-corruption-layer.test.rego +0 -118
  191. package/rulesets/opa/ci-cd.rego +0 -41
  192. package/rulesets/opa/ci-cd.test.rego +0 -23
  193. package/rulesets/opa/cicd-quality-gates.rego +0 -29
  194. package/rulesets/opa/cicd-quality-gates.test.rego +0 -54
  195. package/rulesets/opa/cli-core-parity.rego +0 -17
  196. package/rulesets/opa/cli-core-parity.test.rego +0 -39
  197. package/rulesets/opa/cli-readiness.rego +0 -32
  198. package/rulesets/opa/cli-readiness.test.rego +0 -23
  199. package/rulesets/opa/cli-release-readiness.rego +0 -21
  200. package/rulesets/opa/cli-release-readiness.test.rego +0 -46
  201. package/rulesets/opa/compliance-baseline.rego +0 -95
  202. package/rulesets/opa/compliance-baseline.test.rego +0 -89
  203. package/rulesets/opa/dod.rego +0 -42
  204. package/rulesets/opa/dod.test.rego +0 -250
  205. package/rulesets/opa/engineering-manifesto.rego +0 -78
  206. package/rulesets/opa/engineering-manifesto.test.rego +0 -133
  207. package/rulesets/opa/evidence.rego +0 -64
  208. package/rulesets/opa/evidence.test.rego +0 -23
  209. package/rulesets/opa/executive-scorecards.rego +0 -41
  210. package/rulesets/opa/executive-scorecards.test.rego +0 -60
  211. package/rulesets/opa/gitflow-branching.rego +0 -41
  212. package/rulesets/opa/gitflow-branching.test.rego +0 -60
  213. package/rulesets/opa/governance.rego +0 -39
  214. package/rulesets/opa/governance.test.rego +0 -23
  215. package/rulesets/opa/hexagonal-architecture.rego +0 -33
  216. package/rulesets/opa/hexagonal-architecture.test.rego +0 -57
  217. package/rulesets/opa/infrastructure/helm-enforcement.rego +0 -33
  218. package/rulesets/opa/infrastructure/opa-sidecar-bundle.rego +0 -42
  219. package/rulesets/opa/knowledge-intake.rego +0 -98
  220. package/rulesets/opa/knowledge-intake.test.rego +0 -50
  221. package/rulesets/opa/main.rego +0 -147
  222. package/rulesets/opa/main_test.rego +0 -149
  223. package/rulesets/opa/mcp.rego +0 -61
  224. package/rulesets/opa/mcp.test.rego +0 -27
  225. package/rulesets/opa/multi-runtime.rego +0 -33
  226. package/rulesets/opa/multi-runtime.test.rego +0 -53
  227. package/rulesets/opa/multi-tenancy.rego +0 -33
  228. package/rulesets/opa/multi-tenancy.test.rego +0 -53
  229. package/rulesets/opa/open-core-boundary.rego +0 -33
  230. package/rulesets/opa/open-core-boundary.test.rego +0 -60
  231. package/rulesets/opa/protocol-selection.rego +0 -29
  232. package/rulesets/opa/protocol-selection.test.rego +0 -46
  233. package/rulesets/opa/rbac/gate-role-enforcement.rego +0 -112
  234. package/rulesets/opa/repository-taxonomy.rego +0 -98
  235. package/rulesets/opa/repository-taxonomy.test.rego +0 -91
  236. package/rulesets/opa/satellite-contracts.rego +0 -42
  237. package/rulesets/opa/satellite-contracts.test.rego +0 -70
  238. package/rulesets/opa/schemas/abac-mcp-tool-access.input.schema.json +0 -21
  239. package/rulesets/opa/schemas/anti-corruption-layer.input.schema.json +0 -25
  240. package/rulesets/opa/schemas/ci-cd.input.schema.json +0 -27
  241. package/rulesets/opa/schemas/cicd-quality-gates.input.schema.json +0 -33
  242. package/rulesets/opa/schemas/cli-core-parity.input.schema.json +0 -30
  243. package/rulesets/opa/schemas/cli-readiness.input.schema.json +0 -28
  244. package/rulesets/opa/schemas/cli-release-readiness.input.schema.json +0 -26
  245. package/rulesets/opa/schemas/compliance-baseline.input.schema.json +0 -25
  246. package/rulesets/opa/schemas/dod.input.schema.json +0 -38
  247. package/rulesets/opa/schemas/engineering-manifesto.input.schema.json +0 -24
  248. package/rulesets/opa/schemas/evidence.input.schema.json +0 -35
  249. package/rulesets/opa/schemas/executive-scorecards.input.schema.json +0 -36
  250. package/rulesets/opa/schemas/gitflow-branching.input.schema.json +0 -36
  251. package/rulesets/opa/schemas/governance.input.schema.json +0 -19
  252. package/rulesets/opa/schemas/hexagonal-architecture.input.schema.json +0 -46
  253. package/rulesets/opa/schemas/knowledge-intake.input.schema.json +0 -57
  254. package/rulesets/opa/schemas/mcp.input.schema.json +0 -38
  255. package/rulesets/opa/schemas/multi-runtime.input.schema.json +0 -27
  256. package/rulesets/opa/schemas/multi-tenancy.input.schema.json +0 -27
  257. package/rulesets/opa/schemas/open-core-boundary.input.schema.json +0 -36
  258. package/rulesets/opa/schemas/protocol-selection.input.schema.json +0 -26
  259. package/rulesets/opa/schemas/repository-taxonomy.input.schema.json +0 -18
  260. package/rulesets/opa/schemas/satellite-contracts.input.schema.json +0 -38
  261. package/rulesets/opa/schemas/taxonomy.input.schema.json +0 -27
  262. package/rulesets/opa/schemas/testing-pyramid.input.schema.json +0 -42
  263. package/rulesets/opa/schemas/version-pinning.input.schema.json +0 -39
  264. package/rulesets/opa/sdlc/coverage.rego +0 -49
  265. package/rulesets/opa/sdlc/coverage.test.rego +0 -29
  266. package/rulesets/opa/sdlc/pyramid-distribution.rego +0 -31
  267. package/rulesets/opa/sdlc/pyramid-distribution.test.rego +0 -33
  268. package/rulesets/opa/taxonomy.rego +0 -51
  269. package/rulesets/opa/taxonomy.test.rego +0 -28
  270. package/rulesets/opa/telemetry-evidence.rego +0 -102
  271. package/rulesets/opa/testing-pyramid.rego +0 -49
  272. package/rulesets/opa/testing-pyramid.test.rego +0 -81
  273. package/rulesets/opa/version-pinning.rego +0 -99
  274. package/rulesets/opa/version-pinning.test.rego +0 -28
  275. package/rulesets/phase-gates/README.es.md +0 -28
  276. package/rulesets/phase-gates/README.md +0 -28
  277. package/rulesets/phase-gates/phase-gates.rules.json +0 -297
  278. package/rulesets/quality-thresholds/README.es.md +0 -28
  279. package/rulesets/quality-thresholds/README.md +0 -28
  280. package/rulesets/quality-thresholds/quality-thresholds.rules.json +0 -96
  281. package/rulesets/repository-taxonomy/README.es.md +0 -26
  282. package/rulesets/repository-taxonomy/README.md +0 -26
  283. package/rulesets/repository-taxonomy/repository-taxonomy.rules.json +0 -172
  284. package/rulesets/satellite-contracts/README.es.md +0 -27
  285. package/rulesets/satellite-contracts/README.md +0 -27
  286. package/rulesets/satellite-contracts/satellite-contracts.rules.json +0 -183
  287. package/rulesets/schema/README.es.md +0 -39
  288. package/rulesets/schema/README.md +0 -39
  289. package/rulesets/schema/adr.schema.json +0 -138
  290. package/rulesets/schema/agile-backlog.schema.json +0 -91
  291. package/rulesets/schema/ballpark-estimation.schema.json +0 -109
  292. package/rulesets/schema/build-vs-compose.schema.json +0 -98
  293. package/rulesets/schema/cli-impact-analysis.schema.json +0 -114
  294. package/rulesets/schema/discovery-canvas.schema.json +0 -92
  295. package/rulesets/schema/evolith-user-story.schema.json +0 -105
  296. package/rulesets/schema/evolith-yaml.schema.json +0 -191
  297. package/rulesets/schema/functional-story.schema.json +0 -111
  298. package/rulesets/schema/gate-evidence.schema.json +0 -85
  299. package/rulesets/schema/integration-evidence.schema.json +0 -47
  300. package/rulesets/schema/knowledge-intake.schema.json +0 -67
  301. package/rulesets/schema/knowledge-projection.schema.json +0 -24
  302. package/rulesets/schema/maturity-evidence.schema.json +0 -59
  303. package/rulesets/schema/observability-validation.schema.json +0 -85
  304. package/rulesets/schema/on-call-handoff.schema.json +0 -91
  305. package/rulesets/schema/output-envelope.schema.json +0 -102
  306. package/rulesets/schema/prd.schema.json +0 -117
  307. package/rulesets/schema/release-notes.schema.json +0 -138
  308. package/rulesets/schema/rollback-rehearsal.schema.json +0 -73
  309. package/rulesets/schema/ruleset-sdlc.schema.json +0 -59
  310. package/rulesets/schema/ruleset-standard.schema.json +0 -73
  311. package/rulesets/schema/security-scan-report.schema.json +0 -79
  312. package/rulesets/schema/source-registry.schema.json +0 -51
  313. package/rulesets/schema/technical-feasibility.schema.json +0 -66
  314. package/rulesets/schema/technical-story.schema.json +0 -112
  315. package/rulesets/schema/test-summary-report.schema.json +0 -158
  316. package/rulesets/schema/topology-composition.schema.json +0 -43
  317. package/rulesets/schema/topology-manifest.schema.json +0 -421
  318. package/rulesets/sdlc/README.es.md +0 -12
  319. package/rulesets/sdlc/README.md +0 -12
  320. package/rulesets/sdlc/default-workflow.yaml +0 -73
  321. package/rulesets/sdlc/dependency-pinning.rules.json +0 -183
  322. package/rulesets/sdlc/phase-gates.rules.json +0 -297
  323. package/rulesets/sdlc/quality-thresholds.rules.json +0 -96
  324. package/rulesets/topologies/README.es.md +0 -42
  325. package/rulesets/topologies/README.md +0 -42
  326. package/rulesets/topologies/agentic-ai/README.es.md +0 -142
  327. package/rulesets/topologies/agentic-ai/README.md +0 -142
  328. package/rulesets/topologies/agentic-ai/adoption.es.md +0 -37
  329. package/rulesets/topologies/agentic-ai/adoption.md +0 -37
  330. package/rulesets/topologies/agentic-ai/agent.config.schema.json +0 -100
  331. package/rulesets/topologies/agentic-ai/agentic-ai.rego +0 -46
  332. package/rulesets/topologies/agentic-ai/agentic-ai.rules.json +0 -109
  333. package/rulesets/topologies/agentic-ai/agentic-ai.test.rego +0 -68
  334. package/rulesets/topologies/agentic-ai/agentic-ai.wasm +0 -0
  335. package/rulesets/topologies/agentic-ai/cli/cli-flows.es.md +0 -35
  336. package/rulesets/topologies/agentic-ai/cli/cli-flows.md +0 -45
  337. package/rulesets/topologies/agentic-ai/evidence.es.md +0 -25
  338. package/rulesets/topologies/agentic-ai/evidence.md +0 -25
  339. package/rulesets/topologies/agentic-ai/evolution.es.md +0 -26
  340. package/rulesets/topologies/agentic-ai/evolution.md +0 -26
  341. package/rulesets/topologies/agentic-ai/fixtures/invalid-agent.config.json +0 -48
  342. package/rulesets/topologies/agentic-ai/fixtures/valid-agent.config.json +0 -48
  343. package/rulesets/topologies/agentic-ai/maturity.es.md +0 -33
  344. package/rulesets/topologies/agentic-ai/maturity.md +0 -33
  345. package/rulesets/topologies/agentic-ai/mcp/mcp-manifest.json +0 -100
  346. package/rulesets/topologies/agentic-ai/openapi/openapi.yaml +0 -187
  347. package/rulesets/topologies/agentic-ai/operations.es.md +0 -32
  348. package/rulesets/topologies/agentic-ai/operations.md +0 -32
  349. package/rulesets/topologies/agentic-ai/parity-fixtures/compliant.json +0 -18
  350. package/rulesets/topologies/agentic-ai/parity-fixtures/violation.json +0 -22
  351. package/rulesets/topologies/agentic-ai/patterns.es.md +0 -32
  352. package/rulesets/topologies/agentic-ai/patterns.md +0 -32
  353. package/rulesets/topologies/agentic-ai/resilience.es.md +0 -26
  354. package/rulesets/topologies/agentic-ai/resilience.md +0 -26
  355. package/rulesets/topologies/agentic-ai/runbooks.es.md +0 -48
  356. package/rulesets/topologies/agentic-ai/runbooks.md +0 -48
  357. package/rulesets/topologies/agentic-ai/security.es.md +0 -26
  358. package/rulesets/topologies/agentic-ai/security.md +0 -26
  359. package/rulesets/topologies/agentic-ai/topology.manifest.json +0 -127
  360. package/rulesets/topologies/data-mesh/README.es.md +0 -69
  361. package/rulesets/topologies/data-mesh/README.md +0 -69
  362. package/rulesets/topologies/data-mesh/adoption.es.md +0 -95
  363. package/rulesets/topologies/data-mesh/adoption.md +0 -95
  364. package/rulesets/topologies/data-mesh/cli/cli-flows.es.md +0 -41
  365. package/rulesets/topologies/data-mesh/cli/cli-flows.md +0 -53
  366. package/rulesets/topologies/data-mesh/data-mesh.rego +0 -11
  367. package/rulesets/topologies/data-mesh/data-mesh.rules.json +0 -100
  368. package/rulesets/topologies/data-mesh/data-mesh.test.rego +0 -107
  369. package/rulesets/topologies/data-mesh/data-mesh.wasm +0 -0
  370. package/rulesets/topologies/data-mesh/evidence.es.md +0 -111
  371. package/rulesets/topologies/data-mesh/evidence.md +0 -111
  372. package/rulesets/topologies/data-mesh/evolution.es.md +0 -67
  373. package/rulesets/topologies/data-mesh/evolution.md +0 -67
  374. package/rulesets/topologies/data-mesh/fixtures/invalid.topology.config.json +0 -12
  375. package/rulesets/topologies/data-mesh/fixtures/valid.topology.config.json +0 -12
  376. package/rulesets/topologies/data-mesh/maturity.es.md +0 -36
  377. package/rulesets/topologies/data-mesh/maturity.md +0 -36
  378. package/rulesets/topologies/data-mesh/mcp/mcp-manifest.json +0 -68
  379. package/rulesets/topologies/data-mesh/openapi/openapi.yaml +0 -186
  380. package/rulesets/topologies/data-mesh/operations.es.md +0 -63
  381. package/rulesets/topologies/data-mesh/operations.md +0 -63
  382. package/rulesets/topologies/data-mesh/parity-fixtures/compliant.json +0 -18
  383. package/rulesets/topologies/data-mesh/parity-fixtures/violation.json +0 -21
  384. package/rulesets/topologies/data-mesh/patterns.es.md +0 -67
  385. package/rulesets/topologies/data-mesh/patterns.md +0 -67
  386. package/rulesets/topologies/data-mesh/resilience.es.md +0 -64
  387. package/rulesets/topologies/data-mesh/resilience.md +0 -64
  388. package/rulesets/topologies/data-mesh/runbooks.es.md +0 -147
  389. package/rulesets/topologies/data-mesh/runbooks.md +0 -147
  390. package/rulesets/topologies/data-mesh/security.es.md +0 -66
  391. package/rulesets/topologies/data-mesh/security.md +0 -66
  392. package/rulesets/topologies/data-mesh/topology.config.schema.json +0 -30
  393. package/rulesets/topologies/data-mesh/topology.manifest.json +0 -107
  394. package/rulesets/topologies/edge-computing/README.es.md +0 -81
  395. package/rulesets/topologies/edge-computing/README.md +0 -81
  396. package/rulesets/topologies/edge-computing/adoption.es.md +0 -268
  397. package/rulesets/topologies/edge-computing/adoption.md +0 -268
  398. package/rulesets/topologies/edge-computing/cli/cli-flows.es.md +0 -41
  399. package/rulesets/topologies/edge-computing/cli/cli-flows.md +0 -53
  400. package/rulesets/topologies/edge-computing/edge-computing.rego +0 -41
  401. package/rulesets/topologies/edge-computing/edge-computing.rules.json +0 -50
  402. package/rulesets/topologies/edge-computing/edge-computing.test.rego +0 -33
  403. package/rulesets/topologies/edge-computing/edge-computing.wasm +0 -0
  404. package/rulesets/topologies/edge-computing/evidence.es.md +0 -263
  405. package/rulesets/topologies/edge-computing/evidence.md +0 -263
  406. package/rulesets/topologies/edge-computing/evolution.es.md +0 -257
  407. package/rulesets/topologies/edge-computing/evolution.md +0 -257
  408. package/rulesets/topologies/edge-computing/fixtures/invalid.topology.config.json +0 -6
  409. package/rulesets/topologies/edge-computing/fixtures/valid.topology.config.json +0 -6
  410. package/rulesets/topologies/edge-computing/maturity.es.md +0 -36
  411. package/rulesets/topologies/edge-computing/maturity.md +0 -36
  412. package/rulesets/topologies/edge-computing/mcp/mcp-manifest.json +0 -72
  413. package/rulesets/topologies/edge-computing/openapi/openapi.yaml +0 -187
  414. package/rulesets/topologies/edge-computing/operations.es.md +0 -148
  415. package/rulesets/topologies/edge-computing/operations.md +0 -148
  416. package/rulesets/topologies/edge-computing/parity-fixtures/compliant.json +0 -12
  417. package/rulesets/topologies/edge-computing/parity-fixtures/violation.json +0 -13
  418. package/rulesets/topologies/edge-computing/patterns.es.md +0 -291
  419. package/rulesets/topologies/edge-computing/patterns.md +0 -290
  420. package/rulesets/topologies/edge-computing/resilience.es.md +0 -232
  421. package/rulesets/topologies/edge-computing/resilience.md +0 -229
  422. package/rulesets/topologies/edge-computing/runbooks.es.md +0 -405
  423. package/rulesets/topologies/edge-computing/runbooks.md +0 -405
  424. package/rulesets/topologies/edge-computing/security.es.md +0 -218
  425. package/rulesets/topologies/edge-computing/security.md +0 -218
  426. package/rulesets/topologies/edge-computing/topology.config.schema.json +0 -13
  427. package/rulesets/topologies/edge-computing/topology.manifest.json +0 -113
  428. package/rulesets/topologies/event-driven/README.es.md +0 -71
  429. package/rulesets/topologies/event-driven/README.md +0 -71
  430. package/rulesets/topologies/event-driven/adoption.es.md +0 -67
  431. package/rulesets/topologies/event-driven/adoption.md +0 -67
  432. package/rulesets/topologies/event-driven/cli/cli-flows.es.md +0 -41
  433. package/rulesets/topologies/event-driven/cli/cli-flows.md +0 -53
  434. package/rulesets/topologies/event-driven/event-driven.rego +0 -11
  435. package/rulesets/topologies/event-driven/event-driven.rules.json +0 -100
  436. package/rulesets/topologies/event-driven/event-driven.test.rego +0 -107
  437. package/rulesets/topologies/event-driven/event-driven.wasm +0 -0
  438. package/rulesets/topologies/event-driven/evidence.es.md +0 -69
  439. package/rulesets/topologies/event-driven/evidence.md +0 -69
  440. package/rulesets/topologies/event-driven/evolution.es.md +0 -59
  441. package/rulesets/topologies/event-driven/evolution.md +0 -59
  442. package/rulesets/topologies/event-driven/fixtures/invalid.topology.config.json +0 -12
  443. package/rulesets/topologies/event-driven/fixtures/valid.topology.config.json +0 -12
  444. package/rulesets/topologies/event-driven/maturity.es.md +0 -36
  445. package/rulesets/topologies/event-driven/maturity.md +0 -36
  446. package/rulesets/topologies/event-driven/mcp/mcp-manifest.json +0 -68
  447. package/rulesets/topologies/event-driven/openapi/openapi.yaml +0 -186
  448. package/rulesets/topologies/event-driven/operations.es.md +0 -67
  449. package/rulesets/topologies/event-driven/operations.md +0 -67
  450. package/rulesets/topologies/event-driven/parity-fixtures/compliant.json +0 -18
  451. package/rulesets/topologies/event-driven/parity-fixtures/violation.json +0 -21
  452. package/rulesets/topologies/event-driven/patterns.es.md +0 -68
  453. package/rulesets/topologies/event-driven/patterns.md +0 -68
  454. package/rulesets/topologies/event-driven/resilience.es.md +0 -65
  455. package/rulesets/topologies/event-driven/resilience.md +0 -65
  456. package/rulesets/topologies/event-driven/runbooks.es.md +0 -79
  457. package/rulesets/topologies/event-driven/runbooks.md +0 -79
  458. package/rulesets/topologies/event-driven/security.es.md +0 -59
  459. package/rulesets/topologies/event-driven/security.md +0 -59
  460. package/rulesets/topologies/event-driven/topology.config.schema.json +0 -30
  461. package/rulesets/topologies/event-driven/topology.manifest.json +0 -109
  462. package/rulesets/topologies/progressive-axis/distributed-modules/distributed-modules.rules.es.json +0 -111
  463. package/rulesets/topologies/progressive-axis/distributed-modules/distributed-modules.rules.json +0 -111
  464. package/rulesets/topologies/progressive-axis/microservices/microservices.rules.es.json +0 -106
  465. package/rulesets/topologies/progressive-axis/microservices/microservices.rules.json +0 -106
  466. package/rulesets/topologies/progressive-axis/modular-monolith/modular-monolith.rules.es.json +0 -148
  467. package/rulesets/topologies/progressive-axis/modular-monolith/modular-monolith.rules.json +0 -148
  468. package/rulesets/topologies/serverless/README.es.md +0 -74
  469. package/rulesets/topologies/serverless/README.md +0 -74
  470. package/rulesets/topologies/serverless/adoption.es.md +0 -50
  471. package/rulesets/topologies/serverless/adoption.md +0 -50
  472. package/rulesets/topologies/serverless/cli/cli-flows.es.md +0 -41
  473. package/rulesets/topologies/serverless/cli/cli-flows.md +0 -53
  474. package/rulesets/topologies/serverless/evidence.es.md +0 -66
  475. package/rulesets/topologies/serverless/evidence.md +0 -66
  476. package/rulesets/topologies/serverless/evolution.es.md +0 -36
  477. package/rulesets/topologies/serverless/evolution.md +0 -36
  478. package/rulesets/topologies/serverless/fixtures/invalid.topology.config.json +0 -6
  479. package/rulesets/topologies/serverless/fixtures/valid.topology.config.json +0 -6
  480. package/rulesets/topologies/serverless/maturity.es.md +0 -36
  481. package/rulesets/topologies/serverless/maturity.md +0 -36
  482. package/rulesets/topologies/serverless/mcp/mcp-manifest.json +0 -72
  483. package/rulesets/topologies/serverless/openapi/openapi.yaml +0 -186
  484. package/rulesets/topologies/serverless/operations.es.md +0 -36
  485. package/rulesets/topologies/serverless/operations.md +0 -36
  486. package/rulesets/topologies/serverless/parity-fixtures/compliant.json +0 -13
  487. package/rulesets/topologies/serverless/parity-fixtures/violation.json +0 -15
  488. package/rulesets/topologies/serverless/patterns.es.md +0 -36
  489. package/rulesets/topologies/serverless/patterns.md +0 -36
  490. package/rulesets/topologies/serverless/resilience.es.md +0 -36
  491. package/rulesets/topologies/serverless/resilience.md +0 -36
  492. package/rulesets/topologies/serverless/runbooks.es.md +0 -68
  493. package/rulesets/topologies/serverless/runbooks.md +0 -68
  494. package/rulesets/topologies/serverless/security.es.md +0 -36
  495. package/rulesets/topologies/serverless/security.md +0 -36
  496. package/rulesets/topologies/serverless/serverless.rego +0 -32
  497. package/rulesets/topologies/serverless/serverless.rules.json +0 -33
  498. package/rulesets/topologies/serverless/serverless.test.rego +0 -28
  499. package/rulesets/topologies/serverless/serverless.wasm +0 -0
  500. package/rulesets/topologies/serverless/topology.config.schema.json +0 -28
  501. package/rulesets/topologies/serverless/topology.manifest.json +0 -114
@@ -1,135 +0,0 @@
1
- {
2
- "$schema": "../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/cross-cutting/definition-of-done.rules.json",
4
- "title": "Definition of Done Rules",
5
- "description": "Machine-readable encoding of the Evolith Definition of Done. Mandatory checklist for every Technical Story before it can be marked Done.",
6
- "version": "1.0.0",
7
- "effectiveDate": "2026-01-01",
8
- "rules": [
9
- {
10
- "id": "DOD-01",
11
- "severity": "MUST",
12
- "category": "code",
13
- "title": "Code implemented and reviewed",
14
- "description": "All implementation code is written and at least one peer review approval exists. Self-review does not count.",
15
- "validationQuery": "PR has minimum 1 approved review. No direct push to main/develop.",
16
- "blocking": true,
17
- "checklistItem": "code-implemented"
18
- },
19
- {
20
- "id": "DOD-02",
21
- "severity": "MUST",
22
- "category": "testing",
23
- "title": "Unit tests meet coverage threshold",
24
- "description": "Unit test coverage for business logic >= 80%. Layer-specific thresholds apply: Domain >= 95%, Application >= 85%, Infrastructure >= 60%.",
25
- "validationQuery": "Coverage report from CI shows >= 80% for business logic. Per-layer thresholds validated.",
26
- "blocking": true,
27
- "checklistItem": "tests-passing"
28
- },
29
- {
30
- "id": "DOD-03",
31
- "severity": "MUST",
32
- "category": "testing",
33
- "title": "All acceptance criteria verified",
34
- "description": "All acceptance criteria from the Functional Story are verified and pass. Manual or automated verification documented.",
35
- "validationQuery": "All acceptance criteria marked as verified in story tracker. E2E or integration tests confirm criteria.",
36
- "blocking": true,
37
- "checklistItem": "acceptance-criteria-verified"
38
- },
39
- {
40
- "id": "DOD-04",
41
- "severity": "MUST",
42
- "category": "documentation",
43
- "title": "Documentation updated",
44
- "description": "Documentation delta is produced alongside code changes. This includes: updated ADRs if decisions were made, inline code documentation for complex logic, README updates if public interfaces changed.",
45
- "validationQuery": "PR includes documentation changes. Reviewer validates documentation completeness.",
46
- "blocking": true,
47
- "checklistItem": "documentation-updated"
48
- },
49
- {
50
- "id": "DOD-05",
51
- "severity": "MUST",
52
- "category": "observability",
53
- "title": "Observability instrumentation added",
54
- "description": "Production paths have observable telemetry: traces with CorrelationId, structured logs with SessionTrackingId, metrics for key operations.",
55
- "validationQuery": "OTel spans present for production API paths. Logs include required context fields.",
56
- "blocking": true,
57
- "checklistItem": "observability-added"
58
- },
59
- {
60
- "id": "DOD-06",
61
- "severity": "MUST",
62
- "category": "security",
63
- "title": "Security gates passed",
64
- "description": "CodeQL scan passed with zero High/Critical findings. No new CVEs introduced. Secret scanning passed.",
65
- "validationQuery": "CI security gates all green. CodeQL, dependency scan, secret scan passed.",
66
- "blocking": true,
67
- "checklistItem": "security-gates-passed"
68
- },
69
- {
70
- "id": "DOD-07",
71
- "severity": "MUST",
72
- "category": "architecture",
73
- "title": "ADR created if architectural decision made",
74
- "description": "If the implementation required a new architectural decision (boundary change, technology selection, security model change), an ADR is created and linked to the story.",
75
- "validationQuery": "Architectural decisions documented in ADR. Story links to relevant ADR IDs.",
76
- "blocking": false,
77
- "checklistItem": "adr-created-if-needed"
78
- },
79
- {
80
- "id": "DOD-08",
81
- "severity": "MUST",
82
- "category": "integration",
83
- "title": "Integration tests pass",
84
- "description": "Integration tests (adapter tests with testcontainers) pass. Tests cover persistence adapters, gateway adapters, and inter-service contracts.",
85
- "validationQuery": "Integration test suite passes. Contract tests for inter-service calls pass.",
86
- "blocking": true,
87
- "checklistItem": "integration-tests-passing"
88
- },
89
- {
90
- "id": "DOD-09",
91
- "severity": "MUST",
92
- "category": "lint",
93
- "title": "Linting and formatting passed",
94
- "description": "All linting rules pass (ESLint, Prettier formatting). No lint errors, no formatting violations.",
95
- "validationQuery": "CI lint step green. No ESLint errors, Prettier formatted.",
96
- "blocking": true,
97
- "checklistItem": "lint-passing"
98
- },
99
- {
100
- "id": "DOD-10",
101
- "severity": "MUST",
102
- "category": "ci",
103
- "title": "CI pipeline green on target branch",
104
- "description": "CI pipeline runs successfully on the feature branch with all quality gates passing before merge.",
105
- "validationQuery": "All CI checks green. Pipeline completed successfully on feature branch.",
106
- "blocking": true,
107
- "checklistItem": "ci-green"
108
- }
109
- ],
110
- "summaryChecklist": [
111
- "code-implemented",
112
- "tests-passing",
113
- "acceptance-criteria-verified",
114
- "documentation-updated",
115
- "observability-added",
116
- "security-gates-passed",
117
- "adr-created-if-needed",
118
- "integration-tests-passing",
119
- "lint-passing",
120
- "ci-green"
121
- ],
122
- "references": [
123
- "reference/governance/sdlc/02-engineering/construction-focused-sdlc-framework.md",
124
- "reference/governance/sdlc/quality-gates.md"
125
- ],
126
- "exitCriteria": {
127
- "description": "All MUST items checked. Story cannot be marked Done without all blocking items satisfied.",
128
- "validationTools": [
129
- "CI pipeline",
130
- "coverage reports",
131
- "PR review",
132
- "story tracker"
133
- ]
134
- }
135
- }
@@ -1,145 +0,0 @@
1
- {
2
- "$schema": "../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/cross-cutting/engineering-manifesto.rules.json",
4
- "title": "Engineering Manifesto Rules",
5
- "description": "Machine-readable encoding of the Evolith Engineering Manifesto principles. SOLID, DRY, KISS, YAGNI, and anti-pattern rules enforced via linting and review.",
6
- "version": "1.0.0",
7
- "effectiveDate": "2026-01-01",
8
- "antiPatterns": [
9
- {
10
- "id": "AP-01",
11
- "name": "God Class / Object",
12
- "description": "Class with too many responsibilities (> 500 lines, > 20 methods). Violates SRP.",
13
- "detection": "ESLint max-lines-per-file, max-classes-per-file"
14
- },
15
- {
16
- "id": "AP-02",
17
- "name": "Circular Dependency",
18
- "description": "Module A imports Module B which imports Module A directly or indirectly.",
19
- "detection": "dependency-cruiser no-circular"
20
- },
21
- {
22
- "id": "AP-03",
23
- "name": "Shotgun Surgery",
24
- "description": "One change requires modifying many different classes across the codebase.",
25
- "detection": "Code review; refactoring debt"
26
- },
27
- {
28
- "id": "AP-04",
29
- "name": "Spaghetti Code",
30
- "description": "Code with complex nested control structures, no clear structure, tangled logic.",
31
- "detection": "High cyclomatic complexity + low cohesion metrics"
32
- },
33
- {
34
- "id": "AP-05",
35
- "name": "Magic Numbers/Strings",
36
- "description": "Unnamed constants scattered throughout code instead of named constants.",
37
- "detection": "ESLint no-magic-numbers"
38
- }
39
- ],
40
- "references": [
41
- "reference/governance/standards/engineering/engineering-manifesto.md",
42
- "reference/architecture/adrs/core/0049-naming-semantics-clean-code-policy.md"
43
- ],
44
- "exitCriteria": {
45
- "description": "All SOLID violations blocked in CI. DRY violations detected and fixed. Anti-patterns flagged in code review.",
46
- "validationTools": [
47
- "ESLint",
48
- "SonarQube",
49
- "dependency-cruiser",
50
- "code review"
51
- ]
52
- },
53
- "rules": [
54
- {
55
- "id": "EM-S-01",
56
- "severity": "MUST",
57
- "category": "SOLID",
58
- "title": "Single Responsibility: one reason to change",
59
- "description": "Every class and module has one, and only one, reason to change. No God classes or multipurpose utilities.",
60
- "validationQuery": "ESLint rule max-classes-per-file or equivalent. Class length < 200 lines.",
61
- "blocking": false
62
- },
63
- {
64
- "id": "EM-S-02",
65
- "severity": "MUST",
66
- "category": "SOLID",
67
- "title": "Open/Closed: open for extension, closed for modification",
68
- "description": "Software entities (classes, modules, functions) are open for extension but closed for modification. New behavior added via inheritance/composition, not by editing existing code.",
69
- "validationQuery": "Code review verifies no modification of tested/approved classes for new features. Extension via polymorphism preferred.",
70
- "blocking": false
71
- },
72
- {
73
- "id": "EM-S-03",
74
- "severity": "MUST",
75
- "category": "SOLID",
76
- "title": "Liskov Substitution: subtype substitutable for base",
77
- "description": "Objects of a superclass shall be replaceable with objects of a subclass without affecting correctness. No违背 Liskov anywhere.",
78
- "validationQuery": "TypeScript: no unsafe casting. Liskov violations detected via type checking and test coverage.",
79
- "blocking": true
80
- },
81
- {
82
- "id": "EM-S-04",
83
- "severity": "MUST",
84
- "category": "SOLID",
85
- "title": "Interface Segregation: fine-grained interfaces",
86
- "description": "Clients should not be forced to depend on interfaces they do not use. Prefer many small interfaces over one large interface.",
87
- "validationQuery": "Interface size checked. No interface with > 10 methods without documented justification.",
88
- "blocking": false
89
- },
90
- {
91
- "id": "EM-S-05",
92
- "severity": "MUST",
93
- "category": "SOLID",
94
- "title": "Dependency Inversion: depend on abstractions",
95
- "description": "High-level modules must not depend on low-level modules. Both must depend on abstractions. Abstractions must not depend on details.",
96
- "validationQuery": "Dependency direction validated via eslint-plugin-boundaries. Core has no Infrastructure imports.",
97
- "blocking": true
98
- },
99
- {
100
- "id": "EM-D-01",
101
- "severity": "MUST",
102
- "category": "DRY",
103
- "title": "Don't Repeat Yourself",
104
- "description": "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. Duplicated logic must be extracted to a single source.",
105
- "validationQuery": "AST analysis detects duplicated code blocks > 5 lines. ESLint no-duplicate-imports or equivalent.",
106
- "blocking": false
107
- },
108
- {
109
- "id": "EM-D-02",
110
- "severity": "MUST",
111
- "category": "DRY",
112
- "title": "Configuration not duplicated",
113
- "description": "Configuration values (strings, numbers, URLs) must not be hardcoded in multiple places. Centralized config or constants.",
114
- "validationQuery": "Magic numbers/strings detected. Configuration centralized in config files or env vars.",
115
- "blocking": false
116
- },
117
- {
118
- "id": "EM-K-01",
119
- "severity": "MUST",
120
- "category": "KISS",
121
- "title": "Keep It Simple, Stupid",
122
- "description": "Simplicity is the ultimate sophistication. Prefer simple solutions over complex ones. Complexity is the enemy of reliability.",
123
- "validationQuery": "Cyclomatic complexity < 15 per method/function. Nested ternaries and complex conditions flagged.",
124
- "blocking": true
125
- },
126
- {
127
- "id": "EM-K-02",
128
- "severity": "SHOULD NOT",
129
- "category": "KISS",
130
- "title": "Avoid premature abstraction",
131
- "description": "Do not abstract for hypothetical future reuse. Abstract when duplication appears, not before.",
132
- "validationQuery": "Unused interfaces or abstract classes flagged. Abstraction must have concrete use.",
133
- "blocking": false
134
- },
135
- {
136
- "id": "EM-Y-01",
137
- "severity": "MUST NOT",
138
- "category": "YAGNI",
139
- "title": "You Aren't Gonna Need It",
140
- "description": "Do not implement features or abstractions until they are actually needed. Building for hypothetical futures creates complexity debt.",
141
- "validationQuery": "Code review checks for unused code paths or interfaces with no implementing classes.",
142
- "blocking": false
143
- }
144
- ]
145
- }
@@ -1,172 +0,0 @@
1
- {
2
- "$schema": "../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/cross-cutting/repository-taxonomy.rules.json",
4
- "title": "Repository Taxonomy Rules",
5
- "description": "Machine-readable encoding of the Evolith Repository Taxonomy. Naming, structure, and artifact classification rules for all Evolith repositories.",
6
- "version": "1.0.0",
7
- "effectiveDate": "2026-01-01",
8
- "rules": [
9
- {
10
- "id": "TAX-01",
11
- "severity": "MUST",
12
- "category": "naming-conventions",
13
- "title": "File names use kebab-case",
14
- "description": "All file names use kebab-case (lowercase with hyphens). No spaces, no underscores in file names. Example: my-file-name.md, user-service.ts.",
15
- "validationQuery": "File names validated via linting or CI script. Pattern: ^[a-z0-9-]+\\.[a-z]+$",
16
- "blocking": true,
17
- "examples": [
18
- "my-file.md",
19
- "user-service.ts",
20
- "api-gateway.ts"
21
- ]
22
- },
23
- {
24
- "id": "TAX-02",
25
- "severity": "MUST",
26
- "category": "naming-conventions",
27
- "title": "Class and type names use PascalCase",
28
- "description": "Classes, interfaces, types, enums, and UI components use PascalCase.",
29
- "rationale": "ADR-0056: Ubiquitous language enforcement. PascalCase for types/components.",
30
- "validationQuery": "ESLint naming-convention for classes and interfaces.",
31
- "blocking": true,
32
- "examples": [
33
- "UserService",
34
- "HttpClient",
35
- "ApiResponse"
36
- ]
37
- },
38
- {
39
- "id": "TAX-03",
40
- "severity": "MUST",
41
- "category": "naming-conventions",
42
- "title": "Variable and function names use camelCase",
43
- "description": "Variables, functions, methods use camelCase.",
44
- "rationale": "ADR-0056: camelCase for variables and functions.",
45
- "validationQuery": "ESLint naming-convention for variables and functions.",
46
- "blocking": true,
47
- "examples": [
48
- "getUserById",
49
- "userData",
50
- "isValid"
51
- ]
52
- },
53
- {
54
- "id": "TAX-04",
55
- "severity": "MUST",
56
- "category": "naming-conventions",
57
- "title": "Constants use UPPER_SNAKE_CASE",
58
- "description": "Compile-time constants and configuration keys use UPPER_SNAKE_CASE.",
59
- "validationQuery": "ESLint naming-convention for constants.",
60
- "blocking": false,
61
- "examples": [
62
- "MAX_RETRY_COUNT",
63
- "API_BASE_URL"
64
- ]
65
- },
66
- {
67
- "id": "TAX-05",
68
- "severity": "MUST",
69
- "category": "directory-structure",
70
- "title": "Evolith Core structure: reference/, sdk/, rulesets/",
71
- "description": "Evolith Core repository uses three primary directories: reference/ (human-authored standards), sdk/ (CLI, MCP, and executable access tooling), rulesets/ (machine-readable rules, including rulesets/topologies/ for executable topology rules). No other top-level content directories.",
72
- "rationale": "Repository Taxonomy defines three entry points with clear ownership.",
73
- "validationQuery": "Top-level directories match taxonomy. No arbitrary content directories added.",
74
- "blocking": true,
75
- "structure": [
76
- "reference/",
77
- "sdk/",
78
- "rulesets/",
79
- "rulesets/topologies/"
80
- ]
81
- },
82
- {
83
- "id": "TAX-06",
84
- "severity": "MUST",
85
- "category": "directory-structure",
86
- "title": "Satellite structure: src/, tests/, docs/",
87
- "description": "Satellite repositories follow standard structure: src/ (source code), tests/ (test code), docs/ (documentation). Infrastructure code lives under src/Infrastructure, domain code under src/Domain.",
88
- "rationale": "Repository Taxonomy standard satellite structure.",
89
- "validationQuery": "Satellite root has src/, tests/, docs/ directories. Hexagonal layers under src/.",
90
- "blocking": true,
91
- "structure": [
92
- "src/Domain",
93
- "src/Application",
94
- "src/Infrastructure",
95
- "src/Api"
96
- ]
97
- },
98
- {
99
- "id": "TAX-07",
100
- "severity": "MUST",
101
- "category": "adr-naming",
102
- "title": "ADR files named with zero-padded ID",
103
- "description": "ADR files use format: NNNN-descriptive-name.md where NNNN is zero-padded 4-digit number. Example: 0002-clean-architecture-nestjs.md, 0069-dotnet-grpc-service.md.",
104
- "rationale": "core/ADR-0048: Canonical numbering enables sorting and referencing.",
105
- "validationQuery": "ADR filenames match pattern: ^[0-9]{4}-[a-z-]+\\.md$",
106
- "blocking": true,
107
- "examples": [
108
- "0002-clean-architecture-nestjs.md",
109
- "0069-dotnet-grpc-service-setup-protobuf-contracts.md"
110
- ]
111
- },
112
- {
113
- "id": "TAX-08",
114
- "severity": "MUST",
115
- "category": "adr-naming",
116
- "title": "Bilingual ADR files use .es.md suffix",
117
- "description": "Spanish translations of ADRs use .es.md suffix in same directory. Example: 0002-clean-architecture-nestjs.es.md alongside 0002-clean-architecture-nestjs.md.",
118
- "rationale": "Bilingual naming convention: Pattern A for individual files.",
119
- "validationQuery": "Bilingual parity: every .md ADR has corresponding .es.md in same directory.",
120
- "blocking": true
121
- },
122
- {
123
- "id": "TAX-09",
124
- "severity": "MUST",
125
- "category": "artifact-classification",
126
- "title": "Evolith reference artifacts in reference/",
127
- "description": "Reusable policy, decision criteria, accepted trade-offs, and human-authored topology profiles go in reference/architecture/, reference/architecture/topologies/, reference/governance/, reference/knowledge/. These are normative or decisional depending on document status.",
128
- "rationale": "Repository Taxonomy: Canonical Reference goes in reference/.",
129
- "validationQuery": "Architecture decisions, standards, and patterns placed in correct reference/ subdirectory.",
130
- "blocking": true
131
- },
132
- {
133
- "id": "TAX-10",
134
- "severity": "MUST",
135
- "category": "artifact-classification",
136
- "title": "Product-specific evidence not in reference/",
137
- "description": "Product-specific routes, schemas, seeds, and branding do NOT go in reference/. They go in the satellite repository. Enterprise policy changes go through Evolith governance.",
138
- "rationale": "Repository Taxonomy: Product evidence stays in product repo, not reference.",
139
- "validationQuery": "No product-specific files in reference/. Product evidence in satellite repositories.",
140
- "blocking": true
141
- },
142
- {
143
- "id": "TAX-11",
144
- "severity": "MUST",
145
- "category": "directory-structure",
146
- "title": "No root-level topologies directory",
147
- "description": "Evolith Core MUST NOT create /topologies/ at repository root. Multi-topology documentation and executable rules must stay within taxonomy-approved corpus and ruleset locations, specifically reference/architecture/topologies/ and rulesets/topologies/, unless a future accepted ADR supersedes the root taxonomy.",
148
- "rationale": "core/ADR-0079 rejects root-level /topologies/ to preserve ADR-0048 and ADR-0070 root taxonomy constraints.",
149
- "validationQuery": "Repository root directory listing does not contain topologies/.",
150
- "blocking": true,
151
- "examples": [
152
- "reference/architecture/topologies/",
153
- "rulesets/topologies/"
154
- ]
155
- }
156
- ],
157
- "references": [
158
- "reference/governance/standards/repository-taxonomy.md",
159
- "reference/architecture/adrs/core/0048-enterprise-taxonomy-reference-layout.md",
160
- "reference/architecture/adrs/core/0056-enterprise-naming-design-conventions.md",
161
- "reference/architecture/adrs/core/0070-lean-root-repository-taxonomy.md",
162
- "reference/architecture/adrs/core/0079-multi-topology-reference-corpus.md"
163
- ],
164
- "exitCriteria": {
165
- "description": "All files follow naming conventions. Directory structure matches taxonomy. ADR files correctly numbered.",
166
- "validationTools": [
167
- "CI naming validation",
168
- "directory structure check",
169
- "ADR numbering validation"
170
- ]
171
- }
172
- }
@@ -1,26 +0,0 @@
1
- # Ruleset de Definition of Done
2
-
3
- > **Navegación Bilingüe:** [English Version](./README.md)
4
-
5
- Punto de entrada ejecutable WS1 para el ruleset Definition of Done de Evolith.
6
-
7
- ## Propósito
8
-
9
- Este directorio expone `rulesets/definition-of-done` como la ruta ejecutable canónica que verifica la auditoría de fortaleza como data inteligente. El ruleset codifica el checklist obligatorio para cierre de historias consumido por el validador nativo de rulesets y los flujos de evidencia CI.
10
-
11
- ## Artefactos
12
-
13
- | Artefacto | Propósito |
14
- |---|---|
15
- | [definition-of-done.rules.json](./definition-of-done.rules.json) | Ruleset nativo machine-readable para validación de Definition of Done |
16
- | [../opa/dod.rego](../opa/dod.rego) | Artefacto de paridad OPA para validación de Definition of Done |
17
- | [../opa/dod.test.rego](../opa/dod.test.rego) | Cobertura de pruebas OPA para la política Definition of Done |
18
-
19
- ## Validación
20
-
21
- Ejecuta estos checks después de cambiar el ruleset:
22
-
23
- ```bash
24
- npx jest --config packages/core-domain/jest.config.js --rootDir packages/core-domain --testPathPatterns='ruleset-validation.mode' --no-coverage
25
- .harness/bin/opa test rulesets/opa/dod.rego rulesets/opa/dod.test.rego -v
26
- ```
@@ -1,26 +0,0 @@
1
- # Definition of Done Ruleset
2
-
3
- > **Bilingual Navigation:** [Versión en Español](./README.es.md)
4
-
5
- Executable WS1 entrypoint for the Evolith Definition of Done ruleset.
6
-
7
- ## Purpose
8
-
9
- This directory exposes `rulesets/definition-of-done` as the canonical executable path checked by the intelligent data strength audit. The ruleset encodes the mandatory story-closure checklist consumed by the native ruleset validator and CI evidence flows.
10
-
11
- ## Artifacts
12
-
13
- | Artifact | Purpose |
14
- |---|---|
15
- | [definition-of-done.rules.json](./definition-of-done.rules.json) | Native machine-readable ruleset for Definition of Done validation |
16
- | [../opa/dod.rego](../opa/dod.rego) | OPA policy parity artifact for Definition of Done validation |
17
- | [../opa/dod.test.rego](../opa/dod.test.rego) | OPA test coverage for the Definition of Done policy |
18
-
19
- ## Validation
20
-
21
- Run these checks after changing the ruleset:
22
-
23
- ```bash
24
- npx jest --config packages/core-domain/jest.config.js --rootDir packages/core-domain --testPathPatterns='ruleset-validation.mode' --no-coverage
25
- .harness/bin/opa test rulesets/opa/dod.rego rulesets/opa/dod.test.rego -v
26
- ```
@@ -1,135 +0,0 @@
1
- {
2
- "$schema": "../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/definition-of-done/definition-of-done.rules.json",
4
- "title": "Definition of Done Rules",
5
- "description": "Machine-readable encoding of the Evolith Definition of Done. Mandatory checklist for every Technical Story before it can be marked Done.",
6
- "version": "1.0.0",
7
- "effectiveDate": "2026-01-01",
8
- "rules": [
9
- {
10
- "id": "DOD-01",
11
- "severity": "MUST",
12
- "category": "code",
13
- "title": "Code implemented and reviewed",
14
- "description": "All implementation code is written and at least one peer review approval exists. Self-review does not count.",
15
- "validationQuery": "PR has minimum 1 approved review. No direct push to main/develop.",
16
- "blocking": true,
17
- "checklistItem": "code-implemented"
18
- },
19
- {
20
- "id": "DOD-02",
21
- "severity": "MUST",
22
- "category": "testing",
23
- "title": "Unit tests meet coverage threshold",
24
- "description": "Unit test coverage for business logic >= 80%. Layer-specific thresholds apply: Domain >= 95%, Application >= 85%, Infrastructure >= 60%.",
25
- "validationQuery": "Coverage report from CI shows >= 80% for business logic. Per-layer thresholds validated.",
26
- "blocking": true,
27
- "checklistItem": "tests-passing"
28
- },
29
- {
30
- "id": "DOD-03",
31
- "severity": "MUST",
32
- "category": "testing",
33
- "title": "All acceptance criteria verified",
34
- "description": "All acceptance criteria from the Functional Story are verified and pass. Manual or automated verification documented.",
35
- "validationQuery": "All acceptance criteria marked as verified in story tracker. E2E or integration tests confirm criteria.",
36
- "blocking": true,
37
- "checklistItem": "acceptance-criteria-verified"
38
- },
39
- {
40
- "id": "DOD-04",
41
- "severity": "MUST",
42
- "category": "documentation",
43
- "title": "Documentation updated",
44
- "description": "Documentation delta is produced alongside code changes. This includes: updated ADRs if decisions were made, inline code documentation for complex logic, README updates if public interfaces changed.",
45
- "validationQuery": "PR includes documentation changes. Reviewer validates documentation completeness.",
46
- "blocking": true,
47
- "checklistItem": "documentation-updated"
48
- },
49
- {
50
- "id": "DOD-05",
51
- "severity": "MUST",
52
- "category": "observability",
53
- "title": "Observability instrumentation added",
54
- "description": "Production paths have observable telemetry: traces with CorrelationId, structured logs with SessionTrackingId, metrics for key operations.",
55
- "validationQuery": "OTel spans present for production API paths. Logs include required context fields.",
56
- "blocking": true,
57
- "checklistItem": "observability-added"
58
- },
59
- {
60
- "id": "DOD-06",
61
- "severity": "MUST",
62
- "category": "security",
63
- "title": "Security gates passed",
64
- "description": "CodeQL scan passed with zero High/Critical findings. No new CVEs introduced. Secret scanning passed.",
65
- "validationQuery": "CI security gates all green. CodeQL, dependency scan, secret scan passed.",
66
- "blocking": true,
67
- "checklistItem": "security-gates-passed"
68
- },
69
- {
70
- "id": "DOD-07",
71
- "severity": "MUST",
72
- "category": "architecture",
73
- "title": "ADR created if architectural decision made",
74
- "description": "If the implementation required a new architectural decision (boundary change, technology selection, security model change), an ADR is created and linked to the story.",
75
- "validationQuery": "Architectural decisions documented in ADR. Story links to relevant ADR IDs.",
76
- "blocking": false,
77
- "checklistItem": "adr-created-if-needed"
78
- },
79
- {
80
- "id": "DOD-08",
81
- "severity": "MUST",
82
- "category": "integration",
83
- "title": "Integration tests pass",
84
- "description": "Integration tests (adapter tests with testcontainers) pass. Tests cover persistence adapters, gateway adapters, and inter-service contracts.",
85
- "validationQuery": "Integration test suite passes. Contract tests for inter-service calls pass.",
86
- "blocking": true,
87
- "checklistItem": "integration-tests-passing"
88
- },
89
- {
90
- "id": "DOD-09",
91
- "severity": "MUST",
92
- "category": "lint",
93
- "title": "Linting and formatting passed",
94
- "description": "All linting rules pass (ESLint, Prettier formatting). No lint errors, no formatting violations.",
95
- "validationQuery": "CI lint step green. No ESLint errors, Prettier formatted.",
96
- "blocking": true,
97
- "checklistItem": "lint-passing"
98
- },
99
- {
100
- "id": "DOD-10",
101
- "severity": "MUST",
102
- "category": "ci",
103
- "title": "CI pipeline green on target branch",
104
- "description": "CI pipeline runs successfully on the feature branch with all quality gates passing before merge.",
105
- "validationQuery": "All CI checks green. Pipeline completed successfully on feature branch.",
106
- "blocking": true,
107
- "checklistItem": "ci-green"
108
- }
109
- ],
110
- "summaryChecklist": [
111
- "code-implemented",
112
- "tests-passing",
113
- "acceptance-criteria-verified",
114
- "documentation-updated",
115
- "observability-added",
116
- "security-gates-passed",
117
- "adr-created-if-needed",
118
- "integration-tests-passing",
119
- "lint-passing",
120
- "ci-green"
121
- ],
122
- "references": [
123
- "reference/governance/sdlc/02-engineering/construction-focused-sdlc-framework.md",
124
- "reference/governance/sdlc/quality-gates.md"
125
- ],
126
- "exitCriteria": {
127
- "description": "All MUST items checked. Story cannot be marked Done without all blocking items satisfied.",
128
- "validationTools": [
129
- "CI pipeline",
130
- "coverage reports",
131
- "PR review",
132
- "story tracker"
133
- ]
134
- }
135
- }