@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,26 @@
|
|
|
1
|
+
# Repository Taxonomy Ruleset
|
|
2
|
+
|
|
3
|
+
> **Bilingual Navigation:** [Versión en Español](./README.es.md)
|
|
4
|
+
|
|
5
|
+
Executable WS1 entrypoint for the Evolith Repository Taxonomy ruleset.
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
This directory exposes `rulesets/repository-taxonomy` as the canonical executable path checked by the intelligent data strength audit. The ruleset encodes naming, directory structure, ADR naming, bilingual pairing, and artifact classification constraints consumed by the native ruleset validator and CI evidence flows.
|
|
10
|
+
|
|
11
|
+
## Artifacts
|
|
12
|
+
|
|
13
|
+
| Artifact | Purpose |
|
|
14
|
+
|---|---|
|
|
15
|
+
| [repository-taxonomy.rules.json](./repository-taxonomy.rules.json) | Native machine-readable ruleset for Repository Taxonomy validation |
|
|
16
|
+
| [../opa/repository-taxonomy.rego](../opa/repository-taxonomy.rego) | OPA policy parity artifact for Repository Taxonomy validation |
|
|
17
|
+
| [../opa/repository-taxonomy.test.rego](../opa/repository-taxonomy.test.rego) | OPA test coverage for the Repository Taxonomy 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/repository-taxonomy.rego rulesets/opa/repository-taxonomy.test.rego -v
|
|
26
|
+
```
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/repository-taxonomy/repository-taxonomy.rules.json",
|
|
4
|
+
"title": "Repository Taxonomy Rules",
|
|
5
|
+
"description": "Machine-readable encoding of the Evolith Repository Taxonomy. Naming, structure, and artifact classification rules for all Evolith repositories.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"effectiveDate": "2026-01-01",
|
|
8
|
+
"rules": [
|
|
9
|
+
{
|
|
10
|
+
"id": "TAX-01",
|
|
11
|
+
"severity": "MUST",
|
|
12
|
+
"category": "naming-conventions",
|
|
13
|
+
"title": "File names use kebab-case",
|
|
14
|
+
"description": "All file names use kebab-case (lowercase with hyphens). No spaces, no underscores in file names. Example: my-file-name.md, user-service.ts.",
|
|
15
|
+
"validationQuery": "File names validated via linting or CI script. Pattern: ^[a-z0-9-]+\\.[a-z]+$",
|
|
16
|
+
"blocking": true,
|
|
17
|
+
"examples": [
|
|
18
|
+
"my-file.md",
|
|
19
|
+
"user-service.ts",
|
|
20
|
+
"api-gateway.ts"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "TAX-02",
|
|
25
|
+
"severity": "MUST",
|
|
26
|
+
"category": "naming-conventions",
|
|
27
|
+
"title": "Class and type names use PascalCase",
|
|
28
|
+
"description": "Classes, interfaces, types, enums, and UI components use PascalCase.",
|
|
29
|
+
"rationale": "ADR-0056: Ubiquitous language enforcement. PascalCase for types/components.",
|
|
30
|
+
"validationQuery": "ESLint naming-convention for classes and interfaces.",
|
|
31
|
+
"blocking": true,
|
|
32
|
+
"examples": [
|
|
33
|
+
"UserService",
|
|
34
|
+
"HttpClient",
|
|
35
|
+
"ApiResponse"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"id": "TAX-03",
|
|
40
|
+
"severity": "MUST",
|
|
41
|
+
"category": "naming-conventions",
|
|
42
|
+
"title": "Variable and function names use camelCase",
|
|
43
|
+
"description": "Variables, functions, methods use camelCase.",
|
|
44
|
+
"rationale": "ADR-0056: camelCase for variables and functions.",
|
|
45
|
+
"validationQuery": "ESLint naming-convention for variables and functions.",
|
|
46
|
+
"blocking": true,
|
|
47
|
+
"examples": [
|
|
48
|
+
"getUserById",
|
|
49
|
+
"userData",
|
|
50
|
+
"isValid"
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "TAX-04",
|
|
55
|
+
"severity": "MUST",
|
|
56
|
+
"category": "naming-conventions",
|
|
57
|
+
"title": "Constants use UPPER_SNAKE_CASE",
|
|
58
|
+
"description": "Compile-time constants and configuration keys use UPPER_SNAKE_CASE.",
|
|
59
|
+
"validationQuery": "ESLint naming-convention for constants.",
|
|
60
|
+
"blocking": false,
|
|
61
|
+
"examples": [
|
|
62
|
+
"MAX_RETRY_COUNT",
|
|
63
|
+
"API_BASE_URL"
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "TAX-05",
|
|
68
|
+
"severity": "MUST",
|
|
69
|
+
"category": "directory-structure",
|
|
70
|
+
"title": "Evolith Core structure: reference/, sdk/, rulesets/",
|
|
71
|
+
"description": "Evolith Core repository uses three primary directories: reference/ (human-authored standards), sdk/ (CLI, MCP, and executable access tooling), rulesets/ (machine-readable rules, including rulesets/topologies/ for executable topology rules). No other top-level content directories.",
|
|
72
|
+
"rationale": "Repository Taxonomy defines three entry points with clear ownership.",
|
|
73
|
+
"validationQuery": "Top-level directories match taxonomy. No arbitrary content directories added.",
|
|
74
|
+
"blocking": true,
|
|
75
|
+
"structure": [
|
|
76
|
+
"reference/",
|
|
77
|
+
"sdk/",
|
|
78
|
+
"rulesets/",
|
|
79
|
+
"rulesets/topologies/"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "TAX-06",
|
|
84
|
+
"severity": "MUST",
|
|
85
|
+
"category": "directory-structure",
|
|
86
|
+
"title": "Satellite structure: src/, tests/, docs/",
|
|
87
|
+
"description": "Satellite repositories follow standard structure: src/ (source code), tests/ (test code), docs/ (documentation). Infrastructure code lives under src/Infrastructure, domain code under src/Domain.",
|
|
88
|
+
"rationale": "Repository Taxonomy standard satellite structure.",
|
|
89
|
+
"validationQuery": "Satellite root has src/, tests/, docs/ directories. Hexagonal layers under src/.",
|
|
90
|
+
"blocking": true,
|
|
91
|
+
"structure": [
|
|
92
|
+
"src/Domain",
|
|
93
|
+
"src/Application",
|
|
94
|
+
"src/Infrastructure",
|
|
95
|
+
"src/Api"
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"id": "TAX-07",
|
|
100
|
+
"severity": "MUST",
|
|
101
|
+
"category": "adr-naming",
|
|
102
|
+
"title": "ADR files named with zero-padded ID",
|
|
103
|
+
"description": "ADR files use format: NNNN-descriptive-name.md where NNNN is zero-padded 4-digit number. Example: 0002-clean-architecture-nestjs.md, 0069-dotnet-grpc-service.md.",
|
|
104
|
+
"rationale": "core/ADR-0048: Canonical numbering enables sorting and referencing.",
|
|
105
|
+
"validationQuery": "ADR filenames match pattern: ^[0-9]{4}-[a-z-]+\\.md$",
|
|
106
|
+
"blocking": true,
|
|
107
|
+
"examples": [
|
|
108
|
+
"0002-clean-architecture-nestjs.md",
|
|
109
|
+
"0069-dotnet-grpc-service-setup-protobuf-contracts.md"
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "TAX-08",
|
|
114
|
+
"severity": "MUST",
|
|
115
|
+
"category": "adr-naming",
|
|
116
|
+
"title": "Bilingual ADR files use .es.md suffix",
|
|
117
|
+
"description": "Spanish translations of ADRs use .es.md suffix in same directory. Example: 0002-clean-architecture-nestjs.es.md alongside 0002-clean-architecture-nestjs.md.",
|
|
118
|
+
"rationale": "Bilingual naming convention: Pattern A for individual files.",
|
|
119
|
+
"validationQuery": "Bilingual parity: every .md ADR has corresponding .es.md in same directory.",
|
|
120
|
+
"blocking": true
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"id": "TAX-09",
|
|
124
|
+
"severity": "MUST",
|
|
125
|
+
"category": "artifact-classification",
|
|
126
|
+
"title": "Evolith reference artifacts in reference/",
|
|
127
|
+
"description": "Reusable policy, decision criteria, accepted trade-offs, and human-authored topology profiles go in reference/architecture/, reference/architecture/topologies/, reference/governance/, reference/knowledge/. These are normative or decisional depending on document status.",
|
|
128
|
+
"rationale": "Repository Taxonomy: Canonical Reference goes in reference/.",
|
|
129
|
+
"validationQuery": "Architecture decisions, standards, and patterns placed in correct reference/ subdirectory.",
|
|
130
|
+
"blocking": true
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"id": "TAX-10",
|
|
134
|
+
"severity": "MUST",
|
|
135
|
+
"category": "artifact-classification",
|
|
136
|
+
"title": "Product-specific evidence not in reference/",
|
|
137
|
+
"description": "Product-specific routes, schemas, seeds, and branding do NOT go in reference/. They go in the satellite repository. Enterprise policy changes go through Evolith governance.",
|
|
138
|
+
"rationale": "Repository Taxonomy: Product evidence stays in product repo, not reference.",
|
|
139
|
+
"validationQuery": "No product-specific files in reference/. Product evidence in satellite repositories.",
|
|
140
|
+
"blocking": true
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"id": "TAX-11",
|
|
144
|
+
"severity": "MUST",
|
|
145
|
+
"category": "directory-structure",
|
|
146
|
+
"title": "No root-level topologies directory",
|
|
147
|
+
"description": "Evolith Core MUST NOT create /topologies/ at repository root. Multi-topology documentation and executable rules must stay within taxonomy-approved corpus and ruleset locations, specifically reference/architecture/topologies/ and rulesets/topologies/, unless a future accepted ADR supersedes the root taxonomy.",
|
|
148
|
+
"rationale": "core/ADR-0079 rejects root-level /topologies/ to preserve ADR-0048 and ADR-0070 root taxonomy constraints.",
|
|
149
|
+
"validationQuery": "Repository root directory listing does not contain topologies/.",
|
|
150
|
+
"blocking": true,
|
|
151
|
+
"examples": [
|
|
152
|
+
"reference/architecture/topologies/",
|
|
153
|
+
"rulesets/topologies/"
|
|
154
|
+
]
|
|
155
|
+
}
|
|
156
|
+
],
|
|
157
|
+
"references": [
|
|
158
|
+
"reference/governance/standards/repository-taxonomy.md",
|
|
159
|
+
"reference/architecture/adrs/core/0048-enterprise-taxonomy-reference-layout.md",
|
|
160
|
+
"reference/architecture/adrs/core/0056-enterprise-naming-design-conventions.md",
|
|
161
|
+
"reference/architecture/adrs/core/0070-lean-root-repository-taxonomy.md",
|
|
162
|
+
"reference/architecture/adrs/core/0079-multi-topology-reference-corpus.md"
|
|
163
|
+
],
|
|
164
|
+
"exitCriteria": {
|
|
165
|
+
"description": "All files follow naming conventions. Directory structure matches taxonomy. ADR files correctly numbered.",
|
|
166
|
+
"validationTools": [
|
|
167
|
+
"CI naming validation",
|
|
168
|
+
"directory structure check",
|
|
169
|
+
"ADR numbering validation"
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Ruleset de Contratos Satélite
|
|
2
|
+
|
|
3
|
+
> **Navegación Bilingüe:** [English Version](./README.md)
|
|
4
|
+
|
|
5
|
+
Punto de entrada ejecutable WS1 para el ruleset Satellite Contracts de Evolith.
|
|
6
|
+
|
|
7
|
+
## Propósito
|
|
8
|
+
|
|
9
|
+
Este directorio expone `rulesets/satellite-contracts` como la ruta ejecutable canónica que verifica la auditoría de fortaleza como data inteligente. El ruleset codifica las reglas de contrato evolith.yaml del satélite consumido por el validador nativo de rulesets y los flujos de evidencia CI.
|
|
10
|
+
|
|
11
|
+
## Artefactos
|
|
12
|
+
|
|
13
|
+
| Artefacto | Ruta | Propósito |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| Ruleset nativo | [satellite-contracts.rules.json](./satellite-contracts.rules.json) | Reglas machine-readable de validación de contratos satélite |
|
|
16
|
+
| Política OPA | [../opa/satellite-contracts.rego](../opa/satellite-contracts.rego) | Artefacto de paridad OPA para validación de Satellite Contracts |
|
|
17
|
+
| Pruebas OPA | [../opa/satellite-contracts.test.rego](../opa/satellite-contracts.test.rego) | Cobertura de pruebas OPA para la política Satellite Contracts |
|
|
18
|
+
| Esquema de entrada OPA | [../opa/schemas/satellite-contracts.input.schema.json](../opa/schemas/satellite-contracts.input.schema.json) | JSON Schema para la entrada de la política OPA |
|
|
19
|
+
|
|
20
|
+
## Validación
|
|
21
|
+
|
|
22
|
+
Ejecuta estos checks después de cambiar el ruleset:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx jest --config packages/core-domain/jest.config.js --rootDir packages/core-domain --testPathPatterns='ruleset-validation.mode' --no-coverage
|
|
26
|
+
.harness/bin/opa test rulesets/opa/satellite-contracts.rego rulesets/opa/satellite-contracts.test.rego -v
|
|
27
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Satellite Contracts Ruleset
|
|
2
|
+
|
|
3
|
+
> **Bilingual Navigation:** [Versión en Español](./README.es.md)
|
|
4
|
+
|
|
5
|
+
Executable WS1 entrypoint for the Evolith Satellite Contracts ruleset.
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
This directory exposes `rulesets/satellite-contracts` as the canonical executable path checked by the intelligent data strength audit. The ruleset encodes the satellite evolith.yaml contract rules consumed by the native ruleset validator and CI evidence flows.
|
|
10
|
+
|
|
11
|
+
## Artifacts
|
|
12
|
+
|
|
13
|
+
| Artifact | Path | Purpose |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| Native ruleset | [satellite-contracts.rules.json](./satellite-contracts.rules.json) | Machine-readable satellite contract validation rules |
|
|
16
|
+
| OPA policy | [../opa/satellite-contracts.rego](../opa/satellite-contracts.rego) | OPA policy parity artifact for Satellite Contracts validation |
|
|
17
|
+
| OPA tests | [../opa/satellite-contracts.test.rego](../opa/satellite-contracts.test.rego) | OPA test coverage for the Satellite Contracts policy |
|
|
18
|
+
| OPA input schema | [../opa/schemas/satellite-contracts.input.schema.json](../opa/schemas/satellite-contracts.input.schema.json) | JSON Schema for OPA policy input |
|
|
19
|
+
|
|
20
|
+
## Validation
|
|
21
|
+
|
|
22
|
+
Run these checks after changing the ruleset:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx jest --config packages/core-domain/jest.config.js --rootDir packages/core-domain --testPathPatterns='ruleset-validation.mode' --no-coverage
|
|
26
|
+
.harness/bin/opa test rulesets/opa/satellite-contracts.rego rulesets/opa/satellite-contracts.test.rego -v
|
|
27
|
+
```
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../schema/ruleset-standard.schema.json",
|
|
3
|
+
"$id": "https://evolith.dev/rulesets/satellite-contracts/satellite-contracts.rules.json",
|
|
4
|
+
"title": "Satellite Contract Rules",
|
|
5
|
+
"description": "Rules defining the required and optional structure of satellite evolith.yaml files. These contracts enable the federated governance model.",
|
|
6
|
+
"version": "1.0.0",
|
|
7
|
+
"effectiveDate": "2026-01-01",
|
|
8
|
+
"contractFields": {
|
|
9
|
+
"required": [
|
|
10
|
+
{
|
|
11
|
+
"field": "apiVersion",
|
|
12
|
+
"path": "$.apiVersion",
|
|
13
|
+
"type": "string",
|
|
14
|
+
"constraint": "Must be 'evolith.dev/v1'",
|
|
15
|
+
"rationale": "API version enables future governance format evolution without breaking existing satellites."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"field": "kind",
|
|
19
|
+
"path": "$.kind",
|
|
20
|
+
"type": "string",
|
|
21
|
+
"constraint": "Must be 'Satellite'",
|
|
22
|
+
"rationale": "Kind distinguishes Evolith resources (Satellite, Policy, Standard) in the same repository."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"field": "metadata.name",
|
|
26
|
+
"path": "$.metadata.name",
|
|
27
|
+
"type": "string",
|
|
28
|
+
"constraint": "kebab-case, lowercase, alphanumeric + hyphens only",
|
|
29
|
+
"rationale": "Name is the satellite's identity in governance tooling and Architecture Board communications."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"field": "metadata.phase",
|
|
33
|
+
"path": "$.metadata.phase",
|
|
34
|
+
"type": "string",
|
|
35
|
+
"constraint": "Must be F1, F2, or F3",
|
|
36
|
+
"rationale": "Phase determines which architecture rules apply. F1 is mandatory starting point unless exception approved."
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"field": "metadata.architectureVersion",
|
|
40
|
+
"path": "$.metadata.architectureVersion",
|
|
41
|
+
"type": "string",
|
|
42
|
+
"constraint": "semver format",
|
|
43
|
+
"rationale": "Tracks architectural evolution of the satellite independently of product version."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"field": "spec.coreRef.version",
|
|
47
|
+
"path": "$.spec.coreRef.version",
|
|
48
|
+
"type": "string",
|
|
49
|
+
"constraint": "semver format, must reference existing Evolith Core version",
|
|
50
|
+
"rationale": "Core version pin ensures reproducible governance validation."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"field": "spec.coreRef.rulesetVersion",
|
|
54
|
+
"path": "$.spec.coreRef.rulesetVersion",
|
|
55
|
+
"type": "string",
|
|
56
|
+
"constraint": "semver format",
|
|
57
|
+
"rationale": "Ruleset version allows Core to publish rule updates without bumping full Core version."
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"field": "spec.runtime.language",
|
|
61
|
+
"path": "$.spec.runtime.language",
|
|
62
|
+
"type": "string",
|
|
63
|
+
"constraint": "Must be one of: TypeScript, CSharp, Kotlin, Go, Python",
|
|
64
|
+
"rationale": "Runtime language determines which runtime-specific ADRs and patterns apply."
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"field": "spec.runtime.framework",
|
|
68
|
+
"path": "$.spec.runtime.framework",
|
|
69
|
+
"type": "string",
|
|
70
|
+
"rationale": "Framework identifies the specific framework (NestJS, ASP.NET Core, Spring Boot) for pattern enforcement."
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"field": "spec.sdlc.currentPhase",
|
|
74
|
+
"path": "$.spec.sdlc.currentPhase",
|
|
75
|
+
"type": "integer",
|
|
76
|
+
"constraint": "Must be 1, 2, 3, 4, or 5",
|
|
77
|
+
"rationale": "SDLC phase determines which gate rules and artifact requirements apply."
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
"optional": [
|
|
81
|
+
{
|
|
82
|
+
"field": "spec.coreRef.inheritancePath",
|
|
83
|
+
"path": "$.spec.coreRef.inheritancePath",
|
|
84
|
+
"type": "array",
|
|
85
|
+
"description": "Chain of inheritance if satellite extends another satellite",
|
|
86
|
+
"default": "[]"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"field": "spec.runtime.runtimeVersion",
|
|
90
|
+
"path": "$.spec.runtime.runtimeVersion",
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "Runtime version (e.g., Node 20, .NET 8)"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"field": "spec.sdlc.gates",
|
|
96
|
+
"path": "$.spec.sdlc.gates",
|
|
97
|
+
"type": "object",
|
|
98
|
+
"description": "Gate completion dates for traceability"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"field": "spec.boundedContexts",
|
|
102
|
+
"path": "$.spec.boundedContexts",
|
|
103
|
+
"type": "array",
|
|
104
|
+
"description": "List of bounded contexts in this satellite"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"field": "spec.compliance.adrRegistry",
|
|
108
|
+
"path": "$.spec.compliance.adrRegistry",
|
|
109
|
+
"type": "array",
|
|
110
|
+
"description": "Local ADRs maintained by this satellite"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"field": "spec.compliance.coverageTarget",
|
|
114
|
+
"path": "$.spec.compliance.coverageTarget",
|
|
115
|
+
"type": "number",
|
|
116
|
+
"description": "Coverage target (minimum 80)"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"field": "spec.compliance.qualityWaivers",
|
|
120
|
+
"path": "$.spec.compliance.qualityWaivers",
|
|
121
|
+
"type": "array",
|
|
122
|
+
"description": "Active quality waivers with expiration dates"
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
"rules": [
|
|
127
|
+
{
|
|
128
|
+
"id": "SVC-01",
|
|
129
|
+
"title": "Satellite must have exactly one evolith.yaml in repository root",
|
|
130
|
+
"enforcement": "CLI validates single evolith.yaml at repo root. Nested evolith.yaml files are prohibited.",
|
|
131
|
+
"description": "CLI validates single evolith.yaml at repo root. Nested evolith.yaml files are prohibited."
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"id": "SVC-02",
|
|
135
|
+
"title": "Satellite name must be unique across all Evolith satellites",
|
|
136
|
+
"enforcement": "CLI checks against Evolith satellite registry before allowing first push.",
|
|
137
|
+
"description": "CLI checks against Evolith satellite registry before allowing first push."
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"id": "SVC-03",
|
|
141
|
+
"title": "F1 phase satellites must reference core/ADR-0047 in spec.compliance.adrRegistry",
|
|
142
|
+
"enforcement": "Satellites in F1 phase must include core/ADR-0047 confirming modular monolith starting point.",
|
|
143
|
+
"description": "Satellites in F1 phase must include core/ADR-0047 confirming modular monolith starting point."
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"id": "SVC-04",
|
|
147
|
+
"title": "Satellites in F2 or F3 must have extraction readiness score documented",
|
|
148
|
+
"enforcement": "Satellites with phase F2 or F3 must have core/ADR-0045 assessment with score >= 70% (F2) or >= 80% (F3).",
|
|
149
|
+
"description": "Satellites with phase F2 or F3 must have core/ADR-0045 assessment with score >= 70% (F2) or >= 80% (F3)."
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"id": "SVC-05",
|
|
153
|
+
"title": "Core version referenced must exist in Evolith Core registry",
|
|
154
|
+
"enforcement": "CLI validates coreRef.version against Evolith Core releases. Unknown versions trigger error.",
|
|
155
|
+
"description": "CLI validates coreRef.version against Evolith Core releases. Unknown versions trigger error."
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
"migrationRules": [
|
|
159
|
+
{
|
|
160
|
+
"id": "MIG-01",
|
|
161
|
+
"title": "Satellite can upgrade governance version via CLI upgrade command",
|
|
162
|
+
"command": "evolith upgrade --target-version <version>",
|
|
163
|
+
"description": "CLI automates version update, rule diff review, and CI validation"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"id": "MIG-02",
|
|
167
|
+
"title": "Phase transition (F1 → F2 → F3) requires Architecture Board approval artifact",
|
|
168
|
+
"description": "Phase transition is not automated. Board must review and explicitly approve before satellite updates metadata.phase"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"id": "MIG-03",
|
|
172
|
+
"title": "Satellite archival: satellite marks itself as Deprecated in evolith.yaml",
|
|
173
|
+
"description": "Deprecated satellites are retained for audit but no longer receive Core rule updates"
|
|
174
|
+
}
|
|
175
|
+
],
|
|
176
|
+
"reference": {
|
|
177
|
+
"evolithYamlSchema": "../schema/evolith-yaml.schema.json",
|
|
178
|
+
"inheritanceRules": "./inheritance.rules.json",
|
|
179
|
+
"f1Rules": "../../reference/architecture/topologies/progressive-axis/modular-monolith/modular-monolith.rules.json",
|
|
180
|
+
"f2Rules": "../../reference/architecture/topologies/progressive-axis/distributed-modules/distributed-modules.rules.json",
|
|
181
|
+
"f3Rules": "../../reference/architecture/topologies/progressive-axis/microservices/microservices.rules.json"
|
|
182
|
+
}
|
|
183
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Índice de Schemas
|
|
2
|
+
|
|
3
|
+
Definiciones de JSON Schema para validar los artefactos SDLC de Evolith.
|
|
4
|
+
|
|
5
|
+
| Schema | Propósito | Artefacto | Fase |
|
|
6
|
+
|---|---|---|---|
|
|
7
|
+
| [adr.schema.json](./adr.schema.json) | Validar la estructura y campos requeridos del ADR | ADR | Todas |
|
|
8
|
+
| [prd.schema.json](./prd.schema.json) | Validar la estructura y campos requeridos del PRD | PRD | 1 |
|
|
9
|
+
| [discovery-canvas.schema.json](./discovery-canvas.schema.json) | Validar el registro de iniciativas del Discovery Canvas | Discovery Canvas | 1 |
|
|
10
|
+
| [technical-feasibility.schema.json](./technical-feasibility.schema.json) | Validar la viabilidad técnica y los atributos de calidad (NFRs) | Technical Feasibility Canvas | 1 |
|
|
11
|
+
| [ballpark-estimation.schema.json](./ballpark-estimation.schema.json) | Validar el T-Shirt sizing y la estimación de equipo | Ballpark Estimation | 1 |
|
|
12
|
+
| [evolith-user-story.schema.json](./evolith-user-story.schema.json) | Validar la historia de usuario atómica con criterios BDD | User Story | 1 |
|
|
13
|
+
| [agile-backlog.schema.json](./agile-backlog.schema.json) | Validar el backlog priorizado por Épica/Iniciativa | Agile Backlog | 1 |
|
|
14
|
+
| [cli-impact-analysis.schema.json](./cli-impact-analysis.schema.json) | Validar los requisitos de capacidades del CLI | CLI Impact Analysis | 1-2 |
|
|
15
|
+
| [functional-story.schema.json](./functional-story.schema.json) | Validar el cumplimiento de la Historia Funcional | Historia Funcional | 2 |
|
|
16
|
+
| [technical-story.schema.json](./technical-story.schema.json) | Validar la estructura de la Historia Técnica | Historia Técnica | 3 |
|
|
17
|
+
| [test-summary-report.schema.json](./test-summary-report.schema.json) | Validar el Test Summary Report | Test Summary Report | 4 |
|
|
18
|
+
| [release-notes.schema.json](./release-notes.schema.json) | Validar la completitud de las Release Notes | Release Notes | 5 |
|
|
19
|
+
| [evolith-yaml.schema.json](./evolith-yaml.schema.json) | Validar el contrato evolith.yaml del satélite | Gobernanza de satélite | Todas |
|
|
20
|
+
| [topology-manifest.schema.json](./topology-manifest.schema.json) | Validar archivos topology.manifest.json para resolución del corpus Multi-Topology | Manifiesto topológico | Todas |
|
|
21
|
+
| [gate-evidence.schema.json](./gate-evidence.schema.json) | Validar la evidencia estructurada de evaluación de gates (core/ADR-0073) | Gate Evidence | Todas |
|
|
22
|
+
| [maturity-evidence.schema.json](./maturity-evidence.schema.json) | Validar registros de evidencia de estado de madurez | Maturity Evidence | Todas |
|
|
23
|
+
| [output-envelope.schema.json](./output-envelope.schema.json) | Validar el envelope universal de salida de máquina (core/ADR-0073) | Salida CLI/MCP/REST | Todas |
|
|
24
|
+
| [knowledge-intake.schema.json](./knowledge-intake.schema.json) | Validar candidatos de conocimiento externo gobernado | Candidato de ingesta de conocimiento | Todas |
|
|
25
|
+
| [governance.input.schema.json](../opa/schemas/governance.input.schema.json) | Validar la estructura de entrada de la política OPA de gobernanza | Entrada de OPA Gobernanza | Todas |
|
|
26
|
+
| [mcp.input.schema.json](../opa/schemas/mcp.input.schema.json) | Validar la estructura de entrada de la política OPA de MCP | Entrada de OPA MCP | Todas |
|
|
27
|
+
| [version-pinning.input.schema.json](../opa/schemas/version-pinning.input.schema.json) | Validar la estructura de entrada de la política OPA de version-pinning | Entrada de OPA Version Pinning | Todas |
|
|
28
|
+
| [cli-readiness.input.schema.json](../opa/schemas/cli-readiness.input.schema.json) | Validar la estructura de entrada de la política OPA de preparación del CLI | Entrada de OPA CLI Readiness | Todas |
|
|
29
|
+
| [knowledge-intake.input.schema.json](../opa/schemas/knowledge-intake.input.schema.json) | Validar la estructura de entrada de la política OPA de ingesta de conocimiento | Entrada de OPA Knowledge Intake | Todas |
|
|
30
|
+
| [taxonomy.input.schema.json](../opa/schemas/taxonomy.input.schema.json) | Validar la estructura de entrada de la política OPA de taxonomía | Entrada de OPA Taxonomy | Todas |
|
|
31
|
+
| [ci-cd.input.schema.json](../opa/schemas/ci-cd.input.schema.json) | Validar la estructura de entrada de la política OPA de CI/CD | Entrada de OPA CI/CD | Todas |
|
|
32
|
+
| [evidence.input.schema.json](../opa/schemas/evidence.input.schema.json) | Validar la estructura de entrada de la política OPA de evidencia | Entrada de OPA Evidence | Todas |
|
|
33
|
+
| [abac-mcp-tool-access.input.schema.json](../opa/schemas/abac-mcp-tool-access.input.schema.json) | Validar la estructura de entrada de la política OPA de acceso a herramientas ABAC | Entrada de OPA ABAC Tool Access | Todas |
|
|
34
|
+
|
|
35
|
+
**Cobertura de Fase 1:** 7 schemas (Discovery Canvas, Technical Feasibility Canvas, Ballpark Estimation, Evolith User Story, Agile Backlog, CLI Impact Analysis, PRD)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
Volver al [Rulesets Hub](../README.es.md)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Schema Index
|
|
2
|
+
|
|
3
|
+
JSON Schema definitions for validating Evolith SDLC artifacts.
|
|
4
|
+
|
|
5
|
+
| Schema | Purpose | Artifact | Phase |
|
|
6
|
+
|---|---|---|---|
|
|
7
|
+
| [adr.schema.json](./adr.schema.json) | Validate ADR structure and required fields | ADR | All |
|
|
8
|
+
| [prd.schema.json](./prd.schema.json) | Validate PRD structure and required fields | PRD | 1 |
|
|
9
|
+
| [discovery-canvas.schema.json](./discovery-canvas.schema.json) | Validate Discovery Canvas initiative registration | Discovery Canvas | 1 |
|
|
10
|
+
| [technical-feasibility.schema.json](./technical-feasibility.schema.json) | Validate Technical Feasibility and quality attributes (NFRs) | Technical Feasibility Canvas | 1 |
|
|
11
|
+
| [ballpark-estimation.schema.json](./ballpark-estimation.schema.json) | Validate T-Shirt sizing and team estimation | Ballpark Estimation | 1 |
|
|
12
|
+
| [evolith-user-story.schema.json](./evolith-user-story.schema.json) | Validate atomic user story with BDD criteria | User Story | 1 |
|
|
13
|
+
| [agile-backlog.schema.json](./agile-backlog.schema.json) | Validate prioritized backlog for Epic/Initiative | Agile Backlog | 1 |
|
|
14
|
+
| [cli-impact-analysis.schema.json](./cli-impact-analysis.schema.json) | Validate CLI capability requirements | CLI Impact Analysis | 1-2 |
|
|
15
|
+
| [functional-story.schema.json](./functional-story.schema.json) | Validate Functional Story compliance | Functional Story | 2 |
|
|
16
|
+
| [technical-story.schema.json](./technical-story.schema.json) | Validate Technical Story structure | Technical Story | 3 |
|
|
17
|
+
| [test-summary-report.schema.json](./test-summary-report.schema.json) | Validate Test Summary Report | Test Summary Report | 4 |
|
|
18
|
+
| [release-notes.schema.json](./release-notes.schema.json) | Validate Release Notes completeness | Release Notes | 5 |
|
|
19
|
+
| [evolith-yaml.schema.json](./evolith-yaml.schema.json) | Validate satellite evolith.yaml contract | Satellite governance | All |
|
|
20
|
+
| [topology-manifest.schema.json](./topology-manifest.schema.json) | Validate topology.manifest.json files for Multi-Topology corpus resolution | Topology manifest | All |
|
|
21
|
+
| [gate-evidence.schema.json](./gate-evidence.schema.json) | Validate structured gate-evaluation evidence (core/ADR-0073) | Gate Evidence | All |
|
|
22
|
+
| [maturity-evidence.schema.json](./maturity-evidence.schema.json) | Validate maturity status evidence logs | Maturity Evidence | All |
|
|
23
|
+
| [output-envelope.schema.json](./output-envelope.schema.json) | Validate the universal machine output envelope (core/ADR-0073) | CLI/MCP/REST output | All |
|
|
24
|
+
| [knowledge-intake.schema.json](./knowledge-intake.schema.json) | Validate governed external knowledge candidates | Knowledge intake candidate | All |
|
|
25
|
+
| [governance.input.schema.json](../opa/schemas/governance.input.schema.json) | Validate governance OPA policy input structure | OPA Governance Input | All |
|
|
26
|
+
| [mcp.input.schema.json](../opa/schemas/mcp.input.schema.json) | Validate MCP OPA policy input structure | OPA MCP Input | All |
|
|
27
|
+
| [version-pinning.input.schema.json](../opa/schemas/version-pinning.input.schema.json) | Validate version pinning OPA policy input structure | OPA Version Pinning Input | All |
|
|
28
|
+
| [cli-readiness.input.schema.json](../opa/schemas/cli-readiness.input.schema.json) | Validate CLI readiness OPA policy input structure | OPA CLI Readiness Input | All |
|
|
29
|
+
| [knowledge-intake.input.schema.json](../opa/schemas/knowledge-intake.input.schema.json) | Validate knowledge intake OPA policy input structure | OPA Knowledge Intake Input | All |
|
|
30
|
+
| [taxonomy.input.schema.json](../opa/schemas/taxonomy.input.schema.json) | Validate taxonomy OPA policy input structure | OPA Taxonomy Input | All |
|
|
31
|
+
| [ci-cd.input.schema.json](../opa/schemas/ci-cd.input.schema.json) | Validate CI/CD OPA policy input structure | OPA CI/CD Input | All |
|
|
32
|
+
| [evidence.input.schema.json](../opa/schemas/evidence.input.schema.json) | Validate evidence OPA policy input structure | OPA Evidence Input | All |
|
|
33
|
+
| [abac-mcp-tool-access.input.schema.json](../opa/schemas/abac-mcp-tool-access.input.schema.json) | Validate ABAC tool access OPA policy input structure | OPA ABAC Tool Access Input | All |
|
|
34
|
+
|
|
35
|
+
**Phase 1 Coverage:** 7 schemas (Discovery Canvas, Technical Feasibility Canvas, Ballpark Estimation, Evolith User Story, Agile Backlog, CLI Impact Analysis, PRD)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
Back to [Rulesets Hub](../README.md)
|