@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,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0051-enterprise-database-engine-selection-strategy.rules.json",
4
- "title": "ADR-0051 — Enterprise Database Engine Selection Strategy Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0051 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0051",
8
- "adrTitle": "Enterprise Database Engine Selection Strategy",
9
- "status": "Approved",
10
- "date": "2026-05-14",
11
- "rules": [
12
- {
13
- "id": "CORE-0051-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0051: Enterprise Database Engine Selection Strategy",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0051 (core track). ADR decision: The enterprise standard for database engines is now differentiated by runtime and data model requirements: Mandatory Engine: Microsoft SQL Server (Latest Stable Version) Rationale: native integration with Entity Framework Core, superior performance for enterprise workloads, and advanced management tooling (SSMS, SQL P… This ADR contains enforceable language (must, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: The enterprise standard for database engines is now differentiated by runtime and data model requirements: Mandatory Engine: Microsoft SQL Server (Latest Stable Version) Rationale: native integration with Entity Framework Core, superior performance for enterprise workloads, and advanced management tooling (SSMS, SQL P…",
19
- "rationale": "Derived from ADR-0051 \"Decision\" section. Enforcement signals detected: must, structure.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0051 via static analysis, lint rules, or pipeline gates covering: must, structure. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0051-enterprise-database-engine-strategy.md"
27
- ],
28
- "effectiveDate": "2026-05-14"
29
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0052-unit-testing-isolation-strategy-mocks-vs-stubs.rules.json",
4
- "title": "ADR-0052 — Unit Testing Isolation Strategy (Mocks vs Stubs) Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0052 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0052",
8
- "adrTitle": "Unit Testing Isolation Strategy (Mocks vs Stubs)",
9
- "status": "Approved",
10
- "date": "2026-05-14",
11
- "rules": [
12
- {
13
- "id": "CORE-0052-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0052: Unit Testing Isolation Strategy (Mocks vs Stubs)",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0052 (core track). ADR decision: We adopt a Double Centric Isolation Strategy aligned with Hexagonal Architecture principles. Stub (Indirect Input): Used to provide the SUT (System Under Test) with necessary data or state. This ADR contains enforceable language (must, forbidden, required, layer, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: We adopt a Double Centric Isolation Strategy aligned with Hexagonal Architecture principles. Stub (Indirect Input): Used to provide the SUT (System Under Test) with necessary data or state.",
19
- "rationale": "Derived from ADR-0052 \"Decision\" section. Enforcement signals detected: must, forbidden, required, layer, structure.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0052 via static analysis, lint rules, or pipeline gates covering: must, forbidden, required, layer, structure. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0052-unit-testing-isolation-strategy.md"
27
- ],
28
- "effectiveDate": "2026-05-14"
29
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0053-integration-and-e2e-testing-strategy.rules.json",
4
- "title": "ADR-0053 — Integration and E2E Testing Strategy Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0053 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0053",
8
- "adrTitle": "Integration and E2E Testing Strategy",
9
- "status": "Approved",
10
- "date": "2026-05-14",
11
- "rules": [
12
- {
13
- "id": "CORE-0053-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0053: Integration and E2E Testing Strategy",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0053 (core track). ADR decision: We establish a mandatory strategy for heavy weight testing layers. Definition: Verifying a single Infrastructure Adapter against its real external counterpart. Mandatory Rule: MUST use Testcontainers to spin up real instances of SQL Server, PostgreSQL, Redis, or MongoDB. This ADR contains enforceable language (must, layer, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: We establish a mandatory strategy for heavy weight testing layers. Definition: Verifying a single Infrastructure Adapter against its real external counterpart. Mandatory Rule: MUST use Testcontainers to spin up real instances of SQL Server, PostgreSQL, Redis, or MongoDB.",
19
- "rationale": "Derived from ADR-0053 \"Decision\" section. Enforcement signals detected: must, layer, structure.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0053 via static analysis, lint rules, or pipeline gates covering: must, layer, structure. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0053-integration-e2e-testing-strategy.md"
27
- ],
28
- "effectiveDate": "2026-05-14"
29
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0054-database-design-and-normalization-standards.rules.json",
4
- "title": "ADR-0054 — Database Design and Normalization Standards Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0054 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0054",
8
- "adrTitle": "Database Design and Normalization Standards",
9
- "status": "Approved",
10
- "date": "2026-05-14",
11
- "rules": [
12
- {
13
- "id": "CORE-0054-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0054: Database Design and Normalization Standards",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0054 (core track). ADR decision: We establish a dual track modeling standard based on the nature of the persistence engine. All relational models MUST follow the Third Normal Form (3NF) as the default baseline. This ADR contains enforceable language (must, forbidden, dependency, naming); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: We establish a dual track modeling standard based on the nature of the persistence engine. All relational models MUST follow the Third Normal Form (3NF) as the default baseline.",
19
- "rationale": "Derived from ADR-0054 \"Decision\" section. Enforcement signals detected: must, forbidden, dependency, naming.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0054 via static analysis, lint rules, or pipeline gates covering: must, forbidden, dependency, naming. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0054-database-design-normalization-standards.md"
27
- ],
28
- "effectiveDate": "2026-05-14"
29
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0055-microfrontends-architecture-strategy.rules.json",
4
- "title": "ADR-0055 — Microfrontends Architecture Strategy Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0055 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0055",
8
- "adrTitle": "Microfrontends Architecture Strategy",
9
- "status": "Proposed (Phase 3 Readiness)",
10
- "date": "",
11
- "rules": [
12
- {
13
- "id": "CORE-0055-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0055: Microfrontends Architecture Strategy",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0055 (core track). ADR decision: We will adopt a Microfrontend (MFE) strategy only as a Phase 3+ extraction strategy , not as the initial frontend baseline. Evolith products MUST follow this progression: Microfrontends MUST NOT be used as a default starting architecture, a trend driven choice, or a substitute for clean modular frontend design. This ADR contains enforceable language (must not, must, boundaries); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: We will adopt a Microfrontend (MFE) strategy only as a Phase 3+ extraction strategy , not as the initial frontend baseline. Evolith products MUST follow this progression: Microfrontends MUST NOT be used as a default starting architecture, a trend driven choice, or a substitute for clean modular frontend design.",
19
- "rationale": "Derived from ADR-0055 \"Decision\" section. Enforcement signals detected: must not, must, boundaries.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0055 via static analysis, lint rules, or pipeline gates covering: must not, must, boundaries. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0055-microfrontends-architecture-strategy.md"
27
- ]
28
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0056-enterprise-naming-design-conventions-multi-language-multi-pl.rules.json",
4
- "title": "ADR-0056 — Enterprise Naming & Design Conventions - Multi-Language, Multi-Platform Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0056 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0056",
8
- "adrTitle": "Enterprise Naming & Design Conventions - Multi-Language, Multi-Platform",
9
- "status": "Accepted — extends and expands the scope of [ADR-0049 (Naming Semantics & Clean Code Policy)](./0049-naming-semantics-clean-code-policy.md) to all layers of the enterprise ecosystem (code, API, database, events, data warehouse, DDD tactical patterns).",
10
- "date": "2026-05-15",
11
- "rules": [
12
- {
13
- "id": "CORE-0056-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0056: Enterprise Naming & Design Conventions - Multi-Language, Multi-Platform",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0056 (core track). ADR decision: Adopt a single, binding, automated enforcement naming standard with the following pillars: 1. Ubiquitous Language as the Source of Truth. Every name in code, API, database, and events originates from the domain glossary not from implementation preferences. This ADR contains enforceable language (must, layer, lint, naming, ci gate, enforce); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Adopt a single, binding, automated enforcement naming standard with the following pillars: 1. Ubiquitous Language as the Source of Truth. Every name in code, API, database, and events originates from the domain glossary not from implementation preferences.",
19
- "rationale": "Derived from ADR-0056 \"Decision\" section. Enforcement signals detected: must, layer, lint, naming, ci gate, enforce.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0056 via static analysis, lint rules, or pipeline gates covering: must, layer, lint, naming, ci gate, enforce. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0056-enterprise-naming-design-conventions.md"
27
- ],
28
- "effectiveDate": "2026-05-15"
29
- }
@@ -1,27 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0057-architecture-intelligence-catalog.rules.json",
4
- "title": "ADR-0057 — Architecture Intelligence Catalog Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0057 (core track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0057",
8
- "adrTitle": "Architecture Intelligence Catalog",
9
- "status": "Accepted",
10
- "date": "",
11
- "rules": [
12
- {
13
- "id": "CORE-0057-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0057: Architecture Intelligence Catalog",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0057 (core track). ADR decision: Evolith adopts an Architecture Intelligence Catalog under: text reference/knowledge/architecture intelligence/ This catalog is used to: curate architectural ideas analyze tradeoffs classify adoption maturity document pattern cards connect external inspiration with Evolith governance prepare selected knowledge for AI a… Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Evolith adopts an Architecture Intelligence Catalog under: text reference/knowledge/architecture intelligence/ This catalog is used to: curate architectural ideas analyze tradeoffs classify adoption maturity document pattern cards connect external inspiration with Evolith governance prepare selected knowledge for AI a…",
19
- "rationale": "Derived from ADR-0057 \"Decision\" section. No machine-verifiable signals detected; treated as an advisory design decision.",
20
- "blocking": false,
21
- "enforcement": "advisory"
22
- }
23
- ],
24
- "references": [
25
- "reference/architecture/adrs/core/0057-architecture-intelligence-catalog.md"
26
- ]
27
- }
@@ -1,27 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0058-ai-consumable-architecture-knowledge.rules.json",
4
- "title": "ADR-0058 — AI-Consumable Architecture Knowledge Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0058 (core track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0058",
8
- "adrTitle": "AI-Consumable Architecture Knowledge",
9
- "status": "Accepted",
10
- "date": "",
11
- "rules": [
12
- {
13
- "id": "CORE-0058-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0058: AI-Consumable Architecture Knowledge",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0058 (core track). ADR decision: Evolith will prepare selected architecture knowledge for AI consumption using explicit structure, stable taxonomy, and traceable links to authoritative artifacts. Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Evolith will prepare selected architecture knowledge for AI consumption using explicit structure, stable taxonomy, and traceable links to authoritative artifacts.",
19
- "rationale": "Derived from ADR-0058 \"Decision\" section. No machine-verifiable signals detected; treated as an advisory design decision.",
20
- "blocking": false,
21
- "enforcement": "advisory"
22
- }
23
- ],
24
- "references": [
25
- "reference/architecture/adrs/core/0058-ai-consumable-architecture-knowledge.md"
26
- ]
27
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0067-modular-monolith-persistence-boundaries.rules.json",
4
- "title": "ADR-0067 — Modular Monolith Persistence Boundaries Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0067 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0067",
8
- "adrTitle": "Modular Monolith Persistence Boundaries",
9
- "status": "Accepted",
10
- "date": "",
11
- "rules": [
12
- {
13
- "id": "CORE-0067-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0067: Modular Monolith Persistence Boundaries",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0067 (core track). ADR decision: Evolith requires modular monolith implementations to define explicit persistence boundaries per module, bounded context, or domain capability. Each module must own its persistence model and must not directly mutate persistence structures owned by another module. This ADR contains enforceable language (must not, must, naming, structure, enforce, enforced); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Evolith requires modular monolith implementations to define explicit persistence boundaries per module, bounded context, or domain capability. Each module must own its persistence model and must not directly mutate persistence structures owned by another module.",
19
- "rationale": "Derived from ADR-0067 \"Decision\" section. Enforcement signals detected: must not, must, naming, structure, enforce, enforced.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0067 via static analysis, lint rules, or pipeline gates covering: must not, must, naming, structure, enforce, enforced. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0067-modular-monolith-schema-per-domain.md"
27
- ]
28
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0068-documentation-release-gitflow.rules.json",
4
- "title": "ADR-0068 — Documentation Release GitFlow Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0068 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0068",
8
- "adrTitle": "Documentation Release GitFlow",
9
- "status": "Proposed",
10
- "date": "2026-05-29",
11
- "rules": [
12
- {
13
- "id": "CORE-0068-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0068: Documentation Release GitFlow",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0068 (core track). ADR decision: We will adopt Documentation Release GitFlow as the mandatory release workflow for both Evolith Arch32 and UMS repositories. This extends ADR 0050 with documentation specific branch naming, quality gates, and release tagging conventions. This ADR contains enforceable language (naming, quality gate); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: We will adopt Documentation Release GitFlow as the mandatory release workflow for both Evolith Arch32 and UMS repositories. This extends ADR 0050 with documentation specific branch naming, quality gates, and release tagging conventions.",
19
- "rationale": "Derived from ADR-0068 \"Decision\" section. Enforcement signals detected: naming, quality gate.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0068 via static analysis, lint rules, or pipeline gates covering: naming, quality gate. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0068-documentation-release-gitflow.md"
27
- ],
28
- "effectiveDate": "2026-05-29"
29
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0069-ai-agent-context-protocol-integration.rules.json",
4
- "title": "ADR-0069 — AI Agent Context Protocol Integration Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0069 (core track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0069",
8
- "adrTitle": "AI Agent Context Protocol Integration",
9
- "status": "Approved",
10
- "date": "2026-06-06",
11
- "rules": [
12
- {
13
- "id": "CORE-0069-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0069: AI Agent Context Protocol Integration",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0069 (core track). ADR decision: Adopt a standardized AI Agent Context Protocol implementation to expose architectural governance natively to AI assistants. The integration must provide: Tools : Executable validation functions that agents can invoke (e.g., repository validation against rulesets). Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Adopt a standardized AI Agent Context Protocol implementation to expose architectural governance natively to AI assistants. The integration must provide: Tools : Executable validation functions that agents can invoke (e.g., repository validation against rulesets).",
19
- "rationale": "Derived from ADR-0069 \"Decision\" section. No machine-verifiable signals detected; treated as an advisory design decision.",
20
- "blocking": false,
21
- "enforcement": "advisory"
22
- }
23
- ],
24
- "references": [
25
- "reference/architecture/adrs/core/0069-ai-agent-context-protocol-integration.md"
26
- ],
27
- "effectiveDate": "2026-06-06"
28
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0070-lean-root-repository-taxonomy.rules.json",
4
- "title": "ADR-0070 — Lean Root Repository Taxonomy Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0070 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0070",
8
- "adrTitle": "Lean Root Repository Taxonomy",
9
- "status": "Accepted",
10
- "date": "2026-06-07",
11
- "rules": [
12
- {
13
- "id": "CORE-0070-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0070: Lean Root Repository Taxonomy",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0070 (core track). ADR decision: Adopt the Lean Root (also called Clean Root) architectural pattern for all Evolith satellite repositories, enforcing a strict binary dichotomy at the repository root. This ADR contains enforceable language (must, lint, ci/cd, enforce); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Adopt the Lean Root (also called Clean Root) architectural pattern for all Evolith satellite repositories, enforcing a strict binary dichotomy at the repository root.",
19
- "rationale": "Derived from ADR-0070 \"Decision\" section. Enforcement signals detected: must, lint, ci/cd, enforce.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0070 via static analysis, lint rules, or pipeline gates covering: must, lint, ci/cd, enforce. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0070-lean-root-repository-taxonomy.md"
27
- ],
28
- "effectiveDate": "2026-06-07"
29
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0071-domain-layer-base-class-and-inheritance-strategy.rules.json",
4
- "title": "ADR-0071 — Domain Layer Base Class and Inheritance Strategy Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0071 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0071",
8
- "adrTitle": "Domain Layer Base Class and Inheritance Strategy",
9
- "status": "Accepted",
10
- "date": "2026-06-07",
11
- "rules": [
12
- {
13
- "id": "CORE-0071-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0071: Domain Layer Base Class and Inheritance Strategy",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0071 (core track). ADR decision: Evolith satellites may adopt Option A (current shell inheritance) as a controlled and documented pragmatic compromise, subject to the constraints below. This ADR contains enforceable language (must not, must, dependency, dependencies, layer, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Evolith satellites may adopt Option A (current shell inheritance) as a controlled and documented pragmatic compromise, subject to the constraints below.",
19
- "rationale": "Derived from ADR-0071 \"Decision\" section. Enforcement signals detected: must not, must, dependency, dependencies, layer, structure.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0071 via static analysis, lint rules, or pipeline gates covering: must not, must, dependency, dependencies, layer, structure. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0071-domain-layer-base-class-inheritance-strategy.md"
27
- ],
28
- "effectiveDate": "2026-06-07"
29
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0072-utc-date-storage-browser-timezone-detection-and-language-res.rules.json",
4
- "title": "ADR-0072 — UTC Date Storage, Browser Timezone Detection, and Language Resolution Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0072 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0072",
8
- "adrTitle": "UTC Date Storage, Browser Timezone Detection, and Language Resolution",
9
- "status": "Accepted",
10
- "date": "2026-06-07",
11
- "rules": [
12
- {
13
- "id": "CORE-0072-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0072: UTC Date Storage, Browser Timezone Detection, and Language Resolution",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0072 (core track). ADR decision: Rule: Every date or timestamp stored in any database table, domain event, outbox message, or API response body must be UTC. Implementation guidelines per runtime: Rationale: UTC is the only unambiguous anchor for distributed systems. This ADR contains enforceable language (must not, must, naming); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Rule: Every date or timestamp stored in any database table, domain event, outbox message, or API response body must be UTC. Implementation guidelines per runtime: Rationale: UTC is the only unambiguous anchor for distributed systems.",
19
- "rationale": "Derived from ADR-0072 \"Decision\" section. Enforcement signals detected: must not, must, naming.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0072 via static analysis, lint rules, or pipeline gates covering: must not, must, naming. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0072-utc-dates-timezone-language-resolution.md"
27
- ],
28
- "effectiveDate": "2026-06-07"
29
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0073-unified-cli-mcp-output-contract-and-gate-evidence-schema.rules.json",
4
- "title": "ADR-0073 — Unified CLI/MCP Output Contract and Gate Evidence Schema Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0073 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0073",
8
- "adrTitle": "Unified CLI/MCP Output Contract and Gate Evidence Schema",
9
- "status": "Approved — Evolith Architecture Board, 2026-06-10. Closes [GT-01](../../../governance/standards/vision/gap-reference-catalog.md#gt-01).",
10
- "date": "2026-06-10",
11
- "rules": [
12
- {
13
- "id": "CORE-0073-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0073: Unified CLI/MCP Output Contract and Gate Evidence Schema",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0073 (core track). ADR decision: Adopt option 3 . This ADR contains enforceable language (must, prohibited, layer, naming); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Adopt option 3 .",
19
- "rationale": "Derived from ADR-0073 \"Decision\" section. Enforcement signals detected: must, prohibited, layer, naming.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0073 via static analysis, lint rules, or pipeline gates covering: must, prohibited, layer, naming. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0073-unified-cli-output-contract.md"
27
- ],
28
- "effectiveDate": "2026-06-10"
29
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0074-evolith-core-api-native-exposure-layer.rules.json",
4
- "title": "ADR-0074 — Evolith Core API Native Exposure Layer Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0074 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0074",
8
- "adrTitle": "Evolith Core API Native Exposure Layer",
9
- "status": "Approved — Evolith Architecture Board, 2026-06-13.",
10
- "date": "2026-06-13",
11
- "rules": [
12
- {
13
- "id": "CORE-0074-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0074: Evolith Core API Native Exposure Layer",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0074 (core track). ADR decision: Adopt option 3 . We will construct the Evolith Core API as a NestJS application in the apps/core api directory. Ratified elements: 1. Network Sovereignty: Evolith Core is the sole owner of its domain, rulesets, and evaluation logic. This ADR contains enforceable language (dependency, layer, structure, enforce, boundaries); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Adopt option 3 . We will construct the Evolith Core API as a NestJS application in the apps/core api directory. Ratified elements: 1. Network Sovereignty: Evolith Core is the sole owner of its domain, rulesets, and evaluation logic.",
19
- "rationale": "Derived from ADR-0074 \"Decision\" section. Enforcement signals detected: dependency, layer, structure, enforce, boundaries.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0074 via static analysis, lint rules, or pipeline gates covering: dependency, layer, structure, enforce, boundaries. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0074-evolith-core-api-exposure-layer.md"
27
- ],
28
- "effectiveDate": "2026-06-13"
29
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0075-core-api-authentication-strategy.rules.json",
4
- "title": "ADR-0075 — Core API Authentication Strategy Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0075 (core track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0075",
8
- "adrTitle": "Core API Authentication Strategy",
9
- "status": "Superseded by ADR-0080",
10
- "date": "2026-06-14",
11
- "rules": [
12
- {
13
- "id": "CORE-0075-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0075: Core API Authentication Strategy",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0075 (core track). ADR decision: Implement a two tier authentication model: Machine to machine communication between the Tracker and Core API API keys validated via x api key header Keys stored as environment variables, hashed with SHA 256 and compared using constant time comparison ( timingSafeEqual ) ApiKeyAuthGuard registered as global APP GUARD @… Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Implement a two tier authentication model: Machine to machine communication between the Tracker and Core API API keys validated via x api key header Keys stored as environment variables, hashed with SHA 256 and compared using constant time comparison ( timingSafeEqual ) ApiKeyAuthGuard registered as global APP GUARD @…",
19
- "rationale": "Derived from ADR-0075 \"Decision\" section. No machine-verifiable signals detected; treated as an advisory design decision.",
20
- "blocking": false,
21
- "enforcement": "advisory"
22
- }
23
- ],
24
- "references": [
25
- "reference/architecture/adrs/core/0075-core-api-auth-strategy.md"
26
- ],
27
- "effectiveDate": "2026-06-14"
28
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0076-domain-oriented-microservice-architecture-doma.rules.json",
4
- "title": "ADR-0076 — Domain-Oriented Microservice Architecture (DOMA) Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0076 (core track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0076",
8
- "adrTitle": "Domain-Oriented Microservice Architecture (DOMA)",
9
- "status": "Approved — Evolith Architecture Board, 2026-06-14.",
10
- "date": "2026-06-14",
11
- "rules": [
12
- {
13
- "id": "CORE-0076-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0076: Domain-Oriented Microservice Architecture (DOMA)",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0076 (core track). ADR decision: Evolith adopts DOMA as the F3 decomposition principle: 1. Domains are the unit of grouping. Each microservice belongs to exactly one bounded business domain (e.g. Discovery, Construction, Release). Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Evolith adopts DOMA as the F3 decomposition principle: 1. Domains are the unit of grouping. Each microservice belongs to exactly one bounded business domain (e.g. Discovery, Construction, Release).",
19
- "rationale": "Derived from ADR-0076 \"Decision\" section. No machine-verifiable signals detected; treated as an advisory design decision.",
20
- "blocking": false,
21
- "enforcement": "advisory"
22
- }
23
- ],
24
- "references": [
25
- "reference/architecture/adrs/core/0076-domain-oriented-microservice-architecture.md"
26
- ],
27
- "effectiveDate": "2026-06-14"
28
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0077-masstransit-v9-commercial-pivot-stay-on-v8-monitor-opentrans.rules.json",
4
- "title": "ADR-0077 — MassTransit v9 Commercial Pivot — Stay on v8, Monitor OpenTransit Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0077 (core track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0077",
8
- "adrTitle": "MassTransit v9 Commercial Pivot — Stay on v8, Monitor OpenTransit",
9
- "status": "Approved — Evolith Architecture Board, 2026-06-15.",
10
- "date": "2026-06-15",
11
- "rules": [
12
- {
13
- "id": "CORE-0077-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0077: MassTransit v9 Commercial Pivot — Stay on v8, Monitor OpenTransit",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0077 (core track). ADR decision: Stay on MassTransit v8 (8.3.x) through the end of year 2026 support window, and monitor OpenTransit as the primary post 2026 OSS continuation path. Rationale: The recommendation maximises the remaining v8 support window (6 months) to: Avoid an immediate, costly migration to Rebus or a driver rewrite. Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Stay on MassTransit v8 (8.3.x) through the end of year 2026 support window, and monitor OpenTransit as the primary post 2026 OSS continuation path. Rationale: The recommendation maximises the remaining v8 support window (6 months) to: Avoid an immediate, costly migration to Rebus or a driver rewrite.",
19
- "rationale": "Derived from ADR-0077 \"Decision\" section. No machine-verifiable signals detected; treated as an advisory design decision.",
20
- "blocking": false,
21
- "enforcement": "advisory"
22
- }
23
- ],
24
- "references": [
25
- "reference/architecture/adrs/core/0077-masstransit-v9-commercial-pivot.md"
26
- ],
27
- "effectiveDate": "2026-06-15"
28
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-0078-domain-financial-separation-governance.rules.json",
4
- "title": "ADR-0078 — Domain Financial Separation Governance Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0078 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0078",
8
- "adrTitle": "Domain Financial Separation Governance",
9
- "status": "Accepted",
10
- "date": "2026-06-18",
11
- "rules": [
12
- {
13
- "id": "CORE-0078-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0078: Domain Financial Separation Governance",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0078 (core track). ADR decision: Purge all references to financial parameters from Evolith Core and delegate all financial tracking, budgets, and business ROI logic exclusively to Evolith Tracker. All specifications and templates in Core must substitute business/financial concepts with Technical Constraints and Quality Attributes (NFRs): 1. This ADR contains enforceable language (must, prohibited); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Purge all references to financial parameters from Evolith Core and delegate all financial tracking, budgets, and business ROI logic exclusively to Evolith Tracker. All specifications and templates in Core must substitute business/financial concepts with Technical Constraints and Quality Attributes (NFRs): 1.",
19
- "rationale": "Derived from ADR-0078 \"Decision\" section. Enforcement signals detected: must, prohibited.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0078 via static analysis, lint rules, or pipeline gates covering: must, prohibited. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/core/0078-domain-financial-separation-governance.md"
27
- ],
28
- "effectiveDate": "2026-06-18"
29
- }