@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-0055-microfrontends-architecture-strategy.rules.json",
|
|
4
|
+
"title": "ADR-0055 — Microfrontends Architecture Strategy Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0055 (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-0055",
|
|
8
|
+
"adrTitle": "Microfrontends Architecture Strategy",
|
|
9
|
+
"status": "Proposed (Phase 3 Readiness)",
|
|
10
|
+
"date": "",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0055-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0055: Microfrontends Architecture Strategy",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0055 (core track). ADR decision: We will adopt a Microfrontend (MFE) strategy only as a Phase 3+ extraction strategy , not as the initial frontend baseline. Evolith products MUST follow this progression: Microfrontends MUST NOT be used as a default starting architecture, a trend driven choice, or a substitute for clean modular frontend design. This ADR contains enforceable language (must not, must, boundaries); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: We will adopt a Microfrontend (MFE) strategy only as a Phase 3+ extraction strategy , not as the initial frontend baseline. Evolith products MUST follow this progression: Microfrontends MUST NOT be used as a default starting architecture, a trend driven choice, or a substitute for clean modular frontend design.",
|
|
19
|
+
"rationale": "Derived from ADR-0055 \"Decision\" section. Enforcement signals detected: must not, must, boundaries.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0055 via static analysis, lint rules, or pipeline gates covering: must not, must, boundaries. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0055-microfrontends-architecture-strategy.md"
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0056-enterprise-naming-design-conventions-multi-language-multi-pl.rules.json",
|
|
4
|
+
"title": "ADR-0056 — Enterprise Naming & Design Conventions - Multi-Language, Multi-Platform Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0056 (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-0056",
|
|
8
|
+
"adrTitle": "Enterprise Naming & Design Conventions - Multi-Language, Multi-Platform",
|
|
9
|
+
"status": "Accepted — extends and expands the scope of [ADR-0049 (Naming Semantics & Clean Code Policy)](./0049-naming-semantics-clean-code-policy.md) to all layers of the enterprise ecosystem (code, API, database, events, data warehouse, DDD tactical patterns).",
|
|
10
|
+
"date": "2026-05-15",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0056-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0056: Enterprise Naming & Design Conventions - Multi-Language, Multi-Platform",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0056 (core track). ADR decision: Adopt a single, binding, automated enforcement naming standard with the following pillars: 1. Ubiquitous Language as the Source of Truth. Every name in code, API, database, and events originates from the domain glossary not from implementation preferences. This ADR contains enforceable language (must, layer, lint, naming, ci gate, enforce); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Adopt a single, binding, automated enforcement naming standard with the following pillars: 1. Ubiquitous Language as the Source of Truth. Every name in code, API, database, and events originates from the domain glossary not from implementation preferences.",
|
|
19
|
+
"rationale": "Derived from ADR-0056 \"Decision\" section. Enforcement signals detected: must, layer, lint, naming, ci gate, enforce.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0056 via static analysis, lint rules, or pipeline gates covering: must, layer, lint, naming, ci gate, enforce. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0056-enterprise-naming-design-conventions.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-15"
|
|
29
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0057-architecture-intelligence-catalog.rules.json",
|
|
4
|
+
"title": "ADR-0057 — Architecture Intelligence Catalog Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0057 (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-0057",
|
|
8
|
+
"adrTitle": "Architecture Intelligence Catalog",
|
|
9
|
+
"status": "Accepted",
|
|
10
|
+
"date": "",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0057-01",
|
|
14
|
+
"severity": "SHOULD",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Honor design decision in ADR-0057: Architecture Intelligence Catalog",
|
|
17
|
+
"description": "Design and implementation SHOULD honor the decision recorded in ADR-0057 (core track). ADR decision: Evolith adopts an Architecture Intelligence Catalog under: text reference/knowledge/architecture intelligence/ This catalog is used to: curate architectural ideas analyze tradeoffs classify adoption maturity document pattern cards connect external inspiration with Evolith governance prepare selected knowledge for AI a… Manual attestation required — not machine-verifiable.",
|
|
18
|
+
"statement": "ADR decision: Evolith adopts an Architecture Intelligence Catalog under: text reference/knowledge/architecture intelligence/ This catalog is used to: curate architectural ideas analyze tradeoffs classify adoption maturity document pattern cards connect external inspiration with Evolith governance prepare selected knowledge for AI a…",
|
|
19
|
+
"rationale": "Derived from ADR-0057 \"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/0057-architecture-intelligence-catalog.md"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0058-ai-consumable-architecture-knowledge.rules.json",
|
|
4
|
+
"title": "ADR-0058 — AI-Consumable Architecture Knowledge Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0058 (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-0058",
|
|
8
|
+
"adrTitle": "AI-Consumable Architecture Knowledge",
|
|
9
|
+
"status": "Accepted",
|
|
10
|
+
"date": "",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0058-01",
|
|
14
|
+
"severity": "SHOULD",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Honor design decision in ADR-0058: AI-Consumable Architecture Knowledge",
|
|
17
|
+
"description": "Design and implementation SHOULD honor the decision recorded in ADR-0058 (core track). ADR decision: Evolith will prepare selected architecture knowledge for AI consumption using explicit structure, stable taxonomy, and traceable links to authoritative artifacts. Manual attestation required — not machine-verifiable.",
|
|
18
|
+
"statement": "ADR decision: Evolith will prepare selected architecture knowledge for AI consumption using explicit structure, stable taxonomy, and traceable links to authoritative artifacts.",
|
|
19
|
+
"rationale": "Derived from ADR-0058 \"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/0058-ai-consumable-architecture-knowledge.md"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0067-modular-monolith-persistence-boundaries.rules.json",
|
|
4
|
+
"title": "ADR-0067 — Modular Monolith Persistence Boundaries Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0067 (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-0067",
|
|
8
|
+
"adrTitle": "Modular Monolith Persistence Boundaries",
|
|
9
|
+
"status": "Accepted",
|
|
10
|
+
"date": "",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0067-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0067: Modular Monolith Persistence Boundaries",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0067 (core track). ADR decision: Evolith requires modular monolith implementations to define explicit persistence boundaries per module, bounded context, or domain capability. Each module must own its persistence model and must not directly mutate persistence structures owned by another module. This ADR contains enforceable language (must not, must, naming, structure, enforce, enforced); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Evolith requires modular monolith implementations to define explicit persistence boundaries per module, bounded context, or domain capability. Each module must own its persistence model and must not directly mutate persistence structures owned by another module.",
|
|
19
|
+
"rationale": "Derived from ADR-0067 \"Decision\" section. Enforcement signals detected: must not, must, naming, structure, enforce, enforced.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0067 via static analysis, lint rules, or pipeline gates covering: must not, must, naming, structure, enforce, enforced. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0067-modular-monolith-schema-per-domain.md"
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0068-documentation-release-gitflow.rules.json",
|
|
4
|
+
"title": "ADR-0068 — Documentation Release GitFlow Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0068 (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-0068",
|
|
8
|
+
"adrTitle": "Documentation Release GitFlow",
|
|
9
|
+
"status": "Proposed",
|
|
10
|
+
"date": "2026-05-29",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0068-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0068: Documentation Release GitFlow",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0068 (core track). ADR decision: We will adopt Documentation Release GitFlow as the mandatory release workflow for both Evolith Arch32 and UMS repositories. This extends ADR 0050 with documentation specific branch naming, quality gates, and release tagging conventions. This ADR contains enforceable language (naming, quality gate); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: We will adopt Documentation Release GitFlow as the mandatory release workflow for both Evolith Arch32 and UMS repositories. This extends ADR 0050 with documentation specific branch naming, quality gates, and release tagging conventions.",
|
|
19
|
+
"rationale": "Derived from ADR-0068 \"Decision\" section. Enforcement signals detected: naming, quality gate.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0068 via static analysis, lint rules, or pipeline gates covering: naming, quality gate. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0068-documentation-release-gitflow.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-05-29"
|
|
29
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0069-ai-agent-context-protocol-integration.rules.json",
|
|
4
|
+
"title": "ADR-0069 — AI Agent Context Protocol Integration Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0069 (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-0069",
|
|
8
|
+
"adrTitle": "AI Agent Context Protocol Integration",
|
|
9
|
+
"status": "Approved",
|
|
10
|
+
"date": "2026-06-06",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0069-01",
|
|
14
|
+
"severity": "SHOULD",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Honor design decision in ADR-0069: AI Agent Context Protocol Integration",
|
|
17
|
+
"description": "Design and implementation SHOULD honor the decision recorded in ADR-0069 (core track). ADR decision: Adopt a standardized AI Agent Context Protocol implementation to expose architectural governance natively to AI assistants. The integration must provide: Tools : Executable validation functions that agents can invoke (e.g., repository validation against rulesets). Manual attestation required — not machine-verifiable.",
|
|
18
|
+
"statement": "ADR decision: Adopt a standardized AI Agent Context Protocol implementation to expose architectural governance natively to AI assistants. The integration must provide: Tools : Executable validation functions that agents can invoke (e.g., repository validation against rulesets).",
|
|
19
|
+
"rationale": "Derived from ADR-0069 \"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/0069-ai-agent-context-protocol-integration.md"
|
|
26
|
+
],
|
|
27
|
+
"effectiveDate": "2026-06-06"
|
|
28
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0070-lean-root-repository-taxonomy.rules.json",
|
|
4
|
+
"title": "ADR-0070 — Lean Root Repository Taxonomy Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0070 (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-0070",
|
|
8
|
+
"adrTitle": "Lean Root Repository Taxonomy",
|
|
9
|
+
"status": "Accepted",
|
|
10
|
+
"date": "2026-06-07",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0070-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0070: Lean Root Repository Taxonomy",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0070 (core track). ADR decision: Adopt the Lean Root (also called Clean Root) architectural pattern for all Evolith satellite repositories, enforcing a strict binary dichotomy at the repository root. This ADR contains enforceable language (must, lint, ci/cd, enforce); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Adopt the Lean Root (also called Clean Root) architectural pattern for all Evolith satellite repositories, enforcing a strict binary dichotomy at the repository root.",
|
|
19
|
+
"rationale": "Derived from ADR-0070 \"Decision\" section. Enforcement signals detected: must, lint, ci/cd, enforce.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0070 via static analysis, lint rules, or pipeline gates covering: must, lint, ci/cd, enforce. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0070-lean-root-repository-taxonomy.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-06-07"
|
|
29
|
+
}
|
package/rulesets/adr/generated/adr-0071-domain-layer-base-class-and-inheritance-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-0071-domain-layer-base-class-and-inheritance-strategy.rules.json",
|
|
4
|
+
"title": "ADR-0071 — Domain Layer Base Class and Inheritance Strategy Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0071 (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-0071",
|
|
8
|
+
"adrTitle": "Domain Layer Base Class and Inheritance Strategy",
|
|
9
|
+
"status": "Accepted",
|
|
10
|
+
"date": "2026-06-07",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0071-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0071: Domain Layer Base Class and Inheritance Strategy",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0071 (core track). ADR decision: Evolith satellites may adopt Option A (current shell inheritance) as a controlled and documented pragmatic compromise, subject to the constraints below. This ADR contains enforceable language (must not, must, dependency, dependencies, layer, structure); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Evolith satellites may adopt Option A (current shell inheritance) as a controlled and documented pragmatic compromise, subject to the constraints below.",
|
|
19
|
+
"rationale": "Derived from ADR-0071 \"Decision\" section. Enforcement signals detected: must not, must, dependency, dependencies, layer, structure.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0071 via static analysis, lint rules, or pipeline gates covering: must not, must, dependency, dependencies, layer, structure. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0071-domain-layer-base-class-inheritance-strategy.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-06-07"
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0072-utc-date-storage-browser-timezone-detection-and-language-res.rules.json",
|
|
4
|
+
"title": "ADR-0072 — UTC Date Storage, Browser Timezone Detection, and Language Resolution Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0072 (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-0072",
|
|
8
|
+
"adrTitle": "UTC Date Storage, Browser Timezone Detection, and Language Resolution",
|
|
9
|
+
"status": "Accepted",
|
|
10
|
+
"date": "2026-06-07",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0072-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0072: UTC Date Storage, Browser Timezone Detection, and Language Resolution",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0072 (core track). ADR decision: Rule: Every date or timestamp stored in any database table, domain event, outbox message, or API response body must be UTC. Implementation guidelines per runtime: Rationale: UTC is the only unambiguous anchor for distributed systems. This ADR contains enforceable language (must not, must, naming); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Rule: Every date or timestamp stored in any database table, domain event, outbox message, or API response body must be UTC. Implementation guidelines per runtime: Rationale: UTC is the only unambiguous anchor for distributed systems.",
|
|
19
|
+
"rationale": "Derived from ADR-0072 \"Decision\" section. Enforcement signals detected: must not, must, naming.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0072 via static analysis, lint rules, or pipeline gates covering: must not, must, naming. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0072-utc-dates-timezone-language-resolution.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-06-07"
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0073-unified-cli-mcp-output-contract-and-gate-evidence-schema.rules.json",
|
|
4
|
+
"title": "ADR-0073 — Unified CLI/MCP Output Contract and Gate Evidence Schema Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0073 (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-0073",
|
|
8
|
+
"adrTitle": "Unified CLI/MCP Output Contract and Gate Evidence Schema",
|
|
9
|
+
"status": "Approved — Evolith Architecture Board, 2026-06-10. Closes [GT-01](../../../governance/standards/vision/gap-reference-catalog.md#gt-01).",
|
|
10
|
+
"date": "2026-06-10",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0073-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0073: Unified CLI/MCP Output Contract and Gate Evidence Schema",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0073 (core track). ADR decision: Adopt option 3 . This ADR contains enforceable language (must, prohibited, layer, naming); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Adopt option 3 .",
|
|
19
|
+
"rationale": "Derived from ADR-0073 \"Decision\" section. Enforcement signals detected: must, prohibited, layer, naming.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0073 via static analysis, lint rules, or pipeline gates covering: must, prohibited, layer, naming. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0073-unified-cli-output-contract.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-06-10"
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0074-evolith-core-api-native-exposure-layer.rules.json",
|
|
4
|
+
"title": "ADR-0074 — Evolith Core API Native Exposure Layer Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0074 (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-0074",
|
|
8
|
+
"adrTitle": "Evolith Core API Native Exposure Layer",
|
|
9
|
+
"status": "Approved — Evolith Architecture Board, 2026-06-13.",
|
|
10
|
+
"date": "2026-06-13",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0074-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0074: Evolith Core API Native Exposure Layer",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0074 (core track). ADR decision: Adopt option 3 . We will construct the Evolith Core API as a NestJS application in the apps/core api directory. Ratified elements: 1. Network Sovereignty: Evolith Core is the sole owner of its domain, rulesets, and evaluation logic. This ADR contains enforceable language (dependency, layer, structure, enforce, boundaries); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Adopt option 3 . We will construct the Evolith Core API as a NestJS application in the apps/core api directory. Ratified elements: 1. Network Sovereignty: Evolith Core is the sole owner of its domain, rulesets, and evaluation logic.",
|
|
19
|
+
"rationale": "Derived from ADR-0074 \"Decision\" section. Enforcement signals detected: dependency, layer, structure, enforce, boundaries.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0074 via static analysis, lint rules, or pipeline gates covering: dependency, layer, structure, enforce, boundaries. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0074-evolith-core-api-exposure-layer.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-06-13"
|
|
29
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0075-core-api-authentication-strategy.rules.json",
|
|
4
|
+
"title": "ADR-0075 — Core API Authentication Strategy Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0075 (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-0075",
|
|
8
|
+
"adrTitle": "Core API Authentication Strategy",
|
|
9
|
+
"status": "Superseded by ADR-0080",
|
|
10
|
+
"date": "2026-06-14",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0075-01",
|
|
14
|
+
"severity": "SHOULD",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Honor design decision in ADR-0075: Core API Authentication Strategy",
|
|
17
|
+
"description": "Design and implementation SHOULD honor the decision recorded in ADR-0075 (core track). ADR decision: Implement a two tier authentication model: Machine to machine communication between the Tracker and Core API API keys validated via x api key header Keys stored as environment variables, hashed with SHA 256 and compared using constant time comparison ( timingSafeEqual ) ApiKeyAuthGuard registered as global APP GUARD @… Manual attestation required — not machine-verifiable.",
|
|
18
|
+
"statement": "ADR decision: Implement a two tier authentication model: Machine to machine communication between the Tracker and Core API API keys validated via x api key header Keys stored as environment variables, hashed with SHA 256 and compared using constant time comparison ( timingSafeEqual ) ApiKeyAuthGuard registered as global APP GUARD @…",
|
|
19
|
+
"rationale": "Derived from ADR-0075 \"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/0075-core-api-auth-strategy.md"
|
|
26
|
+
],
|
|
27
|
+
"effectiveDate": "2026-06-14"
|
|
28
|
+
}
|
package/rulesets/adr/generated/adr-0076-domain-oriented-microservice-architecture-doma.rules.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0076-domain-oriented-microservice-architecture-doma.rules.json",
|
|
4
|
+
"title": "ADR-0076 — Domain-Oriented Microservice Architecture (DOMA) Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0076 (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-0076",
|
|
8
|
+
"adrTitle": "Domain-Oriented Microservice Architecture (DOMA)",
|
|
9
|
+
"status": "Approved — Evolith Architecture Board, 2026-06-14.",
|
|
10
|
+
"date": "2026-06-14",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0076-01",
|
|
14
|
+
"severity": "SHOULD",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Honor design decision in ADR-0076: Domain-Oriented Microservice Architecture (DOMA)",
|
|
17
|
+
"description": "Design and implementation SHOULD honor the decision recorded in ADR-0076 (core track). ADR decision: Evolith adopts DOMA as the F3 decomposition principle: 1. Domains are the unit of grouping. Each microservice belongs to exactly one bounded business domain (e.g. Discovery, Construction, Release). Manual attestation required — not machine-verifiable.",
|
|
18
|
+
"statement": "ADR decision: Evolith adopts DOMA as the F3 decomposition principle: 1. Domains are the unit of grouping. Each microservice belongs to exactly one bounded business domain (e.g. Discovery, Construction, Release).",
|
|
19
|
+
"rationale": "Derived from ADR-0076 \"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/0076-domain-oriented-microservice-architecture.md"
|
|
26
|
+
],
|
|
27
|
+
"effectiveDate": "2026-06-14"
|
|
28
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0077-masstransit-v9-commercial-pivot-stay-on-v8-monitor-opentrans.rules.json",
|
|
4
|
+
"title": "ADR-0077 — MassTransit v9 Commercial Pivot — Stay on v8, Monitor OpenTransit Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0077 (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-0077",
|
|
8
|
+
"adrTitle": "MassTransit v9 Commercial Pivot — Stay on v8, Monitor OpenTransit",
|
|
9
|
+
"status": "Approved — Evolith Architecture Board, 2026-06-15.",
|
|
10
|
+
"date": "2026-06-15",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0077-01",
|
|
14
|
+
"severity": "SHOULD",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Honor design decision in ADR-0077: MassTransit v9 Commercial Pivot — Stay on v8, Monitor OpenTransit",
|
|
17
|
+
"description": "Design and implementation SHOULD honor the decision recorded in ADR-0077 (core track). ADR decision: Stay on MassTransit v8 (8.3.x) through the end of year 2026 support window, and monitor OpenTransit as the primary post 2026 OSS continuation path. Rationale: The recommendation maximises the remaining v8 support window (6 months) to: Avoid an immediate, costly migration to Rebus or a driver rewrite. Manual attestation required — not machine-verifiable.",
|
|
18
|
+
"statement": "ADR decision: Stay on MassTransit v8 (8.3.x) through the end of year 2026 support window, and monitor OpenTransit as the primary post 2026 OSS continuation path. Rationale: The recommendation maximises the remaining v8 support window (6 months) to: Avoid an immediate, costly migration to Rebus or a driver rewrite.",
|
|
19
|
+
"rationale": "Derived from ADR-0077 \"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/0077-masstransit-v9-commercial-pivot.md"
|
|
26
|
+
],
|
|
27
|
+
"effectiveDate": "2026-06-15"
|
|
28
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0078-domain-financial-separation-governance.rules.json",
|
|
4
|
+
"title": "ADR-0078 — Domain Financial Separation Governance Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0078 (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-0078",
|
|
8
|
+
"adrTitle": "Domain Financial Separation Governance",
|
|
9
|
+
"status": "Accepted",
|
|
10
|
+
"date": "2026-06-18",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0078-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0078: Domain Financial Separation Governance",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0078 (core track). ADR decision: Purge all references to financial parameters from Evolith Core and delegate all financial tracking, budgets, and business ROI logic exclusively to Evolith Tracker. All specifications and templates in Core must substitute business/financial concepts with Technical Constraints and Quality Attributes (NFRs): 1. This ADR contains enforceable language (must, prohibited); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Purge all references to financial parameters from Evolith Core and delegate all financial tracking, budgets, and business ROI logic exclusively to Evolith Tracker. All specifications and templates in Core must substitute business/financial concepts with Technical Constraints and Quality Attributes (NFRs): 1.",
|
|
19
|
+
"rationale": "Derived from ADR-0078 \"Decision\" section. Enforcement signals detected: must, prohibited.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0078 via static analysis, lint rules, or pipeline gates covering: must, prohibited. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0078-domain-financial-separation-governance.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-06-18"
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0079-multi-topology-reference-corpus-and-topology-manifest-contra.rules.json",
|
|
4
|
+
"title": "ADR-0079 — Multi-Topology Reference Corpus and Topology Manifest Contract Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0079 (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-0079",
|
|
8
|
+
"adrTitle": "Multi-Topology Reference Corpus and Topology Manifest Contract",
|
|
9
|
+
"status": "Approved — Evolith Architecture Board, 2026-06-18.",
|
|
10
|
+
"date": "2026-06-18",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0079-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0079: Multi-Topology Reference Corpus and Topology Manifest Contract",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0079 (core track). ADR decision: Adopt a dimensional, manifest driven Multi Topology Reference Corpus . This ADR contains enforceable language (must, coverage); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Adopt a dimensional, manifest driven Multi Topology Reference Corpus .",
|
|
19
|
+
"rationale": "Derived from ADR-0079 \"Decision\" section. Enforcement signals detected: must, coverage.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0079 via static analysis, lint rules, or pipeline gates covering: must, coverage. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0079-multi-topology-reference-corpus.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-06-18"
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0080-remote-repository-reference-contract.rules.json",
|
|
4
|
+
"title": "ADR-0080 — Remote Repository Reference Contract Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0080 (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-0080",
|
|
8
|
+
"adrTitle": "Remote Repository Reference Contract",
|
|
9
|
+
"status": "Approved — Evolith Architecture Board, 2026-06-19.",
|
|
10
|
+
"date": "2026-06-19",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0080-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0080: Remote Repository Reference Contract",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0080 (core track). ADR decision: Commands that require satellite content must accept a repositoryRef , not satellitePath or corePath : json { \"repository\": { \"url\": \"https://scm.example/org/product.git\", \"revision\": \"immutable commit sha\" }, \"workspaceRef\": \"tracker issued opaque reference\", \"operationId\": \"uuid\" } Evolith Tracker's BFF validates the… This ADR contains enforceable language (must, layer); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
+
"statement": "ADR decision: Commands that require satellite content must accept a repositoryRef , not satellitePath or corePath : json { \"repository\": { \"url\": \"https://scm.example/org/product.git\", \"revision\": \"immutable commit sha\" }, \"workspaceRef\": \"tracker issued opaque reference\", \"operationId\": \"uuid\" } Evolith Tracker's BFF validates the…",
|
|
19
|
+
"rationale": "Derived from ADR-0080 \"Decision\" section. Enforcement signals detected: must, layer.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0080 via static analysis, lint rules, or pipeline gates covering: must, layer. Concrete checks to be wired into the harness.",
|
|
21
|
+
"blocking": true,
|
|
22
|
+
"enforcement": "executable"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"references": [
|
|
26
|
+
"reference/architecture/adrs/core/0080-remote-repository-reference-contract.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-06-19"
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0081-agentic-ai-sandbox-isolation-boundary.rules.json",
|
|
4
|
+
"title": "ADR-0081 — Agentic AI Sandbox Isolation Boundary Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0081 (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-0081",
|
|
8
|
+
"adrTitle": "Agentic AI Sandbox Isolation Boundary",
|
|
9
|
+
"status": "Accepted",
|
|
10
|
+
"date": "2026-06-20",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0081-01",
|
|
14
|
+
"severity": "MUST",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Conform to ADR-0081: Agentic AI Sandbox Isolation Boundary",
|
|
17
|
+
"description": "Implementations MUST conform to the decision recorded in ADR-0081 (core track). ADR decision: Agentic AI tool execution MUST occur in an isolated boundary. The boundary MUST deny network and process access by default, allow only explicit allowlists, mount writable storage only where required, use ephemeral execution state, enforce time and resource limits, and avoid ambient credentials. 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: Agentic AI tool execution MUST occur in an isolated boundary. The boundary MUST deny network and process access by default, allow only explicit allowlists, mount writable storage only where required, use ephemeral execution state, enforce time and resource limits, and avoid ambient credentials.",
|
|
19
|
+
"rationale": "Derived from ADR-0081 \"Decision\" section. Enforcement signals detected: must, required, enforce.",
|
|
20
|
+
"validationQuery": "Verify codebase/CI compliance with ADR-0081 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/0081-agentic-ai-sandbox-isolation.md"
|
|
27
|
+
],
|
|
28
|
+
"effectiveDate": "2026-06-20"
|
|
29
|
+
}
|
package/rulesets/adr/generated/adr-0082-agentic-ai-prompt-context-and-tool-trust-boundary.rules.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/adr/generated/adr-0082-agentic-ai-prompt-context-and-tool-trust-boundary.rules.json",
|
|
4
|
+
"title": "ADR-0082 — Agentic AI Prompt, Context, and Tool Trust Boundary Rules (generated)",
|
|
5
|
+
"description": "Auto-generated ruleset encoding ADR-0082 (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-0082",
|
|
8
|
+
"adrTitle": "Agentic AI Prompt, Context, and Tool Trust Boundary",
|
|
9
|
+
"status": "Accepted",
|
|
10
|
+
"date": "2026-06-20",
|
|
11
|
+
"rules": [
|
|
12
|
+
{
|
|
13
|
+
"id": "CORE-0082-01",
|
|
14
|
+
"severity": "SHOULD",
|
|
15
|
+
"category": "adr-conformance",
|
|
16
|
+
"title": "Honor design decision in ADR-0082: Agentic AI Prompt, Context, and Tool Trust Boundary",
|
|
17
|
+
"description": "Design and implementation SHOULD honor the decision recorded in ADR-0082 (core track). ADR decision: System policy and approval rules are authoritative and cannot be modified by retrieved context, user text, repository content, or tool output. Prompts are stored separately from implementation roots. Manual attestation required — not machine-verifiable.",
|
|
18
|
+
"statement": "ADR decision: System policy and approval rules are authoritative and cannot be modified by retrieved context, user text, repository content, or tool output. Prompts are stored separately from implementation roots.",
|
|
19
|
+
"rationale": "Derived from ADR-0082 \"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/0082-agentic-ai-trust-boundary.md"
|
|
26
|
+
],
|
|
27
|
+
"effectiveDate": "2026-06-20"
|
|
28
|
+
}
|