@evolith/core-domain 1.0.1 → 1.0.2
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 +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
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
package evolith.topologies.datamesh_test
|
|
2
|
-
|
|
3
|
-
import data.evolith.topologies.datamesh
|
|
4
|
-
|
|
5
|
-
# --- Baseline rules (DAM-R01–R03) ---
|
|
6
|
-
|
|
7
|
-
test_compliant_data_mesh_has_no_violations {
|
|
8
|
-
violations := datamesh.violations with input as {"satellite": {"dataMesh": {
|
|
9
|
-
"isDataProduct": true, "hasDataContracts": true, "federatedGovernance": true,
|
|
10
|
-
"hasLineageTracking": true, "hasRetentionPolicy": true,
|
|
11
|
-
"hasConsumptionContracts": true, "hasDataQualitySLO": true,
|
|
12
|
-
"hasBackwardCompatibleContracts": true, "hasDiscoveryRegistration": true
|
|
13
|
-
}}}
|
|
14
|
-
count(violations) == 0
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
test_missing_data_product_is_rejected {
|
|
18
|
-
violations := datamesh.violations with input as {"satellite": {"dataMesh": {
|
|
19
|
-
"isDataProduct": false, "hasDataContracts": true, "federatedGovernance": true,
|
|
20
|
-
"hasLineageTracking": true, "hasRetentionPolicy": true,
|
|
21
|
-
"hasConsumptionContracts": true, "hasDataQualitySLO": true,
|
|
22
|
-
"hasBackwardCompatibleContracts": true, "hasDiscoveryRegistration": true
|
|
23
|
-
}}}
|
|
24
|
-
violations[_].id == "DAM-R01"
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
test_missing_data_contracts_is_rejected {
|
|
28
|
-
violations := datamesh.violations with input as {"satellite": {"dataMesh": {
|
|
29
|
-
"isDataProduct": true, "hasDataContracts": false, "federatedGovernance": true,
|
|
30
|
-
"hasLineageTracking": true, "hasRetentionPolicy": true,
|
|
31
|
-
"hasConsumptionContracts": true, "hasDataQualitySLO": true,
|
|
32
|
-
"hasBackwardCompatibleContracts": true, "hasDiscoveryRegistration": true
|
|
33
|
-
}}}
|
|
34
|
-
violations[_].id == "DAM-R02"
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
test_missing_federated_governance_is_rejected {
|
|
38
|
-
violations := datamesh.violations with input as {"satellite": {"dataMesh": {
|
|
39
|
-
"isDataProduct": true, "hasDataContracts": true, "federatedGovernance": false,
|
|
40
|
-
"hasLineageTracking": true, "hasRetentionPolicy": true,
|
|
41
|
-
"hasConsumptionContracts": true, "hasDataQualitySLO": true,
|
|
42
|
-
"hasBackwardCompatibleContracts": true, "hasDiscoveryRegistration": true
|
|
43
|
-
}}}
|
|
44
|
-
violations[_].id == "DAM-R03"
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
# --- New rules (DAM-R04–R09) ---
|
|
48
|
-
|
|
49
|
-
test_missing_lineage_tracking_is_rejected {
|
|
50
|
-
violations := datamesh.violations with input as {"satellite": {"dataMesh": {
|
|
51
|
-
"isDataProduct": true, "hasDataContracts": true, "federatedGovernance": true,
|
|
52
|
-
"hasLineageTracking": false, "hasRetentionPolicy": true,
|
|
53
|
-
"hasConsumptionContracts": true, "hasDataQualitySLO": true,
|
|
54
|
-
"hasBackwardCompatibleContracts": true, "hasDiscoveryRegistration": true
|
|
55
|
-
}}}
|
|
56
|
-
violations[_].id == "DAM-R04"
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
test_missing_retention_policy_is_rejected {
|
|
60
|
-
violations := datamesh.violations with input as {"satellite": {"dataMesh": {
|
|
61
|
-
"isDataProduct": true, "hasDataContracts": true, "federatedGovernance": true,
|
|
62
|
-
"hasLineageTracking": true, "hasRetentionPolicy": false,
|
|
63
|
-
"hasConsumptionContracts": true, "hasDataQualitySLO": true,
|
|
64
|
-
"hasBackwardCompatibleContracts": true, "hasDiscoveryRegistration": true
|
|
65
|
-
}}}
|
|
66
|
-
violations[_].id == "DAM-R05"
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
test_missing_consumption_contracts_is_rejected {
|
|
70
|
-
violations := datamesh.violations with input as {"satellite": {"dataMesh": {
|
|
71
|
-
"isDataProduct": true, "hasDataContracts": true, "federatedGovernance": true,
|
|
72
|
-
"hasLineageTracking": true, "hasRetentionPolicy": true,
|
|
73
|
-
"hasConsumptionContracts": false, "hasDataQualitySLO": true,
|
|
74
|
-
"hasBackwardCompatibleContracts": true, "hasDiscoveryRegistration": true
|
|
75
|
-
}}}
|
|
76
|
-
violations[_].id == "DAM-R06"
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
test_missing_data_quality_slo_is_flagged {
|
|
80
|
-
violations := datamesh.violations with input as {"satellite": {"dataMesh": {
|
|
81
|
-
"isDataProduct": true, "hasDataContracts": true, "federatedGovernance": true,
|
|
82
|
-
"hasLineageTracking": true, "hasRetentionPolicy": true,
|
|
83
|
-
"hasConsumptionContracts": true, "hasDataQualitySLO": false,
|
|
84
|
-
"hasBackwardCompatibleContracts": true, "hasDiscoveryRegistration": true
|
|
85
|
-
}}}
|
|
86
|
-
violations[_].id == "DAM-R07"
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
test_missing_backward_compatible_contracts_is_flagged {
|
|
90
|
-
violations := datamesh.violations with input as {"satellite": {"dataMesh": {
|
|
91
|
-
"isDataProduct": true, "hasDataContracts": true, "federatedGovernance": true,
|
|
92
|
-
"hasLineageTracking": true, "hasRetentionPolicy": true,
|
|
93
|
-
"hasConsumptionContracts": true, "hasDataQualitySLO": true,
|
|
94
|
-
"hasBackwardCompatibleContracts": false, "hasDiscoveryRegistration": true
|
|
95
|
-
}}}
|
|
96
|
-
violations[_].id == "DAM-R08"
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
test_missing_discovery_registration_is_flagged {
|
|
100
|
-
violations := datamesh.violations with input as {"satellite": {"dataMesh": {
|
|
101
|
-
"isDataProduct": true, "hasDataContracts": true, "federatedGovernance": true,
|
|
102
|
-
"hasLineageTracking": true, "hasRetentionPolicy": true,
|
|
103
|
-
"hasConsumptionContracts": true, "hasDataQualitySLO": true,
|
|
104
|
-
"hasBackwardCompatibleContracts": true, "hasDiscoveryRegistration": false
|
|
105
|
-
}}}
|
|
106
|
-
violations[_].id == "DAM-R09"
|
|
107
|
-
}
|
|
Binary file
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
# Guía de Evidencia de Malla de Datos
|
|
2
|
-
|
|
3
|
-
> **Navegación Bilingüe:** [English](./evidence.md) | [Español](./evidence.es.md)
|
|
4
|
-
|
|
5
|
-
**Propietario:** Arquitectura de Datos
|
|
6
|
-
**Topología:** Malla de Datos
|
|
7
|
-
**Reglas Relacionadas:** DAM-R04, DAM-R07
|
|
8
|
-
**ADRs Relacionados:** ADR-0084
|
|
9
|
-
|
|
10
|
-
## Propósito
|
|
11
|
-
|
|
12
|
-
Esta guía define los procedimientos de recolección y validación de evidencia para la topología de malla de datos. La evidencia valida que los productos de datos cumplen con sus SLAs de calidad declarados, los contratos son conformes, el linaje está completo y el catálogo de descubrimiento es preciso.
|
|
13
|
-
|
|
14
|
-
## Comandos de Validación
|
|
15
|
-
|
|
16
|
-
### Validación de Documentación
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
# Validación completa de documentación
|
|
20
|
-
node .harness/scripts/ci/01-validate-docs.mjs
|
|
21
|
-
|
|
22
|
-
# Validar contenido específico de data-mesh
|
|
23
|
-
node .harness/scripts/ci/01-validate-docs.mjs --target data-mesh
|
|
24
|
-
|
|
25
|
-
# Renderizar diagramas Mermaid para validación visual
|
|
26
|
-
node .harness/scripts/ci/01-validate-docs.mjs --render-mermaid
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Validación Bilingüe
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# Verificar paridad estructural EN/ES
|
|
33
|
-
node .harness/scripts/ci/04-check-bilingual-parity.mjs
|
|
34
|
-
|
|
35
|
-
# Verificar cobertura bilingüe
|
|
36
|
-
node .harness/scripts/bilingual-coverage.mjs
|
|
37
|
-
|
|
38
|
-
# Generar esqueleto ES desde archivo EN
|
|
39
|
-
node .harness/scripts/generate-es-skeleton.mjs <file.md> --dry-run
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Cobertura y Calidad
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
# Generar reporte visual de cobertura
|
|
46
|
-
node .harness/scripts/coverage-dashboard.mjs
|
|
47
|
-
|
|
48
|
-
# Ejecutar auditoría profunda de Wilson
|
|
49
|
-
node .harness/scripts/run-wilson-audit.mjs
|
|
50
|
-
|
|
51
|
-
# Sanear problemas de codificación
|
|
52
|
-
python ./.bmad-core/scripts/cleanup_markdown_encoding.py
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Métricas de Calidad
|
|
56
|
-
|
|
57
|
-
### Completitud
|
|
58
|
-
|
|
59
|
-
Mide la proporción de valores no nulos respecto al total de registros esperados. Los productos deben declarar umbrales de completitud como parte de sus SLAs de calidad. La completitud por debajo del umbral activa notificaciones a consumidores.
|
|
60
|
-
|
|
61
|
-
Métricas objetivo: productos críticos >99.9%, productos estándar >99%, productos mejor esfuerzo >95%.
|
|
62
|
-
|
|
63
|
-
### Frescura
|
|
64
|
-
|
|
65
|
-
Mide el tiempo transcurrido entre la actualización de datos fuente y la disponibilidad del producto. La frescura se rastrea contra SLAs declarados. Los productos que incumplen SLAs de frescura se marcan en el catálogo de la plataforma.
|
|
66
|
-
|
|
67
|
-
Granularidad de monitoreo: por producto, por dominio, por cadena de dependencias interdominio.
|
|
68
|
-
|
|
69
|
-
### Validez
|
|
70
|
-
|
|
71
|
-
Valida que los valores de datos se conformen a esquemas declarados y reglas de negocio. Las verificaciones de validez se ejecutan en tiempo de ingesta y bajo demanda. Los registros inválidos se cuarentenan y reportan.
|
|
72
|
-
|
|
73
|
-
Métricas de validez: tasa de cumplimiento de esquema, tasa de aprobación de reglas de negocio, tasa de detección de valores atípicos.
|
|
74
|
-
|
|
75
|
-
### Unicidad
|
|
76
|
-
|
|
77
|
-
Asegura que no existan registros duplicados dentro de los conjuntos de datos del producto. Las restricciones de unicidad se declaran en los esquemas del producto. La detección de duplicados se ejecuta durante la ingesta y como validación por lotes.
|
|
78
|
-
|
|
79
|
-
Métricas de unicidad: tasa de detección de duplicados, unicidad de clave primaria, unicidad de clave compuesta.
|
|
80
|
-
|
|
81
|
-
## Completitud del Catálogo
|
|
82
|
-
|
|
83
|
-
El catálogo de descubrimiento debe contener metadatos precisos para todos los productos publicados. La completitud del catálogo se mide contra: declaración de propiedad, registro de esquema, declaración de SLA, asignación de clasificación e información de contacto.
|
|
84
|
-
|
|
85
|
-
Objetivos de completitud del catálogo: 100% para productos publicados, >90% para productos en borrador. Las entradas incompletas se marcan en reportes de salud de la plataforma.
|
|
86
|
-
|
|
87
|
-
## Evidencia de Linaje (DAM-R04)
|
|
88
|
-
|
|
89
|
-
El rastreo de linaje debe cubrir fuentes aguas arriba, lógica de transformación y consumidores aguas abajo. La evidencia de linaje se recopila a través de: instrument automatizada de flujos, anotación manual e integración con la plataforma.
|
|
90
|
-
|
|
91
|
-
La completitud del linaje se mide como: porcentaje de productos con fuentes aguas arriba documentadas, porcentaje con consumidores aguas abajo documentados y porcentaje con lógica de transformación anotada.
|
|
92
|
-
|
|
93
|
-
## Cumplimiento de Contratos
|
|
94
|
-
|
|
95
|
-
El cumplimiento de contratos valida que los productos se adhieren a sus esquemas declarados, garantías de calidad y políticas de acceso. Las verificaciones de cumplimiento se ejecutan automáticamente contra contratos publicados.
|
|
96
|
-
|
|
97
|
-
Métricas de cumplimiento: tasa de adherencia al esquema, tasa de cumplimiento de SLA, conteo de violaciones de políticas de acceso. Los productos no conformes se marcan y requieren remediación dentro de la ventana definida por la gobernanza.
|
|
98
|
-
|
|
99
|
-
## Lista de Verificación
|
|
100
|
-
|
|
101
|
-
- [ ] Todos los productos publicados registrados en catálogo de descubrimiento
|
|
102
|
-
- [ ] Versiones de esquema actuales y compatibles backward
|
|
103
|
-
- [ ] SLAs de calidad declarados y monitoreados
|
|
104
|
-
- [ ] Políticas de acceso publicadas y ejecutadas
|
|
105
|
-
- [ ] Documentación de linaje completa para aguas arriba y abajo
|
|
106
|
-
- [ ] Campos PII declarados y con control de acceso
|
|
107
|
-
- [ ] Estado de encriptación verificado
|
|
108
|
-
- [ ] Cumplimiento de SLA dentro de tolerancia
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
[Volver al Perfil de Malla de Datos](./README.es.md)
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
# Data Mesh — Evidence Guide
|
|
2
|
-
|
|
3
|
-
> **Bilingual Navigation:** [English](./evidence.md) | [Español](./evidence.es.md)
|
|
4
|
-
|
|
5
|
-
**Owner:** Data Architecture
|
|
6
|
-
**Topology:** Data Mesh
|
|
7
|
-
**Related Rules:** DAM-R04, DAM-R07
|
|
8
|
-
**Related ADRs:** ADR-0084
|
|
9
|
-
|
|
10
|
-
## Purpose
|
|
11
|
-
|
|
12
|
-
This guide defines the evidence collection and validation procedures for data mesh topology. Evidence validates that data products meet their declared quality SLOs, contracts are compliant, lineage is complete, and the discovery catalog is accurate.
|
|
13
|
-
|
|
14
|
-
## Validation Commands
|
|
15
|
-
|
|
16
|
-
### Documentation Validation
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
# Full documentation validation
|
|
20
|
-
node .harness/scripts/ci/01-validate-docs.mjs
|
|
21
|
-
|
|
22
|
-
# Validate data-mesh specific content
|
|
23
|
-
node .harness/scripts/ci/01-validate-docs.mjs --target data-mesh
|
|
24
|
-
|
|
25
|
-
# Render Mermaid diagrams for visual validation
|
|
26
|
-
node .harness/scripts/ci/01-validate-docs.mjs --render-mermaid
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Bilingual Validation
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# Check EN/ES structural parity
|
|
33
|
-
node .harness/scripts/ci/04-check-bilingual-parity.mjs
|
|
34
|
-
|
|
35
|
-
# Check bilingual coverage
|
|
36
|
-
node .harness/scripts/bilingual-coverage.mjs
|
|
37
|
-
|
|
38
|
-
# Generate ES skeleton from EN file
|
|
39
|
-
node .harness/scripts/generate-es-skeleton.mjs <file.md> --dry-run
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Coverage and Quality
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
# Generate visual coverage report
|
|
46
|
-
node .harness/scripts/coverage-dashboard.mjs
|
|
47
|
-
|
|
48
|
-
# Run Wilson deep audit
|
|
49
|
-
node .harness/scripts/run-wilson-audit.mjs
|
|
50
|
-
|
|
51
|
-
# Sanitize encoding issues
|
|
52
|
-
python ./.bmad-core/scripts/cleanup_markdown_encoding.py
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Quality Metrics
|
|
56
|
-
|
|
57
|
-
### Completeness
|
|
58
|
-
|
|
59
|
-
Measure the ratio of non-null values to total expected records. Products must declare completeness thresholds as part of their quality SLOs. Completeness below threshold triggers consumer notifications.
|
|
60
|
-
|
|
61
|
-
Target metrics: critical products >99.9%, standard products >99%, best-effort products >95%.
|
|
62
|
-
|
|
63
|
-
### Freshness
|
|
64
|
-
|
|
65
|
-
Measure the elapsed time between source data update and product availability. Freshness is tracked against declared SLAs. Products failing freshness SLAs are flagged in the platform catalog.
|
|
66
|
-
|
|
67
|
-
Monitoring granularity: per-product, per-domain, per-cross-domain dependency chain.
|
|
68
|
-
|
|
69
|
-
### Validity
|
|
70
|
-
|
|
71
|
-
Validate that data values conform to declared schemas and business rules. Validity checks run at ingestion time and on-demand. Invalid records are quarantined and reported.
|
|
72
|
-
|
|
73
|
-
Validity metrics: schema compliance rate, business rule pass rate, outlier detection rate.
|
|
74
|
-
|
|
75
|
-
### Uniqueness
|
|
76
|
-
|
|
77
|
-
Ensure no duplicate records exist within product datasets. Uniqueness constraints are declared in product schemas. Duplicate detection runs during ingestion and as batch validation.
|
|
78
|
-
|
|
79
|
-
Uniqueness metrics: duplicate detection rate, primary key uniqueness, composite key uniqueness.
|
|
80
|
-
|
|
81
|
-
## Catalog Completeness
|
|
82
|
-
|
|
83
|
-
The discovery catalog must contain accurate metadata for all published products. Catalog completeness is measured against: ownership declaration, schema registration, SLA declaration, classification assignment, and contact information.
|
|
84
|
-
|
|
85
|
-
Catalog completeness targets: 100% for published products, >90% for draft products. Incomplete catalog entries are flagged in platform health reports.
|
|
86
|
-
|
|
87
|
-
## Lineage Evidence (DAM-R04)
|
|
88
|
-
|
|
89
|
-
Lineage tracking must cover upstream sources, transformation logic, and downstream consumers. Lineage evidence is collected through: automated pipeline instrumentation, manual annotation, and platform integration.
|
|
90
|
-
|
|
91
|
-
Lineage completeness is measured as: percentage of products with documented upstream sources, percentage with documented downstream consumers, and percentage with transformation logic annotated.
|
|
92
|
-
|
|
93
|
-
## Contract Compliance
|
|
94
|
-
|
|
95
|
-
Contract compliance validates that products adhere to their declared schemas, quality guarantees, and access policies. Compliance checks run automatically against published contracts.
|
|
96
|
-
|
|
97
|
-
Compliance metrics: schema adherence rate, SLA fulfillment rate, access policy violation count. Non-compliant products are flagged and require remediation within the governance-defined window.
|
|
98
|
-
|
|
99
|
-
## Validation Checklist
|
|
100
|
-
|
|
101
|
-
- [ ] All published products registered in discovery catalog
|
|
102
|
-
- [ ] Schema versions current and backward-compatible
|
|
103
|
-
- [ ] Quality SLOs declared and monitored
|
|
104
|
-
- [ ] Access policies published and enforced
|
|
105
|
-
- [ ] Lineage documentation complete for upstream and downstream
|
|
106
|
-
- [ ] PII fields declared and access-controlled
|
|
107
|
-
- [ ] Encryption status verified
|
|
108
|
-
- [ ] SLA compliance within tolerance
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
[Back to Data Mesh Profile](./README.md)
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# Guía de Evolución de Malla de Datos
|
|
2
|
-
|
|
3
|
-
> **Navegación Bilingüe:** [English](./evolution.md) | [Español](./evolution.es.md)
|
|
4
|
-
|
|
5
|
-
**Propietario:** Arquitectura de Datos
|
|
6
|
-
**Topología:** Malla de Datos
|
|
7
|
-
**Reglas Relacionadas:** DAM-R08
|
|
8
|
-
**ADRs Relacionados:** ADR-0084
|
|
9
|
-
|
|
10
|
-
## Propósito
|
|
11
|
-
|
|
12
|
-
Esta guía define la trayectoria evolutiva desde almacenes de datos monolíticos hasta la topología de malla de datos. Cubre etapas de migración, alineación de dominios, progresión de madurez de productos, evolución de esquemas y madurez de federación. La evolución es incremental — los equipos adoptan patrones de malla progresivamente en lugar de en una sola migración.
|
|
13
|
-
|
|
14
|
-
## Almacén Monolítico a Malla
|
|
15
|
-
|
|
16
|
-
La migración desde un almacén centralizado sigue una progresión de cuatro etapas: extracción centralizada, extracción de dominio, formalización de producto y operación completa de malla. Cada etapa tiene criterios de salida medibles.
|
|
17
|
-
|
|
18
|
-
- **Etapa 1 — Extracción Centralizada:** Los dominios comienzan a publicar conjuntos de datos propios como productos. El almacén permanece como capa de consulta principal. La plataforma proporciona descubrimiento junto al catálogo existente.
|
|
19
|
-
- **Etapa 2 — Extracción de Dominio:** Los dominios asumen propiedad operativa de sus productos. La plataforma aplica políticas de acceso. El almacén se convierte en uno de muchos consumidores.
|
|
20
|
-
- **Etapa 3 — Formalización de Producto:** Todos los productos tienen SLAs, esquemas y contratos declarados. Las consultas interdominio se enrutan a través de la plataforma. El almacén se descompone en almacenes de propiedad de dominio.
|
|
21
|
-
- **Etapa 4 — Malla Completa:** La plataforma de autoservicio es la interfaz principal. La gobernanza federada está completamente operativa. Los dominios operan independientemente dentro de los límites de gobernanza.
|
|
22
|
-
|
|
23
|
-
## Alineación de Dominios
|
|
24
|
-
|
|
25
|
-
Los límites de dominio para productos de datos se alinean con los límites de dominios de negocio definidos en el mapeo organizacional de dominios. Los dominios de datos no deben crear nuevos límites organizacionales — deben reflejar los existentes.
|
|
26
|
-
|
|
27
|
-
Cuando los límites de dominio son ambiguos, comenzar con la alineación más gruesa y refinar a medida que los productos maduran. La división prematura de dominios crea sobrecarga de gobernanza sin beneficio para el consumidor.
|
|
28
|
-
|
|
29
|
-
## Progresión de Madurez del Producto
|
|
30
|
-
|
|
31
|
-
Los productos de datos evolucionan a través de niveles de madurez que corresponden a su sofisticación operativa:
|
|
32
|
-
|
|
33
|
-
- **Nivel 1 — Extracción:** Conjunto de datos crudo con metadatos básicos. Sin SLA. Solo uso interno del dominio.
|
|
34
|
-
- **Nivel 2 — Producto:** Publicado con esquema, SLA y políticas de acceso. Descubrible a través de la plataforma.
|
|
35
|
-
- **Nivel 3 — Gestionado:** Verificaciones de salud activas. SLAs de calidad declarados. Contratos de consumidor registrados.
|
|
36
|
-
- **Nivel 4 — Optimizado:** Remediación automatizada de calidad. Linaje interdominio completo. Integrado con la plataforma.
|
|
37
|
-
|
|
38
|
-
La progresión de madurez es voluntaria y dirigida por el dominio. La plataforma proporciona herramientas para soportar cada nivel pero no impone cronogramas de progresión.
|
|
39
|
-
|
|
40
|
-
## Evolución de Esquemas (DAM-R08)
|
|
41
|
-
|
|
42
|
-
Los cambios de esquema siguen reglas de compatibilidad backward definidas en DAM-R08. Los cambios aditivos — campos opcionales nuevos, nuevos endpoints — son no rupturantes. Eliminar o renombrar campos requiere un ciclo de deprecación con notificación a consumidores.
|
|
43
|
-
|
|
44
|
-
Las versiones de esquema se rastrean en el registro de productos. Los consumidores se fijan a versiones específicas de esquema o declaran tolerancia a cambios. Los cambios rupturantes requieren una nueva versión del producto y soporte de migración.
|
|
45
|
-
|
|
46
|
-
## Madurez de Federación
|
|
47
|
-
|
|
48
|
-
La gobernanza federada madura a través de tres fases:
|
|
49
|
-
|
|
50
|
-
- **Fase 1 — Definición de Estándares:** El órgano central define estándares mínimos. Los dominios autoevalúan cumplimiento.
|
|
51
|
-
- **Fase 2 — Ejecución Automatizada:** La plataforma ejecuta estándares en registro y publicación. Las excepciones requieren aprobación del consejo de gobernanza.
|
|
52
|
-
- **Fase 3 — Política como Código:** Las reglas de gobernanza se expresan como políticas legibles por máquina. Escaneo automatizado de cumplimiento. Flujos de excepción de autoservicio.
|
|
53
|
-
|
|
54
|
-
Cada fase se construye sobre la anterior. Saltarse fases crea vacíos de gobernanza que son difíciles de remediar retroactivamente.
|
|
55
|
-
|
|
56
|
-
## Comandos de Validación
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
# Verificar documentación de evolución
|
|
60
|
-
node .harness/scripts/ci/01-validate-docs.mjs --target data-mesh
|
|
61
|
-
|
|
62
|
-
# Verificar paridad bilingüe
|
|
63
|
-
node .harness/scripts/ci/04-check-bilingual-parity.mjs
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
[Volver al Perfil de Malla de Datos](./README.es.md)
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# Data Mesh — Evolution Guide
|
|
2
|
-
|
|
3
|
-
> **Bilingual Navigation:** [English](./evolution.md) | [Español](./evolution.es.md)
|
|
4
|
-
|
|
5
|
-
**Owner:** Data Architecture
|
|
6
|
-
**Topology:** Data Mesh
|
|
7
|
-
**Related Rules:** DAM-R08
|
|
8
|
-
**Related ADRs:** ADR-0084
|
|
9
|
-
|
|
10
|
-
## Purpose
|
|
11
|
-
|
|
12
|
-
This guide defines the evolutionary path from monolithic data warehouses to data mesh topology. It covers migration stages, domain alignment, product maturity progression, schema evolution, and federation maturity. Evolution is incremental — teams adopt mesh patterns progressively rather than in a single migration.
|
|
13
|
-
|
|
14
|
-
## Monolithic Warehouse to Mesh
|
|
15
|
-
|
|
16
|
-
Migration from a centralized warehouse follows a four-stage progression: centralized extraction, domain extraction, product formalization, and full mesh operation. Each stage has measurable exit criteria.
|
|
17
|
-
|
|
18
|
-
- **Stage 1 — Centralized Extraction:** Domains begin publishing owned datasets as products. Warehouse remains the primary query layer. Platform provides discovery alongside existing catalog.
|
|
19
|
-
- **Stage 2 — Domain Extraction:** Domains take operational ownership of their products. Platform enforces access policies. Warehouse becomes one consumer among many.
|
|
20
|
-
- **Stage 3 — Product Formalization:** All products have declared SLAs, schemas, and contracts. Cross-domain queries route through platform. Warehouse decomposes into domain-owned stores.
|
|
21
|
-
- **Stage 4 — Full Mesh:** Self-serve platform is the primary interface. Federated governance is fully operational. Domains operate independently within governance guardrails.
|
|
22
|
-
|
|
23
|
-
## Domain Alignment
|
|
24
|
-
|
|
25
|
-
Domain boundaries for data products align with business domain boundaries defined in organizational domain mapping. Data domains should not create new organizational boundaries — they should mirror existing ones.
|
|
26
|
-
|
|
27
|
-
When domain boundaries are ambiguous, start with the coarsest alignment and refine as products mature. Premature domain splitting creates governance overhead without consumer benefit.
|
|
28
|
-
|
|
29
|
-
## Product Maturity Progression
|
|
30
|
-
|
|
31
|
-
Data products evolve through maturity levels that correspond to their operational sophistication:
|
|
32
|
-
|
|
33
|
-
- **Level 1 — Extract:** Raw dataset with basic metadata. No SLA. Internal domain use only.
|
|
34
|
-
- **Level 2 — Product:** Published with schema, SLA, and access policies. Discoverable through platform.
|
|
35
|
-
- **Level 3 — Managed:** Health checks active. Quality SLOs declared. Consumer contracts registered.
|
|
36
|
-
- **Level 4 — Optimized:** Automated quality remediation. Cross-domain lineage complete. Platform-integrated.
|
|
37
|
-
|
|
38
|
-
Maturity progression is voluntary and domain-driven. The platform provides tooling to support each level but does not mandate progression timelines.
|
|
39
|
-
|
|
40
|
-
## Schema Evolution (DAM-R08)
|
|
41
|
-
|
|
42
|
-
Schema changes follow backward-compatibility rules defined in DAM-R08. Additive changes — new optional fields, new endpoints — are non-breaking. Removing or renaming fields requires a deprecation cycle with consumer notification.
|
|
43
|
-
|
|
44
|
-
Schema versions are tracked in the product registry. Consumers pin to specific schema versions or declare tolerance for changes. Breaking changes require a new product version and migration support.
|
|
45
|
-
|
|
46
|
-
## Federation Maturity
|
|
47
|
-
|
|
48
|
-
Federated governance matures through three phases:
|
|
49
|
-
|
|
50
|
-
- **Phase 1 — Standards Definition:** Central body defines minimum standards. Domains self-assess compliance.
|
|
51
|
-
- **Phase 2 — Automated Enforcement:** Platform enforces standards at registration and publication. Exceptions require governance council approval.
|
|
52
|
-
- **Phase 3 — Policy as Code:** Governance rules expressed as machine-readable policies. Automated compliance scanning. Self-service exception workflows.
|
|
53
|
-
|
|
54
|
-
Each phase builds on the previous. Skipping phases creates governance gaps that are difficult to remediate retroactively.
|
|
55
|
-
|
|
56
|
-
## Validation Commands
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
# Verify evolution documentation
|
|
60
|
-
node .harness/scripts/ci/01-validate-docs.mjs --target data-mesh
|
|
61
|
-
|
|
62
|
-
# Check bilingual parity
|
|
63
|
-
node .harness/scripts/ci/04-check-bilingual-parity.mjs
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
[Back to Data Mesh Profile](./README.md)
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"topology": "data-mesh",
|
|
3
|
-
"isDataProduct": false,
|
|
4
|
-
"hasDataContracts": false,
|
|
5
|
-
"federatedGovernance": false,
|
|
6
|
-
"hasLineageTracking": false,
|
|
7
|
-
"hasRetentionPolicy": false,
|
|
8
|
-
"hasConsumptionContracts": false,
|
|
9
|
-
"hasDataQualitySLO": false,
|
|
10
|
-
"hasBackwardCompatibleContracts": false,
|
|
11
|
-
"hasDiscoveryRegistration": false
|
|
12
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"topology": "data-mesh",
|
|
3
|
-
"isDataProduct": true,
|
|
4
|
-
"hasDataContracts": true,
|
|
5
|
-
"federatedGovernance": true,
|
|
6
|
-
"hasLineageTracking": true,
|
|
7
|
-
"hasRetentionPolicy": true,
|
|
8
|
-
"hasConsumptionContracts": true,
|
|
9
|
-
"hasDataQualitySLO": true,
|
|
10
|
-
"hasBackwardCompatibleContracts": true,
|
|
11
|
-
"hasDiscoveryRegistration": true
|
|
12
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# Guia de Adopcion, Operacion y Evolucion de Data Mesh
|
|
2
|
-
|
|
3
|
-
> **Navegacion Bilingue:** [English Version](./maturity.md)
|
|
4
|
-
|
|
5
|
-
## Adoption
|
|
6
|
-
|
|
7
|
-
Adopte esta topologia cuando el ownership de datos analiticos debe acercarse a los equipos de dominio sin perder gobernanza, calidad, interoperabilidad ni cumplimiento. Comience con productos de datos orientados a dominio, contratos explicitos y politicas de gobernanza federada.
|
|
8
|
-
|
|
9
|
-
## Operations
|
|
10
|
-
|
|
11
|
-
Opere una plataforma de infraestructura de datos self-serve que soporte productos de datos propiedad de dominio. Monitoree la frescura de contratos de datos, evidencia de calidad, trazabilidad de lineage y cumplimiento normativo como parte de la validacion normal de arquitectura.
|
|
12
|
-
|
|
13
|
-
## Security
|
|
14
|
-
|
|
15
|
-
Autorice el acceso a datos en la frontera del producto de datos. Implemente control de acceso basado en atributos para el consumo de datos analiticos. Nunca omita el plano de gobernanza federada para consultas criticas de cumplimiento.
|
|
16
|
-
|
|
17
|
-
## Resilience
|
|
18
|
-
|
|
19
|
-
Disene productos de datos para actualizaciones idempotentes, tolerancia a evolucion de schema y degradacion gradual cuando los dominios upstream no esten disponibles. Prefiera consistencia eventual para la distribucion analitica.
|
|
20
|
-
|
|
21
|
-
## Patterns and Anti-Patterns
|
|
22
|
-
|
|
23
|
-
Use productos de datos orientados a dominio con propiedades DATSIS (Discoverable, Addressable, Trustworthy, Self-describing, Interoperable, Secure), gobernanza computacional federada y patrones de plataforma self-serve. No construya un data lake centralizado, comparta tablas operativas sin procesar entre dominios ni omita ownership de dominio por conveniencia analitica.
|
|
24
|
-
|
|
25
|
-
## Evolution
|
|
26
|
-
|
|
27
|
-
Migre a data mesh solo cuando la autonomia de dominio para datos analiticos este justificada por la escala organizacional. Preserve las fronteras de ownership transaccional y las politicas de gobernanza federada para que la migracion de productos de datos siga siendo deliberada.
|
|
28
|
-
|
|
29
|
-
## Validation Checklist
|
|
30
|
-
|
|
31
|
-
- Valide la configuracion de topologia con `topology.config.schema.json` y ambos fixtures.
|
|
32
|
-
- Ejecute la evaluacion Native y OPA mediante el plano de control compartido.
|
|
33
|
-
- Confirme ADRs aprobados, guia bilingue y pruebas positivas y negativas reproducibles.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
[Volver al Perfil Data Mesh](./README.es.md)
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# Data Mesh Adoption, Operations, and Evolution Guide
|
|
2
|
-
|
|
3
|
-
> **Bilingual Navigation:** [Version en Espanol](./maturity.es.md)
|
|
4
|
-
|
|
5
|
-
## Adoption
|
|
6
|
-
|
|
7
|
-
Adopt this topology when analytical data ownership must move closer to domain teams without losing governance, quality, interoperability, or compliance. Start with domain-oriented data products, explicit contracts, and federated governance policies.
|
|
8
|
-
|
|
9
|
-
## Operations
|
|
10
|
-
|
|
11
|
-
Operate a self-serve data infrastructure platform supporting domain-owned data products. Monitor data contract freshness, quality evidence, lineage traceability, and compliance adherence as part of normal architecture validation.
|
|
12
|
-
|
|
13
|
-
## Security
|
|
14
|
-
|
|
15
|
-
Authorize data access at the data product boundary. Enforce attribute-based access control for analytical data consumption. Never bypass the federated governance plane for compliance-critical queries.
|
|
16
|
-
|
|
17
|
-
## Resilience
|
|
18
|
-
|
|
19
|
-
Design data products for idempotent updates, schema evolution tolerance, and graceful degradation when upstream domains are unavailable. Prefer eventual consistency for analytical distribution.
|
|
20
|
-
|
|
21
|
-
## Patterns and Anti-Patterns
|
|
22
|
-
|
|
23
|
-
Use domain-oriented data products with DATSIS properties (Discoverable, Addressable, Trustworthy, Self-describing, Interoperable, Secure), federated computational governance, and self-serve platform patterns. Do not build a centralized data lake, share raw operational tables across domains, or bypass domain ownership for analytical convenience.
|
|
24
|
-
|
|
25
|
-
## Evolution
|
|
26
|
-
|
|
27
|
-
Move to data mesh only when domain autonomy for analytical data is justified by organizational scale. Preserve transactional ownership boundaries and federated governance policies so that data product migration remains deliberate.
|
|
28
|
-
|
|
29
|
-
## Validation Checklist
|
|
30
|
-
|
|
31
|
-
- Validate the topology configuration against `topology.config.schema.json` and both fixtures.
|
|
32
|
-
- Run Native and OPA policy evaluation through the shared control plane.
|
|
33
|
-
- Confirm approved ADRs, bilingual guidance, and reproducible positive and negative tests.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
[Back to Data Mesh Profile](./README.md)
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"protocolVersion": "2025-03-26",
|
|
3
|
-
"topologyId": "data-mesh",
|
|
4
|
-
"description": "MCP interface for the Data Mesh topology. Provides tools for inspecting and validating data product configurations, resources for manifest and ruleset access, and prompts for mesh-governed implementation guidance.",
|
|
5
|
-
"capabilities": {
|
|
6
|
-
"tools": {},
|
|
7
|
-
"resources": {},
|
|
8
|
-
"prompts": {}
|
|
9
|
-
},
|
|
10
|
-
"tools": [
|
|
11
|
-
{
|
|
12
|
-
"name": "evolith-topology-inspect",
|
|
13
|
-
"description": "Inspect a Data Mesh topology configuration and return its parsed manifest, data domain references, and corpus artifact links.",
|
|
14
|
-
"inputSchema": {
|
|
15
|
-
"type": "object",
|
|
16
|
-
"properties": {
|
|
17
|
-
"configPath": {
|
|
18
|
-
"type": "string",
|
|
19
|
-
"description": "Path to the Data Mesh configuration file"
|
|
20
|
-
},
|
|
21
|
-
"includeDomains": {
|
|
22
|
-
"type": "boolean",
|
|
23
|
-
"description": "Include data domain references and ownership metadata"
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
"required": ["configPath"]
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"name": "evolith-topology-validate",
|
|
31
|
-
"description": "Validate a Data Mesh configuration against the topology ruleset and OPA policies, returning pass/fail per gate.",
|
|
32
|
-
"inputSchema": {
|
|
33
|
-
"type": "object",
|
|
34
|
-
"properties": {
|
|
35
|
-
"configPath": {
|
|
36
|
-
"type": "string",
|
|
37
|
-
"description": "Path to the Data Mesh configuration to validate"
|
|
38
|
-
},
|
|
39
|
-
"strictMode": {
|
|
40
|
-
"type": "boolean",
|
|
41
|
-
"description": "Fail on warnings, not just errors"
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
"required": ["configPath"]
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
],
|
|
48
|
-
"resources": [
|
|
49
|
-
{
|
|
50
|
-
"uri": "evolith://topologies/data-mesh/manifest",
|
|
51
|
-
"name": "Data Mesh Topology Manifest",
|
|
52
|
-
"description": "Full topology manifest for Data Mesh, including metadata, artifact references, and corpus configuration.",
|
|
53
|
-
"mimeType": "application/json"
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"uri": "evolith://topologies/data-mesh/rulesets",
|
|
57
|
-
"name": "Data Mesh Rulesets",
|
|
58
|
-
"description": "All ruleset files for Data Mesh: native rules JSON, OPA Rego policies, and WASM bundle.",
|
|
59
|
-
"mimeType": "application/json"
|
|
60
|
-
}
|
|
61
|
-
],
|
|
62
|
-
"prompts": [
|
|
63
|
-
{
|
|
64
|
-
"name": "topology-aware-implementation",
|
|
65
|
-
"description": "Guides AI-assisted implementation to respect Data Mesh topology constraints, data domain isolation, and federated governance."
|
|
66
|
-
}
|
|
67
|
-
]
|
|
68
|
-
}
|