@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,257 @@
|
|
|
1
|
+
# Guía de Evolución de Computación en el Borde
|
|
2
|
+
|
|
3
|
+
> **Navegación Bilingüe:** [English](./evolution.md) | [Español](./evolution.es.md)
|
|
4
|
+
|
|
5
|
+
**Propietario:** Ingeniería de Plataforma
|
|
6
|
+
**Topología:** Computación en el Borde
|
|
7
|
+
|
|
8
|
+
## Migración de la Nube al Borde
|
|
9
|
+
|
|
10
|
+
Mover workloads de la nube centralizada al borde requiere planificación cuidadosa y migración incremental.
|
|
11
|
+
|
|
12
|
+
### Fases de Migración
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
Fase 1: Evaluación
|
|
16
|
+
├── Análisis de workloads
|
|
17
|
+
├── Requisitos de latencia
|
|
18
|
+
└── Necesidades de residencia de datos
|
|
19
|
+
|
|
20
|
+
Fase 2: Piloto
|
|
21
|
+
├── Seleccionar workloads elegibles para el borde
|
|
22
|
+
├── Desplegar en una sola región
|
|
23
|
+
└── Validar rendimiento
|
|
24
|
+
|
|
25
|
+
Fase 3: Expansión
|
|
26
|
+
├── Implementar en múltiples regiones
|
|
27
|
+
├── Implementar estrategias de sincronización
|
|
28
|
+
└── Monitorear y optimizar
|
|
29
|
+
|
|
30
|
+
Fase 4: Optimización
|
|
31
|
+
├── Ajustar caché
|
|
32
|
+
├── Optimizar inicios en frío
|
|
33
|
+
└── Optimización de costos
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Elegibilidad de Workloads
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# Analizar workloads para elegibilidad en el borde
|
|
40
|
+
edge-cli migration analyze \
|
|
41
|
+
--service user-api \
|
|
42
|
+
--check-latency \
|
|
43
|
+
--check-data-residency \
|
|
44
|
+
--check-dependencies
|
|
45
|
+
|
|
46
|
+
# Salida:
|
|
47
|
+
# SERVICE: user-api
|
|
48
|
+
# EDGE_ELIGIBLE: yes
|
|
49
|
+
# LATENCY_BENEFIT: 45ms improvement
|
|
50
|
+
# DATA_RESIDENCY: compliant
|
|
51
|
+
# DEPENDENCIES: all available at edge
|
|
52
|
+
# RECOMMENDATION: migrate
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Lista de Verificación de Migración
|
|
56
|
+
|
|
57
|
+
| Criterio | Requisito | Estado |
|
|
58
|
+
|----------|-----------|--------|
|
|
59
|
+
| Mejora de latencia | > 20ms beneficio | [PASS] |
|
|
60
|
+
| Residencia de datos | Cumplimiento con reglas regionales | [PASS] |
|
|
61
|
+
| Dependencia del origen | Mínima o cacheable | [PASS] |
|
|
62
|
+
| Gestión de estado | Stateless o primero local | [PASS] |
|
|
63
|
+
| Manejo de errores | Degradación elegante | [PASS] |
|
|
64
|
+
|
|
65
|
+
## Evolución de Estrategias de Sincronización
|
|
66
|
+
|
|
67
|
+
A medida que los despliegues del borde maduran, las estrategias de sincronización evolucionan de simples a sofisticadas.
|
|
68
|
+
|
|
69
|
+
### Ruta de Evolución
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
Etapa 1: Solo Solicitud
|
|
73
|
+
├── Contenido obtenido bajo demanda
|
|
74
|
+
├── Implementación simple
|
|
75
|
+
└── Alta latencia en fallo
|
|
76
|
+
|
|
77
|
+
Etapa 2: Basada en Envío
|
|
78
|
+
├── Origen envía actualizaciones
|
|
79
|
+
├── Menor latencia
|
|
80
|
+
└── Mayor uso de ancho de banda
|
|
81
|
+
|
|
82
|
+
Etapa 3: Híbrida
|
|
83
|
+
├── Envío para contenido crítico
|
|
84
|
+
├── Solicitud para contenido dinámico
|
|
85
|
+
└── Enfoque equilibrado
|
|
86
|
+
|
|
87
|
+
Etapa 4: Inteligente
|
|
88
|
+
├── Prefetching basado en ML
|
|
89
|
+
├── Sincronización predictiva
|
|
90
|
+
└── Estrategias adaptativas
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Selección de Estrategia de Sincronización
|
|
94
|
+
|
|
95
|
+
```yaml
|
|
96
|
+
sync_evolution:
|
|
97
|
+
stage_1:
|
|
98
|
+
name: "pull-only"
|
|
99
|
+
description: "Obtención simple bajo demanda"
|
|
100
|
+
use_case: "despliegue inicial, bajo tráfico"
|
|
101
|
+
complexity: "baja"
|
|
102
|
+
|
|
103
|
+
stage_2:
|
|
104
|
+
name: "push-based"
|
|
105
|
+
description: "Actualizaciones iniciadas por el origen"
|
|
106
|
+
use_case: "contenido estático, patrones predecibles"
|
|
107
|
+
complexity: "media"
|
|
108
|
+
|
|
109
|
+
stage_3:
|
|
110
|
+
name: "hybrid"
|
|
111
|
+
description: "Estrategias mixtas de envío/solicitud"
|
|
112
|
+
use_case: "cargas de trabajo mixtas, necesidades equilibradas"
|
|
113
|
+
complexity: "alta"
|
|
114
|
+
|
|
115
|
+
stage_4:
|
|
116
|
+
name: "intelligent"
|
|
117
|
+
description: "Optimización de sincronización basada en ML"
|
|
118
|
+
use_case: "despliegues maduros, alto tráfico"
|
|
119
|
+
complexity: "muy alta"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Matriz de Decisión Borde vs Nube
|
|
123
|
+
|
|
124
|
+
Elegir entre ejecución en el borde y la nube depende de múltiples factores.
|
|
125
|
+
|
|
126
|
+
### Factores de Decisión
|
|
127
|
+
|
|
128
|
+
| Factor | Favorece el Borde | Favorece la Nube |
|
|
129
|
+
|--------|-------------------|------------------|
|
|
130
|
+
| Requisito de latencia | < 50ms | > 100ms |
|
|
131
|
+
| Localidad de datos | Específico del usuario | Global |
|
|
132
|
+
| Complejidad de cómputo | Simple, stateless | Complejo, con estado |
|
|
133
|
+
| Modelo de costo | Alto volumen de solicitudes | Cómputo burst |
|
|
134
|
+
| Regulatorio | Residencia de datos | Ninguno |
|
|
135
|
+
| Disponibilidad | Sin conexión necesario | En línea suficiente |
|
|
136
|
+
|
|
137
|
+
### Flujo de Decisión
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# Evaluar borde vs nube para un workload
|
|
141
|
+
edge-cli decision evaluate \
|
|
142
|
+
--workload product-catalog \
|
|
143
|
+
--latency-budget 200ms \
|
|
144
|
+
--data-residency required \
|
|
145
|
+
--compute-complexity low
|
|
146
|
+
|
|
147
|
+
# Salida:
|
|
148
|
+
# WORKLOAD: product-catalog
|
|
149
|
+
# EDGE_SCORE: 85/100
|
|
150
|
+
# CLOUD_SCORE: 45/100
|
|
151
|
+
# RECOMMENDATION: edge
|
|
152
|
+
# REASONS:
|
|
153
|
+
# - Requisito de latencia cumplido en el borde
|
|
154
|
+
# - Cumplimiento de residencia de datos
|
|
155
|
+
# - Baja complejidad de cómputo
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Arquitectura Neutral al Proveedor (Ref: ADR-0096)
|
|
159
|
+
|
|
160
|
+
La arquitectura del borde debe permanecer neutral al proveedor para evitar el bloqueo de proveedor.
|
|
161
|
+
|
|
162
|
+
### Capas de Abstracción
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
┌─────────────────────────────────────────────────┐
|
|
166
|
+
│ Capa de Aplicación │
|
|
167
|
+
│ ┌─────────────────────────────────────────┐ │
|
|
168
|
+
│ │ API del Borde │ │
|
|
169
|
+
│ │ - Ejecución de funciones │ │
|
|
170
|
+
│ │ - Operaciones de almacenamiento │ │
|
|
171
|
+
│ │ - Utilidades de redes │ │
|
|
172
|
+
│ └─────────────────────────────────────────┘ │
|
|
173
|
+
└─────────────────────────────────────────────────┘
|
|
174
|
+
│
|
|
175
|
+
┌─────────────────────────────────────────────────┐
|
|
176
|
+
│ Capa de Abstracción del Proveedor │
|
|
177
|
+
│ ┌─────────────────────────────────────────┐ │
|
|
178
|
+
│ │ Interfaz del Proveedor del Borde │ │
|
|
179
|
+
│ │ - Cloudflare Workers │ │
|
|
180
|
+
│ │ - AWS Lambda@Edge │ │
|
|
181
|
+
│ │ - Azure Functions Premium │ │
|
|
182
|
+
│ │ - Fastly Compute@Edge │ │
|
|
183
|
+
│ └─────────────────────────────────────────┘ │
|
|
184
|
+
└─────────────────────────────────────────────────┘
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Interfaz del Proveedor
|
|
188
|
+
|
|
189
|
+
```typescript
|
|
190
|
+
interface EdgeProvider {
|
|
191
|
+
// Ejecución de funciones
|
|
192
|
+
executeFunction(
|
|
193
|
+
name: string,
|
|
194
|
+
request: EdgeRequest
|
|
195
|
+
): Promise<EdgeResponse>;
|
|
196
|
+
|
|
197
|
+
// Operaciones de almacenamiento
|
|
198
|
+
getStorage(key: string): Promise<ArrayBuffer>;
|
|
199
|
+
setStorage(key: string, value: ArrayBuffer): Promise<void>;
|
|
200
|
+
|
|
201
|
+
// Redes
|
|
202
|
+
fetch(url: string, init?: RequestInit): Promise<Response>;
|
|
203
|
+
|
|
204
|
+
// Específico de la plataforma
|
|
205
|
+
getRegion(): string;
|
|
206
|
+
getNode(): string;
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Despliegue Multi-Proveedor
|
|
211
|
+
|
|
212
|
+
```yaml
|
|
213
|
+
providers:
|
|
214
|
+
primary:
|
|
215
|
+
name: cloudflare
|
|
216
|
+
region: us-east-1
|
|
217
|
+
functions: true
|
|
218
|
+
storage: true
|
|
219
|
+
|
|
220
|
+
secondary:
|
|
221
|
+
name: aws
|
|
222
|
+
region: us-west-2
|
|
223
|
+
functions: true
|
|
224
|
+
storage: true
|
|
225
|
+
|
|
226
|
+
fallback:
|
|
227
|
+
name: azure
|
|
228
|
+
region: westeurope
|
|
229
|
+
functions: true
|
|
230
|
+
storage: false
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## Hoja de Ruta de Evolución Tecnológica
|
|
234
|
+
|
|
235
|
+
### Corto Plazo (0-6 meses)
|
|
236
|
+
|
|
237
|
+
- [ ] Desplegar funciones básicas del borde
|
|
238
|
+
- [ ] Implementar datos primero local
|
|
239
|
+
- [ ] Configurar monitoreo y alertas
|
|
240
|
+
- [ ] Establecer estrategias de sincronización
|
|
241
|
+
|
|
242
|
+
### Mediano Plazo (6-12 meses)
|
|
243
|
+
|
|
244
|
+
- [ ] Resolución de conflictos avanzada
|
|
245
|
+
- [ ] Prefetching basado en ML
|
|
246
|
+
- [ ] Replicación multi-región
|
|
247
|
+
- [ ] Optimización de costos
|
|
248
|
+
|
|
249
|
+
### Largo Plazo (12+ meses)
|
|
250
|
+
|
|
251
|
+
- [ ] Bases de datos nativas del borde
|
|
252
|
+
- [ ] Cómputo distribuido en el borde
|
|
253
|
+
- [ ] Aprendizaje federado
|
|
254
|
+
- [ ] Operaciones autónomas del borde
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
[Volver al Perfil de Computación en el Borde](./README.es.md)
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
# Edge Computing — Evolution Guide
|
|
2
|
+
|
|
3
|
+
> **Bilingual Navigation:** [English](./evolution.md) | [Español](./evolution.es.md)
|
|
4
|
+
|
|
5
|
+
**Owner:** Platform Engineering
|
|
6
|
+
**Topology:** Edge Computing
|
|
7
|
+
|
|
8
|
+
## Cloud to Edge Migration
|
|
9
|
+
|
|
10
|
+
Moving workloads from centralized cloud to edge requires careful planning and incremental migration.
|
|
11
|
+
|
|
12
|
+
### Migration Phases
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
Phase 1: Assessment
|
|
16
|
+
├── Workload analysis
|
|
17
|
+
├── Latency requirements
|
|
18
|
+
└── Data residency needs
|
|
19
|
+
|
|
20
|
+
Phase 2: Pilot
|
|
21
|
+
├── Select edge-eligible workloads
|
|
22
|
+
├── Deploy to single region
|
|
23
|
+
└── Validate performance
|
|
24
|
+
|
|
25
|
+
Phase 3: Expansion
|
|
26
|
+
├── Roll out to multiple regions
|
|
27
|
+
├── Implement sync strategies
|
|
28
|
+
└── Monitor and optimize
|
|
29
|
+
|
|
30
|
+
Phase 4: Optimization
|
|
31
|
+
├── Fine-tune caching
|
|
32
|
+
├── Optimize cold starts
|
|
33
|
+
└── Cost optimization
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Workload Eligibility
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# Analyze workloads for edge eligibility
|
|
40
|
+
edge-cli migration analyze \
|
|
41
|
+
--service user-api \
|
|
42
|
+
--check-latency \
|
|
43
|
+
--check-data-residency \
|
|
44
|
+
--check-dependencies
|
|
45
|
+
|
|
46
|
+
# Output:
|
|
47
|
+
# SERVICE: user-api
|
|
48
|
+
# EDGE_ELIGIBLE: yes
|
|
49
|
+
# LATENCY_BENEFIT: 45ms improvement
|
|
50
|
+
# DATA_RESIDENCY: compliant
|
|
51
|
+
# DEPENDENCIES: all available at edge
|
|
52
|
+
# RECOMMENDATION: migrate
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Migration Checklist
|
|
56
|
+
|
|
57
|
+
| Criteria | Requirement | Status |
|
|
58
|
+
|----------|-------------|--------|
|
|
59
|
+
| Latency improvement | > 20ms benefit | [PASS] |
|
|
60
|
+
| Data residency | Compliant with region rules | [PASS] |
|
|
61
|
+
| Origin dependency | Minimal or cacheable | [PASS] |
|
|
62
|
+
| State management | Stateless or local-first | [PASS] |
|
|
63
|
+
| Error handling | Graceful degradation | [PASS] |
|
|
64
|
+
|
|
65
|
+
## Sync Strategy Evolution
|
|
66
|
+
|
|
67
|
+
As edge deployments mature, sync strategies evolve from simple to sophisticated.
|
|
68
|
+
|
|
69
|
+
### Evolution Path
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
Stage 1: Pull-Only
|
|
73
|
+
├── Content fetched on demand
|
|
74
|
+
├── Simple implementation
|
|
75
|
+
└── High latency on miss
|
|
76
|
+
|
|
77
|
+
Stage 2: Push-Based
|
|
78
|
+
├── Origin pushes updates
|
|
79
|
+
├── Lower latency
|
|
80
|
+
└── Higher bandwidth usage
|
|
81
|
+
|
|
82
|
+
Stage 3: Hybrid
|
|
83
|
+
├── Push for critical content
|
|
84
|
+
├── Pull for dynamic content
|
|
85
|
+
└── Balanced approach
|
|
86
|
+
|
|
87
|
+
Stage 4: Intelligent
|
|
88
|
+
├── ML-based prefetching
|
|
89
|
+
├── Predictive sync
|
|
90
|
+
└── Adaptive strategies
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Sync Strategy Selection
|
|
94
|
+
|
|
95
|
+
```yaml
|
|
96
|
+
sync_evolution:
|
|
97
|
+
stage_1:
|
|
98
|
+
name: "pull-only"
|
|
99
|
+
description: "Simple on-demand fetching"
|
|
100
|
+
use_case: "initial deployment, low traffic"
|
|
101
|
+
complexity: "low"
|
|
102
|
+
|
|
103
|
+
stage_2:
|
|
104
|
+
name: "push-based"
|
|
105
|
+
description: "Origin-initiated updates"
|
|
106
|
+
use_case: "static content, predictable patterns"
|
|
107
|
+
complexity: "medium"
|
|
108
|
+
|
|
109
|
+
stage_3:
|
|
110
|
+
name: "hybrid"
|
|
111
|
+
description: "Mixed push/pull strategies"
|
|
112
|
+
use_case: "mixed workloads, balanced needs"
|
|
113
|
+
complexity: "high"
|
|
114
|
+
|
|
115
|
+
stage_4:
|
|
116
|
+
name: "intelligent"
|
|
117
|
+
description: "ML-driven sync optimization"
|
|
118
|
+
use_case: "mature deployments, high traffic"
|
|
119
|
+
complexity: "very high"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Edge vs Cloud Decision Matrix
|
|
123
|
+
|
|
124
|
+
Choosing between edge and cloud execution depends on multiple factors.
|
|
125
|
+
|
|
126
|
+
### Decision Factors
|
|
127
|
+
|
|
128
|
+
| Factor | Edge Favors | Cloud Favors |
|
|
129
|
+
|--------|-------------|--------------|
|
|
130
|
+
| Latency requirement | < 50ms | > 100ms |
|
|
131
|
+
| Data locality | User-specific | Global |
|
|
132
|
+
| Compute complexity | Simple, stateless | Complex, stateful |
|
|
133
|
+
| Cost model | High request volume | Burst compute |
|
|
134
|
+
| Regulatory | Data residency | None |
|
|
135
|
+
| Availability | Offline needed | Online sufficient |
|
|
136
|
+
|
|
137
|
+
### Decision Flow
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# Evaluate edge vs cloud for a workload
|
|
141
|
+
edge-cli decision evaluate \
|
|
142
|
+
--workload product-catalog \
|
|
143
|
+
--latency-budget 200ms \
|
|
144
|
+
--data-residency required \
|
|
145
|
+
--compute-complexity low
|
|
146
|
+
|
|
147
|
+
# Output:
|
|
148
|
+
# WORKLOAD: product-catalog
|
|
149
|
+
# EDGE_SCORE: 85/100
|
|
150
|
+
# CLOUD_SCORE: 45/100
|
|
151
|
+
# RECOMMENDATION: edge
|
|
152
|
+
# REASONS:
|
|
153
|
+
# - Latency requirement met at edge
|
|
154
|
+
# - Data residency compliance
|
|
155
|
+
# - Low compute complexity
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Provider-Neutral Architecture (Ref: ADR-0096)
|
|
159
|
+
|
|
160
|
+
The edge architecture must remain provider-neutral to avoid vendor lock-in.
|
|
161
|
+
|
|
162
|
+
### Abstraction Layers
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
┌─────────────────────────────────────────────────┐
|
|
166
|
+
│ Application Layer │
|
|
167
|
+
│ ┌─────────────────────────────────────────┐ │
|
|
168
|
+
│ │ Edge API │ │
|
|
169
|
+
│ │ - Function execution │ │
|
|
170
|
+
│ │ - Storage operations │ │
|
|
171
|
+
│ │ - Networking utilities │ │
|
|
172
|
+
│ └─────────────────────────────────────────┘ │
|
|
173
|
+
└─────────────────────────────────────────────────┘
|
|
174
|
+
│
|
|
175
|
+
┌─────────────────────────────────────────────────┐
|
|
176
|
+
│ Provider Abstraction Layer │
|
|
177
|
+
│ ┌─────────────────────────────────────────┐ │
|
|
178
|
+
│ │ Edge Provider Interface │ │
|
|
179
|
+
│ │ - Cloudflare Workers │ │
|
|
180
|
+
│ │ - AWS Lambda@Edge │ │
|
|
181
|
+
│ │ - Azure Functions Premium │ │
|
|
182
|
+
│ │ - Fastly Compute@Edge │ │
|
|
183
|
+
│ └─────────────────────────────────────────┘ │
|
|
184
|
+
└─────────────────────────────────────────────────┘
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Provider Interface
|
|
188
|
+
|
|
189
|
+
```typescript
|
|
190
|
+
interface EdgeProvider {
|
|
191
|
+
// Function execution
|
|
192
|
+
executeFunction(
|
|
193
|
+
name: string,
|
|
194
|
+
request: EdgeRequest
|
|
195
|
+
): Promise<EdgeResponse>;
|
|
196
|
+
|
|
197
|
+
// Storage operations
|
|
198
|
+
getStorage(key: string): Promise<ArrayBuffer>;
|
|
199
|
+
setStorage(key: string, value: ArrayBuffer): Promise<void>;
|
|
200
|
+
|
|
201
|
+
// Networking
|
|
202
|
+
fetch(url: string, init?: RequestInit): Promise<Response>;
|
|
203
|
+
|
|
204
|
+
// Platform-specific
|
|
205
|
+
getRegion(): string;
|
|
206
|
+
getNode(): string;
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Multi-Provider Deployment
|
|
211
|
+
|
|
212
|
+
```yaml
|
|
213
|
+
providers:
|
|
214
|
+
primary:
|
|
215
|
+
name: cloudflare
|
|
216
|
+
region: us-east-1
|
|
217
|
+
functions: true
|
|
218
|
+
storage: true
|
|
219
|
+
|
|
220
|
+
secondary:
|
|
221
|
+
name: aws
|
|
222
|
+
region: us-west-2
|
|
223
|
+
functions: true
|
|
224
|
+
storage: true
|
|
225
|
+
|
|
226
|
+
fallback:
|
|
227
|
+
name: azure
|
|
228
|
+
region: westeurope
|
|
229
|
+
functions: true
|
|
230
|
+
storage: false
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## Technology Evolution Roadmap
|
|
234
|
+
|
|
235
|
+
### Short-Term (0-6 months)
|
|
236
|
+
|
|
237
|
+
- [ ] Deploy basic edge functions
|
|
238
|
+
- [ ] Implement local-first data
|
|
239
|
+
- [ ] Set up monitoring and alerting
|
|
240
|
+
- [ ] Establish sync strategies
|
|
241
|
+
|
|
242
|
+
### Medium-Term (6-12 months)
|
|
243
|
+
|
|
244
|
+
- [ ] Advanced conflict resolution
|
|
245
|
+
- [ ] ML-based prefetching
|
|
246
|
+
- [ ] Multi-region replication
|
|
247
|
+
- [ ] Cost optimization
|
|
248
|
+
|
|
249
|
+
### Long-Term (12+ months)
|
|
250
|
+
|
|
251
|
+
- [ ] Edge-native databases
|
|
252
|
+
- [ ] Distributed computing at edge
|
|
253
|
+
- [ ] Federated learning
|
|
254
|
+
- [ ] Autonomous edge operations
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
[Back to Edge Computing Profile](./README.md)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Guia de Adopcion, Operacion y Evolucion de Edge Computing
|
|
2
|
+
|
|
3
|
+
> **Navegacion Bilingue:** [English Version](./maturity.md)
|
|
4
|
+
|
|
5
|
+
## Adoption
|
|
6
|
+
|
|
7
|
+
Adopte esta topologia cuando latencia, localidad, tolerancia offline, ubicacion regulatoria o procesamiento cercano a dispositivos requiera ejecucion fuera del runtime central. Comience con justificacion de localidad documentada, estrategia de sincronizacion explicita y aislamiento de nodo edge.
|
|
8
|
+
|
|
9
|
+
## Operations
|
|
10
|
+
|
|
11
|
+
Opere nodos edge con observabilidad store-and-forward, sincronizacion consciente de conflictos y tolerancia a conectividad intermitente. Monitoree lag de sincronizacion, tasas de conflicto y duracion offline como parte de la validacion normal de arquitectura.
|
|
12
|
+
|
|
13
|
+
## Security
|
|
14
|
+
|
|
15
|
+
Implemente autenticacion y autorizacion en cada nodo edge. Use secretos inyectados por entorno con capacidad de rotacion apropiados para entornos restringidos. Nunca incruste credenciales en artefactos de despliegue edge.
|
|
16
|
+
|
|
17
|
+
## Resilience
|
|
18
|
+
|
|
19
|
+
Disene nodos edge para operacion autonoma durante particiones de red con patrones de persistencia offline-first. Prefiera sincronizacion en background con resolucion explicita de conflictos sobre acoplamiento en tiempo real.
|
|
20
|
+
|
|
21
|
+
## Patterns and Anti-Patterns
|
|
22
|
+
|
|
23
|
+
Use bases de datos locales offline-first con sincronizacion en background, estrategias explicitas de resolucion de conflictos (last-write-wins, merge, manual) y observabilidad store-and-forward. No bifurque logica de dominio en el edge, asuma conectividad permanente ni omita gobernanza central por conveniencia edge.
|
|
24
|
+
|
|
25
|
+
## Evolution
|
|
26
|
+
|
|
27
|
+
Migre a edge computing solo cuando latencia, localidad o restricciones regulatorias justifiquen la complejidad operativa. Preserve las fronteras de ownership de dominio y los contratos de sincronizacion para que la reubicacion de workloads 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 Edge Computing](./README.es.md)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Edge Computing Adoption, Operations, and Evolution Guide
|
|
2
|
+
|
|
3
|
+
> **Bilingual Navigation:** [Version en Espanol](./maturity.es.md)
|
|
4
|
+
|
|
5
|
+
## Adoption
|
|
6
|
+
|
|
7
|
+
Adopt this topology when latency, locality, offline tolerance, regulatory placement, or device-adjacent processing requires execution outside the central runtime. Start with documented locality justification, explicit synchronization strategy, and edge node isolation.
|
|
8
|
+
|
|
9
|
+
## Operations
|
|
10
|
+
|
|
11
|
+
Operate edge nodes with store-and-forward observability, conflict-aware synchronization, and intermittent connectivity tolerance. Monitor sync lag, conflict rates, and offline duration as part of normal architecture validation.
|
|
12
|
+
|
|
13
|
+
## Security
|
|
14
|
+
|
|
15
|
+
Enforce authentication and authorization at each edge node. Use environment-injected secrets with rotation capability appropriate to constrained environments. Never embed credentials in edge deployment artifacts.
|
|
16
|
+
|
|
17
|
+
## Resilience
|
|
18
|
+
|
|
19
|
+
Design edge nodes for autonomous operation during network partitions with offline-first persistence patterns. Prefer background synchronization with explicit conflict resolution over real-time coupling.
|
|
20
|
+
|
|
21
|
+
## Patterns and Anti-Patterns
|
|
22
|
+
|
|
23
|
+
Use offline-first local databases with background sync, explicit conflict resolution strategies (last-write-wins, merge, manual), and store-and-forward observability. Do not fork domain logic at the edge, assume always-on connectivity, or bypass central governance for edge convenience.
|
|
24
|
+
|
|
25
|
+
## Evolution
|
|
26
|
+
|
|
27
|
+
Move to edge computing only when latency, locality, or regulatory constraints justify the operational complexity. Preserve domain ownership boundaries and synchronization contracts so that workload relocation 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 Edge Computing Profile](./README.md)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"protocolVersion": "2025-03-26",
|
|
3
|
+
"topologyId": "edge-computing",
|
|
4
|
+
"description": "MCP interface for the Edge Computing topology. Provides tools for inspecting and validating edge deployment configurations, resources for manifest and ruleset access, and prompts for edge-governed implementation and extraction-readiness guidance.",
|
|
5
|
+
"capabilities": {
|
|
6
|
+
"tools": {},
|
|
7
|
+
"resources": {},
|
|
8
|
+
"prompts": {}
|
|
9
|
+
},
|
|
10
|
+
"tools": [
|
|
11
|
+
{
|
|
12
|
+
"name": "evolith-topology-inspect",
|
|
13
|
+
"description": "Inspect an Edge Computing topology configuration and return its parsed manifest, deployment targets, and corpus artifact references.",
|
|
14
|
+
"inputSchema": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"properties": {
|
|
17
|
+
"configPath": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Path to the Edge Computing configuration file"
|
|
20
|
+
},
|
|
21
|
+
"includeTargets": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"description": "Include edge deployment target metadata"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"required": ["configPath"]
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"name": "evolith-topology-validate",
|
|
31
|
+
"description": "Validate an Edge Computing 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 Edge Computing 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/edge-computing/manifest",
|
|
51
|
+
"name": "Edge Computing Topology Manifest",
|
|
52
|
+
"description": "Full topology manifest for Edge Computing, including metadata, artifact references, and corpus configuration.",
|
|
53
|
+
"mimeType": "application/json"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"uri": "evolith://topologies/edge-computing/rulesets",
|
|
57
|
+
"name": "Edge Computing Rulesets",
|
|
58
|
+
"description": "All ruleset files for Edge Computing: 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 Edge Computing topology constraints, offline resilience, and resource limits."
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "extraction-readiness-review",
|
|
69
|
+
"description": "Evaluates whether a modular monolith module is ready for extraction into a distributed edge deployment, checking coupling, ownership, and contract boundaries."
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|