@evolith/core-domain 1.0.0 → 1.0.1
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.
- package/dist/domain/services/default-workflow-definition.js +1 -1
- package/dist/domain/services/default-workflow-definition.js.map +1 -1
- package/package.json +2 -1
- package/rulesets/README.es.md +170 -0
- package/rulesets/README.md +170 -0
- package/rulesets/acl/README.es.md +41 -0
- package/rulesets/acl/README.md +41 -0
- package/rulesets/acl/anti-corruption-layer.rules.es.json +99 -0
- package/rulesets/acl/anti-corruption-layer.rules.json +99 -0
- package/rulesets/adr/ADR_COVERAGE.es.md +133 -0
- package/rulesets/adr/ADR_COVERAGE.md +133 -0
- package/rulesets/adr/README.es.md +17 -0
- package/rulesets/adr/README.md +17 -0
- package/rulesets/adr/adr-0002-hexagonal-architecture.rules.json +103 -0
- package/rulesets/adr/adr-0005-cicd-quality-gates.rules.json +102 -0
- package/rulesets/adr/adr-0010-multi-tenancy.rules.json +129 -0
- package/rulesets/adr/adr-0018-testing-pyramid.rules.json +115 -0
- package/rulesets/adr/adr-0032-protocol-selection.rules.json +134 -0
- package/rulesets/adr/adr-0040-multi-runtime.rules.json +131 -0
- package/rulesets/adr/adr-0050-gitflow-branching.rules.json +176 -0
- package/rulesets/adr/generated/adr-0001-monorepo-orchestration-principle.rules.json +29 -0
- package/rulesets/adr/generated/adr-0006-microservices-transition-via-sidecar-pattern.rules.json +29 -0
- package/rulesets/adr/generated/adr-0009-strict-dependency-pinning-and-automated-vulnerability-manage.rules.json +29 -0
- package/rulesets/adr/generated/adr-0011-fault-tolerance-and-resiliency-patterns.rules.json +29 -0
- package/rulesets/adr/generated/adr-0013-cloud-infrastructure-topology-and-disaster-recovery-dr.rules.json +28 -0
- package/rulesets/adr/generated/adr-0014-multi-layer-distributed-caching-strategy.rules.json +29 -0
- package/rulesets/adr/generated/adr-0015-event-driven-architecture-eda-for-intra-domain-communication.rules.json +29 -0
- package/rulesets/adr/generated/adr-0016-immutable-business-audit-trail-and-change-tracking.rules.json +29 -0
- package/rulesets/adr/generated/adr-0017-feature-flagging-strategy-for-progressive-delivery.rules.json +28 -0
- package/rulesets/adr/generated/adr-0019-tactical-design-patterns-for-future-proofing.rules.json +29 -0
- package/rulesets/adr/generated/adr-0020-identity-provider-abstraction-strategy.rules.json +28 -0
- package/rulesets/adr/generated/adr-0024-centralized-configuration-feature-platform.rules.json +28 -0
- package/rulesets/adr/generated/adr-0025-feature-flag-provider-abstraction-strategy.rules.json +29 -0
- package/rulesets/adr/generated/adr-0028-self-hosted-open-source-hybrid-infrastructure.rules.json +29 -0
- package/rulesets/adr/generated/adr-0030-two-tier-distributed-gateway-model.rules.json +28 -0
- package/rulesets/adr/generated/adr-0031-schema-per-bounded-context-and-domain-event-catalog.rules.json +29 -0
- package/rulesets/adr/generated/adr-0033-transactional-outbox-pattern-for-async-messaging.rules.json +28 -0
- package/rulesets/adr/generated/adr-0034-cqrs-pattern-application-matrix.rules.json +29 -0
- package/rulesets/adr/generated/adr-0035-distributed-saga-pattern-implementation-strategy.rules.json +29 -0
- package/rulesets/adr/generated/adr-0036-message-bus-delivery-flow-control-strategy.rules.json +29 -0
- package/rulesets/adr/generated/adr-0037-enterprise-performance-concurrency-chaos-verification-strate.rules.json +28 -0
- package/rulesets/adr/generated/adr-0039-deployment-topology-abstraction-environment-switcher.rules.json +29 -0
- package/rulesets/adr/generated/adr-0041-dual-engine-policy-evaluation-native-opa.rules.json +28 -0
- package/rulesets/adr/generated/adr-0044-configurable-security-persistence-strategy-agnosticism-vs-na.rules.json +29 -0
- package/rulesets/adr/generated/adr-0045-microservice-extraction-readiness-criteria.rules.json +29 -0
- package/rulesets/adr/generated/adr-0046-unified-traceability-via-w3c-tracecontext.rules.json +29 -0
- package/rulesets/adr/generated/adr-0047-progressive-architecture-evolution-framework-modular-monolit.rules.json +29 -0
- package/rulesets/adr/generated/adr-0048-enterprise-taxonomy-standardization-and-reference-layout.rules.json +28 -0
- package/rulesets/adr/generated/adr-0049-naming-semantics-clean-code-policy-e2e-and-global.rules.json +29 -0
- package/rulesets/adr/generated/adr-0051-enterprise-database-engine-selection-strategy.rules.json +29 -0
- package/rulesets/adr/generated/adr-0052-unit-testing-isolation-strategy-mocks-vs-stubs.rules.json +29 -0
- package/rulesets/adr/generated/adr-0053-integration-and-e2e-testing-strategy.rules.json +29 -0
- package/rulesets/adr/generated/adr-0054-database-design-and-normalization-standards.rules.json +29 -0
- package/rulesets/adr/generated/adr-0055-microfrontends-architecture-strategy.rules.json +28 -0
- package/rulesets/adr/generated/adr-0056-enterprise-naming-design-conventions-multi-language-multi-pl.rules.json +29 -0
- package/rulesets/adr/generated/adr-0057-architecture-intelligence-catalog.rules.json +27 -0
- package/rulesets/adr/generated/adr-0058-ai-consumable-architecture-knowledge.rules.json +27 -0
- package/rulesets/adr/generated/adr-0067-modular-monolith-persistence-boundaries.rules.json +28 -0
- package/rulesets/adr/generated/adr-0068-documentation-release-gitflow.rules.json +29 -0
- package/rulesets/adr/generated/adr-0069-ai-agent-context-protocol-integration.rules.json +28 -0
- package/rulesets/adr/generated/adr-0070-lean-root-repository-taxonomy.rules.json +29 -0
- package/rulesets/adr/generated/adr-0071-domain-layer-base-class-and-inheritance-strategy.rules.json +29 -0
- package/rulesets/adr/generated/adr-0072-utc-date-storage-browser-timezone-detection-and-language-res.rules.json +29 -0
- package/rulesets/adr/generated/adr-0073-unified-cli-mcp-output-contract-and-gate-evidence-schema.rules.json +29 -0
- package/rulesets/adr/generated/adr-0074-evolith-core-api-native-exposure-layer.rules.json +29 -0
- package/rulesets/adr/generated/adr-0075-core-api-authentication-strategy.rules.json +28 -0
- package/rulesets/adr/generated/adr-0076-domain-oriented-microservice-architecture-doma.rules.json +28 -0
- package/rulesets/adr/generated/adr-0077-masstransit-v9-commercial-pivot-stay-on-v8-monitor-opentrans.rules.json +28 -0
- package/rulesets/adr/generated/adr-0078-domain-financial-separation-governance.rules.json +29 -0
- package/rulesets/adr/generated/adr-0079-multi-topology-reference-corpus-and-topology-manifest-contra.rules.json +29 -0
- package/rulesets/adr/generated/adr-0080-remote-repository-reference-contract.rules.json +29 -0
- package/rulesets/adr/generated/adr-0081-agentic-ai-sandbox-isolation-boundary.rules.json +29 -0
- package/rulesets/adr/generated/adr-0082-agentic-ai-prompt-context-and-tool-trust-boundary.rules.json +28 -0
- package/rulesets/adr/generated/adr-0083-agentic-ai-action-authorization-and-audit.rules.json +29 -0
- package/rulesets/adr/generated/adr-0084-data-mesh-and-data-as-a-product.rules.json +29 -0
- package/rulesets/adr/generated/adr-0085-agnostic-opa-wasm-distribution-architecture.rules.json +28 -0
- package/rulesets/adr/generated/adr-0086-agentic-ai-telemetry-cost-control-standard.rules.json +27 -0
- package/rulesets/adr/generated/adr-0087-attribute-based-access-control-abac-for-agentic-tool-executi.rules.json +29 -0
- package/rulesets/adr/generated/adr-0088-sovereign-identity-for-agentic-ai.rules.json +29 -0
- package/rulesets/adr/generated/adr-0089-event-driven-agentic-workflow-pattern.rules.json +28 -0
- package/rulesets/adr/generated/adr-0090-rag-knowledge-governance-standard.rules.json +29 -0
- package/rulesets/adr/generated/adr-0091-workload-identity-token-rotation-standard.rules.json +29 -0
- package/rulesets/adr/generated/adr-0092-agent-infinite-loop-prevention-and-circuit-breaker-rules.rules.json +29 -0
- package/rulesets/adr/generated/adr-0093-concurrency-control-and-resource-locking-standard-for-mcp-to.rules.json +29 -0
- package/rulesets/adr/generated/adr-0094-multi-agent-handoff-and-task-delegation-standards.rules.json +29 -0
- package/rulesets/adr/generated/adr-0095-serverless-architecture-governance.rules.json +29 -0
- package/rulesets/adr/generated/adr-0096-edge-computing-architecture-governance.rules.json +29 -0
- package/rulesets/adr/generated/adr-0097-knowledge-lifecycle-governance-standard.rules.json +29 -0
- package/rulesets/adr/generated/adr-0098-rest-uri-versioning-and-deprecation-policy.rules.json +29 -0
- package/rulesets/adr/generated/adr-0099-opa-bundle-distribution-via-s3-minio.rules.json +27 -0
- package/rulesets/adr/generated/adr-ai-augmented-0001-harness-engineering-for-ai-augmented-development.rules.json +29 -0
- package/rulesets/adr/generated/adr-ai-augmented-0002-mcp-integration-protocol-for-agent-tool-invocation.rules.json +29 -0
- package/rulesets/adr/generated/adr-ai-augmented-0003-model-selection-governance-for-ai-augmented-workflows.rules.json +29 -0
- package/rulesets/adr/generated/adr-ai-augmented-0004-agents-md-as-mandatory-repository-artifact.rules.json +29 -0
- package/rulesets/adr/generated/adr-ai-augmented-0005-human-in-the-loop-policy-for-autonomous-agent-operations.rules.json +29 -0
- package/rulesets/adr/generated/adr-android-0042-canonical-android-native-mobile-architecture.rules.json +29 -0
- package/rulesets/adr/generated/adr-dotnet-0041-canonical-net-c-backend-architecture.rules.json +29 -0
- package/rulesets/adr/generated/adr-dotnet-0060-net-multi-tenancy-dual-layer-strategy-ef-core-sql-server.rules.json +29 -0
- package/rulesets/adr/generated/adr-dotnet-0061-transactional-event-lifecycle-in-ef-core.rules.json +28 -0
- package/rulesets/adr/generated/adr-dotnet-0062-net-immutable-audit-trail-via-ddl-triggers-delta-capture.rules.json +29 -0
- package/rulesets/adr/generated/adr-dotnet-0063-b2b-request-idempotency-middleware-in-asp-net-core.rules.json +28 -0
- package/rulesets/adr/generated/adr-dotnet-0064-net-request-scope-observability-context-propagation.rules.json +29 -0
- package/rulesets/adr/generated/adr-dotnet-0065-net-pii-safe-structured-logging-pipeline-serilog.rules.json +29 -0
- package/rulesets/adr/generated/adr-dotnet-0066-net-lightweight-http-idempotency-via-imemorycache-idistribut.rules.json +28 -0
- package/rulesets/adr/generated/adr-dotnet-0069-net-grpc-service-setup-protobuf-contracts.rules.json +29 -0
- package/rulesets/adr/generated/adr-dotnet-0070-net-api-endpoint-strategy.rules.json +29 -0
- package/rulesets/adr/generated/adr-dotnet-0071-net-data-access-strategy-ef-core-as-default-orm-dapper-for-o.rules.json +27 -0
- package/rulesets/adr/generated/adr-dotnet-0072-net-aop-cross-cutting-concern-strategy-dispatchproxy-over-pi.rules.json +29 -0
- package/rulesets/adr/generated/adr-nodejs-0003-strict-typescript-standards.rules.json +29 -0
- package/rulesets/adr/generated/adr-nodejs-0004-frontend-offline-resilience.rules.json +28 -0
- package/rulesets/adr/generated/adr-nodejs-0007-observability-with-opentelemetry-loki-and-jaeger.rules.json +29 -0
- package/rulesets/adr/generated/adr-nodejs-0008-progressive-multi-module-evolution-with-api-gateway-and-bff-.rules.json +28 -0
- package/rulesets/adr/generated/adr-nodejs-0012-advanced-authorization-rbac-abac-strategy.rules.json +28 -0
- package/rulesets/adr/generated/adr-nodejs-0021-high-performance-authentication-graph-compilation.rules.json +28 -0
- package/rulesets/adr/generated/adr-nodejs-0022-contextual-authentication-and-pluggable-output-projections.rules.json +28 -0
- package/rulesets/adr/generated/adr-nodejs-0023-centralized-authorization-core-strategy.rules.json +28 -0
- package/rulesets/adr/generated/adr-nodejs-0026-adaptive-mfa-and-passwordless-platform.rules.json +28 -0
- package/rulesets/adr/generated/adr-nodejs-0027-dual-protocol-api-strategy-rest-grpc.rules.json +28 -0
- package/rulesets/adr/generated/adr-nodejs-0029-adoption-of-tactical-ddd-primitives-library.rules.json +29 -0
- package/rulesets/adr/generated/adr-nodejs-0038-enterprise-error-handling-result-pattern-strategy.rules.json +29 -0
- package/rulesets/adr/generated/adr-nodejs-0043-data-access-and-orm-strategy-for-node-js.rules.json +29 -0
- package/rulesets/adr/generated/adr-nodejs-0044-frontend-clean-architecture-layer-boundaries-react.rules.json +29 -0
- package/rulesets/adr/generated/adr-nodejs-0045-frontend-state-management-zustand-tanstack-query-dual-strate.rules.json +29 -0
- package/rulesets/adr/generated/adr-nodejs-0046-prohibition-of-raw-technical-identifiers-in-user-interfaces.rules.json +29 -0
- package/rulesets/adr/generated/adr-nodejs-0047-actionable-user-error-contract-and-correlated-diagnostics.rules.json +29 -0
- package/rulesets/adr/generated/adr-nodejs-0048-feature-flag-system-scope-and-structured-criteria-model.rules.json +29 -0
- package/rulesets/adr/generated/adr-nodejs-0074-monorepo-orchestration-with-nx.rules.json +29 -0
- package/rulesets/adr/generated/adr-nodejs-0075-application-gateway-bff-with-nestjs.rules.json +29 -0
- package/rulesets/architecture/README.es.md +21 -0
- package/rulesets/architecture/README.md +21 -0
- package/rulesets/architecture/opa/progressive-axis.rego +50 -0
- package/rulesets/cli/README.es.md +17 -0
- package/rulesets/cli/README.md +17 -0
- package/rulesets/cli/core-parity.rules.json +61 -0
- package/rulesets/cli/release-readiness.rules.json +77 -0
- package/rulesets/compliance-baseline/README.es.md +26 -0
- package/rulesets/compliance-baseline/README.md +26 -0
- package/rulesets/compliance-baseline/compliance-baseline.rules.json +81 -0
- package/rulesets/contracts/README.es.md +19 -0
- package/rulesets/contracts/README.md +19 -0
- package/rulesets/contracts/evolith-machine-contracts.json +29 -0
- package/rulesets/contracts/fixtures/gate-evidence.success.json +10 -0
- package/rulesets/contracts/fixtures/output-envelope.success.json +23 -0
- package/rulesets/cross-cutting/README.es.md +14 -0
- package/rulesets/cross-cutting/README.md +14 -0
- package/rulesets/cross-cutting/compliance-baseline.rules.json +81 -0
- package/rulesets/cross-cutting/definition-of-done.rules.json +135 -0
- package/rulesets/cross-cutting/engineering-manifesto.rules.json +145 -0
- package/rulesets/cross-cutting/repository-taxonomy.rules.json +172 -0
- package/rulesets/definition-of-done/README.es.md +26 -0
- package/rulesets/definition-of-done/README.md +26 -0
- package/rulesets/definition-of-done/definition-of-done.rules.json +135 -0
- package/rulesets/engineering-manifesto/README.es.md +26 -0
- package/rulesets/engineering-manifesto/README.md +26 -0
- package/rulesets/engineering-manifesto/engineering-manifesto.rules.json +145 -0
- package/rulesets/evidence/README.es.md +12 -0
- package/rulesets/evidence/README.md +12 -0
- package/rulesets/evidence/evidence-manifest.rules.json +48 -0
- package/rulesets/executive-scorecards/executive-scorecards.rules.es.json +213 -0
- package/rulesets/executive-scorecards/executive-scorecards.rules.json +213 -0
- package/rulesets/governance/README.es.md +13 -0
- package/rulesets/governance/README.md +13 -0
- package/rulesets/governance/abac-mcp-access.rules.es.json +41 -0
- package/rulesets/governance/abac-mcp-access.rules.json +41 -0
- package/rulesets/governance/executive-scorecards.rules.es.json +213 -0
- package/rulesets/governance/executive-scorecards.rules.json +213 -0
- package/rulesets/governance/inheritance.rules.json +115 -0
- package/rulesets/governance/knowledge-intake.rules.json +18 -0
- package/rulesets/governance/open-core-boundary.rules.es.json +148 -0
- package/rulesets/governance/open-core-boundary.rules.json +148 -0
- package/rulesets/governance/satellite-contracts.rules.json +183 -0
- package/rulesets/infrastructure/helm-enforcement.rules.json +21 -0
- package/rulesets/infrastructure/opa/helm-enforcement.rego +25 -0
- package/rulesets/infrastructure/opa/helm-enforcement.test.rego +31 -0
- package/rulesets/infrastructure/opa/opa-sidecar-bundle.rego +115 -0
- package/rulesets/infrastructure/opa/opa-sidecar-bundle.test.rego +66 -0
- package/rulesets/infrastructure/opa-sidecar-bundle.rules.json +18 -0
- package/rulesets/mcp/README.es.md +12 -0
- package/rulesets/mcp/README.md +12 -0
- package/rulesets/mcp/protocol-compliance.rules.json +57 -0
- package/rulesets/observability/README.es.md +12 -0
- package/rulesets/observability/README.md +12 -0
- package/rulesets/observability/telemetry-evidence.rules.json +48 -0
- package/rulesets/opa/README.es.md +22 -0
- package/rulesets/opa/README.md +22 -0
- package/rulesets/opa/abac-mcp-tool-access.rego +122 -0
- package/rulesets/opa/abac-mcp-tool-access.test.rego +33 -0
- package/rulesets/opa/anti-corruption-layer.rego +39 -0
- package/rulesets/opa/anti-corruption-layer.test.rego +118 -0
- package/rulesets/opa/ci-cd.rego +41 -0
- package/rulesets/opa/ci-cd.test.rego +23 -0
- package/rulesets/opa/cicd-quality-gates.rego +29 -0
- package/rulesets/opa/cicd-quality-gates.test.rego +54 -0
- package/rulesets/opa/cli-core-parity.rego +17 -0
- package/rulesets/opa/cli-core-parity.test.rego +39 -0
- package/rulesets/opa/cli-readiness.rego +32 -0
- package/rulesets/opa/cli-readiness.test.rego +23 -0
- package/rulesets/opa/cli-release-readiness.rego +21 -0
- package/rulesets/opa/cli-release-readiness.test.rego +46 -0
- package/rulesets/opa/compliance-baseline.rego +95 -0
- package/rulesets/opa/compliance-baseline.test.rego +89 -0
- package/rulesets/opa/dod.rego +42 -0
- package/rulesets/opa/dod.test.rego +250 -0
- package/rulesets/opa/engineering-manifesto.rego +78 -0
- package/rulesets/opa/engineering-manifesto.test.rego +133 -0
- package/rulesets/opa/evidence.rego +64 -0
- package/rulesets/opa/evidence.test.rego +23 -0
- package/rulesets/opa/executive-scorecards.rego +41 -0
- package/rulesets/opa/executive-scorecards.test.rego +60 -0
- package/rulesets/opa/gitflow-branching.rego +41 -0
- package/rulesets/opa/gitflow-branching.test.rego +60 -0
- package/rulesets/opa/governance.rego +39 -0
- package/rulesets/opa/governance.test.rego +23 -0
- package/rulesets/opa/hexagonal-architecture.rego +33 -0
- package/rulesets/opa/hexagonal-architecture.test.rego +57 -0
- package/rulesets/opa/infrastructure/helm-enforcement.rego +33 -0
- package/rulesets/opa/infrastructure/opa-sidecar-bundle.rego +42 -0
- package/rulesets/opa/knowledge-intake.rego +98 -0
- package/rulesets/opa/knowledge-intake.test.rego +50 -0
- package/rulesets/opa/main.rego +147 -0
- package/rulesets/opa/main_test.rego +149 -0
- package/rulesets/opa/mcp.rego +61 -0
- package/rulesets/opa/mcp.test.rego +27 -0
- package/rulesets/opa/multi-runtime.rego +33 -0
- package/rulesets/opa/multi-runtime.test.rego +53 -0
- package/rulesets/opa/multi-tenancy.rego +33 -0
- package/rulesets/opa/multi-tenancy.test.rego +53 -0
- package/rulesets/opa/open-core-boundary.rego +33 -0
- package/rulesets/opa/open-core-boundary.test.rego +60 -0
- package/rulesets/opa/protocol-selection.rego +29 -0
- package/rulesets/opa/protocol-selection.test.rego +46 -0
- package/rulesets/opa/rbac/gate-role-enforcement.rego +112 -0
- package/rulesets/opa/repository-taxonomy.rego +98 -0
- package/rulesets/opa/repository-taxonomy.test.rego +91 -0
- package/rulesets/opa/satellite-contracts.rego +42 -0
- package/rulesets/opa/satellite-contracts.test.rego +70 -0
- package/rulesets/opa/schemas/abac-mcp-tool-access.input.schema.json +21 -0
- package/rulesets/opa/schemas/anti-corruption-layer.input.schema.json +25 -0
- package/rulesets/opa/schemas/ci-cd.input.schema.json +27 -0
- package/rulesets/opa/schemas/cicd-quality-gates.input.schema.json +33 -0
- package/rulesets/opa/schemas/cli-core-parity.input.schema.json +30 -0
- package/rulesets/opa/schemas/cli-readiness.input.schema.json +28 -0
- package/rulesets/opa/schemas/cli-release-readiness.input.schema.json +26 -0
- package/rulesets/opa/schemas/compliance-baseline.input.schema.json +25 -0
- package/rulesets/opa/schemas/dod.input.schema.json +38 -0
- package/rulesets/opa/schemas/engineering-manifesto.input.schema.json +24 -0
- package/rulesets/opa/schemas/evidence.input.schema.json +35 -0
- package/rulesets/opa/schemas/executive-scorecards.input.schema.json +36 -0
- package/rulesets/opa/schemas/gitflow-branching.input.schema.json +36 -0
- package/rulesets/opa/schemas/governance.input.schema.json +19 -0
- package/rulesets/opa/schemas/hexagonal-architecture.input.schema.json +46 -0
- package/rulesets/opa/schemas/knowledge-intake.input.schema.json +57 -0
- package/rulesets/opa/schemas/mcp.input.schema.json +38 -0
- package/rulesets/opa/schemas/multi-runtime.input.schema.json +27 -0
- package/rulesets/opa/schemas/multi-tenancy.input.schema.json +27 -0
- package/rulesets/opa/schemas/open-core-boundary.input.schema.json +36 -0
- package/rulesets/opa/schemas/protocol-selection.input.schema.json +26 -0
- package/rulesets/opa/schemas/repository-taxonomy.input.schema.json +18 -0
- package/rulesets/opa/schemas/satellite-contracts.input.schema.json +38 -0
- package/rulesets/opa/schemas/taxonomy.input.schema.json +27 -0
- package/rulesets/opa/schemas/testing-pyramid.input.schema.json +42 -0
- package/rulesets/opa/schemas/version-pinning.input.schema.json +39 -0
- package/rulesets/opa/sdlc/coverage.rego +49 -0
- package/rulesets/opa/sdlc/coverage.test.rego +29 -0
- package/rulesets/opa/sdlc/pyramid-distribution.rego +31 -0
- package/rulesets/opa/sdlc/pyramid-distribution.test.rego +33 -0
- package/rulesets/opa/taxonomy.rego +51 -0
- package/rulesets/opa/taxonomy.test.rego +28 -0
- package/rulesets/opa/telemetry-evidence.rego +102 -0
- package/rulesets/opa/testing-pyramid.rego +49 -0
- package/rulesets/opa/testing-pyramid.test.rego +81 -0
- package/rulesets/opa/version-pinning.rego +99 -0
- package/rulesets/opa/version-pinning.test.rego +28 -0
- package/rulesets/phase-gates/README.es.md +28 -0
- package/rulesets/phase-gates/README.md +28 -0
- package/rulesets/phase-gates/phase-gates.rules.json +297 -0
- package/rulesets/quality-thresholds/README.es.md +28 -0
- package/rulesets/quality-thresholds/README.md +28 -0
- package/rulesets/quality-thresholds/quality-thresholds.rules.json +96 -0
- package/rulesets/repository-taxonomy/README.es.md +26 -0
- package/rulesets/repository-taxonomy/README.md +26 -0
- package/rulesets/repository-taxonomy/repository-taxonomy.rules.json +172 -0
- package/rulesets/satellite-contracts/README.es.md +27 -0
- package/rulesets/satellite-contracts/README.md +27 -0
- package/rulesets/satellite-contracts/satellite-contracts.rules.json +183 -0
- package/rulesets/schema/README.es.md +39 -0
- package/rulesets/schema/README.md +39 -0
- package/rulesets/schema/adr.schema.json +138 -0
- package/rulesets/schema/agile-backlog.schema.json +91 -0
- package/rulesets/schema/ballpark-estimation.schema.json +109 -0
- package/rulesets/schema/build-vs-compose.schema.json +98 -0
- package/rulesets/schema/cli-impact-analysis.schema.json +114 -0
- package/rulesets/schema/discovery-canvas.schema.json +92 -0
- package/rulesets/schema/evolith-user-story.schema.json +105 -0
- package/rulesets/schema/evolith-yaml.schema.json +191 -0
- package/rulesets/schema/functional-story.schema.json +111 -0
- package/rulesets/schema/gate-evidence.schema.json +85 -0
- package/rulesets/schema/integration-evidence.schema.json +47 -0
- package/rulesets/schema/knowledge-intake.schema.json +67 -0
- package/rulesets/schema/knowledge-projection.schema.json +24 -0
- package/rulesets/schema/maturity-evidence.schema.json +59 -0
- package/rulesets/schema/observability-validation.schema.json +85 -0
- package/rulesets/schema/on-call-handoff.schema.json +91 -0
- package/rulesets/schema/output-envelope.schema.json +102 -0
- package/rulesets/schema/prd.schema.json +117 -0
- package/rulesets/schema/release-notes.schema.json +138 -0
- package/rulesets/schema/rollback-rehearsal.schema.json +73 -0
- package/rulesets/schema/ruleset-sdlc.schema.json +59 -0
- package/rulesets/schema/ruleset-standard.schema.json +73 -0
- package/rulesets/schema/security-scan-report.schema.json +79 -0
- package/rulesets/schema/source-registry.schema.json +51 -0
- package/rulesets/schema/technical-feasibility.schema.json +66 -0
- package/rulesets/schema/technical-story.schema.json +112 -0
- package/rulesets/schema/test-summary-report.schema.json +158 -0
- package/rulesets/schema/topology-composition.schema.json +43 -0
- package/rulesets/schema/topology-manifest.schema.json +421 -0
- package/rulesets/sdlc/README.es.md +12 -0
- package/rulesets/sdlc/README.md +12 -0
- package/rulesets/sdlc/default-workflow.yaml +73 -0
- package/rulesets/sdlc/dependency-pinning.rules.json +183 -0
- package/rulesets/sdlc/phase-gates.rules.json +297 -0
- package/rulesets/sdlc/quality-thresholds.rules.json +96 -0
- package/rulesets/topologies/README.es.md +42 -0
- package/rulesets/topologies/README.md +42 -0
- package/rulesets/topologies/agentic-ai/README.es.md +142 -0
- package/rulesets/topologies/agentic-ai/README.md +142 -0
- package/rulesets/topologies/agentic-ai/adoption.es.md +37 -0
- package/rulesets/topologies/agentic-ai/adoption.md +37 -0
- package/rulesets/topologies/agentic-ai/agent.config.schema.json +100 -0
- package/rulesets/topologies/agentic-ai/agentic-ai.rego +46 -0
- package/rulesets/topologies/agentic-ai/agentic-ai.rules.json +109 -0
- package/rulesets/topologies/agentic-ai/agentic-ai.test.rego +68 -0
- package/rulesets/topologies/agentic-ai/agentic-ai.wasm +0 -0
- package/rulesets/topologies/agentic-ai/cli/cli-flows.es.md +35 -0
- package/rulesets/topologies/agentic-ai/cli/cli-flows.md +45 -0
- package/rulesets/topologies/agentic-ai/evidence.es.md +25 -0
- package/rulesets/topologies/agentic-ai/evidence.md +25 -0
- package/rulesets/topologies/agentic-ai/evolution.es.md +26 -0
- package/rulesets/topologies/agentic-ai/evolution.md +26 -0
- package/rulesets/topologies/agentic-ai/fixtures/invalid-agent.config.json +48 -0
- package/rulesets/topologies/agentic-ai/fixtures/valid-agent.config.json +48 -0
- package/rulesets/topologies/agentic-ai/maturity.es.md +33 -0
- package/rulesets/topologies/agentic-ai/maturity.md +33 -0
- package/rulesets/topologies/agentic-ai/mcp/mcp-manifest.json +100 -0
- package/rulesets/topologies/agentic-ai/openapi/openapi.yaml +187 -0
- package/rulesets/topologies/agentic-ai/operations.es.md +32 -0
- package/rulesets/topologies/agentic-ai/operations.md +32 -0
- package/rulesets/topologies/agentic-ai/parity-fixtures/compliant.json +18 -0
- package/rulesets/topologies/agentic-ai/parity-fixtures/violation.json +22 -0
- package/rulesets/topologies/agentic-ai/patterns.es.md +32 -0
- package/rulesets/topologies/agentic-ai/patterns.md +32 -0
- package/rulesets/topologies/agentic-ai/resilience.es.md +26 -0
- package/rulesets/topologies/agentic-ai/resilience.md +26 -0
- package/rulesets/topologies/agentic-ai/runbooks.es.md +48 -0
- package/rulesets/topologies/agentic-ai/runbooks.md +48 -0
- package/rulesets/topologies/agentic-ai/security.es.md +26 -0
- package/rulesets/topologies/agentic-ai/security.md +26 -0
- package/rulesets/topologies/agentic-ai/topology.manifest.json +127 -0
- package/rulesets/topologies/data-mesh/README.es.md +69 -0
- package/rulesets/topologies/data-mesh/README.md +69 -0
- package/rulesets/topologies/data-mesh/adoption.es.md +95 -0
- package/rulesets/topologies/data-mesh/adoption.md +95 -0
- package/rulesets/topologies/data-mesh/cli/cli-flows.es.md +41 -0
- package/rulesets/topologies/data-mesh/cli/cli-flows.md +53 -0
- package/rulesets/topologies/data-mesh/data-mesh.rego +11 -0
- package/rulesets/topologies/data-mesh/data-mesh.rules.json +100 -0
- package/rulesets/topologies/data-mesh/data-mesh.test.rego +107 -0
- package/rulesets/topologies/data-mesh/data-mesh.wasm +0 -0
- package/rulesets/topologies/data-mesh/evidence.es.md +111 -0
- package/rulesets/topologies/data-mesh/evidence.md +111 -0
- package/rulesets/topologies/data-mesh/evolution.es.md +67 -0
- package/rulesets/topologies/data-mesh/evolution.md +67 -0
- package/rulesets/topologies/data-mesh/fixtures/invalid.topology.config.json +12 -0
- package/rulesets/topologies/data-mesh/fixtures/valid.topology.config.json +12 -0
- package/rulesets/topologies/data-mesh/maturity.es.md +36 -0
- package/rulesets/topologies/data-mesh/maturity.md +36 -0
- package/rulesets/topologies/data-mesh/mcp/mcp-manifest.json +68 -0
- package/rulesets/topologies/data-mesh/openapi/openapi.yaml +186 -0
- package/rulesets/topologies/data-mesh/operations.es.md +63 -0
- package/rulesets/topologies/data-mesh/operations.md +63 -0
- package/rulesets/topologies/data-mesh/parity-fixtures/compliant.json +18 -0
- package/rulesets/topologies/data-mesh/parity-fixtures/violation.json +21 -0
- package/rulesets/topologies/data-mesh/patterns.es.md +67 -0
- package/rulesets/topologies/data-mesh/patterns.md +67 -0
- package/rulesets/topologies/data-mesh/resilience.es.md +64 -0
- package/rulesets/topologies/data-mesh/resilience.md +64 -0
- package/rulesets/topologies/data-mesh/runbooks.es.md +147 -0
- package/rulesets/topologies/data-mesh/runbooks.md +147 -0
- package/rulesets/topologies/data-mesh/security.es.md +66 -0
- package/rulesets/topologies/data-mesh/security.md +66 -0
- package/rulesets/topologies/data-mesh/topology.config.schema.json +30 -0
- package/rulesets/topologies/data-mesh/topology.manifest.json +107 -0
- package/rulesets/topologies/edge-computing/README.es.md +81 -0
- package/rulesets/topologies/edge-computing/README.md +81 -0
- package/rulesets/topologies/edge-computing/adoption.es.md +268 -0
- package/rulesets/topologies/edge-computing/adoption.md +268 -0
- package/rulesets/topologies/edge-computing/cli/cli-flows.es.md +41 -0
- package/rulesets/topologies/edge-computing/cli/cli-flows.md +53 -0
- package/rulesets/topologies/edge-computing/edge-computing.rego +41 -0
- package/rulesets/topologies/edge-computing/edge-computing.rules.json +50 -0
- package/rulesets/topologies/edge-computing/edge-computing.test.rego +33 -0
- package/rulesets/topologies/edge-computing/edge-computing.wasm +0 -0
- package/rulesets/topologies/edge-computing/evidence.es.md +263 -0
- package/rulesets/topologies/edge-computing/evidence.md +263 -0
- package/rulesets/topologies/edge-computing/evolution.es.md +257 -0
- package/rulesets/topologies/edge-computing/evolution.md +257 -0
- package/rulesets/topologies/edge-computing/fixtures/invalid.topology.config.json +6 -0
- package/rulesets/topologies/edge-computing/fixtures/valid.topology.config.json +6 -0
- package/rulesets/topologies/edge-computing/maturity.es.md +36 -0
- package/rulesets/topologies/edge-computing/maturity.md +36 -0
- package/rulesets/topologies/edge-computing/mcp/mcp-manifest.json +72 -0
- package/rulesets/topologies/edge-computing/openapi/openapi.yaml +187 -0
- package/rulesets/topologies/edge-computing/operations.es.md +148 -0
- package/rulesets/topologies/edge-computing/operations.md +148 -0
- package/rulesets/topologies/edge-computing/parity-fixtures/compliant.json +12 -0
- package/rulesets/topologies/edge-computing/parity-fixtures/violation.json +13 -0
- package/rulesets/topologies/edge-computing/patterns.es.md +291 -0
- package/rulesets/topologies/edge-computing/patterns.md +290 -0
- package/rulesets/topologies/edge-computing/resilience.es.md +232 -0
- package/rulesets/topologies/edge-computing/resilience.md +229 -0
- package/rulesets/topologies/edge-computing/runbooks.es.md +405 -0
- package/rulesets/topologies/edge-computing/runbooks.md +405 -0
- package/rulesets/topologies/edge-computing/security.es.md +218 -0
- package/rulesets/topologies/edge-computing/security.md +218 -0
- package/rulesets/topologies/edge-computing/topology.config.schema.json +13 -0
- package/rulesets/topologies/edge-computing/topology.manifest.json +113 -0
- package/rulesets/topologies/event-driven/README.es.md +71 -0
- package/rulesets/topologies/event-driven/README.md +71 -0
- package/rulesets/topologies/event-driven/adoption.es.md +67 -0
- package/rulesets/topologies/event-driven/adoption.md +67 -0
- package/rulesets/topologies/event-driven/cli/cli-flows.es.md +41 -0
- package/rulesets/topologies/event-driven/cli/cli-flows.md +53 -0
- package/rulesets/topologies/event-driven/event-driven.rego +11 -0
- package/rulesets/topologies/event-driven/event-driven.rules.json +100 -0
- package/rulesets/topologies/event-driven/event-driven.test.rego +107 -0
- package/rulesets/topologies/event-driven/event-driven.wasm +0 -0
- package/rulesets/topologies/event-driven/evidence.es.md +69 -0
- package/rulesets/topologies/event-driven/evidence.md +69 -0
- package/rulesets/topologies/event-driven/evolution.es.md +59 -0
- package/rulesets/topologies/event-driven/evolution.md +59 -0
- package/rulesets/topologies/event-driven/fixtures/invalid.topology.config.json +12 -0
- package/rulesets/topologies/event-driven/fixtures/valid.topology.config.json +12 -0
- package/rulesets/topologies/event-driven/maturity.es.md +36 -0
- package/rulesets/topologies/event-driven/maturity.md +36 -0
- package/rulesets/topologies/event-driven/mcp/mcp-manifest.json +68 -0
- package/rulesets/topologies/event-driven/openapi/openapi.yaml +186 -0
- package/rulesets/topologies/event-driven/operations.es.md +67 -0
- package/rulesets/topologies/event-driven/operations.md +67 -0
- package/rulesets/topologies/event-driven/parity-fixtures/compliant.json +18 -0
- package/rulesets/topologies/event-driven/parity-fixtures/violation.json +21 -0
- package/rulesets/topologies/event-driven/patterns.es.md +68 -0
- package/rulesets/topologies/event-driven/patterns.md +68 -0
- package/rulesets/topologies/event-driven/resilience.es.md +65 -0
- package/rulesets/topologies/event-driven/resilience.md +65 -0
- package/rulesets/topologies/event-driven/runbooks.es.md +79 -0
- package/rulesets/topologies/event-driven/runbooks.md +79 -0
- package/rulesets/topologies/event-driven/security.es.md +59 -0
- package/rulesets/topologies/event-driven/security.md +59 -0
- package/rulesets/topologies/event-driven/topology.config.schema.json +30 -0
- package/rulesets/topologies/event-driven/topology.manifest.json +109 -0
- package/rulesets/topologies/progressive-axis/distributed-modules/distributed-modules.rules.es.json +111 -0
- package/rulesets/topologies/progressive-axis/distributed-modules/distributed-modules.rules.json +111 -0
- package/rulesets/topologies/progressive-axis/microservices/microservices.rules.es.json +106 -0
- package/rulesets/topologies/progressive-axis/microservices/microservices.rules.json +106 -0
- package/rulesets/topologies/progressive-axis/modular-monolith/modular-monolith.rules.es.json +148 -0
- package/rulesets/topologies/progressive-axis/modular-monolith/modular-monolith.rules.json +148 -0
- package/rulesets/topologies/serverless/README.es.md +74 -0
- package/rulesets/topologies/serverless/README.md +74 -0
- package/rulesets/topologies/serverless/adoption.es.md +50 -0
- package/rulesets/topologies/serverless/adoption.md +50 -0
- package/rulesets/topologies/serverless/cli/cli-flows.es.md +41 -0
- package/rulesets/topologies/serverless/cli/cli-flows.md +53 -0
- package/rulesets/topologies/serverless/evidence.es.md +66 -0
- package/rulesets/topologies/serverless/evidence.md +66 -0
- package/rulesets/topologies/serverless/evolution.es.md +36 -0
- package/rulesets/topologies/serverless/evolution.md +36 -0
- package/rulesets/topologies/serverless/fixtures/invalid.topology.config.json +6 -0
- package/rulesets/topologies/serverless/fixtures/valid.topology.config.json +6 -0
- package/rulesets/topologies/serverless/maturity.es.md +36 -0
- package/rulesets/topologies/serverless/maturity.md +36 -0
- package/rulesets/topologies/serverless/mcp/mcp-manifest.json +72 -0
- package/rulesets/topologies/serverless/openapi/openapi.yaml +186 -0
- package/rulesets/topologies/serverless/operations.es.md +36 -0
- package/rulesets/topologies/serverless/operations.md +36 -0
- package/rulesets/topologies/serverless/parity-fixtures/compliant.json +13 -0
- package/rulesets/topologies/serverless/parity-fixtures/violation.json +15 -0
- package/rulesets/topologies/serverless/patterns.es.md +36 -0
- package/rulesets/topologies/serverless/patterns.md +36 -0
- package/rulesets/topologies/serverless/resilience.es.md +36 -0
- package/rulesets/topologies/serverless/resilience.md +36 -0
- package/rulesets/topologies/serverless/runbooks.es.md +68 -0
- package/rulesets/topologies/serverless/runbooks.md +68 -0
- package/rulesets/topologies/serverless/security.es.md +36 -0
- package/rulesets/topologies/serverless/security.md +36 -0
- package/rulesets/topologies/serverless/serverless.rego +32 -0
- package/rulesets/topologies/serverless/serverless.rules.json +33 -0
- package/rulesets/topologies/serverless/serverless.test.rego +28 -0
- package/rulesets/topologies/serverless/serverless.wasm +0 -0
- package/rulesets/topologies/serverless/topology.config.schema.json +28 -0
- package/rulesets/topologies/serverless/topology.manifest.json +114 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0030-two-tier-distributed-gateway-model.rules.json",
|
|
4
|
+
"title": "ADR-0030 — Two-Tier Distributed Gateway Model Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0030 (core track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0030",
|
|
8
|
+
"adrTitle": "Two-Tier Distributed Gateway Model",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-10",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0030-01",
|
|
14
|
+
"severity": "SHOULD",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Honor design decision in ADR-0030: Two-Tier Distributed Gateway Model",
|
|
17
|
+
"description": "Design and implementation SHOULD honor the decision recorded in ADR-0030 (core track). ADR decision: Adopt a Two Tier Distributed Gateway Model to cleanly separate concerns: 1. Tier 1 Edge Gateway : High throughput barrier. Sits on the literal public cluster perimeter. Manages only non functional transversal rules: SSL, API key throttling, simple JWT origin signature validation, path forwarding, and WAF rules. Manual attestation required — not machine-verifiable.",
|
|
18
|
+
"statement": "ADR decision: Adopt a Two Tier Distributed Gateway Model to cleanly separate concerns: 1. Tier 1 Edge Gateway : High throughput barrier. Sits on the literal public cluster perimeter. Manages only non functional transversal rules: SSL, API key throttling, simple JWT origin signature validation, path forwarding, and WAF rules.",
|
|
19
|
+
"rationale": "Derived from ADR-0030 \"Decision\" section. No machine-verifiable signals detected; treated as an advisory design decision.",
|
|
20
|
+
"blocking": false,
|
|
21
|
+
"enforcement": "advisory"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"references": [
|
|
25
|
+
"reference/architecture/adrs/core/0030-two-tier-distributed-gateway-model.md"
|
|
26
|
+
],
|
|
27
|
+
"effectiveDate": "2026-05-10"
|
|
28
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0031-schema-per-bounded-context-and-domain-event-catalog.rules.json",
|
|
4
|
+
"title": "ADR-0031 — Schema-per-Bounded-Context and Domain Event Catalog Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0031 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0031",
|
|
8
|
+
"adrTitle": "Schema-per-Bounded-Context and Domain Event Catalog",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-11",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0031-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0031: Schema-per-Bounded-Context and Domain Event Catalog",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0031 (core track). ADR decision: Each bounded context will own a dedicated PostgreSQL schema . All tables belonging to a context must be created within its schema. Cross schema joins within the monolith remain permitted (same DB connection), but must be treated as integration contracts, not implementation details. This ADR contains enforceable language (must, dependencies, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Each bounded context will own a dedicated PostgreSQL schema . All tables belonging to a context must be created within its schema. Cross schema joins within the monolith remain permitted (same DB connection), but must be treated as integration contracts, not implementation details.",
|
|
19
|
+
"rationale": "Derived from ADR-0031 \"Decision\" section. Enforcement signals detected: must, dependencies, structure.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0031 via static analysis, lint rules, or pipeline gates covering: must, dependencies, structure. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0031-schema-per-context-domain-event-catalog.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-11"
|
|
29
|
+
}
|
package/rulesets/adr/generated/adr-0033-transactional-outbox-pattern-for-async-messaging.rules.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0033-transactional-outbox-pattern-for-async-messaging.rules.json",
|
|
4
|
+
"title": "ADR-0033 — Transactional Outbox Pattern for Async Messaging Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0033 (core track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0033",
|
|
8
|
+
"adrTitle": "Transactional Outbox Pattern for Async Messaging",
|
|
9
|
+
"status": "Proposed (Approved via Maturity Roadmap)",
|
|
10
|
+
"date": "2026-05-11",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0033-01",
|
|
14
|
+
"severity": "SHOULD",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Honor design decision in ADR-0033: Transactional Outbox Pattern for Async Messaging",
|
|
17
|
+
"description": "Design and implementation SHOULD honor the decision recorded in ADR-0033 (core track). ADR decision: Formally adopt the Transactional Outbox Pattern to guarantee atomic state propagation between the relational store and async event channels: 1. Outbox Table : Every bounded context includes an outbox events table inside its isolated PostgreSQL schema. Manual attestation required — not machine-verifiable.",
|
|
18
|
+
"statement": "ADR decision: Formally adopt the Transactional Outbox Pattern to guarantee atomic state propagation between the relational store and async event channels: 1. Outbox Table : Every bounded context includes an outbox events table inside its isolated PostgreSQL schema.",
|
|
19
|
+
"rationale": "Derived from ADR-0033 \"Decision\" section. No machine-verifiable signals detected; treated as an advisory design decision.",
|
|
20
|
+
"blocking": false,
|
|
21
|
+
"enforcement": "advisory"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"references": [
|
|
25
|
+
"reference/architecture/adrs/core/0033-transactional-outbox-pattern.md"
|
|
26
|
+
],
|
|
27
|
+
"effectiveDate": "2026-05-11"
|
|
28
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0034-cqrs-pattern-application-matrix.rules.json",
|
|
4
|
+
"title": "ADR-0034 — CQRS Pattern Application Matrix Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0034 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0034",
|
|
8
|
+
"adrTitle": "CQRS Pattern Application Matrix",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-11",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0034-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0034: CQRS Pattern Application Matrix",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0034 (core track). ADR decision: Adopt the following Evaluation Matrix to determine if a specific Use Case requires Full CQRS enforcement: Criteria : Basic CRUD operations, simple state changes, low to medium concurrent access. This ADR contains enforceable language (must, required, enforce); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Adopt the following Evaluation Matrix to determine if a specific Use Case requires Full CQRS enforcement: Criteria : Basic CRUD operations, simple state changes, low to medium concurrent access.",
|
|
19
|
+
"rationale": "Derived from ADR-0034 \"Decision\" section. Enforcement signals detected: must, required, enforce.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0034 via static analysis, lint rules, or pipeline gates covering: must, required, enforce. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0034-cqrs-pattern-applicability-matrix.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-11"
|
|
29
|
+
}
|
package/rulesets/adr/generated/adr-0035-distributed-saga-pattern-implementation-strategy.rules.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0035-distributed-saga-pattern-implementation-strategy.rules.json",
|
|
4
|
+
"title": "ADR-0035 — Distributed Saga Pattern Implementation Strategy Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0035 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0035",
|
|
8
|
+
"adrTitle": "Distributed Saga Pattern Implementation Strategy",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-11",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0035-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0035: Distributed Saga Pattern Implementation Strategy",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0035 (core track). ADR decision: Adopt the following corporate matrix to define the implementation strategy for long running or multi service transactions: Before deploying a Saga, verify if the business process can be contained within a Single Bounded Context . This ADR contains enforceable language (must, required); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Adopt the following corporate matrix to define the implementation strategy for long running or multi service transactions: Before deploying a Saga, verify if the business process can be contained within a Single Bounded Context .",
|
|
19
|
+
"rationale": "Derived from ADR-0035 \"Decision\" section. Enforcement signals detected: must, required.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0035 via static analysis, lint rules, or pipeline gates covering: must, required. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0035-distributed-saga-pattern-strategy.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-11"
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0036-message-bus-delivery-flow-control-strategy.rules.json",
|
|
4
|
+
"title": "ADR-0036 — Message Bus Delivery & Flow Control Strategy Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0036 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0036",
|
|
8
|
+
"adrTitle": "Message Bus Delivery & Flow Control Strategy",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-11",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0036-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0036: Message Bus Delivery & Flow Control Strategy",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0036 (core track). ADR decision: Adopt the following Event Delivery Decision Framework mapping business context to infrastructure queue behaviors: Definition : Asynchronous processing with no guarantee of order, maximum horizontal consumer parallelism. This ADR contains enforceable language (must, required, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Adopt the following Event Delivery Decision Framework mapping business context to infrastructure queue behaviors: Definition : Asynchronous processing with no guarantee of order, maximum horizontal consumer parallelism.",
|
|
19
|
+
"rationale": "Derived from ADR-0036 \"Decision\" section. Enforcement signals detected: must, required, structure.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0036 via static analysis, lint rules, or pipeline gates covering: must, required, structure. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0036-message-bus-delivery-strategy-fifo-dlq.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-11"
|
|
29
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0037-enterprise-performance-concurrency-chaos-verification-strate.rules.json",
|
|
4
|
+
"title": "ADR-0037 — Enterprise Performance, Concurrency & Chaos Verification Strategy Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0037 (core track). Classification: advisory. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0037",
|
|
8
|
+
"adrTitle": "Enterprise Performance, Concurrency & Chaos Verification Strategy",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-11",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0037-01",
|
|
14
|
+
"severity": "SHOULD",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Honor design decision in ADR-0037: Enterprise Performance, Concurrency & Chaos Verification Strategy",
|
|
17
|
+
"description": "Design and implementation SHOULD honor the decision recorded in ADR-0037 (core track). ADR decision: Establish the Strategic Verification Framework for performance, load, and operational resilience: Load & Performance Testing : k6 (Grafana). Mandatory due to its TypeScript native scripting, low footprint, and deep integration with OTel tracing metrics. Manual attestation required — not machine-verifiable.",
|
|
18
|
+
"statement": "ADR decision: Establish the Strategic Verification Framework for performance, load, and operational resilience: Load & Performance Testing : k6 (Grafana). Mandatory due to its TypeScript native scripting, low footprint, and deep integration with OTel tracing metrics.",
|
|
19
|
+
"rationale": "Derived from ADR-0037 \"Decision\" section. No machine-verifiable signals detected; treated as an advisory design decision.",
|
|
20
|
+
"blocking": false,
|
|
21
|
+
"enforcement": "advisory"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"references": [
|
|
25
|
+
"reference/architecture/adrs/core/0037-performance-concurrency-chaos-strategy.md"
|
|
26
|
+
],
|
|
27
|
+
"effectiveDate": "2026-05-11"
|
|
28
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0039-deployment-topology-abstraction-environment-switcher.rules.json",
|
|
4
|
+
"title": "ADR-0039 — Deployment Topology Abstraction & Environment Switcher Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0039 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0039",
|
|
8
|
+
"adrTitle": "Deployment Topology Abstraction & Environment Switcher",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-11",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0039-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0039: Deployment Topology Abstraction & Environment Switcher",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0039 (core track). ADR decision: We decree a Strict Factory Driven Abstraction strategy for deployment switching: 1. Unified Environment Selector : Introduce a mandatory environment variable DEPLOYMENT TOPOLOGY with enum values [SAAS CLOUD, ON PREMISE ISOLATED] . This ADR contains enforceable language (must not, must, dependency); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: We decree a Strict Factory Driven Abstraction strategy for deployment switching: 1. Unified Environment Selector : Introduce a mandatory environment variable DEPLOYMENT TOPOLOGY with enum values [SAAS CLOUD, ON PREMISE ISOLATED] .",
|
|
19
|
+
"rationale": "Derived from ADR-0039 \"Decision\" section. Enforcement signals detected: must not, must, dependency.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0039 via static analysis, lint rules, or pipeline gates covering: must not, must, dependency. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0039-deployment-topology-abstraction-switcher.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-11"
|
|
29
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0041-dual-engine-policy-evaluation-native-opa.rules.json",
|
|
4
|
+
"title": "ADR-0041 — Dual-Engine Policy Evaluation (Native + OPA) Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0041 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0041",
|
|
8
|
+
"adrTitle": "Dual-Engine Policy Evaluation (Native + OPA)",
|
|
9
|
+
"status": "Accepted",
|
|
10
|
+
"date": "",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0041-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0041: Dual-Engine Policy Evaluation (Native + OPA)",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0041 (core track). ADR decision: We will implement a Dual Engine Policy Evaluation Strategy using a Strategy Pattern ( IRuleEvaluatorStrategy ). 1. Native Engine (TypeScript) : Maintains the existing custom logic for baseline rules. This ADR contains enforceable language (must, dependencies, ci/cd); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: We will implement a Dual Engine Policy Evaluation Strategy using a Strategy Pattern ( IRuleEvaluatorStrategy ). 1. Native Engine (TypeScript) : Maintains the existing custom logic for baseline rules.",
|
|
19
|
+
"rationale": "Derived from ADR-0041 \"Decision\" section. Enforcement signals detected: must, dependencies, ci/cd.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0041 via static analysis, lint rules, or pipeline gates covering: must, dependencies, ci/cd. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0041-dual-engine-policy-evaluation.md"
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0044-configurable-security-persistence-strategy-agnosticism-vs-na.rules.json",
|
|
4
|
+
"title": "ADR-0044 — Configurable Security Persistence Strategy (Agnosticism vs. Native RLS) Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0044 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0044",
|
|
8
|
+
"adrTitle": "Configurable Security Persistence Strategy (Agnosticism vs. Native RLS)",
|
|
9
|
+
"status": "Proposed",
|
|
10
|
+
"date": "2026-05-12",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0044-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0044: Configurable Security Persistence Strategy (Agnosticism vs. Native RLS)",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0044 (core track). ADR decision: Adopt a Configurable Persistence Strategy utilizing the Strategy Pattern in the Infrastructure layer. The active approach will be determined at system bootstrap by a structural configuration flag ( SECURITY STRATEGY MODE ). This ADR contains enforceable language (layer, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Adopt a Configurable Persistence Strategy utilizing the Strategy Pattern in the Infrastructure layer. The active approach will be determined at system bootstrap by a structural configuration flag ( SECURITY STRATEGY MODE ).",
|
|
19
|
+
"rationale": "Derived from ADR-0044 \"Decision\" section. Enforcement signals detected: layer, structure.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0044 via static analysis, lint rules, or pipeline gates covering: layer, structure. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0044-configurable-security-persistence-strategy.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-12"
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0045-microservice-extraction-readiness-criteria.rules.json",
|
|
4
|
+
"title": "ADR-0045 — Microservice Extraction Readiness Criteria Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0045 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0045",
|
|
8
|
+
"adrTitle": "Microservice Extraction Readiness Criteria",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-12",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0045-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0045: Microservice Extraction Readiness Criteria",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0045 (core track). ADR decision: Formalize the \"2 out of 4\" rule as the mandatory quantitative trigger for extracting a Bounded Context into an independent service. This ADR contains enforceable language (must, ci/cd, threshold); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Formalize the \"2 out of 4\" rule as the mandatory quantitative trigger for extracting a Bounded Context into an independent service.",
|
|
19
|
+
"rationale": "Derived from ADR-0045 \"Decision\" section. Enforcement signals detected: must, ci/cd, threshold.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0045 via static analysis, lint rules, or pipeline gates covering: must, ci/cd, threshold. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0045-microservice-extraction-readiness-criteria.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-12"
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0046-unified-traceability-via-w3c-tracecontext.rules.json",
|
|
4
|
+
"title": "ADR-0046 — Unified Traceability via W3C TraceContext Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0046 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0046",
|
|
8
|
+
"adrTitle": "Unified Traceability via W3C TraceContext",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-12",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0046-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0046: Unified Traceability via W3C TraceContext",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0046 (core track). ADR decision: We hereby mandate the absolute unification of infrastructure and application telemetry governed by the following engineering directives: 1. Correlation Unification (Pivot to W3C) : The application MUST deprecate manual correlation identifier generation . This ADR contains enforceable language (must, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: We hereby mandate the absolute unification of infrastructure and application telemetry governed by the following engineering directives: 1. Correlation Unification (Pivot to W3C) : The application MUST deprecate manual correlation identifier generation .",
|
|
19
|
+
"rationale": "Derived from ADR-0046 \"Decision\" section. Enforcement signals detected: must, structure.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0046 via static analysis, lint rules, or pipeline gates covering: must, structure. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0046-unified-observability-tracecontext.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-12"
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0047-progressive-architecture-evolution-framework-modular-monolit.rules.json",
|
|
4
|
+
"title": "ADR-0047 — Progressive Architecture Evolution Framework: Modular Monolith → Microservices Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0047 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0047",
|
|
8
|
+
"adrTitle": "Progressive Architecture Evolution Framework: Modular Monolith → Microservices",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-12",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0047-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0047: Progressive Architecture Evolution Framework: Modular Monolith → Microservices",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0047 (core track). ADR decision: mermaid graph TD A[Is this a new product or MVP?] B[Modular Monolith — Phase 1] B C{Do at least 2 of 4\\nADR 0045 criteria hold\\nfor 15 sustained days?} C B C D[Extract Bounded Context → Microservice] A E{Does the team have\\nproven DevOps maturity?} E F[Refactor first as\\nModular Monolith] F C E D A G[See Section 8 — E… This ADR contains enforceable language (must, ci/cd); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: mermaid graph TD A[Is this a new product or MVP?] B[Modular Monolith — Phase 1] B C{Do at least 2 of 4\\nADR 0045 criteria hold\\nfor 15 sustained days?} C B C D[Extract Bounded Context → Microservice] A E{Does the team have\\nproven DevOps maturity?} E F[Refactor first as\\nModular Monolith] F C E D A G[See Section 8 — E…",
|
|
19
|
+
"rationale": "Derived from ADR-0047 \"Decision\" section. Enforcement signals detected: must, ci/cd.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0047 via static analysis, lint rules, or pipeline gates covering: must, ci/cd. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0047-architectural-patterns-monolith-soa-microservices.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-12"
|
|
29
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0048-enterprise-taxonomy-standardization-and-reference-layout.rules.json",
|
|
4
|
+
"title": "ADR-0048 — Enterprise Taxonomy Standardization and Reference Layout Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0048 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0048",
|
|
8
|
+
"adrTitle": "Enterprise Taxonomy Standardization and Reference Layout",
|
|
9
|
+
"status": "Accepted",
|
|
10
|
+
"date": "",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0048-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0048: Enterprise Taxonomy Standardization and Reference Layout",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0048 (core track). ADR decision: It has been decided to adopt and enforce the Enterprise Taxonomy and Repository Structuring Policy as a global, immutable, and inheritable standard for this repository and all satellite ecosystems. This ADR contains enforceable language (must, naming, structure, enforce); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: It has been decided to adopt and enforce the Enterprise Taxonomy and Repository Structuring Policy as a global, immutable, and inheritable standard for this repository and all satellite ecosystems.",
|
|
19
|
+
"rationale": "Derived from ADR-0048 \"Decision\" section. Enforcement signals detected: must, naming, structure, enforce.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0048 via static analysis, lint rules, or pipeline gates covering: must, naming, structure, enforce. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0048-enterprise-taxonomy-reference-layout.md"
|
|
27
|
+
]
|
|
28
|
+
}
|
package/rulesets/adr/generated/adr-0049-naming-semantics-clean-code-policy-e2e-and-global.rules.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0049-naming-semantics-clean-code-policy-e2e-and-global.rules.json",
|
|
4
|
+
"title": "ADR-0049 — Naming Semantics & Clean Code Policy (E2E and Global) Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0049 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0049",
|
|
8
|
+
"adrTitle": "Naming Semantics & Clean Code Policy (E2E and Global)",
|
|
9
|
+
"status": "Accepted",
|
|
10
|
+
"date": "2026-05-13",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0049-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0049: Naming Semantics & Clean Code Policy (E2E and Global)",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0049 (core track). ADR decision: Compliance with Clean Code standards is enforced for all naming and semantics in the E2E development lifecycle. lowerCamelCase : Variables, object instances, functions, and interface members. This ADR contains enforceable language (must, prohibited, naming, enforce, enforced); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Compliance with Clean Code standards is enforced for all naming and semantics in the E2E development lifecycle. lowerCamelCase : Variables, object instances, functions, and interface members.",
|
|
19
|
+
"rationale": "Derived from ADR-0049 \"Decision\" section. Enforcement signals detected: must, prohibited, naming, enforce, enforced.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0049 via static analysis, lint rules, or pipeline gates covering: must, prohibited, naming, enforce, enforced. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0049-naming-semantics-clean-code-policy.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-13"
|
|
29
|
+
}
|
package/rulesets/adr/generated/adr-0051-enterprise-database-engine-selection-strategy.rules.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0051-enterprise-database-engine-selection-strategy.rules.json",
|
|
4
|
+
"title": "ADR-0051 — Enterprise Database Engine Selection Strategy Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0051 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0051",
|
|
8
|
+
"adrTitle": "Enterprise Database Engine Selection Strategy",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-14",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0051-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0051: Enterprise Database Engine Selection Strategy",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0051 (core track). ADR decision: The enterprise standard for database engines is now differentiated by runtime and data model requirements: Mandatory Engine: Microsoft SQL Server (Latest Stable Version) Rationale: native integration with Entity Framework Core, superior performance for enterprise workloads, and advanced management tooling (SSMS, SQL P… This ADR contains enforceable language (must, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: The enterprise standard for database engines is now differentiated by runtime and data model requirements: Mandatory Engine: Microsoft SQL Server (Latest Stable Version) Rationale: native integration with Entity Framework Core, superior performance for enterprise workloads, and advanced management tooling (SSMS, SQL P…",
|
|
19
|
+
"rationale": "Derived from ADR-0051 \"Decision\" section. Enforcement signals detected: must, structure.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0051 via static analysis, lint rules, or pipeline gates covering: must, structure. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0051-enterprise-database-engine-strategy.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-14"
|
|
29
|
+
}
|
package/rulesets/adr/generated/adr-0052-unit-testing-isolation-strategy-mocks-vs-stubs.rules.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0052-unit-testing-isolation-strategy-mocks-vs-stubs.rules.json",
|
|
4
|
+
"title": "ADR-0052 — Unit Testing Isolation Strategy (Mocks vs Stubs) Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0052 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0052",
|
|
8
|
+
"adrTitle": "Unit Testing Isolation Strategy (Mocks vs Stubs)",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-14",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0052-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0052: Unit Testing Isolation Strategy (Mocks vs Stubs)",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0052 (core track). ADR decision: We adopt a Double Centric Isolation Strategy aligned with Hexagonal Architecture principles. Stub (Indirect Input): Used to provide the SUT (System Under Test) with necessary data or state. This ADR contains enforceable language (must, forbidden, required, layer, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: We adopt a Double Centric Isolation Strategy aligned with Hexagonal Architecture principles. Stub (Indirect Input): Used to provide the SUT (System Under Test) with necessary data or state.",
|
|
19
|
+
"rationale": "Derived from ADR-0052 \"Decision\" section. Enforcement signals detected: must, forbidden, required, layer, structure.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0052 via static analysis, lint rules, or pipeline gates covering: must, forbidden, required, layer, structure. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0052-unit-testing-isolation-strategy.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-14"
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0053-integration-and-e2e-testing-strategy.rules.json",
|
|
4
|
+
"title": "ADR-0053 — Integration and E2E Testing Strategy Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0053 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0053",
|
|
8
|
+
"adrTitle": "Integration and E2E Testing Strategy",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-14",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0053-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0053: Integration and E2E Testing Strategy",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0053 (core track). ADR decision: We establish a mandatory strategy for heavy weight testing layers. Definition: Verifying a single Infrastructure Adapter against its real external counterpart. Mandatory Rule: MUST use Testcontainers to spin up real instances of SQL Server, PostgreSQL, Redis, or MongoDB. This ADR contains enforceable language (must, layer, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: We establish a mandatory strategy for heavy weight testing layers. Definition: Verifying a single Infrastructure Adapter against its real external counterpart. Mandatory Rule: MUST use Testcontainers to spin up real instances of SQL Server, PostgreSQL, Redis, or MongoDB.",
|
|
19
|
+
"rationale": "Derived from ADR-0053 \"Decision\" section. Enforcement signals detected: must, layer, structure.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0053 via static analysis, lint rules, or pipeline gates covering: must, layer, structure. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0053-integration-e2e-testing-strategy.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-14"
|
|
29
|
+
}
|
package/rulesets/adr/generated/adr-0054-database-design-and-normalization-standards.rules.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0054-database-design-and-normalization-standards.rules.json",
|
|
4
|
+
"title": "ADR-0054 — Database Design and Normalization Standards Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0054 (core track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"adrId": "ADR-0054",
|
|
8
|
+
"adrTitle": "Database Design and Normalization Standards",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-05-14",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0054-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0054: Database Design and Normalization Standards",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0054 (core track). ADR decision: We establish a dual track modeling standard based on the nature of the persistence engine. All relational models MUST follow the Third Normal Form (3NF) as the default baseline. This ADR contains enforceable language (must, forbidden, dependency, naming); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: We establish a dual track modeling standard based on the nature of the persistence engine. All relational models MUST follow the Third Normal Form (3NF) as the default baseline.",
|
|
19
|
+
"rationale": "Derived from ADR-0054 \"Decision\" section. Enforcement signals detected: must, forbidden, dependency, naming.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0054 via static analysis, lint rules, or pipeline gates covering: must, forbidden, dependency, naming. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0054-database-design-normalization-standards.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-14"
|
|
29
|
+
}
|