@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,135 +0,0 @@
1
- {
2
- "$schema": "../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/definition-of-done/definition-of-done.rules.json",
4
- "title": "Definition of Done Rules",
5
- "description": "Machine-readable encoding of the Evolith Definition of Done. Mandatory checklist for every Technical Story before it can be marked Done.",
6
- "version": "1.0.0",
7
- "effectiveDate": "2026-01-01",
8
- "rules": [
9
- {
10
- "id": "DOD-01",
11
- "severity": "MUST",
12
- "category": "code",
13
- "title": "Code implemented and reviewed",
14
- "description": "All implementation code is written and at least one peer review approval exists. Self-review does not count.",
15
- "validationQuery": "PR has minimum 1 approved review. No direct push to main/develop.",
16
- "blocking": true,
17
- "checklistItem": "code-implemented"
18
- },
19
- {
20
- "id": "DOD-02",
21
- "severity": "MUST",
22
- "category": "testing",
23
- "title": "Unit tests meet coverage threshold",
24
- "description": "Unit test coverage for business logic >= 80%. Layer-specific thresholds apply: Domain >= 95%, Application >= 85%, Infrastructure >= 60%.",
25
- "validationQuery": "Coverage report from CI shows >= 80% for business logic. Per-layer thresholds validated.",
26
- "blocking": true,
27
- "checklistItem": "tests-passing"
28
- },
29
- {
30
- "id": "DOD-03",
31
- "severity": "MUST",
32
- "category": "testing",
33
- "title": "All acceptance criteria verified",
34
- "description": "All acceptance criteria from the Functional Story are verified and pass. Manual or automated verification documented.",
35
- "validationQuery": "All acceptance criteria marked as verified in story tracker. E2E or integration tests confirm criteria.",
36
- "blocking": true,
37
- "checklistItem": "acceptance-criteria-verified"
38
- },
39
- {
40
- "id": "DOD-04",
41
- "severity": "MUST",
42
- "category": "documentation",
43
- "title": "Documentation updated",
44
- "description": "Documentation delta is produced alongside code changes. This includes: updated ADRs if decisions were made, inline code documentation for complex logic, README updates if public interfaces changed.",
45
- "validationQuery": "PR includes documentation changes. Reviewer validates documentation completeness.",
46
- "blocking": true,
47
- "checklistItem": "documentation-updated"
48
- },
49
- {
50
- "id": "DOD-05",
51
- "severity": "MUST",
52
- "category": "observability",
53
- "title": "Observability instrumentation added",
54
- "description": "Production paths have observable telemetry: traces with CorrelationId, structured logs with SessionTrackingId, metrics for key operations.",
55
- "validationQuery": "OTel spans present for production API paths. Logs include required context fields.",
56
- "blocking": true,
57
- "checklistItem": "observability-added"
58
- },
59
- {
60
- "id": "DOD-06",
61
- "severity": "MUST",
62
- "category": "security",
63
- "title": "Security gates passed",
64
- "description": "CodeQL scan passed with zero High/Critical findings. No new CVEs introduced. Secret scanning passed.",
65
- "validationQuery": "CI security gates all green. CodeQL, dependency scan, secret scan passed.",
66
- "blocking": true,
67
- "checklistItem": "security-gates-passed"
68
- },
69
- {
70
- "id": "DOD-07",
71
- "severity": "MUST",
72
- "category": "architecture",
73
- "title": "ADR created if architectural decision made",
74
- "description": "If the implementation required a new architectural decision (boundary change, technology selection, security model change), an ADR is created and linked to the story.",
75
- "validationQuery": "Architectural decisions documented in ADR. Story links to relevant ADR IDs.",
76
- "blocking": false,
77
- "checklistItem": "adr-created-if-needed"
78
- },
79
- {
80
- "id": "DOD-08",
81
- "severity": "MUST",
82
- "category": "integration",
83
- "title": "Integration tests pass",
84
- "description": "Integration tests (adapter tests with testcontainers) pass. Tests cover persistence adapters, gateway adapters, and inter-service contracts.",
85
- "validationQuery": "Integration test suite passes. Contract tests for inter-service calls pass.",
86
- "blocking": true,
87
- "checklistItem": "integration-tests-passing"
88
- },
89
- {
90
- "id": "DOD-09",
91
- "severity": "MUST",
92
- "category": "lint",
93
- "title": "Linting and formatting passed",
94
- "description": "All linting rules pass (ESLint, Prettier formatting). No lint errors, no formatting violations.",
95
- "validationQuery": "CI lint step green. No ESLint errors, Prettier formatted.",
96
- "blocking": true,
97
- "checklistItem": "lint-passing"
98
- },
99
- {
100
- "id": "DOD-10",
101
- "severity": "MUST",
102
- "category": "ci",
103
- "title": "CI pipeline green on target branch",
104
- "description": "CI pipeline runs successfully on the feature branch with all quality gates passing before merge.",
105
- "validationQuery": "All CI checks green. Pipeline completed successfully on feature branch.",
106
- "blocking": true,
107
- "checklistItem": "ci-green"
108
- }
109
- ],
110
- "summaryChecklist": [
111
- "code-implemented",
112
- "tests-passing",
113
- "acceptance-criteria-verified",
114
- "documentation-updated",
115
- "observability-added",
116
- "security-gates-passed",
117
- "adr-created-if-needed",
118
- "integration-tests-passing",
119
- "lint-passing",
120
- "ci-green"
121
- ],
122
- "references": [
123
- "reference/governance/sdlc/02-engineering/construction-focused-sdlc-framework.md",
124
- "reference/governance/sdlc/quality-gates.md"
125
- ],
126
- "exitCriteria": {
127
- "description": "All MUST items checked. Story cannot be marked Done without all blocking items satisfied.",
128
- "validationTools": [
129
- "CI pipeline",
130
- "coverage reports",
131
- "PR review",
132
- "story tracker"
133
- ]
134
- }
135
- }
@@ -1,26 +0,0 @@
1
- # Ruleset del Manifiesto de Ingeniería
2
-
3
- > **Navegación Bilingüe:** [English Version](./README.md)
4
-
5
- Punto de entrada ejecutable WS1 para el ruleset del Manifiesto de Ingeniería de Evolith.
6
-
7
- ## Propósito
8
-
9
- Este directorio expone `rulesets/engineering-manifesto` como la ruta ejecutable canónica que verifica la auditoría de fortaleza como data inteligente. El ruleset codifica restricciones SOLID, DRY, KISS, YAGNI y anti-patrones consumidas por el validador nativo de rulesets y los flujos de evidencia CI.
10
-
11
- ## Artefactos
12
-
13
- | Artefacto | Propósito |
14
- |---|---|
15
- | [engineering-manifesto.rules.json](./engineering-manifesto.rules.json) | Ruleset nativo machine-readable para validación del Manifiesto de Ingeniería |
16
- | [../opa/engineering-manifesto.rego](../opa/engineering-manifesto.rego) | Artefacto de paridad OPA para validación del Manifiesto de Ingeniería |
17
- | [../opa/engineering-manifesto.test.rego](../opa/engineering-manifesto.test.rego) | Cobertura de pruebas OPA para la política del Manifiesto de Ingeniería |
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/engineering-manifesto.rego rulesets/opa/engineering-manifesto.test.rego -v
26
- ```
@@ -1,26 +0,0 @@
1
- # Engineering Manifesto Ruleset
2
-
3
- > **Bilingual Navigation:** [Versión en Español](./README.es.md)
4
-
5
- Executable WS1 entrypoint for the Evolith Engineering Manifesto ruleset.
6
-
7
- ## Purpose
8
-
9
- This directory exposes `rulesets/engineering-manifesto` as the canonical executable path checked by the intelligent data strength audit. The ruleset encodes SOLID, DRY, KISS, YAGNI, and anti-pattern constraints consumed by the native ruleset validator and CI evidence flows.
10
-
11
- ## Artifacts
12
-
13
- | Artifact | Purpose |
14
- |---|---|
15
- | [engineering-manifesto.rules.json](./engineering-manifesto.rules.json) | Native machine-readable ruleset for Engineering Manifesto validation |
16
- | [../opa/engineering-manifesto.rego](../opa/engineering-manifesto.rego) | OPA policy parity artifact for Engineering Manifesto validation |
17
- | [../opa/engineering-manifesto.test.rego](../opa/engineering-manifesto.test.rego) | OPA test coverage for the Engineering Manifesto policy |
18
-
19
- ## Validation
20
-
21
- Run these checks after changing the ruleset:
22
-
23
- ```bash
24
- npx jest --config packages/core-domain/jest.config.js --rootDir packages/core-domain --testPathPatterns='ruleset-validation.mode' --no-coverage
25
- .harness/bin/opa test rulesets/opa/engineering-manifesto.rego rulesets/opa/engineering-manifesto.test.rego -v
26
- ```
@@ -1,145 +0,0 @@
1
- {
2
- "$schema": "../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/engineering-manifesto/engineering-manifesto.rules.json",
4
- "title": "Engineering Manifesto Rules",
5
- "description": "Machine-readable encoding of the Evolith Engineering Manifesto principles. SOLID, DRY, KISS, YAGNI, and anti-pattern rules enforced via linting and review.",
6
- "version": "1.0.0",
7
- "effectiveDate": "2026-01-01",
8
- "antiPatterns": [
9
- {
10
- "id": "AP-01",
11
- "name": "God Class / Object",
12
- "description": "Class with too many responsibilities (> 500 lines, > 20 methods). Violates SRP.",
13
- "detection": "ESLint max-lines-per-file, max-classes-per-file"
14
- },
15
- {
16
- "id": "AP-02",
17
- "name": "Circular Dependency",
18
- "description": "Module A imports Module B which imports Module A directly or indirectly.",
19
- "detection": "dependency-cruiser no-circular"
20
- },
21
- {
22
- "id": "AP-03",
23
- "name": "Shotgun Surgery",
24
- "description": "One change requires modifying many different classes across the codebase.",
25
- "detection": "Code review; refactoring debt"
26
- },
27
- {
28
- "id": "AP-04",
29
- "name": "Spaghetti Code",
30
- "description": "Code with complex nested control structures, no clear structure, tangled logic.",
31
- "detection": "High cyclomatic complexity + low cohesion metrics"
32
- },
33
- {
34
- "id": "AP-05",
35
- "name": "Magic Numbers/Strings",
36
- "description": "Unnamed constants scattered throughout code instead of named constants.",
37
- "detection": "ESLint no-magic-numbers"
38
- }
39
- ],
40
- "references": [
41
- "reference/governance/standards/engineering/engineering-manifesto.md",
42
- "reference/architecture/adrs/core/0049-naming-semantics-clean-code-policy.md"
43
- ],
44
- "exitCriteria": {
45
- "description": "All SOLID violations blocked in CI. DRY violations detected and fixed. Anti-patterns flagged in code review.",
46
- "validationTools": [
47
- "ESLint",
48
- "SonarQube",
49
- "dependency-cruiser",
50
- "code review"
51
- ]
52
- },
53
- "rules": [
54
- {
55
- "id": "EM-S-01",
56
- "severity": "MUST",
57
- "category": "SOLID",
58
- "title": "Single Responsibility: one reason to change",
59
- "description": "Every class and module has one, and only one, reason to change. No God classes or multipurpose utilities.",
60
- "validationQuery": "ESLint rule max-classes-per-file or equivalent. Class length < 200 lines.",
61
- "blocking": false
62
- },
63
- {
64
- "id": "EM-S-02",
65
- "severity": "MUST",
66
- "category": "SOLID",
67
- "title": "Open/Closed: open for extension, closed for modification",
68
- "description": "Software entities (classes, modules, functions) are open for extension but closed for modification. New behavior added via inheritance/composition, not by editing existing code.",
69
- "validationQuery": "Code review verifies no modification of tested/approved classes for new features. Extension via polymorphism preferred.",
70
- "blocking": false
71
- },
72
- {
73
- "id": "EM-S-03",
74
- "severity": "MUST",
75
- "category": "SOLID",
76
- "title": "Liskov Substitution: subtype substitutable for base",
77
- "description": "Objects of a superclass shall be replaceable with objects of a subclass without affecting correctness. No Liskov violation anywhere.",
78
- "validationQuery": "TypeScript: no unsafe casting. Liskov violations detected via type checking and test coverage.",
79
- "blocking": true
80
- },
81
- {
82
- "id": "EM-S-04",
83
- "severity": "MUST",
84
- "category": "SOLID",
85
- "title": "Interface Segregation: fine-grained interfaces",
86
- "description": "Clients should not be forced to depend on interfaces they do not use. Prefer many small interfaces over one large interface.",
87
- "validationQuery": "Interface size checked. No interface with > 10 methods without documented justification.",
88
- "blocking": false
89
- },
90
- {
91
- "id": "EM-S-05",
92
- "severity": "MUST",
93
- "category": "SOLID",
94
- "title": "Dependency Inversion: depend on abstractions",
95
- "description": "High-level modules must not depend on low-level modules. Both must depend on abstractions. Abstractions must not depend on details.",
96
- "validationQuery": "Dependency direction validated via eslint-plugin-boundaries. Core has no Infrastructure imports.",
97
- "blocking": true
98
- },
99
- {
100
- "id": "EM-D-01",
101
- "severity": "MUST",
102
- "category": "DRY",
103
- "title": "Don't Repeat Yourself",
104
- "description": "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. Duplicated logic must be extracted to a single source.",
105
- "validationQuery": "AST analysis detects duplicated code blocks > 5 lines. ESLint no-duplicate-imports or equivalent.",
106
- "blocking": false
107
- },
108
- {
109
- "id": "EM-D-02",
110
- "severity": "MUST",
111
- "category": "DRY",
112
- "title": "Configuration not duplicated",
113
- "description": "Configuration values (strings, numbers, URLs) must not be hardcoded in multiple places. Centralized config or constants.",
114
- "validationQuery": "Magic numbers/strings detected. Configuration centralized in config files or env vars.",
115
- "blocking": false
116
- },
117
- {
118
- "id": "EM-K-01",
119
- "severity": "MUST",
120
- "category": "KISS",
121
- "title": "Keep It Simple, Stupid",
122
- "description": "Simplicity is the ultimate sophistication. Prefer simple solutions over complex ones. Complexity is the enemy of reliability.",
123
- "validationQuery": "Cyclomatic complexity < 15 per method/function. Nested ternaries and complex conditions flagged.",
124
- "blocking": true
125
- },
126
- {
127
- "id": "EM-K-02",
128
- "severity": "SHOULD NOT",
129
- "category": "KISS",
130
- "title": "Avoid premature abstraction",
131
- "description": "Do not abstract for hypothetical future reuse. Abstract when duplication appears, not before.",
132
- "validationQuery": "Unused interfaces or abstract classes flagged. Abstraction must have concrete use.",
133
- "blocking": false
134
- },
135
- {
136
- "id": "EM-Y-01",
137
- "severity": "MUST NOT",
138
- "category": "YAGNI",
139
- "title": "You Aren't Gonna Need It",
140
- "description": "Do not implement features or abstractions until they are actually needed. Building for hypothetical futures creates complexity debt.",
141
- "validationQuery": "Code review checks for unused code paths or interfaces with no implementing classes.",
142
- "blocking": false
143
- }
144
- ]
145
- }
@@ -1,12 +0,0 @@
1
- # Rulesets de Evidencia
2
-
3
- > **Navegación bilingüe:** [English version](./README.md)
4
-
5
- Reglas para evidencia trazable usada por gates SDLC, auditorías, revisiones de release y reportes ejecutivos.
6
-
7
- ## Rulesets
8
-
9
- | Ruleset | Propósito |
10
- |---|---|
11
- | [Manifest de Evidencia](./evidence-manifest.rules.json) | Define los metadatos mínimos de evidencia necesarios para probar cumplimiento de gates, reglas o waivers. |
12
-
@@ -1,12 +0,0 @@
1
- # Evidence Rulesets
2
-
3
- > **Bilingual navigation:** [Versión en Español](./README.es.md)
4
-
5
- Rules for traceable evidence used by SDLC gates, audits, release reviews, and executive reporting.
6
-
7
- ## Rulesets
8
-
9
- | Ruleset | Purpose |
10
- |---|---|
11
- | [Evidence Manifest](./evidence-manifest.rules.json) | Defines the minimum evidence metadata needed to prove gate, rule, or waiver compliance. |
12
-
@@ -1,48 +0,0 @@
1
- {
2
- "$schema": "../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/evidence/evidence-manifest.rules.json",
4
- "title": "Evidence Manifest Rules",
5
- "description": "Minimum metadata for auditable evidence generated by CLI, MCP, CI, or Tracker.",
6
- "version": "1.0.0",
7
- "effectiveDate": "2026-06-08",
8
- "scope": "satellite",
9
- "category": "evidence",
10
- "rules": [
11
- {
12
- "id": "EVD-01",
13
- "severity": "MUST",
14
- "category": "identity",
15
- "title": "Evidence Has Stable Identity",
16
- "description": "Every evidence item MUST include id, source, generatedAt, producer, and related rule or gate.",
17
- "validationQuery": "Validate evidence manifests contain id, source, generatedAt, producer, and relatedRuleIds or relatedGateId.",
18
- "blocking": true
19
- },
20
- {
21
- "id": "EVD-02",
22
- "severity": "MUST",
23
- "category": "traceability",
24
- "title": "Evidence Links to Source Artifact",
25
- "description": "Every evidence item MUST link to the source artifact, command, CI run, or external system record that produced it.",
26
- "validationQuery": "Verify sourceRef is present and resolvable.",
27
- "blocking": true
28
- },
29
- {
30
- "id": "EVD-03",
31
- "severity": "MUST",
32
- "category": "integrity",
33
- "title": "Evidence Captures Validation Outcome",
34
- "description": "Every evidence item MUST capture status, evaluated rules, blocking failures, and waiver reference when applicable.",
35
- "validationQuery": "Verify status, evaluatedRules, blockingFailures, and waiverRef fields.",
36
- "blocking": true
37
- },
38
- {
39
- "id": "EVD-04",
40
- "severity": "SHOULD",
41
- "category": "retention",
42
- "title": "Evidence Declares Retention Expectation",
43
- "description": "Evidence SHOULD declare retention period and accountable owner for audit follow-up.",
44
- "validationQuery": "Inspect retentionPeriod and owner fields.",
45
- "blocking": false
46
- }
47
- ]
48
- }
@@ -1,213 +0,0 @@
1
- {
2
- "$schema": "../schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/executive-scorecards/executive-scorecards.rules.es.json",
4
- "title": "Reglas de Scorecards Ejecutivos",
5
- "description": "Reglas que codifican métricas DORA y SPACE para visibilidad ejecutiva. Estas reglas aseguran Predictibilidad, Adherencia (Architecture Drift Index), y Eficiencia en productos satélite.",
6
- "version": "1.0.0",
7
- "effectiveDate": "2026-06-06",
8
- "scope": "satellite",
9
- "category": "executive-metrics",
10
- "principles": [
11
- {
12
- "id": "DORA-01",
13
- "principle": "Frecuencia de Despliegue",
14
- "statement": "Los productos satélite DEBEN medir y reportar frecuencia de despliegue. Objetivo: al menos una vez por semana a producción.",
15
- "rationale": "Evolith Product Vision §6: Frecuencia de Despliegue es una métrica DORA core. Alta frecuencia indica pipeline CD saludable.",
16
- "severity": "MUST",
17
- "validationQuery": "CI/CD pipeline exporta métrica de frecuencia de despliegue. Reporte muestra deployments/semana a producción.",
18
- "blocking": false,
19
- "metrics": {
20
- "name": "Deployment Frequency",
21
- "unit": "despliegues por semana",
22
- "target": ">= 1",
23
- "measurement": "Count de despliegues a producción en últimas 4 semanas / 4",
24
- "dashboardRequired": true
25
- },
26
- "references": [
27
- "reference/governance/standards/vision/evolith-product-vision-master.es.md#6-executive-vision-scorecards"
28
- ]
29
- },
30
- {
31
- "id": "DORA-02",
32
- "principle": "Lead Time para Cambios",
33
- "statement": "Los productos satélite DEBEN medir y reportar lead time desde commit a producción. Objetivo: menos de 7 días para cambios medianos.",
34
- "rationale": "Evolith Product Vision §6: Lead Time mide qué tan rápido los cambios fluyen de commit a producción. Lead time corto indica pipeline eficiente.",
35
- "severity": "MUST",
36
- "validationQuery": "CI/CD pipeline exporta métrica de lead time. Reporte muestra días mediana desde primer commit a despliegue a producción.",
37
- "blocking": false,
38
- "metrics": {
39
- "name": "Lead Time for Changes",
40
- "unit": "días",
41
- "target": "<= 7",
42
- "measurement": "Tiempo mediana desde primer commit de un cambio a despliegue a producción",
43
- "dashboardRequired": true
44
- },
45
- "references": [
46
- "reference/governance/standards/vision/evolith-product-vision-master.es.md#6-executive-vision-scorecards"
47
- ]
48
- },
49
- {
50
- "id": "DORA-03",
51
- "principle": "Tasa de Fallo en Cambios",
52
- "statement": "Los productos satélite DEBEN medir y reportar tasa de fallo en cambios. Objetivo: menos de 15% de despliegues causan fallos.",
53
- "rationale": "Evolith Product Vision §6: Change Failure Rate mide el porcentaje de despliegues que causan fallos en producción.",
54
- "severity": "MUST",
55
- "validationQuery": "CI/CD pipeline exporta tasa de fallo en cambios. Reporte muestra % de despliegues que requieren rollback o hotfix.",
56
- "blocking": false,
57
- "metrics": {
58
- "name": "Change Failure Rate",
59
- "unit": "porcentaje",
60
- "target": "<= 15%",
61
- "measurement": "(Despliegues fallidos / Total despliegues) * 100 en últimas 4 semanas",
62
- "dashboardRequired": true
63
- },
64
- "references": [
65
- "reference/governance/standards/vision/evolith-product-vision-master.es.md#6-executive-vision-scorecards"
66
- ]
67
- },
68
- {
69
- "id": "DORA-04",
70
- "principle": "Tiempo para Restaurar",
71
- "statement": "Los productos satélite DEBEN medir y reportar MTTR (Mean Time To Restore). Objetivo: menos de 1 hora para fallos críticos.",
72
- "rationale": "Evolith Product Vision §6: Time to Restore mide qué tan rápido el equipo se recupera de fallos. MTTR bajo indica respuesta a incidentes efectiva.",
73
- "severity": "MUST",
74
- "validationQuery": "Sistema de gestión de incidentes exporta MTTR. Reporte muestra horas mediana desde detección de fallo a restauración de servicio.",
75
- "blocking": false,
76
- "metrics": {
77
- "name": "Time to Restore",
78
- "unit": "horas",
79
- "target": "<= 1",
80
- "measurement": "Tiempo mediana desde detección de fallo a restauración para incidentes P1/P2",
81
- "dashboardRequired": true
82
- },
83
- "references": [
84
- "reference/governance/standards/vision/evolith-product-vision-master.es.md#6-executive-vision-scorecards"
85
- ]
86
- },
87
- {
88
- "id": "SPACE-01",
89
- "principle": "Confiabilidad (Observabilidad)",
90
- "statement": "Los productos satélite DEBEN tener infraestructura de observabilidad (traces, logs, metrics) operativa en producción.",
91
- "rationale": "Evolith Product Vision §6: Confiabilidad asegura que los sistemas de producción sean observables. ADR-0007 de Evolith mandates OpenTelemetry.",
92
- "severity": "MUST",
93
- "validationQuery": "Dashboard de observabilidad de producción accesible. Traces OpenTelemetry fluyendo. Tasa de error < 1%.",
94
- "blocking": true,
95
- "metrics": {
96
- "name": "Error Rate",
97
- "unit": "porcentaje",
98
- "target": "<= 1%",
99
- "measurement": "(Requests fallidos / Total requests) * 100 en últimas 24 horas",
100
- "dashboardRequired": true
101
- },
102
- "references": [
103
- "reference/governance/standards/vision/evolith-product-vision-master.es.md#6-executive-vision-scorecards",
104
- "reference/architecture/adrs/nodejs/0007-observability-telemetry-loki-opentelemetry.es.md"
105
- ]
106
- },
107
- {
108
- "id": "SPACE-02",
109
- "principle": "Cultura (Salud del Equipo)",
110
- "statement": "Los productos satélite DEBERÍAN medir salud del equipo trimestralmente. Objetivo: > 70% sentimiento positivo.",
111
- "rationale": "Evolith Product Vision §6: Cultura mide satisfacción y salud del equipo. Equipos saludables envían mayor calidad.",
112
- "severity": "SHOULD",
113
- "validationQuery": "Encuesta de salud de equipo conducida trimestralmente. Resultados almacenados en documentación del producto. Tendencia rastreada.",
114
- "blocking": false,
115
- "metrics": {
116
- "name": "Team Health Score",
117
- "unit": "porcentaje",
118
- "target": ">= 70%",
119
- "measurement": "% respuestas positivas en encuesta trimestral de salud de equipo",
120
- "dashboardRequired": false
121
- },
122
- "references": [
123
- "reference/governance/standards/vision/evolith-product-vision-master.es.md#6-executive-vision-scorecards"
124
- ]
125
- },
126
- {
127
- "id": "SPACE-03",
128
- "principle": "Ejecución (Throughput)",
129
- "statement": "Los productos satélite DEBEN medir y reportar throughput de sprint. Objetivo: > 80% del trabajo comprometido entregado.",
130
- "rationale": "Evolith Product Vision §6: Ejecución mide efectividad de entrega. Throughput consistente indica pipeline predecible.",
131
- "severity": "SHOULD",
132
- "validationQuery": "Métricas de sprint exportadas. Reporte muestra % de story points entregados vs comprometidos en últimos 4 sprints.",
133
- "blocking": false,
134
- "metrics": {
135
- "name": "Sprint Throughput",
136
- "unit": "porcentaje",
137
- "target": ">= 80%",
138
- "measurement": "(Story points entregados / Story points comprometidos) * 100 en últimos 4 sprints",
139
- "dashboardRequired": true
140
- },
141
- "references": [
142
- "reference/governance/standards/vision/evolith-product-vision-master.es.md#6-executive-vision-scorecards"
143
- ]
144
- },
145
- {
146
- "id": "SPACE-04",
147
- "principle": "Comunicación (Visibilidad)",
148
- "statement": "Los productos satélite DEBEN tener estado SDLC actual visible para todos los stakeholders. Objetivo: estado de phase gate actualizado dentro de 24h.",
149
- "rationale": "Evolith Product Vision §6: Comunicación asegura que los stakeholders tengan visibilidad en tiempo real del estado de desarrollo.",
150
- "severity": "SHOULD",
151
- "validationQuery": "Tablero de estado de phase gates accesible. Actualizaciones hechas dentro de 24h de cambio de estado. Todos los stakeholders tienen acceso.",
152
- "blocking": false,
153
- "metrics": {
154
- "name": "Gate Status Freshness",
155
- "unit": "horas",
156
- "target": "<= 24",
157
- "measurement": "Tiempo máximo entre cambio de estado y actualización del tablero de estado",
158
- "dashboardRequired": true
159
- },
160
- "references": [
161
- "reference/governance/standards/vision/evolith-product-vision-master.es.md#6-executive-vision-scorecards"
162
- ]
163
- },
164
- {
165
- "id": "SPACE-05",
166
- "principle": "Patrocinio (Alineación de Liderazgo)",
167
- "statement": "Los productos satélite DEBEN tener sponsor ejecutivo asignado y activamente engajado. Sponsor debe revisar estado trimestralmente.",
168
- "rationale": "Evolith Product Vision §6: Patrocinio asegura alineación de liderazgo. Patrocinio activo previene drift estratégico.",
169
- "severity": "MUST",
170
- "validationQuery": "evolith.yaml incluye campo governance.executiveSponsor. Reunión de revisión trimestral documentada.",
171
- "blocking": false,
172
- "metrics": {
173
- "name": "Executive Engagement",
174
- "unit": "revisiones por trimestre",
175
- "target": ">= 1",
176
- "measurement": "Count de revisiones de sponsor ejecutivo en trimestre pasado",
177
- "dashboardRequired": false
178
- },
179
- "references": [
180
- "reference/governance/standards/vision/evolith-product-vision-master.es.md#6-executive-vision-scorecards"
181
- ]
182
- },
183
- {
184
- "id": "DRIFT-01",
185
- "principle": "Architecture Drift Index",
186
- "statement": "Los productos satélite DEBEN medir y reportar Architecture Drift Index. Objetivo: < 10% drift de estándares Evolith Core.",
187
- "rationale": "Evolith Product Vision §6: Adherencia medida via Architecture Drift Index. Drift > umbral indica erosión de gobernanza.",
188
- "severity": "MUST",
189
- "validationQuery": "Comando evolith validate ejecutado mensualmente. Reporte muestra % de reglas fallidas vs total aplicables.",
190
- "blocking": false,
191
- "metrics": {
192
- "name": "Architecture Drift Index",
193
- "unit": "porcentaje",
194
- "target": "<= 10%",
195
- "measurement": "(Reglas fallidas / Total reglas aplicables) * 100",
196
- "dashboardRequired": true
197
- },
198
- "references": [
199
- "reference/governance/standards/vision/evolith-product-vision-master.es.md#6-executive-vision-scorecards"
200
- ]
201
- }
202
- ],
203
- "governance": {
204
- "complianceVerification": "Métricas DORA+SPACE verificadas trimestralmente durante revisión de gobernanza. Comando evolith validate proporciona drift index.",
205
- "exceptionProcess": "Revisión del Architecture Board requerida cuando cualquier métrica excede objetivo por 2+ trimestres consecutivos.",
206
- "dashboardRequirements": "Métricas marcadas dashboardRequired: true DEBEN ser visibles en Evolith Tracker o dashboard ejecutivo equivalente.",
207
- "reportingCadence": "Métricas DORA reportadas mensualmente. Métricas SPACE reportadas trimestralmente."
208
- },
209
- "bilingual": {
210
- "en": "Executive Scorecards Rules",
211
- "es": "Reglas de Scorecards Ejecutivos"
212
- }
213
- }