@evolith/core-domain 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (501) hide show
  1. package/dist/domain/services/default-workflow-definition.js +4 -1
  2. package/dist/domain/services/default-workflow-definition.js.map +1 -1
  3. package/dist/gates/decision/gate-decision.js.map +1 -1
  4. package/package.json +1 -2
  5. package/rulesets/README.es.md +0 -170
  6. package/rulesets/README.md +0 -170
  7. package/rulesets/acl/README.es.md +0 -41
  8. package/rulesets/acl/README.md +0 -41
  9. package/rulesets/acl/anti-corruption-layer.rules.es.json +0 -99
  10. package/rulesets/acl/anti-corruption-layer.rules.json +0 -99
  11. package/rulesets/adr/ADR_COVERAGE.es.md +0 -133
  12. package/rulesets/adr/ADR_COVERAGE.md +0 -133
  13. package/rulesets/adr/README.es.md +0 -17
  14. package/rulesets/adr/README.md +0 -17
  15. package/rulesets/adr/adr-0002-hexagonal-architecture.rules.json +0 -103
  16. package/rulesets/adr/adr-0005-cicd-quality-gates.rules.json +0 -102
  17. package/rulesets/adr/adr-0010-multi-tenancy.rules.json +0 -129
  18. package/rulesets/adr/adr-0018-testing-pyramid.rules.json +0 -115
  19. package/rulesets/adr/adr-0032-protocol-selection.rules.json +0 -134
  20. package/rulesets/adr/adr-0040-multi-runtime.rules.json +0 -131
  21. package/rulesets/adr/adr-0050-gitflow-branching.rules.json +0 -176
  22. package/rulesets/adr/generated/adr-0001-monorepo-orchestration-principle.rules.json +0 -29
  23. package/rulesets/adr/generated/adr-0006-microservices-transition-via-sidecar-pattern.rules.json +0 -29
  24. package/rulesets/adr/generated/adr-0009-strict-dependency-pinning-and-automated-vulnerability-manage.rules.json +0 -29
  25. package/rulesets/adr/generated/adr-0011-fault-tolerance-and-resiliency-patterns.rules.json +0 -29
  26. package/rulesets/adr/generated/adr-0013-cloud-infrastructure-topology-and-disaster-recovery-dr.rules.json +0 -28
  27. package/rulesets/adr/generated/adr-0014-multi-layer-distributed-caching-strategy.rules.json +0 -29
  28. package/rulesets/adr/generated/adr-0015-event-driven-architecture-eda-for-intra-domain-communication.rules.json +0 -29
  29. package/rulesets/adr/generated/adr-0016-immutable-business-audit-trail-and-change-tracking.rules.json +0 -29
  30. package/rulesets/adr/generated/adr-0017-feature-flagging-strategy-for-progressive-delivery.rules.json +0 -28
  31. package/rulesets/adr/generated/adr-0019-tactical-design-patterns-for-future-proofing.rules.json +0 -29
  32. package/rulesets/adr/generated/adr-0020-identity-provider-abstraction-strategy.rules.json +0 -28
  33. package/rulesets/adr/generated/adr-0024-centralized-configuration-feature-platform.rules.json +0 -28
  34. package/rulesets/adr/generated/adr-0025-feature-flag-provider-abstraction-strategy.rules.json +0 -29
  35. package/rulesets/adr/generated/adr-0028-self-hosted-open-source-hybrid-infrastructure.rules.json +0 -29
  36. package/rulesets/adr/generated/adr-0030-two-tier-distributed-gateway-model.rules.json +0 -28
  37. package/rulesets/adr/generated/adr-0031-schema-per-bounded-context-and-domain-event-catalog.rules.json +0 -29
  38. package/rulesets/adr/generated/adr-0033-transactional-outbox-pattern-for-async-messaging.rules.json +0 -28
  39. package/rulesets/adr/generated/adr-0034-cqrs-pattern-application-matrix.rules.json +0 -29
  40. package/rulesets/adr/generated/adr-0035-distributed-saga-pattern-implementation-strategy.rules.json +0 -29
  41. package/rulesets/adr/generated/adr-0036-message-bus-delivery-flow-control-strategy.rules.json +0 -29
  42. package/rulesets/adr/generated/adr-0037-enterprise-performance-concurrency-chaos-verification-strate.rules.json +0 -28
  43. package/rulesets/adr/generated/adr-0039-deployment-topology-abstraction-environment-switcher.rules.json +0 -29
  44. package/rulesets/adr/generated/adr-0041-dual-engine-policy-evaluation-native-opa.rules.json +0 -28
  45. package/rulesets/adr/generated/adr-0044-configurable-security-persistence-strategy-agnosticism-vs-na.rules.json +0 -29
  46. package/rulesets/adr/generated/adr-0045-microservice-extraction-readiness-criteria.rules.json +0 -29
  47. package/rulesets/adr/generated/adr-0046-unified-traceability-via-w3c-tracecontext.rules.json +0 -29
  48. package/rulesets/adr/generated/adr-0047-progressive-architecture-evolution-framework-modular-monolit.rules.json +0 -29
  49. package/rulesets/adr/generated/adr-0048-enterprise-taxonomy-standardization-and-reference-layout.rules.json +0 -28
  50. package/rulesets/adr/generated/adr-0049-naming-semantics-clean-code-policy-e2e-and-global.rules.json +0 -29
  51. package/rulesets/adr/generated/adr-0051-enterprise-database-engine-selection-strategy.rules.json +0 -29
  52. package/rulesets/adr/generated/adr-0052-unit-testing-isolation-strategy-mocks-vs-stubs.rules.json +0 -29
  53. package/rulesets/adr/generated/adr-0053-integration-and-e2e-testing-strategy.rules.json +0 -29
  54. package/rulesets/adr/generated/adr-0054-database-design-and-normalization-standards.rules.json +0 -29
  55. package/rulesets/adr/generated/adr-0055-microfrontends-architecture-strategy.rules.json +0 -28
  56. package/rulesets/adr/generated/adr-0056-enterprise-naming-design-conventions-multi-language-multi-pl.rules.json +0 -29
  57. package/rulesets/adr/generated/adr-0057-architecture-intelligence-catalog.rules.json +0 -27
  58. package/rulesets/adr/generated/adr-0058-ai-consumable-architecture-knowledge.rules.json +0 -27
  59. package/rulesets/adr/generated/adr-0067-modular-monolith-persistence-boundaries.rules.json +0 -28
  60. package/rulesets/adr/generated/adr-0068-documentation-release-gitflow.rules.json +0 -29
  61. package/rulesets/adr/generated/adr-0069-ai-agent-context-protocol-integration.rules.json +0 -28
  62. package/rulesets/adr/generated/adr-0070-lean-root-repository-taxonomy.rules.json +0 -29
  63. package/rulesets/adr/generated/adr-0071-domain-layer-base-class-and-inheritance-strategy.rules.json +0 -29
  64. package/rulesets/adr/generated/adr-0072-utc-date-storage-browser-timezone-detection-and-language-res.rules.json +0 -29
  65. package/rulesets/adr/generated/adr-0073-unified-cli-mcp-output-contract-and-gate-evidence-schema.rules.json +0 -29
  66. package/rulesets/adr/generated/adr-0074-evolith-core-api-native-exposure-layer.rules.json +0 -29
  67. package/rulesets/adr/generated/adr-0075-core-api-authentication-strategy.rules.json +0 -28
  68. package/rulesets/adr/generated/adr-0076-domain-oriented-microservice-architecture-doma.rules.json +0 -28
  69. package/rulesets/adr/generated/adr-0077-masstransit-v9-commercial-pivot-stay-on-v8-monitor-opentrans.rules.json +0 -28
  70. package/rulesets/adr/generated/adr-0078-domain-financial-separation-governance.rules.json +0 -29
  71. package/rulesets/adr/generated/adr-0079-multi-topology-reference-corpus-and-topology-manifest-contra.rules.json +0 -29
  72. package/rulesets/adr/generated/adr-0080-remote-repository-reference-contract.rules.json +0 -29
  73. package/rulesets/adr/generated/adr-0081-agentic-ai-sandbox-isolation-boundary.rules.json +0 -29
  74. package/rulesets/adr/generated/adr-0082-agentic-ai-prompt-context-and-tool-trust-boundary.rules.json +0 -28
  75. package/rulesets/adr/generated/adr-0083-agentic-ai-action-authorization-and-audit.rules.json +0 -29
  76. package/rulesets/adr/generated/adr-0084-data-mesh-and-data-as-a-product.rules.json +0 -29
  77. package/rulesets/adr/generated/adr-0085-agnostic-opa-wasm-distribution-architecture.rules.json +0 -28
  78. package/rulesets/adr/generated/adr-0086-agentic-ai-telemetry-cost-control-standard.rules.json +0 -27
  79. package/rulesets/adr/generated/adr-0087-attribute-based-access-control-abac-for-agentic-tool-executi.rules.json +0 -29
  80. package/rulesets/adr/generated/adr-0088-sovereign-identity-for-agentic-ai.rules.json +0 -29
  81. package/rulesets/adr/generated/adr-0089-event-driven-agentic-workflow-pattern.rules.json +0 -28
  82. package/rulesets/adr/generated/adr-0090-rag-knowledge-governance-standard.rules.json +0 -29
  83. package/rulesets/adr/generated/adr-0091-workload-identity-token-rotation-standard.rules.json +0 -29
  84. package/rulesets/adr/generated/adr-0092-agent-infinite-loop-prevention-and-circuit-breaker-rules.rules.json +0 -29
  85. package/rulesets/adr/generated/adr-0093-concurrency-control-and-resource-locking-standard-for-mcp-to.rules.json +0 -29
  86. package/rulesets/adr/generated/adr-0094-multi-agent-handoff-and-task-delegation-standards.rules.json +0 -29
  87. package/rulesets/adr/generated/adr-0095-serverless-architecture-governance.rules.json +0 -29
  88. package/rulesets/adr/generated/adr-0096-edge-computing-architecture-governance.rules.json +0 -29
  89. package/rulesets/adr/generated/adr-0097-knowledge-lifecycle-governance-standard.rules.json +0 -29
  90. package/rulesets/adr/generated/adr-0098-rest-uri-versioning-and-deprecation-policy.rules.json +0 -29
  91. package/rulesets/adr/generated/adr-0099-opa-bundle-distribution-via-s3-minio.rules.json +0 -27
  92. package/rulesets/adr/generated/adr-ai-augmented-0001-harness-engineering-for-ai-augmented-development.rules.json +0 -29
  93. package/rulesets/adr/generated/adr-ai-augmented-0002-mcp-integration-protocol-for-agent-tool-invocation.rules.json +0 -29
  94. package/rulesets/adr/generated/adr-ai-augmented-0003-model-selection-governance-for-ai-augmented-workflows.rules.json +0 -29
  95. package/rulesets/adr/generated/adr-ai-augmented-0004-agents-md-as-mandatory-repository-artifact.rules.json +0 -29
  96. package/rulesets/adr/generated/adr-ai-augmented-0005-human-in-the-loop-policy-for-autonomous-agent-operations.rules.json +0 -29
  97. package/rulesets/adr/generated/adr-android-0042-canonical-android-native-mobile-architecture.rules.json +0 -29
  98. package/rulesets/adr/generated/adr-dotnet-0041-canonical-net-c-backend-architecture.rules.json +0 -29
  99. package/rulesets/adr/generated/adr-dotnet-0060-net-multi-tenancy-dual-layer-strategy-ef-core-sql-server.rules.json +0 -29
  100. package/rulesets/adr/generated/adr-dotnet-0061-transactional-event-lifecycle-in-ef-core.rules.json +0 -28
  101. package/rulesets/adr/generated/adr-dotnet-0062-net-immutable-audit-trail-via-ddl-triggers-delta-capture.rules.json +0 -29
  102. package/rulesets/adr/generated/adr-dotnet-0063-b2b-request-idempotency-middleware-in-asp-net-core.rules.json +0 -28
  103. package/rulesets/adr/generated/adr-dotnet-0064-net-request-scope-observability-context-propagation.rules.json +0 -29
  104. package/rulesets/adr/generated/adr-dotnet-0065-net-pii-safe-structured-logging-pipeline-serilog.rules.json +0 -29
  105. package/rulesets/adr/generated/adr-dotnet-0066-net-lightweight-http-idempotency-via-imemorycache-idistribut.rules.json +0 -28
  106. package/rulesets/adr/generated/adr-dotnet-0069-net-grpc-service-setup-protobuf-contracts.rules.json +0 -29
  107. package/rulesets/adr/generated/adr-dotnet-0070-net-api-endpoint-strategy.rules.json +0 -29
  108. package/rulesets/adr/generated/adr-dotnet-0071-net-data-access-strategy-ef-core-as-default-orm-dapper-for-o.rules.json +0 -27
  109. package/rulesets/adr/generated/adr-dotnet-0072-net-aop-cross-cutting-concern-strategy-dispatchproxy-over-pi.rules.json +0 -29
  110. package/rulesets/adr/generated/adr-nodejs-0003-strict-typescript-standards.rules.json +0 -29
  111. package/rulesets/adr/generated/adr-nodejs-0004-frontend-offline-resilience.rules.json +0 -28
  112. package/rulesets/adr/generated/adr-nodejs-0007-observability-with-opentelemetry-loki-and-jaeger.rules.json +0 -29
  113. package/rulesets/adr/generated/adr-nodejs-0008-progressive-multi-module-evolution-with-api-gateway-and-bff-.rules.json +0 -28
  114. package/rulesets/adr/generated/adr-nodejs-0012-advanced-authorization-rbac-abac-strategy.rules.json +0 -28
  115. package/rulesets/adr/generated/adr-nodejs-0021-high-performance-authentication-graph-compilation.rules.json +0 -28
  116. package/rulesets/adr/generated/adr-nodejs-0022-contextual-authentication-and-pluggable-output-projections.rules.json +0 -28
  117. package/rulesets/adr/generated/adr-nodejs-0023-centralized-authorization-core-strategy.rules.json +0 -28
  118. package/rulesets/adr/generated/adr-nodejs-0026-adaptive-mfa-and-passwordless-platform.rules.json +0 -28
  119. package/rulesets/adr/generated/adr-nodejs-0027-dual-protocol-api-strategy-rest-grpc.rules.json +0 -28
  120. package/rulesets/adr/generated/adr-nodejs-0029-adoption-of-tactical-ddd-primitives-library.rules.json +0 -29
  121. package/rulesets/adr/generated/adr-nodejs-0038-enterprise-error-handling-result-pattern-strategy.rules.json +0 -29
  122. package/rulesets/adr/generated/adr-nodejs-0043-data-access-and-orm-strategy-for-node-js.rules.json +0 -29
  123. package/rulesets/adr/generated/adr-nodejs-0044-frontend-clean-architecture-layer-boundaries-react.rules.json +0 -29
  124. package/rulesets/adr/generated/adr-nodejs-0045-frontend-state-management-zustand-tanstack-query-dual-strate.rules.json +0 -29
  125. package/rulesets/adr/generated/adr-nodejs-0046-prohibition-of-raw-technical-identifiers-in-user-interfaces.rules.json +0 -29
  126. package/rulesets/adr/generated/adr-nodejs-0047-actionable-user-error-contract-and-correlated-diagnostics.rules.json +0 -29
  127. package/rulesets/adr/generated/adr-nodejs-0048-feature-flag-system-scope-and-structured-criteria-model.rules.json +0 -29
  128. package/rulesets/adr/generated/adr-nodejs-0074-monorepo-orchestration-with-nx.rules.json +0 -29
  129. package/rulesets/adr/generated/adr-nodejs-0075-application-gateway-bff-with-nestjs.rules.json +0 -29
  130. package/rulesets/architecture/README.es.md +0 -21
  131. package/rulesets/architecture/README.md +0 -21
  132. package/rulesets/architecture/opa/progressive-axis.rego +0 -50
  133. package/rulesets/cli/README.es.md +0 -17
  134. package/rulesets/cli/README.md +0 -17
  135. package/rulesets/cli/core-parity.rules.json +0 -61
  136. package/rulesets/cli/release-readiness.rules.json +0 -77
  137. package/rulesets/compliance-baseline/README.es.md +0 -26
  138. package/rulesets/compliance-baseline/README.md +0 -26
  139. package/rulesets/compliance-baseline/compliance-baseline.rules.json +0 -81
  140. package/rulesets/contracts/README.es.md +0 -19
  141. package/rulesets/contracts/README.md +0 -19
  142. package/rulesets/contracts/evolith-machine-contracts.json +0 -29
  143. package/rulesets/contracts/fixtures/gate-evidence.success.json +0 -10
  144. package/rulesets/contracts/fixtures/output-envelope.success.json +0 -23
  145. package/rulesets/cross-cutting/README.es.md +0 -14
  146. package/rulesets/cross-cutting/README.md +0 -14
  147. package/rulesets/cross-cutting/compliance-baseline.rules.json +0 -81
  148. package/rulesets/cross-cutting/definition-of-done.rules.json +0 -135
  149. package/rulesets/cross-cutting/engineering-manifesto.rules.json +0 -145
  150. package/rulesets/cross-cutting/repository-taxonomy.rules.json +0 -172
  151. package/rulesets/definition-of-done/README.es.md +0 -26
  152. package/rulesets/definition-of-done/README.md +0 -26
  153. package/rulesets/definition-of-done/definition-of-done.rules.json +0 -135
  154. package/rulesets/engineering-manifesto/README.es.md +0 -26
  155. package/rulesets/engineering-manifesto/README.md +0 -26
  156. package/rulesets/engineering-manifesto/engineering-manifesto.rules.json +0 -145
  157. package/rulesets/evidence/README.es.md +0 -12
  158. package/rulesets/evidence/README.md +0 -12
  159. package/rulesets/evidence/evidence-manifest.rules.json +0 -48
  160. package/rulesets/executive-scorecards/executive-scorecards.rules.es.json +0 -213
  161. package/rulesets/executive-scorecards/executive-scorecards.rules.json +0 -213
  162. package/rulesets/governance/README.es.md +0 -13
  163. package/rulesets/governance/README.md +0 -13
  164. package/rulesets/governance/abac-mcp-access.rules.es.json +0 -41
  165. package/rulesets/governance/abac-mcp-access.rules.json +0 -41
  166. package/rulesets/governance/executive-scorecards.rules.es.json +0 -213
  167. package/rulesets/governance/executive-scorecards.rules.json +0 -213
  168. package/rulesets/governance/inheritance.rules.json +0 -115
  169. package/rulesets/governance/knowledge-intake.rules.json +0 -18
  170. package/rulesets/governance/open-core-boundary.rules.es.json +0 -148
  171. package/rulesets/governance/open-core-boundary.rules.json +0 -148
  172. package/rulesets/governance/satellite-contracts.rules.json +0 -183
  173. package/rulesets/infrastructure/helm-enforcement.rules.json +0 -21
  174. package/rulesets/infrastructure/opa/helm-enforcement.rego +0 -25
  175. package/rulesets/infrastructure/opa/helm-enforcement.test.rego +0 -31
  176. package/rulesets/infrastructure/opa/opa-sidecar-bundle.rego +0 -115
  177. package/rulesets/infrastructure/opa/opa-sidecar-bundle.test.rego +0 -66
  178. package/rulesets/infrastructure/opa-sidecar-bundle.rules.json +0 -18
  179. package/rulesets/mcp/README.es.md +0 -12
  180. package/rulesets/mcp/README.md +0 -12
  181. package/rulesets/mcp/protocol-compliance.rules.json +0 -57
  182. package/rulesets/observability/README.es.md +0 -12
  183. package/rulesets/observability/README.md +0 -12
  184. package/rulesets/observability/telemetry-evidence.rules.json +0 -48
  185. package/rulesets/opa/README.es.md +0 -22
  186. package/rulesets/opa/README.md +0 -22
  187. package/rulesets/opa/abac-mcp-tool-access.rego +0 -122
  188. package/rulesets/opa/abac-mcp-tool-access.test.rego +0 -33
  189. package/rulesets/opa/anti-corruption-layer.rego +0 -39
  190. package/rulesets/opa/anti-corruption-layer.test.rego +0 -118
  191. package/rulesets/opa/ci-cd.rego +0 -41
  192. package/rulesets/opa/ci-cd.test.rego +0 -23
  193. package/rulesets/opa/cicd-quality-gates.rego +0 -29
  194. package/rulesets/opa/cicd-quality-gates.test.rego +0 -54
  195. package/rulesets/opa/cli-core-parity.rego +0 -17
  196. package/rulesets/opa/cli-core-parity.test.rego +0 -39
  197. package/rulesets/opa/cli-readiness.rego +0 -32
  198. package/rulesets/opa/cli-readiness.test.rego +0 -23
  199. package/rulesets/opa/cli-release-readiness.rego +0 -21
  200. package/rulesets/opa/cli-release-readiness.test.rego +0 -46
  201. package/rulesets/opa/compliance-baseline.rego +0 -95
  202. package/rulesets/opa/compliance-baseline.test.rego +0 -89
  203. package/rulesets/opa/dod.rego +0 -42
  204. package/rulesets/opa/dod.test.rego +0 -250
  205. package/rulesets/opa/engineering-manifesto.rego +0 -78
  206. package/rulesets/opa/engineering-manifesto.test.rego +0 -133
  207. package/rulesets/opa/evidence.rego +0 -64
  208. package/rulesets/opa/evidence.test.rego +0 -23
  209. package/rulesets/opa/executive-scorecards.rego +0 -41
  210. package/rulesets/opa/executive-scorecards.test.rego +0 -60
  211. package/rulesets/opa/gitflow-branching.rego +0 -41
  212. package/rulesets/opa/gitflow-branching.test.rego +0 -60
  213. package/rulesets/opa/governance.rego +0 -39
  214. package/rulesets/opa/governance.test.rego +0 -23
  215. package/rulesets/opa/hexagonal-architecture.rego +0 -33
  216. package/rulesets/opa/hexagonal-architecture.test.rego +0 -57
  217. package/rulesets/opa/infrastructure/helm-enforcement.rego +0 -33
  218. package/rulesets/opa/infrastructure/opa-sidecar-bundle.rego +0 -42
  219. package/rulesets/opa/knowledge-intake.rego +0 -98
  220. package/rulesets/opa/knowledge-intake.test.rego +0 -50
  221. package/rulesets/opa/main.rego +0 -147
  222. package/rulesets/opa/main_test.rego +0 -149
  223. package/rulesets/opa/mcp.rego +0 -61
  224. package/rulesets/opa/mcp.test.rego +0 -27
  225. package/rulesets/opa/multi-runtime.rego +0 -33
  226. package/rulesets/opa/multi-runtime.test.rego +0 -53
  227. package/rulesets/opa/multi-tenancy.rego +0 -33
  228. package/rulesets/opa/multi-tenancy.test.rego +0 -53
  229. package/rulesets/opa/open-core-boundary.rego +0 -33
  230. package/rulesets/opa/open-core-boundary.test.rego +0 -60
  231. package/rulesets/opa/protocol-selection.rego +0 -29
  232. package/rulesets/opa/protocol-selection.test.rego +0 -46
  233. package/rulesets/opa/rbac/gate-role-enforcement.rego +0 -112
  234. package/rulesets/opa/repository-taxonomy.rego +0 -98
  235. package/rulesets/opa/repository-taxonomy.test.rego +0 -91
  236. package/rulesets/opa/satellite-contracts.rego +0 -42
  237. package/rulesets/opa/satellite-contracts.test.rego +0 -70
  238. package/rulesets/opa/schemas/abac-mcp-tool-access.input.schema.json +0 -21
  239. package/rulesets/opa/schemas/anti-corruption-layer.input.schema.json +0 -25
  240. package/rulesets/opa/schemas/ci-cd.input.schema.json +0 -27
  241. package/rulesets/opa/schemas/cicd-quality-gates.input.schema.json +0 -33
  242. package/rulesets/opa/schemas/cli-core-parity.input.schema.json +0 -30
  243. package/rulesets/opa/schemas/cli-readiness.input.schema.json +0 -28
  244. package/rulesets/opa/schemas/cli-release-readiness.input.schema.json +0 -26
  245. package/rulesets/opa/schemas/compliance-baseline.input.schema.json +0 -25
  246. package/rulesets/opa/schemas/dod.input.schema.json +0 -38
  247. package/rulesets/opa/schemas/engineering-manifesto.input.schema.json +0 -24
  248. package/rulesets/opa/schemas/evidence.input.schema.json +0 -35
  249. package/rulesets/opa/schemas/executive-scorecards.input.schema.json +0 -36
  250. package/rulesets/opa/schemas/gitflow-branching.input.schema.json +0 -36
  251. package/rulesets/opa/schemas/governance.input.schema.json +0 -19
  252. package/rulesets/opa/schemas/hexagonal-architecture.input.schema.json +0 -46
  253. package/rulesets/opa/schemas/knowledge-intake.input.schema.json +0 -57
  254. package/rulesets/opa/schemas/mcp.input.schema.json +0 -38
  255. package/rulesets/opa/schemas/multi-runtime.input.schema.json +0 -27
  256. package/rulesets/opa/schemas/multi-tenancy.input.schema.json +0 -27
  257. package/rulesets/opa/schemas/open-core-boundary.input.schema.json +0 -36
  258. package/rulesets/opa/schemas/protocol-selection.input.schema.json +0 -26
  259. package/rulesets/opa/schemas/repository-taxonomy.input.schema.json +0 -18
  260. package/rulesets/opa/schemas/satellite-contracts.input.schema.json +0 -38
  261. package/rulesets/opa/schemas/taxonomy.input.schema.json +0 -27
  262. package/rulesets/opa/schemas/testing-pyramid.input.schema.json +0 -42
  263. package/rulesets/opa/schemas/version-pinning.input.schema.json +0 -39
  264. package/rulesets/opa/sdlc/coverage.rego +0 -49
  265. package/rulesets/opa/sdlc/coverage.test.rego +0 -29
  266. package/rulesets/opa/sdlc/pyramid-distribution.rego +0 -31
  267. package/rulesets/opa/sdlc/pyramid-distribution.test.rego +0 -33
  268. package/rulesets/opa/taxonomy.rego +0 -51
  269. package/rulesets/opa/taxonomy.test.rego +0 -28
  270. package/rulesets/opa/telemetry-evidence.rego +0 -102
  271. package/rulesets/opa/testing-pyramid.rego +0 -49
  272. package/rulesets/opa/testing-pyramid.test.rego +0 -81
  273. package/rulesets/opa/version-pinning.rego +0 -99
  274. package/rulesets/opa/version-pinning.test.rego +0 -28
  275. package/rulesets/phase-gates/README.es.md +0 -28
  276. package/rulesets/phase-gates/README.md +0 -28
  277. package/rulesets/phase-gates/phase-gates.rules.json +0 -297
  278. package/rulesets/quality-thresholds/README.es.md +0 -28
  279. package/rulesets/quality-thresholds/README.md +0 -28
  280. package/rulesets/quality-thresholds/quality-thresholds.rules.json +0 -96
  281. package/rulesets/repository-taxonomy/README.es.md +0 -26
  282. package/rulesets/repository-taxonomy/README.md +0 -26
  283. package/rulesets/repository-taxonomy/repository-taxonomy.rules.json +0 -172
  284. package/rulesets/satellite-contracts/README.es.md +0 -27
  285. package/rulesets/satellite-contracts/README.md +0 -27
  286. package/rulesets/satellite-contracts/satellite-contracts.rules.json +0 -183
  287. package/rulesets/schema/README.es.md +0 -39
  288. package/rulesets/schema/README.md +0 -39
  289. package/rulesets/schema/adr.schema.json +0 -138
  290. package/rulesets/schema/agile-backlog.schema.json +0 -91
  291. package/rulesets/schema/ballpark-estimation.schema.json +0 -109
  292. package/rulesets/schema/build-vs-compose.schema.json +0 -98
  293. package/rulesets/schema/cli-impact-analysis.schema.json +0 -114
  294. package/rulesets/schema/discovery-canvas.schema.json +0 -92
  295. package/rulesets/schema/evolith-user-story.schema.json +0 -105
  296. package/rulesets/schema/evolith-yaml.schema.json +0 -191
  297. package/rulesets/schema/functional-story.schema.json +0 -111
  298. package/rulesets/schema/gate-evidence.schema.json +0 -85
  299. package/rulesets/schema/integration-evidence.schema.json +0 -47
  300. package/rulesets/schema/knowledge-intake.schema.json +0 -67
  301. package/rulesets/schema/knowledge-projection.schema.json +0 -24
  302. package/rulesets/schema/maturity-evidence.schema.json +0 -59
  303. package/rulesets/schema/observability-validation.schema.json +0 -85
  304. package/rulesets/schema/on-call-handoff.schema.json +0 -91
  305. package/rulesets/schema/output-envelope.schema.json +0 -102
  306. package/rulesets/schema/prd.schema.json +0 -117
  307. package/rulesets/schema/release-notes.schema.json +0 -138
  308. package/rulesets/schema/rollback-rehearsal.schema.json +0 -73
  309. package/rulesets/schema/ruleset-sdlc.schema.json +0 -59
  310. package/rulesets/schema/ruleset-standard.schema.json +0 -73
  311. package/rulesets/schema/security-scan-report.schema.json +0 -79
  312. package/rulesets/schema/source-registry.schema.json +0 -51
  313. package/rulesets/schema/technical-feasibility.schema.json +0 -66
  314. package/rulesets/schema/technical-story.schema.json +0 -112
  315. package/rulesets/schema/test-summary-report.schema.json +0 -158
  316. package/rulesets/schema/topology-composition.schema.json +0 -43
  317. package/rulesets/schema/topology-manifest.schema.json +0 -421
  318. package/rulesets/sdlc/README.es.md +0 -12
  319. package/rulesets/sdlc/README.md +0 -12
  320. package/rulesets/sdlc/default-workflow.yaml +0 -73
  321. package/rulesets/sdlc/dependency-pinning.rules.json +0 -183
  322. package/rulesets/sdlc/phase-gates.rules.json +0 -297
  323. package/rulesets/sdlc/quality-thresholds.rules.json +0 -96
  324. package/rulesets/topologies/README.es.md +0 -42
  325. package/rulesets/topologies/README.md +0 -42
  326. package/rulesets/topologies/agentic-ai/README.es.md +0 -142
  327. package/rulesets/topologies/agentic-ai/README.md +0 -142
  328. package/rulesets/topologies/agentic-ai/adoption.es.md +0 -37
  329. package/rulesets/topologies/agentic-ai/adoption.md +0 -37
  330. package/rulesets/topologies/agentic-ai/agent.config.schema.json +0 -100
  331. package/rulesets/topologies/agentic-ai/agentic-ai.rego +0 -46
  332. package/rulesets/topologies/agentic-ai/agentic-ai.rules.json +0 -109
  333. package/rulesets/topologies/agentic-ai/agentic-ai.test.rego +0 -68
  334. package/rulesets/topologies/agentic-ai/agentic-ai.wasm +0 -0
  335. package/rulesets/topologies/agentic-ai/cli/cli-flows.es.md +0 -35
  336. package/rulesets/topologies/agentic-ai/cli/cli-flows.md +0 -45
  337. package/rulesets/topologies/agentic-ai/evidence.es.md +0 -25
  338. package/rulesets/topologies/agentic-ai/evidence.md +0 -25
  339. package/rulesets/topologies/agentic-ai/evolution.es.md +0 -26
  340. package/rulesets/topologies/agentic-ai/evolution.md +0 -26
  341. package/rulesets/topologies/agentic-ai/fixtures/invalid-agent.config.json +0 -48
  342. package/rulesets/topologies/agentic-ai/fixtures/valid-agent.config.json +0 -48
  343. package/rulesets/topologies/agentic-ai/maturity.es.md +0 -33
  344. package/rulesets/topologies/agentic-ai/maturity.md +0 -33
  345. package/rulesets/topologies/agentic-ai/mcp/mcp-manifest.json +0 -100
  346. package/rulesets/topologies/agentic-ai/openapi/openapi.yaml +0 -187
  347. package/rulesets/topologies/agentic-ai/operations.es.md +0 -32
  348. package/rulesets/topologies/agentic-ai/operations.md +0 -32
  349. package/rulesets/topologies/agentic-ai/parity-fixtures/compliant.json +0 -18
  350. package/rulesets/topologies/agentic-ai/parity-fixtures/violation.json +0 -22
  351. package/rulesets/topologies/agentic-ai/patterns.es.md +0 -32
  352. package/rulesets/topologies/agentic-ai/patterns.md +0 -32
  353. package/rulesets/topologies/agentic-ai/resilience.es.md +0 -26
  354. package/rulesets/topologies/agentic-ai/resilience.md +0 -26
  355. package/rulesets/topologies/agentic-ai/runbooks.es.md +0 -48
  356. package/rulesets/topologies/agentic-ai/runbooks.md +0 -48
  357. package/rulesets/topologies/agentic-ai/security.es.md +0 -26
  358. package/rulesets/topologies/agentic-ai/security.md +0 -26
  359. package/rulesets/topologies/agentic-ai/topology.manifest.json +0 -127
  360. package/rulesets/topologies/data-mesh/README.es.md +0 -69
  361. package/rulesets/topologies/data-mesh/README.md +0 -69
  362. package/rulesets/topologies/data-mesh/adoption.es.md +0 -95
  363. package/rulesets/topologies/data-mesh/adoption.md +0 -95
  364. package/rulesets/topologies/data-mesh/cli/cli-flows.es.md +0 -41
  365. package/rulesets/topologies/data-mesh/cli/cli-flows.md +0 -53
  366. package/rulesets/topologies/data-mesh/data-mesh.rego +0 -11
  367. package/rulesets/topologies/data-mesh/data-mesh.rules.json +0 -100
  368. package/rulesets/topologies/data-mesh/data-mesh.test.rego +0 -107
  369. package/rulesets/topologies/data-mesh/data-mesh.wasm +0 -0
  370. package/rulesets/topologies/data-mesh/evidence.es.md +0 -111
  371. package/rulesets/topologies/data-mesh/evidence.md +0 -111
  372. package/rulesets/topologies/data-mesh/evolution.es.md +0 -67
  373. package/rulesets/topologies/data-mesh/evolution.md +0 -67
  374. package/rulesets/topologies/data-mesh/fixtures/invalid.topology.config.json +0 -12
  375. package/rulesets/topologies/data-mesh/fixtures/valid.topology.config.json +0 -12
  376. package/rulesets/topologies/data-mesh/maturity.es.md +0 -36
  377. package/rulesets/topologies/data-mesh/maturity.md +0 -36
  378. package/rulesets/topologies/data-mesh/mcp/mcp-manifest.json +0 -68
  379. package/rulesets/topologies/data-mesh/openapi/openapi.yaml +0 -186
  380. package/rulesets/topologies/data-mesh/operations.es.md +0 -63
  381. package/rulesets/topologies/data-mesh/operations.md +0 -63
  382. package/rulesets/topologies/data-mesh/parity-fixtures/compliant.json +0 -18
  383. package/rulesets/topologies/data-mesh/parity-fixtures/violation.json +0 -21
  384. package/rulesets/topologies/data-mesh/patterns.es.md +0 -67
  385. package/rulesets/topologies/data-mesh/patterns.md +0 -67
  386. package/rulesets/topologies/data-mesh/resilience.es.md +0 -64
  387. package/rulesets/topologies/data-mesh/resilience.md +0 -64
  388. package/rulesets/topologies/data-mesh/runbooks.es.md +0 -147
  389. package/rulesets/topologies/data-mesh/runbooks.md +0 -147
  390. package/rulesets/topologies/data-mesh/security.es.md +0 -66
  391. package/rulesets/topologies/data-mesh/security.md +0 -66
  392. package/rulesets/topologies/data-mesh/topology.config.schema.json +0 -30
  393. package/rulesets/topologies/data-mesh/topology.manifest.json +0 -107
  394. package/rulesets/topologies/edge-computing/README.es.md +0 -81
  395. package/rulesets/topologies/edge-computing/README.md +0 -81
  396. package/rulesets/topologies/edge-computing/adoption.es.md +0 -268
  397. package/rulesets/topologies/edge-computing/adoption.md +0 -268
  398. package/rulesets/topologies/edge-computing/cli/cli-flows.es.md +0 -41
  399. package/rulesets/topologies/edge-computing/cli/cli-flows.md +0 -53
  400. package/rulesets/topologies/edge-computing/edge-computing.rego +0 -41
  401. package/rulesets/topologies/edge-computing/edge-computing.rules.json +0 -50
  402. package/rulesets/topologies/edge-computing/edge-computing.test.rego +0 -33
  403. package/rulesets/topologies/edge-computing/edge-computing.wasm +0 -0
  404. package/rulesets/topologies/edge-computing/evidence.es.md +0 -263
  405. package/rulesets/topologies/edge-computing/evidence.md +0 -263
  406. package/rulesets/topologies/edge-computing/evolution.es.md +0 -257
  407. package/rulesets/topologies/edge-computing/evolution.md +0 -257
  408. package/rulesets/topologies/edge-computing/fixtures/invalid.topology.config.json +0 -6
  409. package/rulesets/topologies/edge-computing/fixtures/valid.topology.config.json +0 -6
  410. package/rulesets/topologies/edge-computing/maturity.es.md +0 -36
  411. package/rulesets/topologies/edge-computing/maturity.md +0 -36
  412. package/rulesets/topologies/edge-computing/mcp/mcp-manifest.json +0 -72
  413. package/rulesets/topologies/edge-computing/openapi/openapi.yaml +0 -187
  414. package/rulesets/topologies/edge-computing/operations.es.md +0 -148
  415. package/rulesets/topologies/edge-computing/operations.md +0 -148
  416. package/rulesets/topologies/edge-computing/parity-fixtures/compliant.json +0 -12
  417. package/rulesets/topologies/edge-computing/parity-fixtures/violation.json +0 -13
  418. package/rulesets/topologies/edge-computing/patterns.es.md +0 -291
  419. package/rulesets/topologies/edge-computing/patterns.md +0 -290
  420. package/rulesets/topologies/edge-computing/resilience.es.md +0 -232
  421. package/rulesets/topologies/edge-computing/resilience.md +0 -229
  422. package/rulesets/topologies/edge-computing/runbooks.es.md +0 -405
  423. package/rulesets/topologies/edge-computing/runbooks.md +0 -405
  424. package/rulesets/topologies/edge-computing/security.es.md +0 -218
  425. package/rulesets/topologies/edge-computing/security.md +0 -218
  426. package/rulesets/topologies/edge-computing/topology.config.schema.json +0 -13
  427. package/rulesets/topologies/edge-computing/topology.manifest.json +0 -113
  428. package/rulesets/topologies/event-driven/README.es.md +0 -71
  429. package/rulesets/topologies/event-driven/README.md +0 -71
  430. package/rulesets/topologies/event-driven/adoption.es.md +0 -67
  431. package/rulesets/topologies/event-driven/adoption.md +0 -67
  432. package/rulesets/topologies/event-driven/cli/cli-flows.es.md +0 -41
  433. package/rulesets/topologies/event-driven/cli/cli-flows.md +0 -53
  434. package/rulesets/topologies/event-driven/event-driven.rego +0 -11
  435. package/rulesets/topologies/event-driven/event-driven.rules.json +0 -100
  436. package/rulesets/topologies/event-driven/event-driven.test.rego +0 -107
  437. package/rulesets/topologies/event-driven/event-driven.wasm +0 -0
  438. package/rulesets/topologies/event-driven/evidence.es.md +0 -69
  439. package/rulesets/topologies/event-driven/evidence.md +0 -69
  440. package/rulesets/topologies/event-driven/evolution.es.md +0 -59
  441. package/rulesets/topologies/event-driven/evolution.md +0 -59
  442. package/rulesets/topologies/event-driven/fixtures/invalid.topology.config.json +0 -12
  443. package/rulesets/topologies/event-driven/fixtures/valid.topology.config.json +0 -12
  444. package/rulesets/topologies/event-driven/maturity.es.md +0 -36
  445. package/rulesets/topologies/event-driven/maturity.md +0 -36
  446. package/rulesets/topologies/event-driven/mcp/mcp-manifest.json +0 -68
  447. package/rulesets/topologies/event-driven/openapi/openapi.yaml +0 -186
  448. package/rulesets/topologies/event-driven/operations.es.md +0 -67
  449. package/rulesets/topologies/event-driven/operations.md +0 -67
  450. package/rulesets/topologies/event-driven/parity-fixtures/compliant.json +0 -18
  451. package/rulesets/topologies/event-driven/parity-fixtures/violation.json +0 -21
  452. package/rulesets/topologies/event-driven/patterns.es.md +0 -68
  453. package/rulesets/topologies/event-driven/patterns.md +0 -68
  454. package/rulesets/topologies/event-driven/resilience.es.md +0 -65
  455. package/rulesets/topologies/event-driven/resilience.md +0 -65
  456. package/rulesets/topologies/event-driven/runbooks.es.md +0 -79
  457. package/rulesets/topologies/event-driven/runbooks.md +0 -79
  458. package/rulesets/topologies/event-driven/security.es.md +0 -59
  459. package/rulesets/topologies/event-driven/security.md +0 -59
  460. package/rulesets/topologies/event-driven/topology.config.schema.json +0 -30
  461. package/rulesets/topologies/event-driven/topology.manifest.json +0 -109
  462. package/rulesets/topologies/progressive-axis/distributed-modules/distributed-modules.rules.es.json +0 -111
  463. package/rulesets/topologies/progressive-axis/distributed-modules/distributed-modules.rules.json +0 -111
  464. package/rulesets/topologies/progressive-axis/microservices/microservices.rules.es.json +0 -106
  465. package/rulesets/topologies/progressive-axis/microservices/microservices.rules.json +0 -106
  466. package/rulesets/topologies/progressive-axis/modular-monolith/modular-monolith.rules.es.json +0 -148
  467. package/rulesets/topologies/progressive-axis/modular-monolith/modular-monolith.rules.json +0 -148
  468. package/rulesets/topologies/serverless/README.es.md +0 -74
  469. package/rulesets/topologies/serverless/README.md +0 -74
  470. package/rulesets/topologies/serverless/adoption.es.md +0 -50
  471. package/rulesets/topologies/serverless/adoption.md +0 -50
  472. package/rulesets/topologies/serverless/cli/cli-flows.es.md +0 -41
  473. package/rulesets/topologies/serverless/cli/cli-flows.md +0 -53
  474. package/rulesets/topologies/serverless/evidence.es.md +0 -66
  475. package/rulesets/topologies/serverless/evidence.md +0 -66
  476. package/rulesets/topologies/serverless/evolution.es.md +0 -36
  477. package/rulesets/topologies/serverless/evolution.md +0 -36
  478. package/rulesets/topologies/serverless/fixtures/invalid.topology.config.json +0 -6
  479. package/rulesets/topologies/serverless/fixtures/valid.topology.config.json +0 -6
  480. package/rulesets/topologies/serverless/maturity.es.md +0 -36
  481. package/rulesets/topologies/serverless/maturity.md +0 -36
  482. package/rulesets/topologies/serverless/mcp/mcp-manifest.json +0 -72
  483. package/rulesets/topologies/serverless/openapi/openapi.yaml +0 -186
  484. package/rulesets/topologies/serverless/operations.es.md +0 -36
  485. package/rulesets/topologies/serverless/operations.md +0 -36
  486. package/rulesets/topologies/serverless/parity-fixtures/compliant.json +0 -13
  487. package/rulesets/topologies/serverless/parity-fixtures/violation.json +0 -15
  488. package/rulesets/topologies/serverless/patterns.es.md +0 -36
  489. package/rulesets/topologies/serverless/patterns.md +0 -36
  490. package/rulesets/topologies/serverless/resilience.es.md +0 -36
  491. package/rulesets/topologies/serverless/resilience.md +0 -36
  492. package/rulesets/topologies/serverless/runbooks.es.md +0 -68
  493. package/rulesets/topologies/serverless/runbooks.md +0 -68
  494. package/rulesets/topologies/serverless/security.es.md +0 -36
  495. package/rulesets/topologies/serverless/security.md +0 -36
  496. package/rulesets/topologies/serverless/serverless.rego +0 -32
  497. package/rulesets/topologies/serverless/serverless.rules.json +0 -33
  498. package/rulesets/topologies/serverless/serverless.test.rego +0 -28
  499. package/rulesets/topologies/serverless/serverless.wasm +0 -0
  500. package/rulesets/topologies/serverless/topology.config.schema.json +0 -28
  501. package/rulesets/topologies/serverless/topology.manifest.json +0 -114
@@ -1,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
- }
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "../../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0075-application-gateway-bff-with-nestjs.rules.json",
4
- "title": "ADR-0075 — Application Gateway (BFF) with NestJS Rules (generated)",
5
- "description": "Auto-generated ruleset encoding ADR-0075 (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-0075",
8
- "adrTitle": "Application Gateway (BFF) with NestJS",
9
- "status": "Approved",
10
- "date": "2026-06-12",
11
- "rules": [
12
- {
13
- "id": "NODE-0075-01",
14
- "severity": "MUST",
15
- "category": "adr-conformance",
16
- "title": "Conform to ADR-0075: Application Gateway (BFF) with NestJS",
17
- "description": "Implementations MUST conform to the decision recorded in ADR-0075 (nodejs track). ADR decision: Adopt NestJS as the Application Gateway (BFF) framework. NestJS provides a robust dependency injection container, native gRPC and REST support, and enforced modularity. It is safely deployed behind the Tier 1 Edge Gateway. This ADR contains enforceable language (dependency, enforce, enforced); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
18
- "statement": "ADR decision: Adopt NestJS as the Application Gateway (BFF) framework. NestJS provides a robust dependency injection container, native gRPC and REST support, and enforced modularity. It is safely deployed behind the Tier 1 Edge Gateway.",
19
- "rationale": "Derived from ADR-0075 \"Decision\" section. Enforcement signals detected: dependency, enforce, enforced.",
20
- "validationQuery": "Verify codebase/CI compliance with ADR-0075 via static analysis, lint rules, or pipeline gates covering: dependency, 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/0075-application-gateway-bff-nestjs.md"
27
- ],
28
- "effectiveDate": "2026-06-12"
29
- }
@@ -1,21 +0,0 @@
1
- # Índice de Reglas Arquitectónicas del Progressive-Axis
2
-
3
- Reglas que gobiernan el modelo de compatibilidad `progressive-axis` desde monolito modular hacia modulos distribuidos y microservicios.
4
-
5
- F1, F2 y F3 permanecen soportados como aliases de compatibilidad para CLI, MCP, Service CORE API y contratos de satelite existentes. No representan todo el universo topologico. Los perfiles multi-topologia fuera de este eje se resuelven mediante `topology.manifest.json` y el modelo dimensional en [Modelo de Dimensiones Topologicas](../../reference/architecture/topologies/topology-dimensions.es.md).
6
-
7
- | Fase | Archivo de Reglas | Descripción |
8
- |---|---|---|
9
- | **F1 — Monolito Modular** | [f1-modular-monolith.rules.json](../../reference/architecture/topologies/progressive-axis/modular-monolith/modular-monolith.rules.json) | Topología canónica de inicio; gates de preparación para extracción |
10
- | **F2 — Módulos Distribuidos** | [f2-distributed-modules.rules.json](../../reference/architecture/topologies/progressive-axis/distributed-modules/distributed-modules.rules.json) | Límites de módulos formalizados; contratos inter-módulo establecidos |
11
- | **F3 — Microservicios** | [f3-microservices.rules.json](../../reference/architecture/topologies/progressive-axis/microservices/microservices.rules.json) | Desplegabilidad autónoma; preparación para service mesh |
12
-
13
- | Alias de Compatibilidad | Topologia Canonica |
14
- |---|---|
15
- | `--arch-level F1` | `--topology modular-monolith` |
16
- | `--arch-level F2` | `--topology distributed-modules` |
17
- | `--arch-level F3` | `--topology microservices` |
18
-
19
- ---
20
-
21
- Volver al [Rulesets Hub](../README.es.md)
@@ -1,21 +0,0 @@
1
- # Progressive-Axis Architecture Rules Index
2
-
3
- Rules governing the `progressive-axis` compatibility model from modular monolith to distributed modules to microservices.
4
-
5
- F1, F2, and F3 remain supported compatibility aliases for existing CLI, MCP, Service CORE API, and satellite contracts. They are not the full topology universe. Multi-topology profiles outside this axis are resolved through `topology.manifest.json` and the dimensional model in [Topology Dimensions Model](../../reference/architecture/topologies/topology-dimensions.md).
6
-
7
- | Phase | Rule File | Description |
8
- |---|---|---|
9
- | **F1 — Modular Monolith** | [f1-modular-monolith.rules.json](../../reference/architecture/topologies/progressive-axis/modular-monolith/modular-monolith.rules.json) | Canonical starting topology; extraction readiness gates |
10
- | **F2 — Distributed Modules** | [f2-distributed-modules.rules.json](../../reference/architecture/topologies/progressive-axis/distributed-modules/distributed-modules.rules.json) | Module boundaries formalized; inter-module contracts established |
11
- | **F3 — Microservices** | [f3-microservices.rules.json](../../reference/architecture/topologies/progressive-axis/microservices/microservices.rules.json) | Autonomous deployability; service mesh readiness |
12
-
13
- | Compatibility Alias | Canonical Topology |
14
- |---|---|
15
- | `--arch-level F1` | `--topology modular-monolith` |
16
- | `--arch-level F2` | `--topology distributed-modules` |
17
- | `--arch-level F3` | `--topology microservices` |
18
-
19
- ---
20
-
21
- Back to [Rulesets Hub](../README.md)
@@ -1,50 +0,0 @@
1
- package evolith.architecture.progressive_axis
2
-
3
- import rego.v1
4
-
5
- # ---------------------------------------------------------------------------
6
- # Progressive-Axis Architecture Compliance (ARCH-01..ARCH-05)
7
- # Validates cross-cutting eligibility rules for F1→F2→F3 topology transitions.
8
- # Topology-specific rules live co-located with each topology manifest.
9
- # ---------------------------------------------------------------------------
10
-
11
- valid_topologies := {"modular-monolith", "distributed-modules", "microservices"}
12
-
13
- upgrade_path := {
14
- "modular-monolith": "distributed-modules",
15
- "distributed-modules": "microservices",
16
- }
17
-
18
- violations contains {"id": "ARCH-01", "message": "evolith.yaml must declare a topology field matching a valid progressive-axis topology (modular-monolith, distributed-modules, microservices)"} if {
19
- not valid_topologies[input.satellite.topology]
20
- }
21
-
22
- violations contains {"id": "ARCH-02", "message": msg} if {
23
- from := input.satellite.previousTopology
24
- to := input.satellite.topology
25
- from != to
26
- valid_topologies[from]
27
- valid_topologies[to]
28
- upgrade_path[from] != to
29
- msg := sprintf("Topology transition from '%v' to '%v' is not allowed — must follow the progressive axis upgrade path (modular-monolith → distributed-modules → microservices)", [from, to])
30
- }
31
-
32
- violations contains {"id": "ARCH-03", "message": "An ADR must exist and be in accepted state before topology selection is finalised"} if {
33
- not input.satellite.topologyAdrAccepted
34
- }
35
-
36
- violations contains {"id": "ARCH-04", "message": "topology.manifest.json must be present and declare the active topology"} if {
37
- not input.satellite.hasTopologyManifest
38
- }
39
-
40
- violations contains {"id": "ARCH-05", "message": msg} if {
41
- level := input.satellite.archLevel
42
- topology := input.satellite.topology
43
- expected := {
44
- "F1": "modular-monolith",
45
- "F2": "distributed-modules",
46
- "F3": "microservices",
47
- }
48
- expected[level] != topology
49
- msg := sprintf("Architecture compatibility alias '%v' does not match declared topology '%v' (expected: '%v')", [level, topology, expected[level]])
50
- }