@evolith/core-domain 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +102 -0
- package/dist/domain/services/default-workflow-definition.js +4 -1
- package/dist/domain/services/default-workflow-definition.js.map +1 -1
- package/dist/gates/decision/gate-decision.js.map +1 -1
- package/package.json +1 -2
- package/rulesets/README.es.md +0 -170
- package/rulesets/README.md +0 -170
- package/rulesets/acl/README.es.md +0 -41
- package/rulesets/acl/README.md +0 -41
- package/rulesets/acl/anti-corruption-layer.rules.es.json +0 -99
- package/rulesets/acl/anti-corruption-layer.rules.json +0 -99
- package/rulesets/adr/ADR_COVERAGE.es.md +0 -133
- package/rulesets/adr/ADR_COVERAGE.md +0 -133
- package/rulesets/adr/README.es.md +0 -17
- package/rulesets/adr/README.md +0 -17
- package/rulesets/adr/adr-0002-hexagonal-architecture.rules.json +0 -103
- package/rulesets/adr/adr-0005-cicd-quality-gates.rules.json +0 -102
- package/rulesets/adr/adr-0010-multi-tenancy.rules.json +0 -129
- package/rulesets/adr/adr-0018-testing-pyramid.rules.json +0 -115
- package/rulesets/adr/adr-0032-protocol-selection.rules.json +0 -134
- package/rulesets/adr/adr-0040-multi-runtime.rules.json +0 -131
- package/rulesets/adr/adr-0050-gitflow-branching.rules.json +0 -176
- package/rulesets/adr/generated/adr-0001-monorepo-orchestration-principle.rules.json +0 -29
- package/rulesets/adr/generated/adr-0006-microservices-transition-via-sidecar-pattern.rules.json +0 -29
- package/rulesets/adr/generated/adr-0009-strict-dependency-pinning-and-automated-vulnerability-manage.rules.json +0 -29
- package/rulesets/adr/generated/adr-0011-fault-tolerance-and-resiliency-patterns.rules.json +0 -29
- package/rulesets/adr/generated/adr-0013-cloud-infrastructure-topology-and-disaster-recovery-dr.rules.json +0 -28
- package/rulesets/adr/generated/adr-0014-multi-layer-distributed-caching-strategy.rules.json +0 -29
- package/rulesets/adr/generated/adr-0015-event-driven-architecture-eda-for-intra-domain-communication.rules.json +0 -29
- package/rulesets/adr/generated/adr-0016-immutable-business-audit-trail-and-change-tracking.rules.json +0 -29
- package/rulesets/adr/generated/adr-0017-feature-flagging-strategy-for-progressive-delivery.rules.json +0 -28
- package/rulesets/adr/generated/adr-0019-tactical-design-patterns-for-future-proofing.rules.json +0 -29
- package/rulesets/adr/generated/adr-0020-identity-provider-abstraction-strategy.rules.json +0 -28
- package/rulesets/adr/generated/adr-0024-centralized-configuration-feature-platform.rules.json +0 -28
- package/rulesets/adr/generated/adr-0025-feature-flag-provider-abstraction-strategy.rules.json +0 -29
- package/rulesets/adr/generated/adr-0028-self-hosted-open-source-hybrid-infrastructure.rules.json +0 -29
- package/rulesets/adr/generated/adr-0030-two-tier-distributed-gateway-model.rules.json +0 -28
- package/rulesets/adr/generated/adr-0031-schema-per-bounded-context-and-domain-event-catalog.rules.json +0 -29
- package/rulesets/adr/generated/adr-0033-transactional-outbox-pattern-for-async-messaging.rules.json +0 -28
- package/rulesets/adr/generated/adr-0034-cqrs-pattern-application-matrix.rules.json +0 -29
- package/rulesets/adr/generated/adr-0035-distributed-saga-pattern-implementation-strategy.rules.json +0 -29
- package/rulesets/adr/generated/adr-0036-message-bus-delivery-flow-control-strategy.rules.json +0 -29
- package/rulesets/adr/generated/adr-0037-enterprise-performance-concurrency-chaos-verification-strate.rules.json +0 -28
- package/rulesets/adr/generated/adr-0039-deployment-topology-abstraction-environment-switcher.rules.json +0 -29
- package/rulesets/adr/generated/adr-0041-dual-engine-policy-evaluation-native-opa.rules.json +0 -28
- package/rulesets/adr/generated/adr-0044-configurable-security-persistence-strategy-agnosticism-vs-na.rules.json +0 -29
- package/rulesets/adr/generated/adr-0045-microservice-extraction-readiness-criteria.rules.json +0 -29
- package/rulesets/adr/generated/adr-0046-unified-traceability-via-w3c-tracecontext.rules.json +0 -29
- package/rulesets/adr/generated/adr-0047-progressive-architecture-evolution-framework-modular-monolit.rules.json +0 -29
- package/rulesets/adr/generated/adr-0048-enterprise-taxonomy-standardization-and-reference-layout.rules.json +0 -28
- package/rulesets/adr/generated/adr-0049-naming-semantics-clean-code-policy-e2e-and-global.rules.json +0 -29
- package/rulesets/adr/generated/adr-0051-enterprise-database-engine-selection-strategy.rules.json +0 -29
- package/rulesets/adr/generated/adr-0052-unit-testing-isolation-strategy-mocks-vs-stubs.rules.json +0 -29
- package/rulesets/adr/generated/adr-0053-integration-and-e2e-testing-strategy.rules.json +0 -29
- package/rulesets/adr/generated/adr-0054-database-design-and-normalization-standards.rules.json +0 -29
- package/rulesets/adr/generated/adr-0055-microfrontends-architecture-strategy.rules.json +0 -28
- package/rulesets/adr/generated/adr-0056-enterprise-naming-design-conventions-multi-language-multi-pl.rules.json +0 -29
- package/rulesets/adr/generated/adr-0057-architecture-intelligence-catalog.rules.json +0 -27
- package/rulesets/adr/generated/adr-0058-ai-consumable-architecture-knowledge.rules.json +0 -27
- package/rulesets/adr/generated/adr-0067-modular-monolith-persistence-boundaries.rules.json +0 -28
- package/rulesets/adr/generated/adr-0068-documentation-release-gitflow.rules.json +0 -29
- package/rulesets/adr/generated/adr-0069-ai-agent-context-protocol-integration.rules.json +0 -28
- package/rulesets/adr/generated/adr-0070-lean-root-repository-taxonomy.rules.json +0 -29
- package/rulesets/adr/generated/adr-0071-domain-layer-base-class-and-inheritance-strategy.rules.json +0 -29
- package/rulesets/adr/generated/adr-0072-utc-date-storage-browser-timezone-detection-and-language-res.rules.json +0 -29
- package/rulesets/adr/generated/adr-0073-unified-cli-mcp-output-contract-and-gate-evidence-schema.rules.json +0 -29
- package/rulesets/adr/generated/adr-0074-evolith-core-api-native-exposure-layer.rules.json +0 -29
- package/rulesets/adr/generated/adr-0075-core-api-authentication-strategy.rules.json +0 -28
- package/rulesets/adr/generated/adr-0076-domain-oriented-microservice-architecture-doma.rules.json +0 -28
- package/rulesets/adr/generated/adr-0077-masstransit-v9-commercial-pivot-stay-on-v8-monitor-opentrans.rules.json +0 -28
- package/rulesets/adr/generated/adr-0078-domain-financial-separation-governance.rules.json +0 -29
- package/rulesets/adr/generated/adr-0079-multi-topology-reference-corpus-and-topology-manifest-contra.rules.json +0 -29
- package/rulesets/adr/generated/adr-0080-remote-repository-reference-contract.rules.json +0 -29
- package/rulesets/adr/generated/adr-0081-agentic-ai-sandbox-isolation-boundary.rules.json +0 -29
- package/rulesets/adr/generated/adr-0082-agentic-ai-prompt-context-and-tool-trust-boundary.rules.json +0 -28
- package/rulesets/adr/generated/adr-0083-agentic-ai-action-authorization-and-audit.rules.json +0 -29
- package/rulesets/adr/generated/adr-0084-data-mesh-and-data-as-a-product.rules.json +0 -29
- package/rulesets/adr/generated/adr-0085-agnostic-opa-wasm-distribution-architecture.rules.json +0 -28
- package/rulesets/adr/generated/adr-0086-agentic-ai-telemetry-cost-control-standard.rules.json +0 -27
- package/rulesets/adr/generated/adr-0087-attribute-based-access-control-abac-for-agentic-tool-executi.rules.json +0 -29
- package/rulesets/adr/generated/adr-0088-sovereign-identity-for-agentic-ai.rules.json +0 -29
- package/rulesets/adr/generated/adr-0089-event-driven-agentic-workflow-pattern.rules.json +0 -28
- package/rulesets/adr/generated/adr-0090-rag-knowledge-governance-standard.rules.json +0 -29
- package/rulesets/adr/generated/adr-0091-workload-identity-token-rotation-standard.rules.json +0 -29
- package/rulesets/adr/generated/adr-0092-agent-infinite-loop-prevention-and-circuit-breaker-rules.rules.json +0 -29
- package/rulesets/adr/generated/adr-0093-concurrency-control-and-resource-locking-standard-for-mcp-to.rules.json +0 -29
- package/rulesets/adr/generated/adr-0094-multi-agent-handoff-and-task-delegation-standards.rules.json +0 -29
- package/rulesets/adr/generated/adr-0095-serverless-architecture-governance.rules.json +0 -29
- package/rulesets/adr/generated/adr-0096-edge-computing-architecture-governance.rules.json +0 -29
- package/rulesets/adr/generated/adr-0097-knowledge-lifecycle-governance-standard.rules.json +0 -29
- package/rulesets/adr/generated/adr-0098-rest-uri-versioning-and-deprecation-policy.rules.json +0 -29
- package/rulesets/adr/generated/adr-0099-opa-bundle-distribution-via-s3-minio.rules.json +0 -27
- package/rulesets/adr/generated/adr-ai-augmented-0001-harness-engineering-for-ai-augmented-development.rules.json +0 -29
- package/rulesets/adr/generated/adr-ai-augmented-0002-mcp-integration-protocol-for-agent-tool-invocation.rules.json +0 -29
- package/rulesets/adr/generated/adr-ai-augmented-0003-model-selection-governance-for-ai-augmented-workflows.rules.json +0 -29
- package/rulesets/adr/generated/adr-ai-augmented-0004-agents-md-as-mandatory-repository-artifact.rules.json +0 -29
- package/rulesets/adr/generated/adr-ai-augmented-0005-human-in-the-loop-policy-for-autonomous-agent-operations.rules.json +0 -29
- package/rulesets/adr/generated/adr-android-0042-canonical-android-native-mobile-architecture.rules.json +0 -29
- package/rulesets/adr/generated/adr-dotnet-0041-canonical-net-c-backend-architecture.rules.json +0 -29
- package/rulesets/adr/generated/adr-dotnet-0060-net-multi-tenancy-dual-layer-strategy-ef-core-sql-server.rules.json +0 -29
- package/rulesets/adr/generated/adr-dotnet-0061-transactional-event-lifecycle-in-ef-core.rules.json +0 -28
- package/rulesets/adr/generated/adr-dotnet-0062-net-immutable-audit-trail-via-ddl-triggers-delta-capture.rules.json +0 -29
- package/rulesets/adr/generated/adr-dotnet-0063-b2b-request-idempotency-middleware-in-asp-net-core.rules.json +0 -28
- package/rulesets/adr/generated/adr-dotnet-0064-net-request-scope-observability-context-propagation.rules.json +0 -29
- package/rulesets/adr/generated/adr-dotnet-0065-net-pii-safe-structured-logging-pipeline-serilog.rules.json +0 -29
- package/rulesets/adr/generated/adr-dotnet-0066-net-lightweight-http-idempotency-via-imemorycache-idistribut.rules.json +0 -28
- package/rulesets/adr/generated/adr-dotnet-0069-net-grpc-service-setup-protobuf-contracts.rules.json +0 -29
- package/rulesets/adr/generated/adr-dotnet-0070-net-api-endpoint-strategy.rules.json +0 -29
- package/rulesets/adr/generated/adr-dotnet-0071-net-data-access-strategy-ef-core-as-default-orm-dapper-for-o.rules.json +0 -27
- package/rulesets/adr/generated/adr-dotnet-0072-net-aop-cross-cutting-concern-strategy-dispatchproxy-over-pi.rules.json +0 -29
- package/rulesets/adr/generated/adr-nodejs-0003-strict-typescript-standards.rules.json +0 -29
- package/rulesets/adr/generated/adr-nodejs-0004-frontend-offline-resilience.rules.json +0 -28
- package/rulesets/adr/generated/adr-nodejs-0007-observability-with-opentelemetry-loki-and-jaeger.rules.json +0 -29
- package/rulesets/adr/generated/adr-nodejs-0008-progressive-multi-module-evolution-with-api-gateway-and-bff-.rules.json +0 -28
- package/rulesets/adr/generated/adr-nodejs-0012-advanced-authorization-rbac-abac-strategy.rules.json +0 -28
- package/rulesets/adr/generated/adr-nodejs-0021-high-performance-authentication-graph-compilation.rules.json +0 -28
- package/rulesets/adr/generated/adr-nodejs-0022-contextual-authentication-and-pluggable-output-projections.rules.json +0 -28
- package/rulesets/adr/generated/adr-nodejs-0023-centralized-authorization-core-strategy.rules.json +0 -28
- package/rulesets/adr/generated/adr-nodejs-0026-adaptive-mfa-and-passwordless-platform.rules.json +0 -28
- package/rulesets/adr/generated/adr-nodejs-0027-dual-protocol-api-strategy-rest-grpc.rules.json +0 -28
- package/rulesets/adr/generated/adr-nodejs-0029-adoption-of-tactical-ddd-primitives-library.rules.json +0 -29
- package/rulesets/adr/generated/adr-nodejs-0038-enterprise-error-handling-result-pattern-strategy.rules.json +0 -29
- package/rulesets/adr/generated/adr-nodejs-0043-data-access-and-orm-strategy-for-node-js.rules.json +0 -29
- package/rulesets/adr/generated/adr-nodejs-0044-frontend-clean-architecture-layer-boundaries-react.rules.json +0 -29
- package/rulesets/adr/generated/adr-nodejs-0045-frontend-state-management-zustand-tanstack-query-dual-strate.rules.json +0 -29
- package/rulesets/adr/generated/adr-nodejs-0046-prohibition-of-raw-technical-identifiers-in-user-interfaces.rules.json +0 -29
- package/rulesets/adr/generated/adr-nodejs-0047-actionable-user-error-contract-and-correlated-diagnostics.rules.json +0 -29
- package/rulesets/adr/generated/adr-nodejs-0048-feature-flag-system-scope-and-structured-criteria-model.rules.json +0 -29
- package/rulesets/adr/generated/adr-nodejs-0074-monorepo-orchestration-with-nx.rules.json +0 -29
- package/rulesets/adr/generated/adr-nodejs-0075-application-gateway-bff-with-nestjs.rules.json +0 -29
- package/rulesets/architecture/README.es.md +0 -21
- package/rulesets/architecture/README.md +0 -21
- package/rulesets/architecture/opa/progressive-axis.rego +0 -50
- package/rulesets/cli/README.es.md +0 -17
- package/rulesets/cli/README.md +0 -17
- package/rulesets/cli/core-parity.rules.json +0 -61
- package/rulesets/cli/release-readiness.rules.json +0 -77
- package/rulesets/compliance-baseline/README.es.md +0 -26
- package/rulesets/compliance-baseline/README.md +0 -26
- package/rulesets/compliance-baseline/compliance-baseline.rules.json +0 -81
- package/rulesets/contracts/README.es.md +0 -19
- package/rulesets/contracts/README.md +0 -19
- package/rulesets/contracts/evolith-machine-contracts.json +0 -29
- package/rulesets/contracts/fixtures/gate-evidence.success.json +0 -10
- package/rulesets/contracts/fixtures/output-envelope.success.json +0 -23
- package/rulesets/cross-cutting/README.es.md +0 -14
- package/rulesets/cross-cutting/README.md +0 -14
- package/rulesets/cross-cutting/compliance-baseline.rules.json +0 -81
- package/rulesets/cross-cutting/definition-of-done.rules.json +0 -135
- package/rulesets/cross-cutting/engineering-manifesto.rules.json +0 -145
- package/rulesets/cross-cutting/repository-taxonomy.rules.json +0 -172
- package/rulesets/definition-of-done/README.es.md +0 -26
- package/rulesets/definition-of-done/README.md +0 -26
- package/rulesets/definition-of-done/definition-of-done.rules.json +0 -135
- package/rulesets/engineering-manifesto/README.es.md +0 -26
- package/rulesets/engineering-manifesto/README.md +0 -26
- package/rulesets/engineering-manifesto/engineering-manifesto.rules.json +0 -145
- package/rulesets/evidence/README.es.md +0 -12
- package/rulesets/evidence/README.md +0 -12
- package/rulesets/evidence/evidence-manifest.rules.json +0 -48
- package/rulesets/executive-scorecards/executive-scorecards.rules.es.json +0 -213
- package/rulesets/executive-scorecards/executive-scorecards.rules.json +0 -213
- package/rulesets/governance/README.es.md +0 -13
- package/rulesets/governance/README.md +0 -13
- package/rulesets/governance/abac-mcp-access.rules.es.json +0 -41
- package/rulesets/governance/abac-mcp-access.rules.json +0 -41
- package/rulesets/governance/executive-scorecards.rules.es.json +0 -213
- package/rulesets/governance/executive-scorecards.rules.json +0 -213
- package/rulesets/governance/inheritance.rules.json +0 -115
- package/rulesets/governance/knowledge-intake.rules.json +0 -18
- package/rulesets/governance/open-core-boundary.rules.es.json +0 -148
- package/rulesets/governance/open-core-boundary.rules.json +0 -148
- package/rulesets/governance/satellite-contracts.rules.json +0 -183
- package/rulesets/infrastructure/helm-enforcement.rules.json +0 -21
- package/rulesets/infrastructure/opa/helm-enforcement.rego +0 -25
- package/rulesets/infrastructure/opa/helm-enforcement.test.rego +0 -31
- package/rulesets/infrastructure/opa/opa-sidecar-bundle.rego +0 -115
- package/rulesets/infrastructure/opa/opa-sidecar-bundle.test.rego +0 -66
- package/rulesets/infrastructure/opa-sidecar-bundle.rules.json +0 -18
- package/rulesets/mcp/README.es.md +0 -12
- package/rulesets/mcp/README.md +0 -12
- package/rulesets/mcp/protocol-compliance.rules.json +0 -57
- package/rulesets/observability/README.es.md +0 -12
- package/rulesets/observability/README.md +0 -12
- package/rulesets/observability/telemetry-evidence.rules.json +0 -48
- package/rulesets/opa/README.es.md +0 -22
- package/rulesets/opa/README.md +0 -22
- package/rulesets/opa/abac-mcp-tool-access.rego +0 -122
- package/rulesets/opa/abac-mcp-tool-access.test.rego +0 -33
- package/rulesets/opa/anti-corruption-layer.rego +0 -39
- package/rulesets/opa/anti-corruption-layer.test.rego +0 -118
- package/rulesets/opa/ci-cd.rego +0 -41
- package/rulesets/opa/ci-cd.test.rego +0 -23
- package/rulesets/opa/cicd-quality-gates.rego +0 -29
- package/rulesets/opa/cicd-quality-gates.test.rego +0 -54
- package/rulesets/opa/cli-core-parity.rego +0 -17
- package/rulesets/opa/cli-core-parity.test.rego +0 -39
- package/rulesets/opa/cli-readiness.rego +0 -32
- package/rulesets/opa/cli-readiness.test.rego +0 -23
- package/rulesets/opa/cli-release-readiness.rego +0 -21
- package/rulesets/opa/cli-release-readiness.test.rego +0 -46
- package/rulesets/opa/compliance-baseline.rego +0 -95
- package/rulesets/opa/compliance-baseline.test.rego +0 -89
- package/rulesets/opa/dod.rego +0 -42
- package/rulesets/opa/dod.test.rego +0 -250
- package/rulesets/opa/engineering-manifesto.rego +0 -78
- package/rulesets/opa/engineering-manifesto.test.rego +0 -133
- package/rulesets/opa/evidence.rego +0 -64
- package/rulesets/opa/evidence.test.rego +0 -23
- package/rulesets/opa/executive-scorecards.rego +0 -41
- package/rulesets/opa/executive-scorecards.test.rego +0 -60
- package/rulesets/opa/gitflow-branching.rego +0 -41
- package/rulesets/opa/gitflow-branching.test.rego +0 -60
- package/rulesets/opa/governance.rego +0 -39
- package/rulesets/opa/governance.test.rego +0 -23
- package/rulesets/opa/hexagonal-architecture.rego +0 -33
- package/rulesets/opa/hexagonal-architecture.test.rego +0 -57
- package/rulesets/opa/infrastructure/helm-enforcement.rego +0 -33
- package/rulesets/opa/infrastructure/opa-sidecar-bundle.rego +0 -42
- package/rulesets/opa/knowledge-intake.rego +0 -98
- package/rulesets/opa/knowledge-intake.test.rego +0 -50
- package/rulesets/opa/main.rego +0 -147
- package/rulesets/opa/main_test.rego +0 -149
- package/rulesets/opa/mcp.rego +0 -61
- package/rulesets/opa/mcp.test.rego +0 -27
- package/rulesets/opa/multi-runtime.rego +0 -33
- package/rulesets/opa/multi-runtime.test.rego +0 -53
- package/rulesets/opa/multi-tenancy.rego +0 -33
- package/rulesets/opa/multi-tenancy.test.rego +0 -53
- package/rulesets/opa/open-core-boundary.rego +0 -33
- package/rulesets/opa/open-core-boundary.test.rego +0 -60
- package/rulesets/opa/protocol-selection.rego +0 -29
- package/rulesets/opa/protocol-selection.test.rego +0 -46
- package/rulesets/opa/rbac/gate-role-enforcement.rego +0 -112
- package/rulesets/opa/repository-taxonomy.rego +0 -98
- package/rulesets/opa/repository-taxonomy.test.rego +0 -91
- package/rulesets/opa/satellite-contracts.rego +0 -42
- package/rulesets/opa/satellite-contracts.test.rego +0 -70
- package/rulesets/opa/schemas/abac-mcp-tool-access.input.schema.json +0 -21
- package/rulesets/opa/schemas/anti-corruption-layer.input.schema.json +0 -25
- package/rulesets/opa/schemas/ci-cd.input.schema.json +0 -27
- package/rulesets/opa/schemas/cicd-quality-gates.input.schema.json +0 -33
- package/rulesets/opa/schemas/cli-core-parity.input.schema.json +0 -30
- package/rulesets/opa/schemas/cli-readiness.input.schema.json +0 -28
- package/rulesets/opa/schemas/cli-release-readiness.input.schema.json +0 -26
- package/rulesets/opa/schemas/compliance-baseline.input.schema.json +0 -25
- package/rulesets/opa/schemas/dod.input.schema.json +0 -38
- package/rulesets/opa/schemas/engineering-manifesto.input.schema.json +0 -24
- package/rulesets/opa/schemas/evidence.input.schema.json +0 -35
- package/rulesets/opa/schemas/executive-scorecards.input.schema.json +0 -36
- package/rulesets/opa/schemas/gitflow-branching.input.schema.json +0 -36
- package/rulesets/opa/schemas/governance.input.schema.json +0 -19
- package/rulesets/opa/schemas/hexagonal-architecture.input.schema.json +0 -46
- package/rulesets/opa/schemas/knowledge-intake.input.schema.json +0 -57
- package/rulesets/opa/schemas/mcp.input.schema.json +0 -38
- package/rulesets/opa/schemas/multi-runtime.input.schema.json +0 -27
- package/rulesets/opa/schemas/multi-tenancy.input.schema.json +0 -27
- package/rulesets/opa/schemas/open-core-boundary.input.schema.json +0 -36
- package/rulesets/opa/schemas/protocol-selection.input.schema.json +0 -26
- package/rulesets/opa/schemas/repository-taxonomy.input.schema.json +0 -18
- package/rulesets/opa/schemas/satellite-contracts.input.schema.json +0 -38
- package/rulesets/opa/schemas/taxonomy.input.schema.json +0 -27
- package/rulesets/opa/schemas/testing-pyramid.input.schema.json +0 -42
- package/rulesets/opa/schemas/version-pinning.input.schema.json +0 -39
- package/rulesets/opa/sdlc/coverage.rego +0 -49
- package/rulesets/opa/sdlc/coverage.test.rego +0 -29
- package/rulesets/opa/sdlc/pyramid-distribution.rego +0 -31
- package/rulesets/opa/sdlc/pyramid-distribution.test.rego +0 -33
- package/rulesets/opa/taxonomy.rego +0 -51
- package/rulesets/opa/taxonomy.test.rego +0 -28
- package/rulesets/opa/telemetry-evidence.rego +0 -102
- package/rulesets/opa/testing-pyramid.rego +0 -49
- package/rulesets/opa/testing-pyramid.test.rego +0 -81
- package/rulesets/opa/version-pinning.rego +0 -99
- package/rulesets/opa/version-pinning.test.rego +0 -28
- package/rulesets/phase-gates/README.es.md +0 -28
- package/rulesets/phase-gates/README.md +0 -28
- package/rulesets/phase-gates/phase-gates.rules.json +0 -297
- package/rulesets/quality-thresholds/README.es.md +0 -28
- package/rulesets/quality-thresholds/README.md +0 -28
- package/rulesets/quality-thresholds/quality-thresholds.rules.json +0 -96
- package/rulesets/repository-taxonomy/README.es.md +0 -26
- package/rulesets/repository-taxonomy/README.md +0 -26
- package/rulesets/repository-taxonomy/repository-taxonomy.rules.json +0 -172
- package/rulesets/satellite-contracts/README.es.md +0 -27
- package/rulesets/satellite-contracts/README.md +0 -27
- package/rulesets/satellite-contracts/satellite-contracts.rules.json +0 -183
- package/rulesets/schema/README.es.md +0 -39
- package/rulesets/schema/README.md +0 -39
- package/rulesets/schema/adr.schema.json +0 -138
- package/rulesets/schema/agile-backlog.schema.json +0 -91
- package/rulesets/schema/ballpark-estimation.schema.json +0 -109
- package/rulesets/schema/build-vs-compose.schema.json +0 -98
- package/rulesets/schema/cli-impact-analysis.schema.json +0 -114
- package/rulesets/schema/discovery-canvas.schema.json +0 -92
- package/rulesets/schema/evolith-user-story.schema.json +0 -105
- package/rulesets/schema/evolith-yaml.schema.json +0 -191
- package/rulesets/schema/functional-story.schema.json +0 -111
- package/rulesets/schema/gate-evidence.schema.json +0 -85
- package/rulesets/schema/integration-evidence.schema.json +0 -47
- package/rulesets/schema/knowledge-intake.schema.json +0 -67
- package/rulesets/schema/knowledge-projection.schema.json +0 -24
- package/rulesets/schema/maturity-evidence.schema.json +0 -59
- package/rulesets/schema/observability-validation.schema.json +0 -85
- package/rulesets/schema/on-call-handoff.schema.json +0 -91
- package/rulesets/schema/output-envelope.schema.json +0 -102
- package/rulesets/schema/prd.schema.json +0 -117
- package/rulesets/schema/release-notes.schema.json +0 -138
- package/rulesets/schema/rollback-rehearsal.schema.json +0 -73
- package/rulesets/schema/ruleset-sdlc.schema.json +0 -59
- package/rulesets/schema/ruleset-standard.schema.json +0 -73
- package/rulesets/schema/security-scan-report.schema.json +0 -79
- package/rulesets/schema/source-registry.schema.json +0 -51
- package/rulesets/schema/technical-feasibility.schema.json +0 -66
- package/rulesets/schema/technical-story.schema.json +0 -112
- package/rulesets/schema/test-summary-report.schema.json +0 -158
- package/rulesets/schema/topology-composition.schema.json +0 -43
- package/rulesets/schema/topology-manifest.schema.json +0 -421
- package/rulesets/sdlc/README.es.md +0 -12
- package/rulesets/sdlc/README.md +0 -12
- package/rulesets/sdlc/default-workflow.yaml +0 -73
- package/rulesets/sdlc/dependency-pinning.rules.json +0 -183
- package/rulesets/sdlc/phase-gates.rules.json +0 -297
- package/rulesets/sdlc/quality-thresholds.rules.json +0 -96
- package/rulesets/topologies/README.es.md +0 -42
- package/rulesets/topologies/README.md +0 -42
- package/rulesets/topologies/agentic-ai/README.es.md +0 -142
- package/rulesets/topologies/agentic-ai/README.md +0 -142
- package/rulesets/topologies/agentic-ai/adoption.es.md +0 -37
- package/rulesets/topologies/agentic-ai/adoption.md +0 -37
- package/rulesets/topologies/agentic-ai/agent.config.schema.json +0 -100
- package/rulesets/topologies/agentic-ai/agentic-ai.rego +0 -46
- package/rulesets/topologies/agentic-ai/agentic-ai.rules.json +0 -109
- package/rulesets/topologies/agentic-ai/agentic-ai.test.rego +0 -68
- package/rulesets/topologies/agentic-ai/agentic-ai.wasm +0 -0
- package/rulesets/topologies/agentic-ai/cli/cli-flows.es.md +0 -35
- package/rulesets/topologies/agentic-ai/cli/cli-flows.md +0 -45
- package/rulesets/topologies/agentic-ai/evidence.es.md +0 -25
- package/rulesets/topologies/agentic-ai/evidence.md +0 -25
- package/rulesets/topologies/agentic-ai/evolution.es.md +0 -26
- package/rulesets/topologies/agentic-ai/evolution.md +0 -26
- package/rulesets/topologies/agentic-ai/fixtures/invalid-agent.config.json +0 -48
- package/rulesets/topologies/agentic-ai/fixtures/valid-agent.config.json +0 -48
- package/rulesets/topologies/agentic-ai/maturity.es.md +0 -33
- package/rulesets/topologies/agentic-ai/maturity.md +0 -33
- package/rulesets/topologies/agentic-ai/mcp/mcp-manifest.json +0 -100
- package/rulesets/topologies/agentic-ai/openapi/openapi.yaml +0 -187
- package/rulesets/topologies/agentic-ai/operations.es.md +0 -32
- package/rulesets/topologies/agentic-ai/operations.md +0 -32
- package/rulesets/topologies/agentic-ai/parity-fixtures/compliant.json +0 -18
- package/rulesets/topologies/agentic-ai/parity-fixtures/violation.json +0 -22
- package/rulesets/topologies/agentic-ai/patterns.es.md +0 -32
- package/rulesets/topologies/agentic-ai/patterns.md +0 -32
- package/rulesets/topologies/agentic-ai/resilience.es.md +0 -26
- package/rulesets/topologies/agentic-ai/resilience.md +0 -26
- package/rulesets/topologies/agentic-ai/runbooks.es.md +0 -48
- package/rulesets/topologies/agentic-ai/runbooks.md +0 -48
- package/rulesets/topologies/agentic-ai/security.es.md +0 -26
- package/rulesets/topologies/agentic-ai/security.md +0 -26
- package/rulesets/topologies/agentic-ai/topology.manifest.json +0 -127
- package/rulesets/topologies/data-mesh/README.es.md +0 -69
- package/rulesets/topologies/data-mesh/README.md +0 -69
- package/rulesets/topologies/data-mesh/adoption.es.md +0 -95
- package/rulesets/topologies/data-mesh/adoption.md +0 -95
- package/rulesets/topologies/data-mesh/cli/cli-flows.es.md +0 -41
- package/rulesets/topologies/data-mesh/cli/cli-flows.md +0 -53
- package/rulesets/topologies/data-mesh/data-mesh.rego +0 -11
- package/rulesets/topologies/data-mesh/data-mesh.rules.json +0 -100
- package/rulesets/topologies/data-mesh/data-mesh.test.rego +0 -107
- package/rulesets/topologies/data-mesh/data-mesh.wasm +0 -0
- package/rulesets/topologies/data-mesh/evidence.es.md +0 -111
- package/rulesets/topologies/data-mesh/evidence.md +0 -111
- package/rulesets/topologies/data-mesh/evolution.es.md +0 -67
- package/rulesets/topologies/data-mesh/evolution.md +0 -67
- package/rulesets/topologies/data-mesh/fixtures/invalid.topology.config.json +0 -12
- package/rulesets/topologies/data-mesh/fixtures/valid.topology.config.json +0 -12
- package/rulesets/topologies/data-mesh/maturity.es.md +0 -36
- package/rulesets/topologies/data-mesh/maturity.md +0 -36
- package/rulesets/topologies/data-mesh/mcp/mcp-manifest.json +0 -68
- package/rulesets/topologies/data-mesh/openapi/openapi.yaml +0 -186
- package/rulesets/topologies/data-mesh/operations.es.md +0 -63
- package/rulesets/topologies/data-mesh/operations.md +0 -63
- package/rulesets/topologies/data-mesh/parity-fixtures/compliant.json +0 -18
- package/rulesets/topologies/data-mesh/parity-fixtures/violation.json +0 -21
- package/rulesets/topologies/data-mesh/patterns.es.md +0 -67
- package/rulesets/topologies/data-mesh/patterns.md +0 -67
- package/rulesets/topologies/data-mesh/resilience.es.md +0 -64
- package/rulesets/topologies/data-mesh/resilience.md +0 -64
- package/rulesets/topologies/data-mesh/runbooks.es.md +0 -147
- package/rulesets/topologies/data-mesh/runbooks.md +0 -147
- package/rulesets/topologies/data-mesh/security.es.md +0 -66
- package/rulesets/topologies/data-mesh/security.md +0 -66
- package/rulesets/topologies/data-mesh/topology.config.schema.json +0 -30
- package/rulesets/topologies/data-mesh/topology.manifest.json +0 -107
- package/rulesets/topologies/edge-computing/README.es.md +0 -81
- package/rulesets/topologies/edge-computing/README.md +0 -81
- package/rulesets/topologies/edge-computing/adoption.es.md +0 -268
- package/rulesets/topologies/edge-computing/adoption.md +0 -268
- package/rulesets/topologies/edge-computing/cli/cli-flows.es.md +0 -41
- package/rulesets/topologies/edge-computing/cli/cli-flows.md +0 -53
- package/rulesets/topologies/edge-computing/edge-computing.rego +0 -41
- package/rulesets/topologies/edge-computing/edge-computing.rules.json +0 -50
- package/rulesets/topologies/edge-computing/edge-computing.test.rego +0 -33
- package/rulesets/topologies/edge-computing/edge-computing.wasm +0 -0
- package/rulesets/topologies/edge-computing/evidence.es.md +0 -263
- package/rulesets/topologies/edge-computing/evidence.md +0 -263
- package/rulesets/topologies/edge-computing/evolution.es.md +0 -257
- package/rulesets/topologies/edge-computing/evolution.md +0 -257
- package/rulesets/topologies/edge-computing/fixtures/invalid.topology.config.json +0 -6
- package/rulesets/topologies/edge-computing/fixtures/valid.topology.config.json +0 -6
- package/rulesets/topologies/edge-computing/maturity.es.md +0 -36
- package/rulesets/topologies/edge-computing/maturity.md +0 -36
- package/rulesets/topologies/edge-computing/mcp/mcp-manifest.json +0 -72
- package/rulesets/topologies/edge-computing/openapi/openapi.yaml +0 -187
- package/rulesets/topologies/edge-computing/operations.es.md +0 -148
- package/rulesets/topologies/edge-computing/operations.md +0 -148
- package/rulesets/topologies/edge-computing/parity-fixtures/compliant.json +0 -12
- package/rulesets/topologies/edge-computing/parity-fixtures/violation.json +0 -13
- package/rulesets/topologies/edge-computing/patterns.es.md +0 -291
- package/rulesets/topologies/edge-computing/patterns.md +0 -290
- package/rulesets/topologies/edge-computing/resilience.es.md +0 -232
- package/rulesets/topologies/edge-computing/resilience.md +0 -229
- package/rulesets/topologies/edge-computing/runbooks.es.md +0 -405
- package/rulesets/topologies/edge-computing/runbooks.md +0 -405
- package/rulesets/topologies/edge-computing/security.es.md +0 -218
- package/rulesets/topologies/edge-computing/security.md +0 -218
- package/rulesets/topologies/edge-computing/topology.config.schema.json +0 -13
- package/rulesets/topologies/edge-computing/topology.manifest.json +0 -113
- package/rulesets/topologies/event-driven/README.es.md +0 -71
- package/rulesets/topologies/event-driven/README.md +0 -71
- package/rulesets/topologies/event-driven/adoption.es.md +0 -67
- package/rulesets/topologies/event-driven/adoption.md +0 -67
- package/rulesets/topologies/event-driven/cli/cli-flows.es.md +0 -41
- package/rulesets/topologies/event-driven/cli/cli-flows.md +0 -53
- package/rulesets/topologies/event-driven/event-driven.rego +0 -11
- package/rulesets/topologies/event-driven/event-driven.rules.json +0 -100
- package/rulesets/topologies/event-driven/event-driven.test.rego +0 -107
- package/rulesets/topologies/event-driven/event-driven.wasm +0 -0
- package/rulesets/topologies/event-driven/evidence.es.md +0 -69
- package/rulesets/topologies/event-driven/evidence.md +0 -69
- package/rulesets/topologies/event-driven/evolution.es.md +0 -59
- package/rulesets/topologies/event-driven/evolution.md +0 -59
- package/rulesets/topologies/event-driven/fixtures/invalid.topology.config.json +0 -12
- package/rulesets/topologies/event-driven/fixtures/valid.topology.config.json +0 -12
- package/rulesets/topologies/event-driven/maturity.es.md +0 -36
- package/rulesets/topologies/event-driven/maturity.md +0 -36
- package/rulesets/topologies/event-driven/mcp/mcp-manifest.json +0 -68
- package/rulesets/topologies/event-driven/openapi/openapi.yaml +0 -186
- package/rulesets/topologies/event-driven/operations.es.md +0 -67
- package/rulesets/topologies/event-driven/operations.md +0 -67
- package/rulesets/topologies/event-driven/parity-fixtures/compliant.json +0 -18
- package/rulesets/topologies/event-driven/parity-fixtures/violation.json +0 -21
- package/rulesets/topologies/event-driven/patterns.es.md +0 -68
- package/rulesets/topologies/event-driven/patterns.md +0 -68
- package/rulesets/topologies/event-driven/resilience.es.md +0 -65
- package/rulesets/topologies/event-driven/resilience.md +0 -65
- package/rulesets/topologies/event-driven/runbooks.es.md +0 -79
- package/rulesets/topologies/event-driven/runbooks.md +0 -79
- package/rulesets/topologies/event-driven/security.es.md +0 -59
- package/rulesets/topologies/event-driven/security.md +0 -59
- package/rulesets/topologies/event-driven/topology.config.schema.json +0 -30
- package/rulesets/topologies/event-driven/topology.manifest.json +0 -109
- package/rulesets/topologies/progressive-axis/distributed-modules/distributed-modules.rules.es.json +0 -111
- package/rulesets/topologies/progressive-axis/distributed-modules/distributed-modules.rules.json +0 -111
- package/rulesets/topologies/progressive-axis/microservices/microservices.rules.es.json +0 -106
- package/rulesets/topologies/progressive-axis/microservices/microservices.rules.json +0 -106
- package/rulesets/topologies/progressive-axis/modular-monolith/modular-monolith.rules.es.json +0 -148
- package/rulesets/topologies/progressive-axis/modular-monolith/modular-monolith.rules.json +0 -148
- package/rulesets/topologies/serverless/README.es.md +0 -74
- package/rulesets/topologies/serverless/README.md +0 -74
- package/rulesets/topologies/serverless/adoption.es.md +0 -50
- package/rulesets/topologies/serverless/adoption.md +0 -50
- package/rulesets/topologies/serverless/cli/cli-flows.es.md +0 -41
- package/rulesets/topologies/serverless/cli/cli-flows.md +0 -53
- package/rulesets/topologies/serverless/evidence.es.md +0 -66
- package/rulesets/topologies/serverless/evidence.md +0 -66
- package/rulesets/topologies/serverless/evolution.es.md +0 -36
- package/rulesets/topologies/serverless/evolution.md +0 -36
- package/rulesets/topologies/serverless/fixtures/invalid.topology.config.json +0 -6
- package/rulesets/topologies/serverless/fixtures/valid.topology.config.json +0 -6
- package/rulesets/topologies/serverless/maturity.es.md +0 -36
- package/rulesets/topologies/serverless/maturity.md +0 -36
- package/rulesets/topologies/serverless/mcp/mcp-manifest.json +0 -72
- package/rulesets/topologies/serverless/openapi/openapi.yaml +0 -186
- package/rulesets/topologies/serverless/operations.es.md +0 -36
- package/rulesets/topologies/serverless/operations.md +0 -36
- package/rulesets/topologies/serverless/parity-fixtures/compliant.json +0 -13
- package/rulesets/topologies/serverless/parity-fixtures/violation.json +0 -15
- package/rulesets/topologies/serverless/patterns.es.md +0 -36
- package/rulesets/topologies/serverless/patterns.md +0 -36
- package/rulesets/topologies/serverless/resilience.es.md +0 -36
- package/rulesets/topologies/serverless/resilience.md +0 -36
- package/rulesets/topologies/serverless/runbooks.es.md +0 -68
- package/rulesets/topologies/serverless/runbooks.md +0 -68
- package/rulesets/topologies/serverless/security.es.md +0 -36
- package/rulesets/topologies/serverless/security.md +0 -36
- package/rulesets/topologies/serverless/serverless.rego +0 -32
- package/rulesets/topologies/serverless/serverless.rules.json +0 -33
- package/rulesets/topologies/serverless/serverless.test.rego +0 -28
- package/rulesets/topologies/serverless/serverless.wasm +0 -0
- package/rulesets/topologies/serverless/topology.config.schema.json +0 -28
- package/rulesets/topologies/serverless/topology.manifest.json +0 -114
package/rulesets/adr/generated/adr-nodejs-0075-application-gateway-bff-with-nestjs.rules.json
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../../schema/ruleset-standard.schema.json",
|
|
3
|
-
"$id": "https://evolith.dev/rulesets/adr/generated/adr-nodejs-0075-application-gateway-bff-with-nestjs.rules.json",
|
|
4
|
-
"title": "ADR-0075 — Application Gateway (BFF) with NestJS Rules (generated)",
|
|
5
|
-
"description": "Auto-generated ruleset encoding ADR-0075 (nodejs track). Classification: executable. Generated by .harness/scripts/generate-adr-rulesets.mjs — do not edit by hand.",
|
|
6
|
-
"version": "1.0.0",
|
|
7
|
-
"adrId": "ADR-0075",
|
|
8
|
-
"adrTitle": "Application Gateway (BFF) with NestJS",
|
|
9
|
-
"status": "Approved",
|
|
10
|
-
"date": "2026-06-12",
|
|
11
|
-
"rules": [
|
|
12
|
-
{
|
|
13
|
-
"id": "NODE-0075-01",
|
|
14
|
-
"severity": "MUST",
|
|
15
|
-
"category": "adr-conformance",
|
|
16
|
-
"title": "Conform to ADR-0075: Application Gateway (BFF) with NestJS",
|
|
17
|
-
"description": "Implementations MUST conform to the decision recorded in ADR-0075 (nodejs track). ADR decision: Adopt NestJS as the Application Gateway (BFF) framework. NestJS provides a robust dependency injection container, native gRPC and REST support, and enforced modularity. It is safely deployed behind the Tier 1 Edge Gateway. This ADR contains enforceable language (dependency, enforce, enforced); conformance is expected to be verifiable via static analysis, linting, CI gates, or structural checks.",
|
|
18
|
-
"statement": "ADR decision: Adopt NestJS as the Application Gateway (BFF) framework. NestJS provides a robust dependency injection container, native gRPC and REST support, and enforced modularity. It is safely deployed behind the Tier 1 Edge Gateway.",
|
|
19
|
-
"rationale": "Derived from ADR-0075 \"Decision\" section. Enforcement signals detected: dependency, enforce, enforced.",
|
|
20
|
-
"validationQuery": "Verify codebase/CI compliance with ADR-0075 via static analysis, lint rules, or pipeline gates covering: dependency, enforce, enforced. Concrete checks to be wired into the harness.",
|
|
21
|
-
"blocking": true,
|
|
22
|
-
"enforcement": "executable"
|
|
23
|
-
}
|
|
24
|
-
],
|
|
25
|
-
"references": [
|
|
26
|
-
"reference/architecture/adrs/nodejs/0075-application-gateway-bff-nestjs.md"
|
|
27
|
-
],
|
|
28
|
-
"effectiveDate": "2026-06-12"
|
|
29
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Índice de Reglas Arquitectónicas del Progressive-Axis
|
|
2
|
-
|
|
3
|
-
Reglas que gobiernan el modelo de compatibilidad `progressive-axis` desde monolito modular hacia modulos distribuidos y microservicios.
|
|
4
|
-
|
|
5
|
-
F1, F2 y F3 permanecen soportados como aliases de compatibilidad para CLI, MCP, Service CORE API y contratos de satelite existentes. No representan todo el universo topologico. Los perfiles multi-topologia fuera de este eje se resuelven mediante `topology.manifest.json` y el modelo dimensional en [Modelo de Dimensiones Topologicas](../../reference/architecture/topologies/topology-dimensions.es.md).
|
|
6
|
-
|
|
7
|
-
| Fase | Archivo de Reglas | Descripción |
|
|
8
|
-
|---|---|---|
|
|
9
|
-
| **F1 — Monolito Modular** | [f1-modular-monolith.rules.json](../../reference/architecture/topologies/progressive-axis/modular-monolith/modular-monolith.rules.json) | Topología canónica de inicio; gates de preparación para extracción |
|
|
10
|
-
| **F2 — Módulos Distribuidos** | [f2-distributed-modules.rules.json](../../reference/architecture/topologies/progressive-axis/distributed-modules/distributed-modules.rules.json) | Límites de módulos formalizados; contratos inter-módulo establecidos |
|
|
11
|
-
| **F3 — Microservicios** | [f3-microservices.rules.json](../../reference/architecture/topologies/progressive-axis/microservices/microservices.rules.json) | Desplegabilidad autónoma; preparación para service mesh |
|
|
12
|
-
|
|
13
|
-
| Alias de Compatibilidad | Topologia Canonica |
|
|
14
|
-
|---|---|
|
|
15
|
-
| `--arch-level F1` | `--topology modular-monolith` |
|
|
16
|
-
| `--arch-level F2` | `--topology distributed-modules` |
|
|
17
|
-
| `--arch-level F3` | `--topology microservices` |
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
Volver al [Rulesets Hub](../README.es.md)
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Progressive-Axis Architecture Rules Index
|
|
2
|
-
|
|
3
|
-
Rules governing the `progressive-axis` compatibility model from modular monolith to distributed modules to microservices.
|
|
4
|
-
|
|
5
|
-
F1, F2, and F3 remain supported compatibility aliases for existing CLI, MCP, Service CORE API, and satellite contracts. They are not the full topology universe. Multi-topology profiles outside this axis are resolved through `topology.manifest.json` and the dimensional model in [Topology Dimensions Model](../../reference/architecture/topologies/topology-dimensions.md).
|
|
6
|
-
|
|
7
|
-
| Phase | Rule File | Description |
|
|
8
|
-
|---|---|---|
|
|
9
|
-
| **F1 — Modular Monolith** | [f1-modular-monolith.rules.json](../../reference/architecture/topologies/progressive-axis/modular-monolith/modular-monolith.rules.json) | Canonical starting topology; extraction readiness gates |
|
|
10
|
-
| **F2 — Distributed Modules** | [f2-distributed-modules.rules.json](../../reference/architecture/topologies/progressive-axis/distributed-modules/distributed-modules.rules.json) | Module boundaries formalized; inter-module contracts established |
|
|
11
|
-
| **F3 — Microservices** | [f3-microservices.rules.json](../../reference/architecture/topologies/progressive-axis/microservices/microservices.rules.json) | Autonomous deployability; service mesh readiness |
|
|
12
|
-
|
|
13
|
-
| Compatibility Alias | Canonical Topology |
|
|
14
|
-
|---|---|
|
|
15
|
-
| `--arch-level F1` | `--topology modular-monolith` |
|
|
16
|
-
| `--arch-level F2` | `--topology distributed-modules` |
|
|
17
|
-
| `--arch-level F3` | `--topology microservices` |
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
Back to [Rulesets Hub](../README.md)
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
package evolith.architecture.progressive_axis
|
|
2
|
-
|
|
3
|
-
import rego.v1
|
|
4
|
-
|
|
5
|
-
# ---------------------------------------------------------------------------
|
|
6
|
-
# Progressive-Axis Architecture Compliance (ARCH-01..ARCH-05)
|
|
7
|
-
# Validates cross-cutting eligibility rules for F1→F2→F3 topology transitions.
|
|
8
|
-
# Topology-specific rules live co-located with each topology manifest.
|
|
9
|
-
# ---------------------------------------------------------------------------
|
|
10
|
-
|
|
11
|
-
valid_topologies := {"modular-monolith", "distributed-modules", "microservices"}
|
|
12
|
-
|
|
13
|
-
upgrade_path := {
|
|
14
|
-
"modular-monolith": "distributed-modules",
|
|
15
|
-
"distributed-modules": "microservices",
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
violations contains {"id": "ARCH-01", "message": "evolith.yaml must declare a topology field matching a valid progressive-axis topology (modular-monolith, distributed-modules, microservices)"} if {
|
|
19
|
-
not valid_topologies[input.satellite.topology]
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
violations contains {"id": "ARCH-02", "message": msg} if {
|
|
23
|
-
from := input.satellite.previousTopology
|
|
24
|
-
to := input.satellite.topology
|
|
25
|
-
from != to
|
|
26
|
-
valid_topologies[from]
|
|
27
|
-
valid_topologies[to]
|
|
28
|
-
upgrade_path[from] != to
|
|
29
|
-
msg := sprintf("Topology transition from '%v' to '%v' is not allowed — must follow the progressive axis upgrade path (modular-monolith → distributed-modules → microservices)", [from, to])
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
violations contains {"id": "ARCH-03", "message": "An ADR must exist and be in accepted state before topology selection is finalised"} if {
|
|
33
|
-
not input.satellite.topologyAdrAccepted
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
violations contains {"id": "ARCH-04", "message": "topology.manifest.json must be present and declare the active topology"} if {
|
|
37
|
-
not input.satellite.hasTopologyManifest
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
violations contains {"id": "ARCH-05", "message": msg} if {
|
|
41
|
-
level := input.satellite.archLevel
|
|
42
|
-
topology := input.satellite.topology
|
|
43
|
-
expected := {
|
|
44
|
-
"F1": "modular-monolith",
|
|
45
|
-
"F2": "distributed-modules",
|
|
46
|
-
"F3": "microservices",
|
|
47
|
-
}
|
|
48
|
-
expected[level] != topology
|
|
49
|
-
msg := sprintf("Architecture compatibility alias '%v' does not match declared topology '%v' (expected: '%v')", [level, topology, expected[level]])
|
|
50
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Rulesets del CLI
|
|
2
|
-
|
|
3
|
-
> **Navegación bilingüe:** [English version](./README.md)
|
|
4
|
-
|
|
5
|
-
Reglas legibles por máquina para preparación de release del Evolith Smart CLI y paridad con Evolith Core.
|
|
6
|
-
|
|
7
|
-
## Rulesets
|
|
8
|
-
|
|
9
|
-
| Ruleset | Propósito |
|
|
10
|
-
|---|---|
|
|
11
|
-
| [Preparación de Release del CLI](./release-readiness.rules.json) | Define evidencia mínima de build, pruebas, paquete y smoke MCP antes de liberar el CLI. |
|
|
12
|
-
| [Paridad CLI/Core](./core-parity.rules.json) | Exige que cada capacidad de regla Core sea trazable a CLI, MCP, pruebas y estado de evidencia. |
|
|
13
|
-
|
|
14
|
-
## Intención de Validación
|
|
15
|
-
|
|
16
|
-
Estos rulesets son autoritativos para revisiones de release y deben conectarse a la validación del CLI como checks ejecutables antes de promover una versión del CLI de beta a stable.
|
|
17
|
-
|
package/rulesets/cli/README.md
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# CLI Rulesets
|
|
2
|
-
|
|
3
|
-
> **Bilingual navigation:** [Versión en Español](./README.es.md)
|
|
4
|
-
|
|
5
|
-
Machine-readable rules for Evolith Smart CLI release readiness and parity with Evolith Core.
|
|
6
|
-
|
|
7
|
-
## Rulesets
|
|
8
|
-
|
|
9
|
-
| Ruleset | Purpose |
|
|
10
|
-
|---|---|
|
|
11
|
-
| [CLI Release Readiness](./release-readiness.rules.json) | Defines minimum build, test, package, and MCP smoke evidence before CLI release. |
|
|
12
|
-
| [CLI/Core Parity](./core-parity.rules.json) | Requires every Core rule capability to be traced to CLI, MCP, tests, and evidence status. |
|
|
13
|
-
|
|
14
|
-
## Validation Intent
|
|
15
|
-
|
|
16
|
-
These rulesets are authoritative for release reviews and should be wired into CLI validation as executable checks before promoting a CLI version from beta to stable.
|
|
17
|
-
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../schema/ruleset-standard.schema.json",
|
|
3
|
-
"$id": "https://evolith.dev/rulesets/cli/core-parity.rules.json",
|
|
4
|
-
"title": "CLI/Core Parity Rules",
|
|
5
|
-
"description": "Rules ensuring Evolith Core governance capabilities are exposed consistently through CLI and MCP.",
|
|
6
|
-
"version": "1.0.0",
|
|
7
|
-
"effectiveDate": "2026-06-08",
|
|
8
|
-
"scope": "core-cli",
|
|
9
|
-
"category": "core-parity",
|
|
10
|
-
"rules": [
|
|
11
|
-
{
|
|
12
|
-
"id": "CLI-PAR-01",
|
|
13
|
-
"severity": "MUST",
|
|
14
|
-
"category": "traceability",
|
|
15
|
-
"title": "Every Executable Core Rule Has a Parity Record",
|
|
16
|
-
"description": "Each Core ruleset rule intended for automation MUST declare CLI status, MCP status, test status, and evidence status.",
|
|
17
|
-
"validationQuery": "Compare rulesets/**/*.rules.json against reference/governance/standards/vision/gap-tracking.md or generated parity manifest.",
|
|
18
|
-
"evidenceRequired": [
|
|
19
|
-
"parity manifest"
|
|
20
|
-
],
|
|
21
|
-
"blocking": true
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"id": "CLI-PAR-02",
|
|
25
|
-
"severity": "MUST",
|
|
26
|
-
"category": "shared-logic",
|
|
27
|
-
"title": "CLI and MCP Must Use Shared Validation Logic",
|
|
28
|
-
"description": "A validation capability MUST NOT implement divergent business logic in CLI and MCP adapters.",
|
|
29
|
-
"validationQuery": "Verify CLI commands and MCP tools call shared services or use cases for the same capability.",
|
|
30
|
-
"evidenceRequired": [
|
|
31
|
-
"source references",
|
|
32
|
-
"contract tests"
|
|
33
|
-
],
|
|
34
|
-
"blocking": true
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"id": "CLI-PAR-03",
|
|
38
|
-
"severity": "MUST",
|
|
39
|
-
"category": "outputs",
|
|
40
|
-
"title": "Equivalent CLI and MCP Results Must Be Semantically Consistent",
|
|
41
|
-
"description": "The same validation request through CLI and MCP MUST return the same rule outcomes, severities, and blocking status.",
|
|
42
|
-
"validationQuery": "Run paired CLI/MCP fixture tests and compare normalized JSON results.",
|
|
43
|
-
"evidenceRequired": [
|
|
44
|
-
"paired fixture report"
|
|
45
|
-
],
|
|
46
|
-
"blocking": true
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"id": "CLI-PAR-04",
|
|
50
|
-
"severity": "SHOULD",
|
|
51
|
-
"category": "documentation",
|
|
52
|
-
"title": "Parity Gaps Must Remain Visible",
|
|
53
|
-
"description": "Partial or missing parity SHOULD be documented with owner, priority, and planned closure date.",
|
|
54
|
-
"validationQuery": "Inspect parity tracking for owner, priority, and closure metadata.",
|
|
55
|
-
"evidenceRequired": [
|
|
56
|
-
"updated parity tracking"
|
|
57
|
-
],
|
|
58
|
-
"blocking": false
|
|
59
|
-
}
|
|
60
|
-
]
|
|
61
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../schema/ruleset-standard.schema.json",
|
|
3
|
-
"$id": "https://evolith.dev/rulesets/cli/release-readiness.rules.json",
|
|
4
|
-
"title": "CLI Release Readiness Rules",
|
|
5
|
-
"description": "Minimum release gates for Evolith Smart CLI, SDK, and MCP exposure.",
|
|
6
|
-
"version": "1.0.0",
|
|
7
|
-
"effectiveDate": "2026-06-08",
|
|
8
|
-
"scope": "core-cli",
|
|
9
|
-
"category": "release-readiness",
|
|
10
|
-
"rules": [
|
|
11
|
-
{
|
|
12
|
-
"id": "CLI-RR-01",
|
|
13
|
-
"severity": "MUST",
|
|
14
|
-
"category": "build",
|
|
15
|
-
"title": "TypeScript Build Must Pass",
|
|
16
|
-
"description": "The CLI package MUST compile with npm run build before any release candidate is tagged.",
|
|
17
|
-
"validationQuery": "Run npm run build in sdk/cli and require exit code 0.",
|
|
18
|
-
"evidenceRequired": [
|
|
19
|
-
"build log",
|
|
20
|
-
"package version"
|
|
21
|
-
],
|
|
22
|
-
"blocking": true
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
"id": "CLI-RR-02",
|
|
26
|
-
"severity": "MUST",
|
|
27
|
-
"category": "tests",
|
|
28
|
-
"title": "Unit and Integration Tests Must Start and Pass",
|
|
29
|
-
"description": "The CLI test runner MUST start successfully and all non-quarantined tests MUST pass.",
|
|
30
|
-
"validationQuery": "Run npm test -- --runInBand in sdk/cli and require exit code 0.",
|
|
31
|
-
"evidenceRequired": [
|
|
32
|
-
"test summary",
|
|
33
|
-
"failing suite list when blocked"
|
|
34
|
-
],
|
|
35
|
-
"blocking": true
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"id": "CLI-RR-03",
|
|
39
|
-
"severity": "MUST",
|
|
40
|
-
"category": "dependencies",
|
|
41
|
-
"title": "Dependency Graph Must Be Reproducible",
|
|
42
|
-
"description": "The CLI workspace MUST keep a committed package lock and no missing transitive dependencies.",
|
|
43
|
-
"validationQuery": "Run npm install --workspace @evolith/smart-cli, npm ls, and verify package-lock.json is present.",
|
|
44
|
-
"evidenceRequired": [
|
|
45
|
-
"package-lock.json",
|
|
46
|
-
"npm ls output"
|
|
47
|
-
],
|
|
48
|
-
"blocking": true
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"id": "CLI-RR-04",
|
|
52
|
-
"severity": "MUST",
|
|
53
|
-
"category": "mcp",
|
|
54
|
-
"title": "MCP Smoke Test Must Pass",
|
|
55
|
-
"description": "The MCP server MUST respond to initialize and tools/list over the supported release transport.",
|
|
56
|
-
"validationQuery": "Start smart-cli mcp serve and execute initialize plus tools/list JSON-RPC smoke requests.",
|
|
57
|
-
"evidenceRequired": [
|
|
58
|
-
"initialize response",
|
|
59
|
-
"tools/list response"
|
|
60
|
-
],
|
|
61
|
-
"blocking": true
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"id": "CLI-RR-05",
|
|
65
|
-
"severity": "SHOULD",
|
|
66
|
-
"category": "documentation",
|
|
67
|
-
"title": "Release Documentation Must Match Implementation",
|
|
68
|
-
"description": "CLI README, architecture, vision, gap analysis, and parity docs SHOULD describe the current implemented state without contradictions.",
|
|
69
|
-
"validationQuery": "Review CLI documentation state markers against source commands and tests.",
|
|
70
|
-
"evidenceRequired": [
|
|
71
|
-
"documentation diff",
|
|
72
|
-
"gap analysis update"
|
|
73
|
-
],
|
|
74
|
-
"blocking": false
|
|
75
|
-
}
|
|
76
|
-
]
|
|
77
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# Ruleset de Baseline de Cumplimiento
|
|
2
|
-
|
|
3
|
-
> **Navegación Bilingüe:** [English Version](./README.md)
|
|
4
|
-
|
|
5
|
-
Punto de entrada ejecutable WS1 para el ruleset de baseline de cumplimiento de Evolith.
|
|
6
|
-
|
|
7
|
-
## Propósito
|
|
8
|
-
|
|
9
|
-
Este directorio expone `rulesets/compliance-baseline` como la ruta ejecutable canónica que verifica la auditoría de fortaleza como data inteligente. El ruleset codifica los pilares de baseline de cumplimiento de Evolith consumidos por el validador nativo de rulesets y los flujos de evidencia CI.
|
|
10
|
-
|
|
11
|
-
## Artefactos
|
|
12
|
-
|
|
13
|
-
| Artefacto | Propósito |
|
|
14
|
-
|---|---|
|
|
15
|
-
| [compliance-baseline.rules.json](./compliance-baseline.rules.json) | Ruleset nativo machine-readable para validación de baseline de cumplimiento |
|
|
16
|
-
| [../opa/compliance-baseline.rego](../opa/compliance-baseline.rego) | Artefacto de paridad OPA para validación de baseline de cumplimiento |
|
|
17
|
-
| [../opa/compliance-baseline.test.rego](../opa/compliance-baseline.test.rego) | Cobertura de pruebas OPA para la política de baseline de cumplimiento |
|
|
18
|
-
|
|
19
|
-
## Validación
|
|
20
|
-
|
|
21
|
-
Ejecuta estos checks después de cambiar el ruleset:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
npx jest --config packages/core-domain/jest.config.js --rootDir packages/core-domain --testPathPatterns='ruleset-validation.mode' --no-coverage
|
|
25
|
-
.harness/bin/opa test rulesets/opa/compliance-baseline.rego rulesets/opa/compliance-baseline.test.rego -v
|
|
26
|
-
```
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# Compliance Baseline Ruleset
|
|
2
|
-
|
|
3
|
-
> **Bilingual Navigation:** [Versión en Español](./README.es.md)
|
|
4
|
-
|
|
5
|
-
Executable WS1 entrypoint for the Evolith compliance baseline ruleset.
|
|
6
|
-
|
|
7
|
-
## Purpose
|
|
8
|
-
|
|
9
|
-
This directory exposes `rulesets/compliance-baseline` as the canonical executable path checked by the intelligent data strength audit. The ruleset encodes the Evolith compliance baseline pillars consumed by the native ruleset validator and CI evidence flows.
|
|
10
|
-
|
|
11
|
-
## Artifacts
|
|
12
|
-
|
|
13
|
-
| Artifact | Purpose |
|
|
14
|
-
|---|---|
|
|
15
|
-
| [compliance-baseline.rules.json](./compliance-baseline.rules.json) | Native machine-readable ruleset for compliance baseline validation |
|
|
16
|
-
| [../opa/compliance-baseline.rego](../opa/compliance-baseline.rego) | OPA policy parity artifact for compliance baseline validation |
|
|
17
|
-
| [../opa/compliance-baseline.test.rego](../opa/compliance-baseline.test.rego) | OPA test coverage for the compliance baseline policy |
|
|
18
|
-
|
|
19
|
-
## Validation
|
|
20
|
-
|
|
21
|
-
Run these checks after changing the ruleset:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
npx jest --config packages/core-domain/jest.config.js --rootDir packages/core-domain --testPathPatterns='ruleset-validation.mode' --no-coverage
|
|
25
|
-
.harness/bin/opa test rulesets/opa/compliance-baseline.rego rulesets/opa/compliance-baseline.test.rego -v
|
|
26
|
-
```
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../schema/ruleset-standard.schema.json",
|
|
3
|
-
"$id": "https://evolith.dev/rulesets/compliance-baseline/compliance-baseline.rules.json",
|
|
4
|
-
"title": "Evolith Compliance Baseline Rules",
|
|
5
|
-
"description": "Machine-readable encoding of the 5 Evolith Compliance Baseline pillars. These artifacts govern the entire lifecycle and must be in effect from the first artifact to the last deployment.",
|
|
6
|
-
"version": "1.0.0",
|
|
7
|
-
"effectiveDate": "2026-01-01",
|
|
8
|
-
"exitCriteria": {
|
|
9
|
-
"description": "All 5 pillars validated present and compliant in each satellite. Baseline violations block Phase 1 gate.",
|
|
10
|
-
"validationTools": [
|
|
11
|
-
"evolith-cli validate",
|
|
12
|
-
"architectural review",
|
|
13
|
-
"CI baseline check"
|
|
14
|
-
]
|
|
15
|
-
},
|
|
16
|
-
"rules": [
|
|
17
|
-
{
|
|
18
|
-
"id": "CB-01",
|
|
19
|
-
"severity": "MUST",
|
|
20
|
-
"category": "Agnostic Baseline",
|
|
21
|
-
"title": "Technology selection respects Agnostic Baseline",
|
|
22
|
-
"description": "Any technology introduced in a satellite must not contradict the Agnostic Baseline. New technology requires Architecture Board review and ADR before adoption.",
|
|
23
|
-
"validationQuery": "New dependencies validated against authoritative-tech-stack-agnostic.md approved list. Unlisted tech requires exception.",
|
|
24
|
-
"blocking": true
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"id": "CB-02",
|
|
28
|
-
"severity": "MUST",
|
|
29
|
-
"category": "Reference Architecture (Blueprint)",
|
|
30
|
-
"title": "Product architecture traceable to Reference Blueprint",
|
|
31
|
-
"description": "Product architecture diagrams must be traceable to the Evolith Reference Blueprint C4 model. All bounded contexts, layers, and communication paths must map to the reference.",
|
|
32
|
-
"validationQuery": "Architecture diagrams include reference to Blueprint layers and bounded contexts. Traceability matrix exists.",
|
|
33
|
-
"blocking": true
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"id": "CB-03",
|
|
37
|
-
"severity": "MUST",
|
|
38
|
-
"category": "Engineering Manifesto",
|
|
39
|
-
"title": "Engineering Manifesto principles enforced",
|
|
40
|
-
"description": "SOLID, DRY, KISS, YAGNI, and anti-patterns rules from Engineering Manifesto are enforced via linting and code review.",
|
|
41
|
-
"validationQuery": "ESLint or equivalent rules enforce Manifesto principles. PR reviewer checks compliance.",
|
|
42
|
-
"blocking": true
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"id": "CB-04",
|
|
46
|
-
"severity": "MUST",
|
|
47
|
-
"category": "Definition of Done",
|
|
48
|
-
"title": "Definition of Done satisfied before story closure",
|
|
49
|
-
"description": "Every Technical Story must satisfy the Definition of Done checklist before being marked Done. DoD includes: code implemented and reviewed, unit tests passing at >= 80% coverage, acceptance criteria verified, documentation updated.",
|
|
50
|
-
"validationQuery": "Story status = Done only when all DoD checklist items are checked. CI confirms coverage and test pass.",
|
|
51
|
-
"blocking": true
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"id": "CB-05",
|
|
55
|
-
"severity": "MUST",
|
|
56
|
-
"category": "Repository Taxonomy",
|
|
57
|
-
"title": "Repository structure follows Taxonomy",
|
|
58
|
-
"description": "Repository structure, file naming, and artifact classification follow Repository Taxonomy rules. Evolith reference, canonical reference, and product evidence locations are respected.",
|
|
59
|
-
"validationQuery": "Directory structure matches Repository Taxonomy. Files located in correct taxonomic category.",
|
|
60
|
-
"blocking": true
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"id": "CB-VAL-01",
|
|
64
|
-
"severity": "MUST",
|
|
65
|
-
"category": "validation",
|
|
66
|
-
"title": "All 5 baseline pillars must be present in evolith.yaml spec.compliance",
|
|
67
|
-
"description": "All 5 baseline pillars must be present in evolith.yaml spec.compliance",
|
|
68
|
-
"enforcement": "CLI validates baseline pillar references in satellite evolith.yaml",
|
|
69
|
-
"blocking": true
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"id": "CB-VAL-02",
|
|
73
|
-
"severity": "MUST",
|
|
74
|
-
"category": "validation",
|
|
75
|
-
"title": "Baseline references must point to existing Evolith Core documents",
|
|
76
|
-
"description": "Baseline references must point to existing Evolith Core documents",
|
|
77
|
-
"enforcement": "Broken references to baseline documents block satellite governance validation",
|
|
78
|
-
"blocking": true
|
|
79
|
-
}
|
|
80
|
-
]
|
|
81
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Compatibilidad de Contratos de Máquina de Evolith
|
|
2
|
-
|
|
3
|
-
> **Navegación Bilingüe:** [English Version](./README.md)
|
|
4
|
-
|
|
5
|
-
El manifiesto de este directorio es el límite canónico de compatibilidad entre Evolith Core, el productor Smart CLI y consumidores independientes como Evolith Tracker.
|
|
6
|
-
|
|
7
|
-
- Las versiones del contrato y los schemas siguen versionado semántico.
|
|
8
|
-
- Los cambios aditivos compatibles incrementan la versión minor.
|
|
9
|
-
- Los cambios incompatibles incrementan la versión major y requieren una migración explícita del consumidor.
|
|
10
|
-
- Los consumidores fijan la versión del contrato, cada versión de schema y su digest SHA-256.
|
|
11
|
-
- El CI de Core valida la declaración del productor y los digests de schemas. El CI del consumidor ejecuta el mismo validador contra su manifiesto fijado.
|
|
12
|
-
|
|
13
|
-
Ejecutar:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
node .harness/scripts/ci/10-validate-contract-conformance.mjs
|
|
17
|
-
node .harness/scripts/ci/10-validate-contract-conformance.mjs --consumer /ruta/a/consumer-contracts.json
|
|
18
|
-
```
|
|
19
|
-
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Evolith Machine Contract Compatibility
|
|
2
|
-
|
|
3
|
-
> **Bilingual Navigation:** [Versión en Español](./README.es.md)
|
|
4
|
-
|
|
5
|
-
The manifest in this directory is the canonical compatibility boundary between Evolith Core, the Smart CLI producer, and independent consumers such as Evolith Tracker.
|
|
6
|
-
|
|
7
|
-
- Contract and schema versions follow semantic versioning.
|
|
8
|
-
- Additive compatible changes increment a minor version.
|
|
9
|
-
- Breaking changes increment the major version and require an explicit consumer migration.
|
|
10
|
-
- Consumers pin the contract version, each schema version, and its SHA-256 digest.
|
|
11
|
-
- Core CI validates the producer declaration and schema digests. Consumer CI runs the same validator against its pinned manifest.
|
|
12
|
-
|
|
13
|
-
Run:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
node .harness/scripts/ci/10-validate-contract-conformance.mjs
|
|
17
|
-
node .harness/scripts/ci/10-validate-contract-conformance.mjs --consumer /path/to/consumer-contracts.json
|
|
18
|
-
```
|
|
19
|
-
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"contractVersion": "1.0.0",
|
|
3
|
-
"compatibilityPolicy": "semver-major",
|
|
4
|
-
"producer": {
|
|
5
|
-
"package": "@evolith/smart-cli",
|
|
6
|
-
"version": "1.1.0"
|
|
7
|
-
},
|
|
8
|
-
"schemas": [
|
|
9
|
-
{
|
|
10
|
-
"id": "gate-evidence",
|
|
11
|
-
"version": "1.0.0",
|
|
12
|
-
"path": "rulesets/schema/gate-evidence.schema.json",
|
|
13
|
-
"sha256": "9225090e2ee851dbd2d5c22e7a0a6e2d7f97db9835f7f3822ac7d9f861b75754"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"id": "output-envelope",
|
|
17
|
-
"version": "1.0.0",
|
|
18
|
-
"path": "rulesets/schema/output-envelope.schema.json",
|
|
19
|
-
"sha256": "07eaffaae2c33071ea105fbcbdc497c06d149143f6cc9b94555170740707fd0b"
|
|
20
|
-
}
|
|
21
|
-
],
|
|
22
|
-
"supportedConsumers": [
|
|
23
|
-
{
|
|
24
|
-
"repository": "beyondnetcode/evolith_tracker",
|
|
25
|
-
"manifestPath": "contracts/evolith-core-contracts.json",
|
|
26
|
-
"contractVersion": "1.0.0"
|
|
27
|
-
}
|
|
28
|
-
]
|
|
29
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"success": true,
|
|
3
|
-
"data": {
|
|
4
|
-
"gateId": "design-baseline-approved",
|
|
5
|
-
"phase": "design",
|
|
6
|
-
"verdict": "passed",
|
|
7
|
-
"rulesetRef": "rulesets/sdlc/phase-gates.rules.json",
|
|
8
|
-
"rulesetVersion": "1.2.0",
|
|
9
|
-
"violations": [],
|
|
10
|
-
"evaluatedAt": "2026-06-13T12:00:00Z",
|
|
11
|
-
"evaluatedBy": "ci"
|
|
12
|
-
},
|
|
13
|
-
"meta": {
|
|
14
|
-
"command": "evolith gate evaluate",
|
|
15
|
-
"executedAt": "2026-06-13T12:00:00Z",
|
|
16
|
-
"durationMs": 10,
|
|
17
|
-
"correlationId": "contract-fixture-001",
|
|
18
|
-
"context": {
|
|
19
|
-
"initiative": "GT-42",
|
|
20
|
-
"phase": "design"
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# Índice de Reglas Transversales
|
|
2
|
-
|
|
3
|
-
Reglas que aplican a todas las fases y componentes. Son la Línea Base de Cumplimiento Evolith codificada como reglas machine-readable.
|
|
4
|
-
|
|
5
|
-
| Conjunto de Reglas | Archivo | Descripción |
|
|
6
|
-
|---|---|---|
|
|
7
|
-
| **Línea Base de Cumplimiento** | [compliance-baseline.rules.json](./compliance-baseline.rules.json) | 5 pilares: Baseline Agnóstico, Reference Blueprint, Manifiesto de Ingeniería, DoD, Taxonomía del Repositorio |
|
|
8
|
-
| **Definition of Done** | [definition-of-done.rules.json](./definition-of-done.rules.json) | Checklist obligatorio de 10 ítems antes de cerrar una historia |
|
|
9
|
-
| **Manifiesto de Ingeniería** | [engineering-manifesto.rules.json](./engineering-manifesto.rules.json) | Principios SOLID, DRY, KISS, YAGNI y anti-patrones |
|
|
10
|
-
| **Taxonomía del Repositorio** | [repository-taxonomy.rules.json](./repository-taxonomy.rules.json) | Convenciones de nombres, estructura de directorios, clasificación de artefactos |
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
Volver al [Rulesets Hub](../README.es.md)
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# Cross-Cutting Rules Index
|
|
2
|
-
|
|
3
|
-
Rules that apply across all phases and components. These are the Evolith Compliance Baseline encoded as machine-readable rules.
|
|
4
|
-
|
|
5
|
-
| Rule Set | File | Description |
|
|
6
|
-
|---|---|---|
|
|
7
|
-
| **Compliance Baseline** | [compliance-baseline.rules.json](./compliance-baseline.rules.json) | 5 pillars: Agnostic Baseline, Reference Blueprint, Engineering Manifesto, DoD, Repository Taxonomy |
|
|
8
|
-
| **Definition of Done** | [definition-of-done.rules.json](./definition-of-done.rules.json) | 10-item mandatory checklist before story closure |
|
|
9
|
-
| **Engineering Manifesto** | [engineering-manifesto.rules.json](./engineering-manifesto.rules.json) | SOLID, DRY, KISS, YAGNI principles and anti-patterns |
|
|
10
|
-
| **Repository Taxonomy** | [repository-taxonomy.rules.json](./repository-taxonomy.rules.json) | Naming conventions, directory structure, artifact classification |
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
Back to [Rulesets Hub](../README.md)
|