@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,99 +0,0 @@
1
- package evolith.version_pinning
2
-
3
- # Define a set of violations.
4
- # A violation is an object with a rule `id` and a `message`.
5
- violations[{"id": "DEP-01", "message": msg}] {
6
- # Check satellite package.json
7
- deps := input.satellite.packageJson.dependencies
8
- some pkg
9
- version := deps[pkg]
10
- startswith(version, "^")
11
- msg := sprintf("package.json#dependencies.%v=%v (Caret pinning not allowed)", [pkg, version])
12
- }
13
-
14
- violations[{"id": "DEP-02", "message": msg}] {
15
- deps := input.satellite.packageJson.dependencies
16
- some pkg
17
- version := deps[pkg]
18
- startswith(version, "~")
19
- msg := sprintf("package.json#dependencies.%v=%v (Tilde pinning not allowed)", [pkg, version])
20
- }
21
-
22
- violations[{"id": "DEP-03", "message": msg}] {
23
- deps := input.satellite.packageJson.dependencies
24
- some pkg
25
- version := deps[pkg]
26
- disallowed := {"*", "latest", "x", "X", ""}
27
- disallowed[version]
28
- msg := sprintf("package.json#dependencies.%v=%v (Wildcard/Latest pinning not allowed)", [pkg, version])
29
- }
30
-
31
- # Also check devDependencies
32
- violations[{"id": "DEP-01", "message": msg}] {
33
- deps := input.satellite.packageJson.devDependencies
34
- some pkg
35
- version := deps[pkg]
36
- startswith(version, "^")
37
- msg := sprintf("package.json#devDependencies.%v=%v (Caret pinning not allowed)", [pkg, version])
38
- }
39
-
40
- violations[{"id": "DEP-02", "message": msg}] {
41
- deps := input.satellite.packageJson.devDependencies
42
- some pkg
43
- version := deps[pkg]
44
- startswith(version, "~")
45
- msg := sprintf("package.json#devDependencies.%v=%v (Tilde pinning not allowed)", [pkg, version])
46
- }
47
-
48
- violations[{"id": "DEP-03", "message": msg}] {
49
- deps := input.satellite.packageJson.devDependencies
50
- some pkg
51
- version := deps[pkg]
52
- disallowed := {"*", "latest", "x", "X", ""}
53
- disallowed[version]
54
- msg := sprintf("package.json#devDependencies.%v=%v (Wildcard/Latest pinning not allowed)", [pkg, version])
55
- }
56
-
57
- # DEP-10 applies to all packages in the workspace
58
- violations[{"id": "DEP-10", "message": msg}] {
59
- ws := input.satellite.workspacePackageJsons[_]
60
- deps := ws.content.dependencies
61
- some pkg
62
- version := deps[pkg]
63
- startswith(version, "^")
64
- msg := sprintf("%v#dependencies.%v=%v", [ws.path, pkg, version])
65
- }
66
-
67
- violations[{"id": "DEP-10", "message": msg}] {
68
- ws := input.satellite.workspacePackageJsons[_]
69
- deps := ws.content.devDependencies
70
- some pkg
71
- version := deps[pkg]
72
- startswith(version, "^")
73
- msg := sprintf("%v#devDependencies.%v=%v", [ws.path, pkg, version])
74
- }
75
-
76
- violations[{"id": "DEP-10", "message": msg}] {
77
- ws := input.satellite.workspacePackageJsons[_]
78
- deps := ws.content.dependencies
79
- some pkg
80
- version := deps[pkg]
81
- startswith(version, "~")
82
- msg := sprintf("%v#dependencies.%v=%v", [ws.path, pkg, version])
83
- }
84
-
85
- violations[{"id": "DEP-10", "message": msg}] {
86
- ws := input.satellite.workspacePackageJsons[_]
87
- deps := ws.content.devDependencies
88
- some pkg
89
- version := deps[pkg]
90
- startswith(version, "~")
91
- msg := sprintf("%v#devDependencies.%v=%v", [ws.path, pkg, version])
92
- }
93
-
94
- violations[{"id": "DEP-08", "message": msg}] {
95
- overrides := input.satellite.packageJson.overrides
96
- count(overrides) > 0
97
- not input.satellite.overridesRationaleDocumented
98
- msg := sprintf("package.json 'overrides' section has %d entries without a companion overrides-rationale.json — each override must document the CVE or compatibility reason", [count(overrides)])
99
- }
@@ -1,28 +0,0 @@
1
- package evolith.version_pinning_test
2
-
3
- import data.evolith.version_pinning
4
-
5
- test_no_pinning_violations_for_exact_versions {
6
- violations := version_pinning.violations with input as {"satellite": {"packageJson": {"dependencies": {"express": "4.18.2"}, "devDependencies": {}}, "workspacePackageJsons": []}}
7
- count(violations) == 0
8
- }
9
-
10
- test_caret_pinning_in_dependencies_is_rejected {
11
- violations := version_pinning.violations with input as {"satellite": {"packageJson": {"dependencies": {"express": "^4.18.2"}, "devDependencies": {}}, "workspacePackageJsons": []}}
12
- violations[_].id == "DEP-01"
13
- }
14
-
15
- test_tilde_pinning_in_dev_dependencies_is_rejected {
16
- violations := version_pinning.violations with input as {"satellite": {"packageJson": {"dependencies": {}, "devDependencies": {"mocha": "~10.0.0"}}, "workspacePackageJsons": []}}
17
- violations[_].id == "DEP-02"
18
- }
19
-
20
- test_wildcard_pinning_is_rejected {
21
- violations := version_pinning.violations with input as {"satellite": {"packageJson": {"dependencies": {"lodash": "*"}, "devDependencies": {}}, "workspacePackageJsons": []}}
22
- violations[_].id == "DEP-03"
23
- }
24
-
25
- test_workspace_caret_pinning_is_rejected {
26
- violations := version_pinning.violations with input as {"satellite": {"packageJson": {"dependencies": {}, "devDependencies": {}}, "workspacePackageJsons": [{"path": "packages/foo", "content": {"dependencies": {"react": "^18.0.0"}, "devDependencies": {}}}]}}
27
- violations[_].id == "DEP-10"
28
- }
@@ -1,28 +0,0 @@
1
- # Ruleset de Gates de Fase
2
-
3
- > **Bilingual navigation:** [English version](./README.md)
4
-
5
- Punto de entrada WS1 canonico para el contrato de phase gates del SDLC Evolith.
6
-
7
- ## Proposito
8
-
9
- El ruleset de gates de fase define la evidencia obligatoria, criterios bloqueantes, roles responsables, autoridades de waiver y campos de waiver requeridos para salir de cada fase SDLC de Evolith. Este punto de entrada mantiene estable la ruta de auditoria WS1 mientras conserva el indice de la categoria SDLC.
10
-
11
- ## Artefactos
12
-
13
- | Artefacto | Ruta | Proposito |
14
- |---|---|---|
15
- | Ruleset nativo | [phase-gates.rules.json](./phase-gates.rules.json) | Contrato machine-readable de gates de fase SDLC |
16
- | Fuente de categoria SDLC | [../sdlc/phase-gates.rules.json](../sdlc/phase-gates.rules.json) | Contrato existente de la categoria SDLC conservado por compatibilidad |
17
- | Politica OPA | [../opa/cicd-quality-gates.rego](../opa/cicd-quality-gates.rego) | Enforcement Rego para controles de quality gates CI/CD |
18
- | Pruebas OPA | [../opa/cicd-quality-gates.test.rego](../opa/cicd-quality-gates.test.rego) | Pruebas reproducibles de politica para controles de quality gates |
19
-
20
- ## Validacion
21
-
22
- Ejecuta los checks focalizados Native y OPA:
23
-
24
- ```bash
25
- node --test .harness/scripts/run-evolith-intelligent-data-audit.test.mjs
26
- npx jest --config packages/core-domain/jest.config.js --rootDir packages/core-domain --testPathPatterns='ruleset-validation.mode' --no-coverage
27
- .harness/bin/opa test rulesets/opa/cicd-quality-gates.rego rulesets/opa/cicd-quality-gates.test.rego -v
28
- ```
@@ -1,28 +0,0 @@
1
- # Phase Gates Ruleset
2
-
3
- > **Navegación bilingüe:** [Versión en Español](./README.es.md)
4
-
5
- Canonical WS1 entrypoint for the Evolith SDLC phase-gate contract.
6
-
7
- ## Purpose
8
-
9
- The phase-gates ruleset defines the mandatory evidence, blocking criteria, accountable roles, waiver authorities, and waiver fields required to exit each Evolith SDLC phase. This entrypoint keeps the WS1 audit path stable while preserving the SDLC category index.
10
-
11
- ## Artifacts
12
-
13
- | Artifact | Path | Purpose |
14
- |---|---|---|
15
- | Native ruleset | [phase-gates.rules.json](./phase-gates.rules.json) | Machine-readable SDLC phase-gate contract |
16
- | SDLC category source | [../sdlc/phase-gates.rules.json](../sdlc/phase-gates.rules.json) | Existing SDLC category contract retained for backward compatibility |
17
- | OPA policy | [../opa/cicd-quality-gates.rego](../opa/cicd-quality-gates.rego) | Rego enforcement for CI/CD quality-gate controls |
18
- | OPA tests | [../opa/cicd-quality-gates.test.rego](../opa/cicd-quality-gates.test.rego) | Reproducible policy tests for quality-gate controls |
19
-
20
- ## Validation
21
-
22
- Run the focused Native and OPA checks:
23
-
24
- ```bash
25
- node --test .harness/scripts/run-evolith-intelligent-data-audit.test.mjs
26
- npx jest --config packages/core-domain/jest.config.js --rootDir packages/core-domain --testPathPatterns='ruleset-validation.mode' --no-coverage
27
- .harness/bin/opa test rulesets/opa/cicd-quality-gates.rego rulesets/opa/cicd-quality-gates.test.rego -v
28
- ```
@@ -1,297 +0,0 @@
1
- {
2
- "$schema": "../schema/ruleset-sdlc.schema.json",
3
- "$id": "https://evolith.dev/rulesets/phase-gates/phase-gates.rules.json",
4
- "title": "SDLC Phase Gate Rules",
5
- "description": "Canonical phase exit gate criteria for the Evolith 5-phase SDLC. Each gate requires objective evidence; manual confidence cannot override a failed gate.",
6
- "version": "1.0.0",
7
- "effectiveDate": "2026-01-01",
8
- "gates": [
9
- {
10
- "phase": 1,
11
- "name": "Business Sign-Off",
12
- "description": "Scope frozen; funding authorized; architectural constraints aligned.",
13
- "playbookRef": "../../reference/governance/sdlc/01-playbooks/phase-1-business-signoff.md",
14
- "mandatoryEvidence": [
15
- {
16
- "artifact": "PRD",
17
- "schemaRef": "../schema/prd.schema.json",
18
- "status": "Approved",
19
- "validation": "PRD status = Approved AND approvalEvidence present AND date filled"
20
- },
21
- {
22
- "artifact": "Discovery Canvas",
23
- "validation": "Initiative registered with customer pain points and expected value"
24
- },
25
- {
26
- "artifact": "Technical Feasibility Canvas",
27
- "schemaRef": "../schema/technical-feasibility.schema.json",
28
- "validation": "Technical feasibility and quality attributes documented with NFRs"
29
- },
30
- {
31
- "artifact": "Ballpark Estimation",
32
- "validation": "T-Shirt sizing completed with team composition"
33
- },
34
- {
35
- "artifact": "MoSCoW Prioritization Matrix",
36
- "validation": "MoSCoW analysis completed for Phase 0 with at least one MUST item and valid priority distribution"
37
- },
38
- {
39
- "artifact": "Build-versus-Compose Analysis",
40
- "schemaRef": "../schema/build-vs-compose.schema.json",
41
- "validation": "Discovery evaluated open-source/free-tier/commercial alternatives with a governed Adopt/Embed/Integrate/Extend/Build/Reject disposition, three-year cost, licensing, tenant isolation, provider replaceability, and PoC requirements; native development requires explicit justification (Product Vision §5.3)"
42
- }
43
- ],
44
- "blockingCriteria": [
45
- {
46
- "criterion": "Scope is ambiguous",
47
- "action": "BLOCK — return to Phase 1"
48
- },
49
- {
50
- "criterion": "Technical constraints or cloud quotas are unaligned",
51
- "action": "BLOCK — return to Phase 1"
52
- },
53
- {
54
- "criterion": "Architecture constraints are ignored",
55
- "action": "BLOCK — return to Phase 1"
56
- }
57
- ],
58
- "accountableRole": "Product Owner",
59
- "waiverAuthority": "Executive Sponsor",
60
- "waiverRequiredFields": [
61
- "criterion",
62
- "justification",
63
- "risk",
64
- "owner",
65
- "expirationDate",
66
- "mitigationPlan"
67
- ]
68
- },
69
- {
70
- "phase": 2,
71
- "name": "Design Baseline Approved",
72
- "description": "Architecture decisions are documented; bounded contexts defined; functional stories written.",
73
- "playbookRef": "../../reference/governance/sdlc/01-playbooks/phase-2-design-baseline.md",
74
- "mandatoryEvidence": [
75
- {
76
- "artifact": "ADR Registry",
77
- "validation": "All architecture decisions have corresponding ADR. No undocumented decisions."
78
- },
79
- {
80
- "artifact": "Functional Stories",
81
- "schemaRef": "../schema/functional-story.schema.json",
82
- "validation": "All Functional Stories in Ready state with BDD acceptance criteria"
83
- },
84
- {
85
- "artifact": "Reference Blueprint Alignment",
86
- "validation": "Product architecture diagrams traceable to Evolith Reference Blueprint"
87
- },
88
- {
89
- "artifact": "Simplicity Checklist Phase 1",
90
- "validation": "Passed — no over-engineering detected"
91
- },
92
- {
93
- "artifact": "Bounded Context Map",
94
- "validation": "All contexts identified with ownership and persistence strategy"
95
- }
96
- ],
97
- "blockingCriteria": [
98
- {
99
- "criterion": "Significant architecture decisions are undocumented",
100
- "action": "BLOCK — require ADR before design baseline"
101
- },
102
- {
103
- "criterion": "Bounded context boundaries are contradictory",
104
- "action": "BLOCK — require context map resolution"
105
- },
106
- {
107
- "criterion": "Functional stories lack acceptance criteria",
108
- "action": "BLOCK — return to story writing"
109
- }
110
- ],
111
- "accountableRole": "Software Architect",
112
- "waiverAuthority": "Architecture Board",
113
- "waiverRequiredFields": [
114
- "criterion",
115
- "justification",
116
- "risk",
117
- "owner",
118
- "expirationDate",
119
- "mitigationPlan"
120
- ]
121
- },
122
- {
123
- "phase": 3,
124
- "name": "Successful Build",
125
- "description": "All code merged to main; CI passes; quality gates green; definition of done satisfied.",
126
- "mandatoryEvidence": [
127
- {
128
- "artifact": "Technical Stories",
129
- "schemaRef": "../schema/technical-story.schema.json",
130
- "validation": "All technical stories Done; traceable to Functional Stories"
131
- },
132
- {
133
- "artifact": "CI Pipeline",
134
- "validation": "CI run green on main branch. No failing tests, no lint errors, no security scan failures"
135
- },
136
- {
137
- "artifact": "Definition of Done Checklist",
138
- "validation": "All DoD items checked per Technical Story"
139
- },
140
- {
141
- "artifact": "Documentation Delta",
142
- "validation": "Updated ADRs, inline documentation, README changes included in merge"
143
- },
144
- {
145
- "artifact": "Coverage Report",
146
- "validation": "Business logic coverage >= 80% per Quality Thresholds rules"
147
- }
148
- ],
149
- "blockingCriteria": [
150
- {
151
- "criterion": "CI fails on main branch",
152
- "action": "BLOCK merge — fix CI before merge"
153
- },
154
- {
155
- "criterion": "Coverage below threshold (< 80%)",
156
- "action": "BLOCK merge — add tests or request waiver"
157
- },
158
- {
159
- "criterion": "High or Critical CVEs detected",
160
- "action": "BLOCK merge — remediate CVEs or request security waiver"
161
- },
162
- {
163
- "criterion": "Missing code review approval",
164
- "action": "BLOCK merge — require review"
165
- }
166
- ],
167
- "accountableRole": "Tech Lead",
168
- "waiverAuthority": "Architecture Board (with exception for CVEs requires Executive Risk Acceptance)",
169
- "waiverRequiredFields": [
170
- "criterion",
171
- "justification",
172
- "risk",
173
- "owner",
174
- "expirationDate",
175
- "mitigationPlan",
176
- "approvalAuthority"
177
- ]
178
- },
179
- {
180
- "phase": 4,
181
- "name": "RC Stamped",
182
- "description": "All quality thresholds verified; security scans clean; UAT passed; release candidate formally approved.",
183
- "playbookRef": "../../reference/governance/sdlc/01-playbooks/phase-4-rc-stamp.md",
184
- "mandatoryEvidence": [
185
- {
186
- "artifact": "Test Summary Report",
187
- "schemaRef": "../schema/test-summary-report.schema.json",
188
- "templateRef": "../../reference/governance/sdlc/04-artifact-templates/test-summary-report-template.md",
189
- "validation": "All quality gates green or explicitly waived. RC stamped by QA Lead and Tech Lead."
190
- },
191
- {
192
- "artifact": "Acceptance Validation",
193
- "validation": "Product Owner signs off on acceptance criteria verification"
194
- },
195
- {
196
- "artifact": "Security Scan Report",
197
- "schemaRef": "../schema/security-scan-report.schema.json",
198
- "templateRef": "../../reference/governance/sdlc/04-artifact-templates/security-scan-report-template.md",
199
- "validation": "Zero High/Critical CVEs in production-bound artifacts; structure conforms to security-scan-report.schema.json"
200
- },
201
- {
202
- "artifact": "Integration Evidence",
203
- "schemaRef": "../schema/integration-evidence.schema.json",
204
- "templateRef": "../../reference/governance/sdlc/04-artifact-templates/integration-evidence-template.md",
205
- "validation": "Every declared inter-component contract exercised; no FAIL entries without waiver; structure conforms to integration-evidence.schema.json"
206
- },
207
- {
208
- "artifact": "Pyramid Distribution",
209
- "validation": "70% unit / 20% integration / 10% E2E target met or deviation explained"
210
- }
211
- ],
212
- "blockingCriteria": [
213
- {
214
- "criterion": "Any mandatory quality metric fails",
215
- "action": "BLOCK RC stamp — remediate or waiver"
216
- },
217
- {
218
- "criterion": "Acceptance criteria remain unverified",
219
- "action": "BLOCK RC stamp — return to validation"
220
- },
221
- {
222
- "criterion": "Technical debt ratio exceeds 5%",
223
- "action": "BLOCK RC stamp — remediation plan required"
224
- }
225
- ],
226
- "accountableRole": "QA Lead",
227
- "waiverAuthority": "Architecture Board",
228
- "waiverRequiredFields": [
229
- "criterion",
230
- "justification",
231
- "risk",
232
- "owner",
233
- "expirationDate",
234
- "mitigationPlan"
235
- ]
236
- },
237
- {
238
- "phase": 5,
239
- "name": "Production Live",
240
- "description": "Deployment executed; observability verified nominal; monitoring active; rollback procedure confirmed.",
241
- "playbookRef": "../../reference/governance/sdlc/01-playbooks/zero-downtime-release.md",
242
- "mandatoryEvidence": [
243
- {
244
- "artifact": "Release Notes",
245
- "schemaRef": "../schema/release-notes.schema.json",
246
- "validation": "Release scope, deployment steps, rollback procedure, observability checklist all present and complete"
247
- },
248
- {
249
- "artifact": "Observability Validation",
250
- "schemaRef": "../schema/observability-validation.schema.json",
251
- "templateRef": "../../reference/governance/sdlc/04-artifact-templates/observability-validation-template.md",
252
- "validation": "Metrics nominal, logs flowing, traces complete for all production paths; structure conforms to observability-validation.schema.json"
253
- },
254
- {
255
- "artifact": "Rollback Procedure",
256
- "schemaRef": "../schema/rollback-rehearsal.schema.json",
257
- "templateRef": "../../reference/governance/sdlc/04-artifact-templates/rollback-rehearsal-template.md",
258
- "validation": "Rollback steps documented and tested. Last good version identified. Rehearsal evidence confirms rollback within budget."
259
- },
260
- {
261
- "artifact": "On-Call Handoff",
262
- "schemaRef": "../schema/on-call-handoff.schema.json",
263
- "templateRef": "../../reference/governance/sdlc/04-artifact-templates/on-call-handoff-template.md",
264
- "validation": "On-call team briefed with runbook references, escalation paths, alert ownership, and SLA acknowledgement confirmed."
265
- },
266
- {
267
- "artifact": "Deployment Evidence",
268
- "validation": "Deployment artifacts (images, configs) traceable to RC"
269
- }
270
- ],
271
- "blockingCriteria": [
272
- {
273
- "criterion": "Monitoring is not nominal",
274
- "action": "BLOCK Production Live — investigate before deploy"
275
- },
276
- {
277
- "criterion": "Rollback procedure is undefined",
278
- "action": "BLOCK Production Live — document rollback first"
279
- },
280
- {
281
- "criterion": "Release is not traceable to RC",
282
- "action": "BLOCK Production Live — ensure RC → Release chain"
283
- }
284
- ],
285
- "accountableRole": "DevOps Lead",
286
- "waiverAuthority": "Technology Director",
287
- "waiverRequiredFields": [
288
- "criterion",
289
- "justification",
290
- "risk",
291
- "owner",
292
- "expirationDate",
293
- "mitigationPlan"
294
- ]
295
- }
296
- ]
297
- }
@@ -1,28 +0,0 @@
1
- # Ruleset de Umbrales de Calidad
2
-
3
- > **Bilingual navigation:** [English version](./README.md)
4
-
5
- Punto de entrada WS1 canonico para los umbrales de calidad bloqueantes de release de Evolith.
6
-
7
- ## Proposito
8
-
9
- El ruleset de umbrales de calidad define los minimos de testing, calidad de codigo, seguridad, documentacion, operaciones y contratos que pueden bloquear merge, RC stamp o Production Live. Este punto de entrada mantiene estable la ruta de auditoria WS1 mientras conserva el indice de la categoria SDLC.
10
-
11
- ## Artefactos
12
-
13
- | Artefacto | Ruta | Proposito |
14
- |---|---|---|
15
- | Ruleset nativo | [quality-thresholds.rules.json](./quality-thresholds.rules.json) | Contrato machine-readable de umbrales bloqueantes de release |
16
- | Fuente de categoria SDLC | [../sdlc/quality-thresholds.rules.json](../sdlc/quality-thresholds.rules.json) | Contrato existente de la categoria SDLC conservado por compatibilidad |
17
- | Politica OPA | [../opa/testing-pyramid.rego](../opa/testing-pyramid.rego) | Enforcement Rego para umbrales de cobertura y testing pyramid |
18
- | Pruebas OPA | [../opa/testing-pyramid.test.rego](../opa/testing-pyramid.test.rego) | Pruebas reproducibles de politica para controles de testing y cobertura |
19
-
20
- ## Validacion
21
-
22
- Ejecuta los checks focalizados Native y OPA:
23
-
24
- ```bash
25
- node --test .harness/scripts/run-evolith-intelligent-data-audit.test.mjs
26
- npx jest --config packages/core-domain/jest.config.js --rootDir packages/core-domain --testPathPatterns='ruleset-validation.mode' --no-coverage
27
- .harness/bin/opa test rulesets/opa/testing-pyramid.rego rulesets/opa/testing-pyramid.test.rego -v
28
- ```
@@ -1,28 +0,0 @@
1
- # Quality Thresholds Ruleset
2
-
3
- > **Navegación bilingüe:** [Versión en Español](./README.es.md)
4
-
5
- Canonical WS1 entrypoint for the Evolith release-blocking quality thresholds.
6
-
7
- ## Purpose
8
-
9
- The quality-thresholds ruleset defines the minimum testing, code-quality, security, documentation, operations, and contract thresholds that can block merge, RC stamp, or Production Live gates. This entrypoint keeps the WS1 audit path stable while preserving the SDLC category index.
10
-
11
- ## Artifacts
12
-
13
- | Artifact | Path | Purpose |
14
- |---|---|---|
15
- | Native ruleset | [quality-thresholds.rules.json](./quality-thresholds.rules.json) | Machine-readable release-blocking threshold contract |
16
- | SDLC category source | [../sdlc/quality-thresholds.rules.json](../sdlc/quality-thresholds.rules.json) | Existing SDLC category contract retained for backward compatibility |
17
- | OPA policy | [../opa/testing-pyramid.rego](../opa/testing-pyramid.rego) | Rego enforcement for coverage and testing-pyramid thresholds |
18
- | OPA tests | [../opa/testing-pyramid.test.rego](../opa/testing-pyramid.test.rego) | Reproducible policy tests for testing and coverage controls |
19
-
20
- ## Validation
21
-
22
- Run the focused Native and OPA checks:
23
-
24
- ```bash
25
- node --test .harness/scripts/run-evolith-intelligent-data-audit.test.mjs
26
- npx jest --config packages/core-domain/jest.config.js --rootDir packages/core-domain --testPathPatterns='ruleset-validation.mode' --no-coverage
27
- .harness/bin/opa test rulesets/opa/testing-pyramid.rego rulesets/opa/testing-pyramid.test.rego -v
28
- ```
@@ -1,96 +0,0 @@
1
- {
2
- "$schema": "../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/quality-thresholds/quality-thresholds.rules.json",
4
- "title": "SDLC Quality Threshold Rules",
5
- "description": "Canonical release-blocking quality thresholds for Evolith satellites. These thresholds apply to all SDLC phases where construction or validation occurs.",
6
- "version": "1.0.0",
7
- "effectiveDate": "2026-01-01",
8
- "waiverPolicy": {
9
- "description": "A waiver may be used only when the organization deliberately accepts a temporary deviation.",
10
- "requiredFields": [
11
- "criterion",
12
- "justification",
13
- "risk",
14
- "owner",
15
- "expirationDate",
16
- "mitigationPlan",
17
- "approvalAuthority"
18
- ],
19
- "exceptions": {
20
- "cves": "High/Critical security vulnerabilities cannot be waived in production releases without explicit Executive Risk Acceptance",
21
- "coverage": "Business logic coverage below 80% cannot be waived without Architecture Board approval and remediation plan"
22
- }
23
- },
24
- "rules": [
25
- {
26
- "id": "QT-01",
27
- "severity": "MUST",
28
- "category": "testing",
29
- "title": "Code Coverage",
30
- "description": "Coverage below 80% on business logic BLOCKS merge (Phase 3) and RC stamp (Phase 4).",
31
- "blocking": true
32
- },
33
- {
34
- "id": "QT-02",
35
- "severity": "MUST",
36
- "category": "code-quality",
37
- "title": "Cyclomatic Complexity",
38
- "description": "Methods or functions exceeding cyclomatic complexity of 15 BLOCK merge or RC stamp without refactoring plan or explicit waiver.",
39
- "blocking": true
40
- },
41
- {
42
- "id": "QT-03",
43
- "severity": "MUST",
44
- "category": "security",
45
- "title": "Security Vulnerabilities",
46
- "description": "Any High or Critical CVE BLOCKS merge, RC stamp, and production release. Medium CVEs require justification.",
47
- "blocking": true
48
- },
49
- {
50
- "id": "QT-04",
51
- "severity": "MUST",
52
- "category": "code-quality",
53
- "title": "Technical Debt Ratio",
54
- "description": "Technical debt ratio > 5% BLOCKS RC stamp unless a remediation plan with explicit timeline and owner is approved.",
55
- "blocking": true
56
- },
57
- {
58
- "id": "QT-05",
59
- "severity": "MUST",
60
- "category": "testing",
61
- "title": "Testing Pyramid Distribution",
62
- "description": "Release with materially skewed distribution (e.g., 40% unit / 50% integration) requires written explanation. Not a hard block but must be reviewed.",
63
- "blocking": true
64
- },
65
- {
66
- "id": "QT-06",
67
- "severity": "MUST",
68
- "category": "documentation",
69
- "title": "Documentation Delta",
70
- "description": "Code changes that alter behavior, introduce new API endpoints, change architecture, or modify operations without corresponding documentation BLOCK merge and Production Live.",
71
- "blocking": true
72
- },
73
- {
74
- "id": "QT-07",
75
- "severity": "MUST",
76
- "category": "operations",
77
- "title": "Observability Evidence",
78
- "description": "Any production API path without traces, structured logs, or metrics BLOCKS Production Live declaration.",
79
- "blocking": true
80
- },
81
- {
82
- "id": "QT-08",
83
- "severity": "MUST",
84
- "category": "contract",
85
- "title": "API Contract Compatibility",
86
- "description": "Breaking changes to inter-module (gRPC/REST) contracts BLOCK merge. Consumer-driven contract tests must pass.",
87
- "blocking": true
88
- }
89
- ],
90
- "references": [
91
- "../sdlc/phase-gates.rules.json",
92
- "adr/0018-testing-pyramid-quality-gates.md",
93
- "adr/0049-naming-semantics-clean-code-policy.md",
94
- "adr/0005-ci-cd-quality-codeql.md"
95
- ]
96
- }
@@ -1,26 +0,0 @@
1
- # Ruleset de Taxonomía del Repositorio
2
-
3
- > **Navegación Bilingüe:** [English Version](./README.md)
4
-
5
- Punto de entrada ejecutable WS1 para el ruleset de Taxonomía del Repositorio de Evolith.
6
-
7
- ## Propósito
8
-
9
- Este directorio expone `rulesets/repository-taxonomy` como la ruta ejecutable canónica que verifica la auditoría de fortaleza como data inteligente. El ruleset codifica restricciones de nomenclatura, estructura de directorios, nombres ADR, pares bilingües y clasificación de artefactos consumidas por el validador nativo de rulesets y los flujos de evidencia CI.
10
-
11
- ## Artefactos
12
-
13
- | Artefacto | Propósito |
14
- |---|---|
15
- | [repository-taxonomy.rules.json](./repository-taxonomy.rules.json) | Ruleset nativo machine-readable para validación de Taxonomía del Repositorio |
16
- | [../opa/repository-taxonomy.rego](../opa/repository-taxonomy.rego) | Artefacto de paridad OPA para validación de Taxonomía del Repositorio |
17
- | [../opa/repository-taxonomy.test.rego](../opa/repository-taxonomy.test.rego) | Cobertura de pruebas OPA para la política de Taxonomía del Repositorio |
18
-
19
- ## Validación
20
-
21
- Ejecuta estos checks después de cambiar el ruleset:
22
-
23
- ```bash
24
- npx jest --config packages/core-domain/jest.config.js --rootDir packages/core-domain --testPathPatterns='ruleset-validation.mode' --no-coverage
25
- .harness/bin/opa test rulesets/opa/repository-taxonomy.rego rulesets/opa/repository-taxonomy.test.rego -v
26
- ```