@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-dotnet-0072-net-aop-cross-cutting-concern-strategy-dispatchproxy-over-pi.rules.json",
4
- "title": "ADR-0072 — .NET AOP Cross-Cutting Concern Strategy — DispatchProxy over Pipeline Behaviors Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0072 (dotnet 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": ".NET AOP Cross-Cutting Concern Strategy — DispatchProxy over Pipeline Behaviors",
9
- "status": "Accepted",
10
- "date": "2026-06-07",
11
- "rules": [
12
- {
13
- "id": "DOT-0072-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0072: .NET AOP Cross-Cutting Concern Strategy — DispatchProxy over Pipeline Behaviors",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0072 (dotnet track). ADR decision: Implement selective, per method cross cutting concerns via System.Reflection.DispatchProxy using an attribute driven aspect execution chain. System.Reflection.DispatchProxy.Invoke is synchronous. This ADR contains enforceable language (must, prohibited, dependency, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Implement selective, per method cross cutting concerns via System.Reflection.DispatchProxy using an attribute driven aspect execution chain. System.Reflection.DispatchProxy.Invoke is synchronous.",
19
- "rationale": "Derived from ADR-0072 \"Decision\" section. Enforcement signals detected: must, prohibited, dependency, structure.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0072 via static analysis, lint rules, or pipeline gates covering: must, prohibited, dependency, structure. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/dotnet/0072-dotnet-aop-cross-cutting-concern-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-nodejs-0003-strict-typescript-standards.rules.json",
4
- "title": "ADR-0003 — Strict TypeScript Standards Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0003 (nodejs track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0003",
8
- "adrTitle": "Strict TypeScript Standards",
9
- "status": "Approved",
10
- "date": "2026-05-08",
11
- "rules": [
12
- {
13
- "id": "NODE-0003-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0003: Strict TypeScript Standards",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0003 (nodejs track). ADR decision: Enforce strict TypeScript configuration and ESLint rules across the entire monorepo. This ADR contains enforceable language (layer, lint, eslint, structure, enforce, enforced); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Enforce strict TypeScript configuration and ESLint rules across the entire monorepo.",
19
- "rationale": "Derived from ADR-0003 \"Decision\" section. Enforcement signals detected: layer, lint, eslint, structure, enforce, enforced.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0003 via static analysis, lint rules, or pipeline gates covering: layer, lint, eslint, 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/nodejs/0003-strict-typescript-standards.md"
27
- ],
28
- "effectiveDate": "2026-05-08"
29
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0004-frontend-offline-resilience.rules.json",
4
- "title": "ADR-0004 — Frontend Offline Resilience Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0004 (nodejs track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0004",
8
- "adrTitle": "Frontend Offline Resilience",
9
- "status": "Approved",
10
- "date": "2026-05-08",
11
- "rules": [
12
- {
13
- "id": "NODE-0004-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0004: Frontend Offline Resilience",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0004 (nodejs track). ADR decision: Implement offline resilience in the frontend layer using React Query (TanStack Query) as the primary client side state and cache management solution. Key strategies: Stale While Revalidate : Serve cached data immediately while fetching updates in the background. Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Implement offline resilience in the frontend layer using React Query (TanStack Query) as the primary client side state and cache management solution. Key strategies: Stale While Revalidate : Serve cached data immediately while fetching updates in the background.",
19
- "rationale": "Derived from ADR-0004 \"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/nodejs/0004-frontend-offline-resilience.md"
26
- ],
27
- "effectiveDate": "2026-05-08"
28
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0007-observability-with-opentelemetry-loki-and-jaeger.rules.json",
4
- "title": "ADR-0007 — Observability with OpenTelemetry, Loki, and Jaeger Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0007 (nodejs track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0007",
8
- "adrTitle": "Observability with OpenTelemetry, Loki, and Jaeger",
9
- "status": "Approved",
10
- "date": "2026-05-08",
11
- "rules": [
12
- {
13
- "id": "NODE-0007-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0007: Observability with OpenTelemetry, Loki, and Jaeger",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0007 (nodejs track). ADR decision: Adopt the OpenTelemetry (OTel) standard as the unified observability backbone, with the following toolchain: Implementation rules: 1. Auto instrumentation : NestJS HTTP, TypeORM, and Redis calls are automatically instrumented via OTel auto instrumentation packages no manual span creation required for standard flows. This ADR contains enforceable language (must, required, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Adopt the OpenTelemetry (OTel) standard as the unified observability backbone, with the following toolchain: Implementation rules: 1. Auto instrumentation : NestJS HTTP, TypeORM, and Redis calls are automatically instrumented via OTel auto instrumentation packages no manual span creation required for standard flows.",
19
- "rationale": "Derived from ADR-0007 \"Decision\" section. Enforcement signals detected: must, required, structure.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0007 via static analysis, lint rules, or pipeline gates covering: must, required, structure. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/nodejs/0007-observability-telemetry-loki-opentelemetry.md"
27
- ],
28
- "effectiveDate": "2026-05-08"
29
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0008-progressive-multi-module-evolution-with-api-gateway-and-bff-.rules.json",
4
- "title": "ADR-0008 — Progressive Multi-Module Evolution with API Gateway and BFF Patterns Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0008 (nodejs track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0008",
8
- "adrTitle": "Progressive Multi-Module Evolution with API Gateway and BFF Patterns",
9
- "status": "Approved",
10
- "date": "2026-05-08",
11
- "rules": [
12
- {
13
- "id": "NODE-0008-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0008: Progressive Multi-Module Evolution with API Gateway and BFF Patterns",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0008 (nodejs track). ADR decision: Adopt a Progressive Multi Module and Distributed Backend For Frontend (BFF) Gateway Architecture : 1. Dedicated BFF Gateways : Tailor dedicated gateways for each client type rather than sharing one generic entry point: Web BFF : Handles cookie based sessions and aggregates payloads for rich desktop displays. Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Adopt a Progressive Multi Module and Distributed Backend For Frontend (BFF) Gateway Architecture : 1. Dedicated BFF Gateways : Tailor dedicated gateways for each client type rather than sharing one generic entry point: Web BFF : Handles cookie based sessions and aggregates payloads for rich desktop displays.",
19
- "rationale": "Derived from ADR-0008 \"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/nodejs/0008-progressive-multimodule-evolution-gateway-bff.md"
26
- ],
27
- "effectiveDate": "2026-05-08"
28
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0012-advanced-authorization-rbac-abac-strategy.rules.json",
4
- "title": "ADR-0012 — Advanced Authorization (RBAC/ABAC) Strategy Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0012 (nodejs track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0012",
8
- "adrTitle": "Advanced Authorization (RBAC/ABAC) Strategy",
9
- "status": "Approved",
10
- "date": "2026-05-08",
11
- "rules": [
12
- {
13
- "id": "NODE-0012-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0012: Advanced Authorization (RBAC/ABAC) Strategy",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0012 (nodejs track). ADR decision: Implement a Hybrid Architecture bridging Role Based (RBAC) and Attribute Based (ABAC) access control: 1. NestJS Guard Framework : Deploy custom @Roles() and @Permissions() annotations on controllers. Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Implement a Hybrid Architecture bridging Role Based (RBAC) and Attribute Based (ABAC) access control: 1. NestJS Guard Framework : Deploy custom @Roles() and @Permissions() annotations on controllers.",
19
- "rationale": "Derived from ADR-0012 \"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/nodejs/0012-advanced-authorization-rbac-abac.md"
26
- ],
27
- "effectiveDate": "2026-05-08"
28
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0021-high-performance-authentication-graph-compilation.rules.json",
4
- "title": "ADR-0021 — High-Performance Authentication Graph Compilation Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0021 (nodejs track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0021",
8
- "adrTitle": "High-Performance Authentication Graph Compilation",
9
- "status": "Approved",
10
- "date": "2026-05-08",
11
- "rules": [
12
- {
13
- "id": "NODE-0021-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0021: High-Performance Authentication Graph Compilation",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0021 (nodejs track). ADR decision: Standardize authentication login gateways to yield lightweight, pre digested Hierarchical Authorization Graphs boosted via Distributed memory side caches: 1. Stateless Signing : Session legitimacy verification continues over asymmetric RS256 Token validation, rotated dynamically (RTR). Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Standardize authentication login gateways to yield lightweight, pre digested Hierarchical Authorization Graphs boosted via Distributed memory side caches: 1. Stateless Signing : Session legitimacy verification continues over asymmetric RS256 Token validation, rotated dynamically (RTR).",
19
- "rationale": "Derived from ADR-0021 \"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/nodejs/0021-high-performance-auth-and-graph-compilation.md"
26
- ],
27
- "effectiveDate": "2026-05-08"
28
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0022-contextual-authentication-and-pluggable-output-projections.rules.json",
4
- "title": "ADR-0022 — Contextual Authentication and Pluggable Output Projections Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0022 (nodejs track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0022",
8
- "adrTitle": "Contextual Authentication and Pluggable Output Projections",
9
- "status": "Approved",
10
- "date": "2026-05-08",
11
- "rules": [
12
- {
13
- "id": "NODE-0022-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0022: Contextual Authentication and Pluggable Output Projections",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0022 (nodejs track). ADR decision: Separate Identity Validation logic entirely from output composition capabilities, enforcing specialized runtime projectors: 1. Pluggable Projector Map : The Core service emits a universal permission model. Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Separate Identity Validation logic entirely from output composition capabilities, enforcing specialized runtime projectors: 1. Pluggable Projector Map : The Core service emits a universal permission model.",
19
- "rationale": "Derived from ADR-0022 \"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/nodejs/0022-contextual-auth-and-pluggable-projections.md"
26
- ],
27
- "effectiveDate": "2026-05-08"
28
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0023-centralized-authorization-core-strategy.rules.json",
4
- "title": "ADR-0023 — Centralized Authorization Core Strategy Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0023 (nodejs track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0023",
8
- "adrTitle": "Centralized Authorization Core Strategy",
9
- "status": "Approved",
10
- "date": "2026-05-09",
11
- "rules": [
12
- {
13
- "id": "NODE-0023-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0023: Centralized Authorization Core Strategy",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0023 (nodejs track). ADR decision: Commit to building and deploying the system as the Centralized Authorization Nucleus serving all satellite company tools: 1. Kernel Consolidation : Centralize the responsibility of analyzing identities, aggregating active role trees, and executing logic gates into a single, highly hardened domain. Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Commit to building and deploying the system as the Centralized Authorization Nucleus serving all satellite company tools: 1. Kernel Consolidation : Centralize the responsibility of analyzing identities, aggregating active role trees, and executing logic gates into a single, highly hardened domain.",
19
- "rationale": "Derived from ADR-0023 \"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/nodejs/0023-centralized-ums-vs-decentralized-access.md"
26
- ],
27
- "effectiveDate": "2026-05-09"
28
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0026-adaptive-mfa-and-passwordless-platform.rules.json",
4
- "title": "ADR-0026 — Adaptive MFA and Passwordless Platform Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0026 (nodejs track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0026",
8
- "adrTitle": "Adaptive MFA and Passwordless Platform",
9
- "status": "Approved",
10
- "date": "2026-05-09",
11
- "rules": [
12
- {
13
- "id": "NODE-0026-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0026: Adaptive MFA and Passwordless Platform",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0026 (nodejs track). ADR decision: Rollout an Adaptive Risk Managed MFA Framework driving the Core authentication pipeline: 1. Passwordless First : Infuse native WebAuthn (Passkeys) into authentication flows, empowering end users to bind high security hardware (TouchID, FaceID, Yubikeys) natively to logins. Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Rollout an Adaptive Risk Managed MFA Framework driving the Core authentication pipeline: 1. Passwordless First : Infuse native WebAuthn (Passkeys) into authentication flows, empowering end users to bind high security hardware (TouchID, FaceID, Yubikeys) natively to logins.",
19
- "rationale": "Derived from ADR-0026 \"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/nodejs/0026-mfa-passwordless-adaptive-authentication.md"
26
- ],
27
- "effectiveDate": "2026-05-09"
28
- }
@@ -1,28 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0027-dual-protocol-api-strategy-rest-grpc.rules.json",
4
- "title": "ADR-0027 — Dual-Protocol API Strategy (REST & gRPC) Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0027 (nodejs track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0027",
8
- "adrTitle": "Dual-Protocol API Strategy (REST & gRPC)",
9
- "status": "Approved",
10
- "date": "2026-05-09",
11
- "rules": [
12
- {
13
- "id": "NODE-0027-01",
14
- "severity": "SHOULD",
15
- "category": "adr-conformance",
16
- "title": "Honor design decision in ADR-0027: Dual-Protocol API Strategy (REST & gRPC)",
17
- "description": "Design and implementation SHOULD honor the decision recorded in ADR-0027 (nodejs track). ADR decision: Orchestrate a strict Dual Protocol Runtime Edge paired with Kong Gateway orchestration: 1. Standard REST (Public) : All browser agents, client portal apps, and B2B gateways consume secure, documented JSON REST APIs over standard HTTPS. Manual attestation required — not machine-verifiable.",
18
- "statement": "ADR decision: Orchestrate a strict Dual Protocol Runtime Edge paired with Kong Gateway orchestration: 1. Standard REST (Public) : All browser agents, client portal apps, and B2B gateways consume secure, documented JSON REST APIs over standard HTTPS.",
19
- "rationale": "Derived from ADR-0027 \"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/nodejs/0027-dual-protocol-rest-grpc-api-gateway.md"
26
- ],
27
- "effectiveDate": "2026-05-09"
28
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0029-adoption-of-tactical-ddd-primitives-library.rules.json",
4
- "title": "ADR-0029 — Adoption of Tactical DDD Primitives Library Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0029 (nodejs track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0029",
8
- "adrTitle": "Adoption of Tactical DDD Primitives Library",
9
- "status": "Approved",
10
- "date": "2026-05-09",
11
- "rules": [
12
- {
13
- "id": "NODE-0029-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0029: Adoption of Tactical DDD Primitives Library",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0029 (nodejs track). ADR decision: Standardize on utilizing the @nestjslatam/ddd primitives ecosystem within core domains to accelerate velocity: 1. Pure Typescript Only : Adhering to core purity constraints, this specific package has 0 external NPM dependencies, making it totally safe for placement directly in the Domain innermost layer. This ADR contains enforceable language (dependencies, layer, import); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Standardize on utilizing the @nestjslatam/ddd primitives ecosystem within core domains to accelerate velocity: 1. Pure Typescript Only : Adhering to core purity constraints, this specific package has 0 external NPM dependencies, making it totally safe for placement directly in the Domain innermost layer.",
19
- "rationale": "Derived from ADR-0029 \"Decision\" section. Enforcement signals detected: dependencies, layer, import.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0029 via static analysis, lint rules, or pipeline gates covering: dependencies, layer, import. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/nodejs/0029-tactical-ddd-primitives-library.md"
27
- ],
28
- "effectiveDate": "2026-05-09"
29
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0038-enterprise-error-handling-result-pattern-strategy.rules.json",
4
- "title": "ADR-0038 — Enterprise Error Handling & Result Pattern Strategy Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0038 (nodejs track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0038",
8
- "adrTitle": "Enterprise Error Handling & Result Pattern Strategy",
9
- "status": "Approved",
10
- "date": "2026-05-11",
11
- "rules": [
12
- {
13
- "id": "NODE-0038-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0038: Enterprise Error Handling & Result Pattern Strategy",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0038 (nodejs track). ADR decision: Establish a strictly typed, unified Error Propagation framework based on the Result Pattern (Functional Error Handling): Mandate that ALL Application Use Cases and Domain Entities return errors explicitly instead of throwing them. This ADR contains enforceable language (layer, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Establish a strictly typed, unified Error Propagation framework based on the Result Pattern (Functional Error Handling): Mandate that ALL Application Use Cases and Domain Entities return errors explicitly instead of throwing them.",
19
- "rationale": "Derived from ADR-0038 \"Decision\" section. Enforcement signals detected: layer, structure.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0038 via static analysis, lint rules, or pipeline gates covering: layer, structure. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/nodejs/0038-error-handling-result-pattern-strategy.md"
27
- ],
28
- "effectiveDate": "2026-05-11"
29
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0043-data-access-and-orm-strategy-for-node-js.rules.json",
4
- "title": "ADR-0043 — Data Access and ORM Strategy for Node.js Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0043 (nodejs track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0043",
8
- "adrTitle": "Data Access and ORM Strategy for Node.js",
9
- "status": "Approved",
10
- "date": "2026-05-12",
11
- "rules": [
12
- {
13
- "id": "NODE-0043-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0043: Data Access and ORM Strategy for Node.js",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0043 (nodejs track). ADR decision: Adopt TypeORM using the Data Mapper pattern as the enterprise standard for relational databases (PostgreSQL). Justification : Fully aligned with our Hexagonal Architecture ([ADR 0002](0002 clean architecture nestjs.md)). This ADR contains enforceable language (must, prohibited, layer, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Adopt TypeORM using the Data Mapper pattern as the enterprise standard for relational databases (PostgreSQL). Justification : Fully aligned with our Hexagonal Architecture ([ADR 0002](0002 clean architecture nestjs.md)).",
19
- "rationale": "Derived from ADR-0043 \"Decision\" section. Enforcement signals detected: must, prohibited, layer, structure.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0043 via static analysis, lint rules, or pipeline gates covering: must, prohibited, layer, structure. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/nodejs/0043-data-access-orm-strategy.md"
27
- ],
28
- "effectiveDate": "2026-05-12"
29
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0044-frontend-clean-architecture-layer-boundaries-react.rules.json",
4
- "title": "ADR-0044 — Frontend Clean Architecture Layer Boundaries (React) Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0044 (nodejs track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0044",
8
- "adrTitle": "Frontend Clean Architecture Layer Boundaries (React)",
9
- "status": "Accepted",
10
- "date": "2026-06-07",
11
- "rules": [
12
- {
13
- "id": "NODE-0044-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0044: Frontend Clean Architecture Layer Boundaries (React)",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0044 (nodejs track). ADR decision: Apply Clean Architecture (Hexagonal) to React frontends with strict layer boundaries and an inward dependency rule. 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: Apply Clean Architecture (Hexagonal) to React frontends with strict layer boundaries and an inward dependency rule.",
19
- "rationale": "Derived from ADR-0044 \"Decision\" section. Enforcement signals detected: must not, must, dependency, dependencies, layer, structure.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0044 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/nodejs/0044-frontend-clean-architecture-layer-boundaries.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-nodejs-0045-frontend-state-management-zustand-tanstack-query-dual-strate.rules.json",
4
- "title": "ADR-0045 — Frontend State Management — Zustand + TanStack Query Dual Strategy Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0045 (nodejs track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0045",
8
- "adrTitle": "Frontend State Management — Zustand + TanStack Query Dual Strategy",
9
- "status": "Accepted",
10
- "date": "2026-06-07",
11
- "rules": [
12
- {
13
- "id": "NODE-0045-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0045: Frontend State Management — Zustand + TanStack Query Dual Strategy",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0045 (nodejs track). ADR decision: Adopt a dual strategy state management approach: TanStack Query is the canonical solution for all data that originates from an API endpoint. This ADR contains enforceable language (must not, must, import); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Adopt a dual strategy state management approach: TanStack Query is the canonical solution for all data that originates from an API endpoint.",
19
- "rationale": "Derived from ADR-0045 \"Decision\" section. Enforcement signals detected: must not, must, import.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0045 via static analysis, lint rules, or pipeline gates covering: must not, must, import. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/nodejs/0045-zustand-tanstack-query-state-management.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-nodejs-0046-prohibition-of-raw-technical-identifiers-in-user-interfaces.rules.json",
4
- "title": "ADR-0046 — Prohibition of Raw Technical Identifiers in User Interfaces Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0046 (nodejs track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0046",
8
- "adrTitle": "Prohibition of Raw Technical Identifiers in User Interfaces",
9
- "status": "Accepted",
10
- "date": "2026-06-07",
11
- "rules": [
12
- {
13
- "id": "NODE-0046-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0046: Prohibition of Raw Technical Identifiers in User Interfaces",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0046 (nodejs track). ADR decision: Raw technical identifiers (UUIDs, GUIDs, surrogate keys, internal database IDs) must never be rendered directly in a user facing interface unless a specific, justified business requirement explicitly requires it. This ADR contains enforceable language (must, layer, enforce); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Raw technical identifiers (UUIDs, GUIDs, surrogate keys, internal database IDs) must never be rendered directly in a user facing interface unless a specific, justified business requirement explicitly requires it.",
19
- "rationale": "Derived from ADR-0046 \"Decision\" section. Enforcement signals detected: must, layer, enforce.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0046 via static analysis, lint rules, or pipeline gates covering: must, layer, enforce. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/nodejs/0046-no-raw-identifiers-in-ui.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-nodejs-0047-actionable-user-error-contract-and-correlated-diagnostics.rules.json",
4
- "title": "ADR-0047 — Actionable User Error Contract and Correlated Diagnostics Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0047 (nodejs track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0047",
8
- "adrTitle": "Actionable User Error Contract and Correlated Diagnostics",
9
- "status": "Accepted",
10
- "date": "2026-06-07",
11
- "rules": [
12
- {
13
- "id": "NODE-0047-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0047: Actionable User Error Contract and Correlated Diagnostics",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0047 (nodejs track). ADR decision: Adopt a two channel error contract : 1. User feedback channel — exposes only approved, actionable business or validation information. 2. Diagnostic channel — retains technical details in structured logs and telemetry correlated through a server generated error identifier. This ADR contains enforceable language (must not, must, required, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Adopt a two channel error contract : 1. User feedback channel — exposes only approved, actionable business or validation information. 2. Diagnostic channel — retains technical details in structured logs and telemetry correlated through a server generated error identifier.",
19
- "rationale": "Derived from ADR-0047 \"Decision\" section. Enforcement signals detected: must not, must, required, structure.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0047 via static analysis, lint rules, or pipeline gates covering: must not, must, required, structure. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/nodejs/0047-actionable-user-error-contract.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-nodejs-0048-feature-flag-system-scope-and-structured-criteria-model.rules.json",
4
- "title": "ADR-0048 — Feature Flag System Scope and Structured Criteria Model Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0048 (nodejs track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
6
- "version": "1.0.0",
7
- "adrId": "ADR-0048",
8
- "adrTitle": "Feature Flag System Scope and Structured Criteria Model",
9
- "status": "Accepted",
10
- "date": "2026-06-07",
11
- "rules": [
12
- {
13
- "id": "NODE-0048-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0048: Feature Flag System Scope and Structured Criteria Model",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0048 (nodejs track). ADR decision: FeatureFlag must be an Aggregate Root in the Configuration bounded context. This ADR contains enforceable language (must not, must, required, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: FeatureFlag must be an Aggregate Root in the Configuration bounded context.",
19
- "rationale": "Derived from ADR-0048 \"Decision\" section. Enforcement signals detected: must not, must, required, structure.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0048 via static analysis, lint rules, or pipeline gates covering: must not, must, required, structure. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/nodejs/0048-feature-flag-system-scope-criteria-model.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-nodejs-0074-monorepo-orchestration-with-nx.rules.json",
4
- "title": "ADR-0074 — Monorepo Orchestration with Nx Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0074 (nodejs 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": "Monorepo Orchestration with Nx",
9
- "status": "Approved",
10
- "date": "2026-06-12",
11
- "rules": [
12
- {
13
- "id": "NODE-0074-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0074: Monorepo Orchestration with Nx",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0074 (nodejs track). ADR decision: Adopt Nx as the monorepo orchestration tool for Node.js, combined with npm workspaces for native package resolution. nx.json defines build, test, and lint dependency graphs for intelligent caching and parallel execution. This ADR contains enforceable language (dependency, layer, lint, eslint, enforce, boundaries); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Adopt Nx as the monorepo orchestration tool for Node.js, combined with npm workspaces for native package resolution. nx.json defines build, test, and lint dependency graphs for intelligent caching and parallel execution.",
19
- "rationale": "Derived from ADR-0074 \"Decision\" section. Enforcement signals detected: dependency, layer, lint, eslint, enforce, boundaries.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0074 via static analysis, lint rules, or pipeline gates covering: dependency, layer, lint, eslint, enforce, boundaries. Concrete checks to be wired into the harness.",
21
- "blocking": true,
22
- "enforcement": "executable"
23
- }
24
- ],
25
- "references": [
26
- "reference/architecture/adrs/nodejs/0074-monorepo-orchestration-nx.md"
27
- ],
28
- "effectiveDate": "2026-06-12"
29
- }