@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.
Files changed (501) hide show
  1. package/dist/domain/services/default-workflow-definition.js +4 -1
  2. package/dist/domain/services/default-workflow-definition.js.map +1 -1
  3. package/dist/gates/decision/gate-decision.js.map +1 -1
  4. package/package.json +1 -2
  5. package/rulesets/README.es.md +0 -170
  6. package/rulesets/README.md +0 -170
  7. package/rulesets/acl/README.es.md +0 -41
  8. package/rulesets/acl/README.md +0 -41
  9. package/rulesets/acl/anti-corruption-layer.rules.es.json +0 -99
  10. package/rulesets/acl/anti-corruption-layer.rules.json +0 -99
  11. package/rulesets/adr/ADR_COVERAGE.es.md +0 -133
  12. package/rulesets/adr/ADR_COVERAGE.md +0 -133
  13. package/rulesets/adr/README.es.md +0 -17
  14. package/rulesets/adr/README.md +0 -17
  15. package/rulesets/adr/adr-0002-hexagonal-architecture.rules.json +0 -103
  16. package/rulesets/adr/adr-0005-cicd-quality-gates.rules.json +0 -102
  17. package/rulesets/adr/adr-0010-multi-tenancy.rules.json +0 -129
  18. package/rulesets/adr/adr-0018-testing-pyramid.rules.json +0 -115
  19. package/rulesets/adr/adr-0032-protocol-selection.rules.json +0 -134
  20. package/rulesets/adr/adr-0040-multi-runtime.rules.json +0 -131
  21. package/rulesets/adr/adr-0050-gitflow-branching.rules.json +0 -176
  22. package/rulesets/adr/generated/adr-0001-monorepo-orchestration-principle.rules.json +0 -29
  23. package/rulesets/adr/generated/adr-0006-microservices-transition-via-sidecar-pattern.rules.json +0 -29
  24. package/rulesets/adr/generated/adr-0009-strict-dependency-pinning-and-automated-vulnerability-manage.rules.json +0 -29
  25. package/rulesets/adr/generated/adr-0011-fault-tolerance-and-resiliency-patterns.rules.json +0 -29
  26. package/rulesets/adr/generated/adr-0013-cloud-infrastructure-topology-and-disaster-recovery-dr.rules.json +0 -28
  27. package/rulesets/adr/generated/adr-0014-multi-layer-distributed-caching-strategy.rules.json +0 -29
  28. package/rulesets/adr/generated/adr-0015-event-driven-architecture-eda-for-intra-domain-communication.rules.json +0 -29
  29. package/rulesets/adr/generated/adr-0016-immutable-business-audit-trail-and-change-tracking.rules.json +0 -29
  30. package/rulesets/adr/generated/adr-0017-feature-flagging-strategy-for-progressive-delivery.rules.json +0 -28
  31. package/rulesets/adr/generated/adr-0019-tactical-design-patterns-for-future-proofing.rules.json +0 -29
  32. package/rulesets/adr/generated/adr-0020-identity-provider-abstraction-strategy.rules.json +0 -28
  33. package/rulesets/adr/generated/adr-0024-centralized-configuration-feature-platform.rules.json +0 -28
  34. package/rulesets/adr/generated/adr-0025-feature-flag-provider-abstraction-strategy.rules.json +0 -29
  35. package/rulesets/adr/generated/adr-0028-self-hosted-open-source-hybrid-infrastructure.rules.json +0 -29
  36. package/rulesets/adr/generated/adr-0030-two-tier-distributed-gateway-model.rules.json +0 -28
  37. package/rulesets/adr/generated/adr-0031-schema-per-bounded-context-and-domain-event-catalog.rules.json +0 -29
  38. package/rulesets/adr/generated/adr-0033-transactional-outbox-pattern-for-async-messaging.rules.json +0 -28
  39. package/rulesets/adr/generated/adr-0034-cqrs-pattern-application-matrix.rules.json +0 -29
  40. package/rulesets/adr/generated/adr-0035-distributed-saga-pattern-implementation-strategy.rules.json +0 -29
  41. package/rulesets/adr/generated/adr-0036-message-bus-delivery-flow-control-strategy.rules.json +0 -29
  42. package/rulesets/adr/generated/adr-0037-enterprise-performance-concurrency-chaos-verification-strate.rules.json +0 -28
  43. package/rulesets/adr/generated/adr-0039-deployment-topology-abstraction-environment-switcher.rules.json +0 -29
  44. package/rulesets/adr/generated/adr-0041-dual-engine-policy-evaluation-native-opa.rules.json +0 -28
  45. package/rulesets/adr/generated/adr-0044-configurable-security-persistence-strategy-agnosticism-vs-na.rules.json +0 -29
  46. package/rulesets/adr/generated/adr-0045-microservice-extraction-readiness-criteria.rules.json +0 -29
  47. package/rulesets/adr/generated/adr-0046-unified-traceability-via-w3c-tracecontext.rules.json +0 -29
  48. package/rulesets/adr/generated/adr-0047-progressive-architecture-evolution-framework-modular-monolit.rules.json +0 -29
  49. package/rulesets/adr/generated/adr-0048-enterprise-taxonomy-standardization-and-reference-layout.rules.json +0 -28
  50. package/rulesets/adr/generated/adr-0049-naming-semantics-clean-code-policy-e2e-and-global.rules.json +0 -29
  51. package/rulesets/adr/generated/adr-0051-enterprise-database-engine-selection-strategy.rules.json +0 -29
  52. package/rulesets/adr/generated/adr-0052-unit-testing-isolation-strategy-mocks-vs-stubs.rules.json +0 -29
  53. package/rulesets/adr/generated/adr-0053-integration-and-e2e-testing-strategy.rules.json +0 -29
  54. package/rulesets/adr/generated/adr-0054-database-design-and-normalization-standards.rules.json +0 -29
  55. package/rulesets/adr/generated/adr-0055-microfrontends-architecture-strategy.rules.json +0 -28
  56. package/rulesets/adr/generated/adr-0056-enterprise-naming-design-conventions-multi-language-multi-pl.rules.json +0 -29
  57. package/rulesets/adr/generated/adr-0057-architecture-intelligence-catalog.rules.json +0 -27
  58. package/rulesets/adr/generated/adr-0058-ai-consumable-architecture-knowledge.rules.json +0 -27
  59. package/rulesets/adr/generated/adr-0067-modular-monolith-persistence-boundaries.rules.json +0 -28
  60. package/rulesets/adr/generated/adr-0068-documentation-release-gitflow.rules.json +0 -29
  61. package/rulesets/adr/generated/adr-0069-ai-agent-context-protocol-integration.rules.json +0 -28
  62. package/rulesets/adr/generated/adr-0070-lean-root-repository-taxonomy.rules.json +0 -29
  63. package/rulesets/adr/generated/adr-0071-domain-layer-base-class-and-inheritance-strategy.rules.json +0 -29
  64. package/rulesets/adr/generated/adr-0072-utc-date-storage-browser-timezone-detection-and-language-res.rules.json +0 -29
  65. package/rulesets/adr/generated/adr-0073-unified-cli-mcp-output-contract-and-gate-evidence-schema.rules.json +0 -29
  66. package/rulesets/adr/generated/adr-0074-evolith-core-api-native-exposure-layer.rules.json +0 -29
  67. package/rulesets/adr/generated/adr-0075-core-api-authentication-strategy.rules.json +0 -28
  68. package/rulesets/adr/generated/adr-0076-domain-oriented-microservice-architecture-doma.rules.json +0 -28
  69. package/rulesets/adr/generated/adr-0077-masstransit-v9-commercial-pivot-stay-on-v8-monitor-opentrans.rules.json +0 -28
  70. package/rulesets/adr/generated/adr-0078-domain-financial-separation-governance.rules.json +0 -29
  71. package/rulesets/adr/generated/adr-0079-multi-topology-reference-corpus-and-topology-manifest-contra.rules.json +0 -29
  72. package/rulesets/adr/generated/adr-0080-remote-repository-reference-contract.rules.json +0 -29
  73. package/rulesets/adr/generated/adr-0081-agentic-ai-sandbox-isolation-boundary.rules.json +0 -29
  74. package/rulesets/adr/generated/adr-0082-agentic-ai-prompt-context-and-tool-trust-boundary.rules.json +0 -28
  75. package/rulesets/adr/generated/adr-0083-agentic-ai-action-authorization-and-audit.rules.json +0 -29
  76. package/rulesets/adr/generated/adr-0084-data-mesh-and-data-as-a-product.rules.json +0 -29
  77. package/rulesets/adr/generated/adr-0085-agnostic-opa-wasm-distribution-architecture.rules.json +0 -28
  78. package/rulesets/adr/generated/adr-0086-agentic-ai-telemetry-cost-control-standard.rules.json +0 -27
  79. package/rulesets/adr/generated/adr-0087-attribute-based-access-control-abac-for-agentic-tool-executi.rules.json +0 -29
  80. package/rulesets/adr/generated/adr-0088-sovereign-identity-for-agentic-ai.rules.json +0 -29
  81. package/rulesets/adr/generated/adr-0089-event-driven-agentic-workflow-pattern.rules.json +0 -28
  82. package/rulesets/adr/generated/adr-0090-rag-knowledge-governance-standard.rules.json +0 -29
  83. package/rulesets/adr/generated/adr-0091-workload-identity-token-rotation-standard.rules.json +0 -29
  84. package/rulesets/adr/generated/adr-0092-agent-infinite-loop-prevention-and-circuit-breaker-rules.rules.json +0 -29
  85. package/rulesets/adr/generated/adr-0093-concurrency-control-and-resource-locking-standard-for-mcp-to.rules.json +0 -29
  86. package/rulesets/adr/generated/adr-0094-multi-agent-handoff-and-task-delegation-standards.rules.json +0 -29
  87. package/rulesets/adr/generated/adr-0095-serverless-architecture-governance.rules.json +0 -29
  88. package/rulesets/adr/generated/adr-0096-edge-computing-architecture-governance.rules.json +0 -29
  89. package/rulesets/adr/generated/adr-0097-knowledge-lifecycle-governance-standard.rules.json +0 -29
  90. package/rulesets/adr/generated/adr-0098-rest-uri-versioning-and-deprecation-policy.rules.json +0 -29
  91. package/rulesets/adr/generated/adr-0099-opa-bundle-distribution-via-s3-minio.rules.json +0 -27
  92. package/rulesets/adr/generated/adr-ai-augmented-0001-harness-engineering-for-ai-augmented-development.rules.json +0 -29
  93. package/rulesets/adr/generated/adr-ai-augmented-0002-mcp-integration-protocol-for-agent-tool-invocation.rules.json +0 -29
  94. package/rulesets/adr/generated/adr-ai-augmented-0003-model-selection-governance-for-ai-augmented-workflows.rules.json +0 -29
  95. package/rulesets/adr/generated/adr-ai-augmented-0004-agents-md-as-mandatory-repository-artifact.rules.json +0 -29
  96. package/rulesets/adr/generated/adr-ai-augmented-0005-human-in-the-loop-policy-for-autonomous-agent-operations.rules.json +0 -29
  97. package/rulesets/adr/generated/adr-android-0042-canonical-android-native-mobile-architecture.rules.json +0 -29
  98. package/rulesets/adr/generated/adr-dotnet-0041-canonical-net-c-backend-architecture.rules.json +0 -29
  99. package/rulesets/adr/generated/adr-dotnet-0060-net-multi-tenancy-dual-layer-strategy-ef-core-sql-server.rules.json +0 -29
  100. package/rulesets/adr/generated/adr-dotnet-0061-transactional-event-lifecycle-in-ef-core.rules.json +0 -28
  101. package/rulesets/adr/generated/adr-dotnet-0062-net-immutable-audit-trail-via-ddl-triggers-delta-capture.rules.json +0 -29
  102. package/rulesets/adr/generated/adr-dotnet-0063-b2b-request-idempotency-middleware-in-asp-net-core.rules.json +0 -28
  103. package/rulesets/adr/generated/adr-dotnet-0064-net-request-scope-observability-context-propagation.rules.json +0 -29
  104. package/rulesets/adr/generated/adr-dotnet-0065-net-pii-safe-structured-logging-pipeline-serilog.rules.json +0 -29
  105. package/rulesets/adr/generated/adr-dotnet-0066-net-lightweight-http-idempotency-via-imemorycache-idistribut.rules.json +0 -28
  106. package/rulesets/adr/generated/adr-dotnet-0069-net-grpc-service-setup-protobuf-contracts.rules.json +0 -29
  107. package/rulesets/adr/generated/adr-dotnet-0070-net-api-endpoint-strategy.rules.json +0 -29
  108. package/rulesets/adr/generated/adr-dotnet-0071-net-data-access-strategy-ef-core-as-default-orm-dapper-for-o.rules.json +0 -27
  109. package/rulesets/adr/generated/adr-dotnet-0072-net-aop-cross-cutting-concern-strategy-dispatchproxy-over-pi.rules.json +0 -29
  110. package/rulesets/adr/generated/adr-nodejs-0003-strict-typescript-standards.rules.json +0 -29
  111. package/rulesets/adr/generated/adr-nodejs-0004-frontend-offline-resilience.rules.json +0 -28
  112. package/rulesets/adr/generated/adr-nodejs-0007-observability-with-opentelemetry-loki-and-jaeger.rules.json +0 -29
  113. package/rulesets/adr/generated/adr-nodejs-0008-progressive-multi-module-evolution-with-api-gateway-and-bff-.rules.json +0 -28
  114. package/rulesets/adr/generated/adr-nodejs-0012-advanced-authorization-rbac-abac-strategy.rules.json +0 -28
  115. package/rulesets/adr/generated/adr-nodejs-0021-high-performance-authentication-graph-compilation.rules.json +0 -28
  116. package/rulesets/adr/generated/adr-nodejs-0022-contextual-authentication-and-pluggable-output-projections.rules.json +0 -28
  117. package/rulesets/adr/generated/adr-nodejs-0023-centralized-authorization-core-strategy.rules.json +0 -28
  118. package/rulesets/adr/generated/adr-nodejs-0026-adaptive-mfa-and-passwordless-platform.rules.json +0 -28
  119. package/rulesets/adr/generated/adr-nodejs-0027-dual-protocol-api-strategy-rest-grpc.rules.json +0 -28
  120. package/rulesets/adr/generated/adr-nodejs-0029-adoption-of-tactical-ddd-primitives-library.rules.json +0 -29
  121. package/rulesets/adr/generated/adr-nodejs-0038-enterprise-error-handling-result-pattern-strategy.rules.json +0 -29
  122. package/rulesets/adr/generated/adr-nodejs-0043-data-access-and-orm-strategy-for-node-js.rules.json +0 -29
  123. package/rulesets/adr/generated/adr-nodejs-0044-frontend-clean-architecture-layer-boundaries-react.rules.json +0 -29
  124. package/rulesets/adr/generated/adr-nodejs-0045-frontend-state-management-zustand-tanstack-query-dual-strate.rules.json +0 -29
  125. package/rulesets/adr/generated/adr-nodejs-0046-prohibition-of-raw-technical-identifiers-in-user-interfaces.rules.json +0 -29
  126. package/rulesets/adr/generated/adr-nodejs-0047-actionable-user-error-contract-and-correlated-diagnostics.rules.json +0 -29
  127. package/rulesets/adr/generated/adr-nodejs-0048-feature-flag-system-scope-and-structured-criteria-model.rules.json +0 -29
  128. package/rulesets/adr/generated/adr-nodejs-0074-monorepo-orchestration-with-nx.rules.json +0 -29
  129. package/rulesets/adr/generated/adr-nodejs-0075-application-gateway-bff-with-nestjs.rules.json +0 -29
  130. package/rulesets/architecture/README.es.md +0 -21
  131. package/rulesets/architecture/README.md +0 -21
  132. package/rulesets/architecture/opa/progressive-axis.rego +0 -50
  133. package/rulesets/cli/README.es.md +0 -17
  134. package/rulesets/cli/README.md +0 -17
  135. package/rulesets/cli/core-parity.rules.json +0 -61
  136. package/rulesets/cli/release-readiness.rules.json +0 -77
  137. package/rulesets/compliance-baseline/README.es.md +0 -26
  138. package/rulesets/compliance-baseline/README.md +0 -26
  139. package/rulesets/compliance-baseline/compliance-baseline.rules.json +0 -81
  140. package/rulesets/contracts/README.es.md +0 -19
  141. package/rulesets/contracts/README.md +0 -19
  142. package/rulesets/contracts/evolith-machine-contracts.json +0 -29
  143. package/rulesets/contracts/fixtures/gate-evidence.success.json +0 -10
  144. package/rulesets/contracts/fixtures/output-envelope.success.json +0 -23
  145. package/rulesets/cross-cutting/README.es.md +0 -14
  146. package/rulesets/cross-cutting/README.md +0 -14
  147. package/rulesets/cross-cutting/compliance-baseline.rules.json +0 -81
  148. package/rulesets/cross-cutting/definition-of-done.rules.json +0 -135
  149. package/rulesets/cross-cutting/engineering-manifesto.rules.json +0 -145
  150. package/rulesets/cross-cutting/repository-taxonomy.rules.json +0 -172
  151. package/rulesets/definition-of-done/README.es.md +0 -26
  152. package/rulesets/definition-of-done/README.md +0 -26
  153. package/rulesets/definition-of-done/definition-of-done.rules.json +0 -135
  154. package/rulesets/engineering-manifesto/README.es.md +0 -26
  155. package/rulesets/engineering-manifesto/README.md +0 -26
  156. package/rulesets/engineering-manifesto/engineering-manifesto.rules.json +0 -145
  157. package/rulesets/evidence/README.es.md +0 -12
  158. package/rulesets/evidence/README.md +0 -12
  159. package/rulesets/evidence/evidence-manifest.rules.json +0 -48
  160. package/rulesets/executive-scorecards/executive-scorecards.rules.es.json +0 -213
  161. package/rulesets/executive-scorecards/executive-scorecards.rules.json +0 -213
  162. package/rulesets/governance/README.es.md +0 -13
  163. package/rulesets/governance/README.md +0 -13
  164. package/rulesets/governance/abac-mcp-access.rules.es.json +0 -41
  165. package/rulesets/governance/abac-mcp-access.rules.json +0 -41
  166. package/rulesets/governance/executive-scorecards.rules.es.json +0 -213
  167. package/rulesets/governance/executive-scorecards.rules.json +0 -213
  168. package/rulesets/governance/inheritance.rules.json +0 -115
  169. package/rulesets/governance/knowledge-intake.rules.json +0 -18
  170. package/rulesets/governance/open-core-boundary.rules.es.json +0 -148
  171. package/rulesets/governance/open-core-boundary.rules.json +0 -148
  172. package/rulesets/governance/satellite-contracts.rules.json +0 -183
  173. package/rulesets/infrastructure/helm-enforcement.rules.json +0 -21
  174. package/rulesets/infrastructure/opa/helm-enforcement.rego +0 -25
  175. package/rulesets/infrastructure/opa/helm-enforcement.test.rego +0 -31
  176. package/rulesets/infrastructure/opa/opa-sidecar-bundle.rego +0 -115
  177. package/rulesets/infrastructure/opa/opa-sidecar-bundle.test.rego +0 -66
  178. package/rulesets/infrastructure/opa-sidecar-bundle.rules.json +0 -18
  179. package/rulesets/mcp/README.es.md +0 -12
  180. package/rulesets/mcp/README.md +0 -12
  181. package/rulesets/mcp/protocol-compliance.rules.json +0 -57
  182. package/rulesets/observability/README.es.md +0 -12
  183. package/rulesets/observability/README.md +0 -12
  184. package/rulesets/observability/telemetry-evidence.rules.json +0 -48
  185. package/rulesets/opa/README.es.md +0 -22
  186. package/rulesets/opa/README.md +0 -22
  187. package/rulesets/opa/abac-mcp-tool-access.rego +0 -122
  188. package/rulesets/opa/abac-mcp-tool-access.test.rego +0 -33
  189. package/rulesets/opa/anti-corruption-layer.rego +0 -39
  190. package/rulesets/opa/anti-corruption-layer.test.rego +0 -118
  191. package/rulesets/opa/ci-cd.rego +0 -41
  192. package/rulesets/opa/ci-cd.test.rego +0 -23
  193. package/rulesets/opa/cicd-quality-gates.rego +0 -29
  194. package/rulesets/opa/cicd-quality-gates.test.rego +0 -54
  195. package/rulesets/opa/cli-core-parity.rego +0 -17
  196. package/rulesets/opa/cli-core-parity.test.rego +0 -39
  197. package/rulesets/opa/cli-readiness.rego +0 -32
  198. package/rulesets/opa/cli-readiness.test.rego +0 -23
  199. package/rulesets/opa/cli-release-readiness.rego +0 -21
  200. package/rulesets/opa/cli-release-readiness.test.rego +0 -46
  201. package/rulesets/opa/compliance-baseline.rego +0 -95
  202. package/rulesets/opa/compliance-baseline.test.rego +0 -89
  203. package/rulesets/opa/dod.rego +0 -42
  204. package/rulesets/opa/dod.test.rego +0 -250
  205. package/rulesets/opa/engineering-manifesto.rego +0 -78
  206. package/rulesets/opa/engineering-manifesto.test.rego +0 -133
  207. package/rulesets/opa/evidence.rego +0 -64
  208. package/rulesets/opa/evidence.test.rego +0 -23
  209. package/rulesets/opa/executive-scorecards.rego +0 -41
  210. package/rulesets/opa/executive-scorecards.test.rego +0 -60
  211. package/rulesets/opa/gitflow-branching.rego +0 -41
  212. package/rulesets/opa/gitflow-branching.test.rego +0 -60
  213. package/rulesets/opa/governance.rego +0 -39
  214. package/rulesets/opa/governance.test.rego +0 -23
  215. package/rulesets/opa/hexagonal-architecture.rego +0 -33
  216. package/rulesets/opa/hexagonal-architecture.test.rego +0 -57
  217. package/rulesets/opa/infrastructure/helm-enforcement.rego +0 -33
  218. package/rulesets/opa/infrastructure/opa-sidecar-bundle.rego +0 -42
  219. package/rulesets/opa/knowledge-intake.rego +0 -98
  220. package/rulesets/opa/knowledge-intake.test.rego +0 -50
  221. package/rulesets/opa/main.rego +0 -147
  222. package/rulesets/opa/main_test.rego +0 -149
  223. package/rulesets/opa/mcp.rego +0 -61
  224. package/rulesets/opa/mcp.test.rego +0 -27
  225. package/rulesets/opa/multi-runtime.rego +0 -33
  226. package/rulesets/opa/multi-runtime.test.rego +0 -53
  227. package/rulesets/opa/multi-tenancy.rego +0 -33
  228. package/rulesets/opa/multi-tenancy.test.rego +0 -53
  229. package/rulesets/opa/open-core-boundary.rego +0 -33
  230. package/rulesets/opa/open-core-boundary.test.rego +0 -60
  231. package/rulesets/opa/protocol-selection.rego +0 -29
  232. package/rulesets/opa/protocol-selection.test.rego +0 -46
  233. package/rulesets/opa/rbac/gate-role-enforcement.rego +0 -112
  234. package/rulesets/opa/repository-taxonomy.rego +0 -98
  235. package/rulesets/opa/repository-taxonomy.test.rego +0 -91
  236. package/rulesets/opa/satellite-contracts.rego +0 -42
  237. package/rulesets/opa/satellite-contracts.test.rego +0 -70
  238. package/rulesets/opa/schemas/abac-mcp-tool-access.input.schema.json +0 -21
  239. package/rulesets/opa/schemas/anti-corruption-layer.input.schema.json +0 -25
  240. package/rulesets/opa/schemas/ci-cd.input.schema.json +0 -27
  241. package/rulesets/opa/schemas/cicd-quality-gates.input.schema.json +0 -33
  242. package/rulesets/opa/schemas/cli-core-parity.input.schema.json +0 -30
  243. package/rulesets/opa/schemas/cli-readiness.input.schema.json +0 -28
  244. package/rulesets/opa/schemas/cli-release-readiness.input.schema.json +0 -26
  245. package/rulesets/opa/schemas/compliance-baseline.input.schema.json +0 -25
  246. package/rulesets/opa/schemas/dod.input.schema.json +0 -38
  247. package/rulesets/opa/schemas/engineering-manifesto.input.schema.json +0 -24
  248. package/rulesets/opa/schemas/evidence.input.schema.json +0 -35
  249. package/rulesets/opa/schemas/executive-scorecards.input.schema.json +0 -36
  250. package/rulesets/opa/schemas/gitflow-branching.input.schema.json +0 -36
  251. package/rulesets/opa/schemas/governance.input.schema.json +0 -19
  252. package/rulesets/opa/schemas/hexagonal-architecture.input.schema.json +0 -46
  253. package/rulesets/opa/schemas/knowledge-intake.input.schema.json +0 -57
  254. package/rulesets/opa/schemas/mcp.input.schema.json +0 -38
  255. package/rulesets/opa/schemas/multi-runtime.input.schema.json +0 -27
  256. package/rulesets/opa/schemas/multi-tenancy.input.schema.json +0 -27
  257. package/rulesets/opa/schemas/open-core-boundary.input.schema.json +0 -36
  258. package/rulesets/opa/schemas/protocol-selection.input.schema.json +0 -26
  259. package/rulesets/opa/schemas/repository-taxonomy.input.schema.json +0 -18
  260. package/rulesets/opa/schemas/satellite-contracts.input.schema.json +0 -38
  261. package/rulesets/opa/schemas/taxonomy.input.schema.json +0 -27
  262. package/rulesets/opa/schemas/testing-pyramid.input.schema.json +0 -42
  263. package/rulesets/opa/schemas/version-pinning.input.schema.json +0 -39
  264. package/rulesets/opa/sdlc/coverage.rego +0 -49
  265. package/rulesets/opa/sdlc/coverage.test.rego +0 -29
  266. package/rulesets/opa/sdlc/pyramid-distribution.rego +0 -31
  267. package/rulesets/opa/sdlc/pyramid-distribution.test.rego +0 -33
  268. package/rulesets/opa/taxonomy.rego +0 -51
  269. package/rulesets/opa/taxonomy.test.rego +0 -28
  270. package/rulesets/opa/telemetry-evidence.rego +0 -102
  271. package/rulesets/opa/testing-pyramid.rego +0 -49
  272. package/rulesets/opa/testing-pyramid.test.rego +0 -81
  273. package/rulesets/opa/version-pinning.rego +0 -99
  274. package/rulesets/opa/version-pinning.test.rego +0 -28
  275. package/rulesets/phase-gates/README.es.md +0 -28
  276. package/rulesets/phase-gates/README.md +0 -28
  277. package/rulesets/phase-gates/phase-gates.rules.json +0 -297
  278. package/rulesets/quality-thresholds/README.es.md +0 -28
  279. package/rulesets/quality-thresholds/README.md +0 -28
  280. package/rulesets/quality-thresholds/quality-thresholds.rules.json +0 -96
  281. package/rulesets/repository-taxonomy/README.es.md +0 -26
  282. package/rulesets/repository-taxonomy/README.md +0 -26
  283. package/rulesets/repository-taxonomy/repository-taxonomy.rules.json +0 -172
  284. package/rulesets/satellite-contracts/README.es.md +0 -27
  285. package/rulesets/satellite-contracts/README.md +0 -27
  286. package/rulesets/satellite-contracts/satellite-contracts.rules.json +0 -183
  287. package/rulesets/schema/README.es.md +0 -39
  288. package/rulesets/schema/README.md +0 -39
  289. package/rulesets/schema/adr.schema.json +0 -138
  290. package/rulesets/schema/agile-backlog.schema.json +0 -91
  291. package/rulesets/schema/ballpark-estimation.schema.json +0 -109
  292. package/rulesets/schema/build-vs-compose.schema.json +0 -98
  293. package/rulesets/schema/cli-impact-analysis.schema.json +0 -114
  294. package/rulesets/schema/discovery-canvas.schema.json +0 -92
  295. package/rulesets/schema/evolith-user-story.schema.json +0 -105
  296. package/rulesets/schema/evolith-yaml.schema.json +0 -191
  297. package/rulesets/schema/functional-story.schema.json +0 -111
  298. package/rulesets/schema/gate-evidence.schema.json +0 -85
  299. package/rulesets/schema/integration-evidence.schema.json +0 -47
  300. package/rulesets/schema/knowledge-intake.schema.json +0 -67
  301. package/rulesets/schema/knowledge-projection.schema.json +0 -24
  302. package/rulesets/schema/maturity-evidence.schema.json +0 -59
  303. package/rulesets/schema/observability-validation.schema.json +0 -85
  304. package/rulesets/schema/on-call-handoff.schema.json +0 -91
  305. package/rulesets/schema/output-envelope.schema.json +0 -102
  306. package/rulesets/schema/prd.schema.json +0 -117
  307. package/rulesets/schema/release-notes.schema.json +0 -138
  308. package/rulesets/schema/rollback-rehearsal.schema.json +0 -73
  309. package/rulesets/schema/ruleset-sdlc.schema.json +0 -59
  310. package/rulesets/schema/ruleset-standard.schema.json +0 -73
  311. package/rulesets/schema/security-scan-report.schema.json +0 -79
  312. package/rulesets/schema/source-registry.schema.json +0 -51
  313. package/rulesets/schema/technical-feasibility.schema.json +0 -66
  314. package/rulesets/schema/technical-story.schema.json +0 -112
  315. package/rulesets/schema/test-summary-report.schema.json +0 -158
  316. package/rulesets/schema/topology-composition.schema.json +0 -43
  317. package/rulesets/schema/topology-manifest.schema.json +0 -421
  318. package/rulesets/sdlc/README.es.md +0 -12
  319. package/rulesets/sdlc/README.md +0 -12
  320. package/rulesets/sdlc/default-workflow.yaml +0 -73
  321. package/rulesets/sdlc/dependency-pinning.rules.json +0 -183
  322. package/rulesets/sdlc/phase-gates.rules.json +0 -297
  323. package/rulesets/sdlc/quality-thresholds.rules.json +0 -96
  324. package/rulesets/topologies/README.es.md +0 -42
  325. package/rulesets/topologies/README.md +0 -42
  326. package/rulesets/topologies/agentic-ai/README.es.md +0 -142
  327. package/rulesets/topologies/agentic-ai/README.md +0 -142
  328. package/rulesets/topologies/agentic-ai/adoption.es.md +0 -37
  329. package/rulesets/topologies/agentic-ai/adoption.md +0 -37
  330. package/rulesets/topologies/agentic-ai/agent.config.schema.json +0 -100
  331. package/rulesets/topologies/agentic-ai/agentic-ai.rego +0 -46
  332. package/rulesets/topologies/agentic-ai/agentic-ai.rules.json +0 -109
  333. package/rulesets/topologies/agentic-ai/agentic-ai.test.rego +0 -68
  334. package/rulesets/topologies/agentic-ai/agentic-ai.wasm +0 -0
  335. package/rulesets/topologies/agentic-ai/cli/cli-flows.es.md +0 -35
  336. package/rulesets/topologies/agentic-ai/cli/cli-flows.md +0 -45
  337. package/rulesets/topologies/agentic-ai/evidence.es.md +0 -25
  338. package/rulesets/topologies/agentic-ai/evidence.md +0 -25
  339. package/rulesets/topologies/agentic-ai/evolution.es.md +0 -26
  340. package/rulesets/topologies/agentic-ai/evolution.md +0 -26
  341. package/rulesets/topologies/agentic-ai/fixtures/invalid-agent.config.json +0 -48
  342. package/rulesets/topologies/agentic-ai/fixtures/valid-agent.config.json +0 -48
  343. package/rulesets/topologies/agentic-ai/maturity.es.md +0 -33
  344. package/rulesets/topologies/agentic-ai/maturity.md +0 -33
  345. package/rulesets/topologies/agentic-ai/mcp/mcp-manifest.json +0 -100
  346. package/rulesets/topologies/agentic-ai/openapi/openapi.yaml +0 -187
  347. package/rulesets/topologies/agentic-ai/operations.es.md +0 -32
  348. package/rulesets/topologies/agentic-ai/operations.md +0 -32
  349. package/rulesets/topologies/agentic-ai/parity-fixtures/compliant.json +0 -18
  350. package/rulesets/topologies/agentic-ai/parity-fixtures/violation.json +0 -22
  351. package/rulesets/topologies/agentic-ai/patterns.es.md +0 -32
  352. package/rulesets/topologies/agentic-ai/patterns.md +0 -32
  353. package/rulesets/topologies/agentic-ai/resilience.es.md +0 -26
  354. package/rulesets/topologies/agentic-ai/resilience.md +0 -26
  355. package/rulesets/topologies/agentic-ai/runbooks.es.md +0 -48
  356. package/rulesets/topologies/agentic-ai/runbooks.md +0 -48
  357. package/rulesets/topologies/agentic-ai/security.es.md +0 -26
  358. package/rulesets/topologies/agentic-ai/security.md +0 -26
  359. package/rulesets/topologies/agentic-ai/topology.manifest.json +0 -127
  360. package/rulesets/topologies/data-mesh/README.es.md +0 -69
  361. package/rulesets/topologies/data-mesh/README.md +0 -69
  362. package/rulesets/topologies/data-mesh/adoption.es.md +0 -95
  363. package/rulesets/topologies/data-mesh/adoption.md +0 -95
  364. package/rulesets/topologies/data-mesh/cli/cli-flows.es.md +0 -41
  365. package/rulesets/topologies/data-mesh/cli/cli-flows.md +0 -53
  366. package/rulesets/topologies/data-mesh/data-mesh.rego +0 -11
  367. package/rulesets/topologies/data-mesh/data-mesh.rules.json +0 -100
  368. package/rulesets/topologies/data-mesh/data-mesh.test.rego +0 -107
  369. package/rulesets/topologies/data-mesh/data-mesh.wasm +0 -0
  370. package/rulesets/topologies/data-mesh/evidence.es.md +0 -111
  371. package/rulesets/topologies/data-mesh/evidence.md +0 -111
  372. package/rulesets/topologies/data-mesh/evolution.es.md +0 -67
  373. package/rulesets/topologies/data-mesh/evolution.md +0 -67
  374. package/rulesets/topologies/data-mesh/fixtures/invalid.topology.config.json +0 -12
  375. package/rulesets/topologies/data-mesh/fixtures/valid.topology.config.json +0 -12
  376. package/rulesets/topologies/data-mesh/maturity.es.md +0 -36
  377. package/rulesets/topologies/data-mesh/maturity.md +0 -36
  378. package/rulesets/topologies/data-mesh/mcp/mcp-manifest.json +0 -68
  379. package/rulesets/topologies/data-mesh/openapi/openapi.yaml +0 -186
  380. package/rulesets/topologies/data-mesh/operations.es.md +0 -63
  381. package/rulesets/topologies/data-mesh/operations.md +0 -63
  382. package/rulesets/topologies/data-mesh/parity-fixtures/compliant.json +0 -18
  383. package/rulesets/topologies/data-mesh/parity-fixtures/violation.json +0 -21
  384. package/rulesets/topologies/data-mesh/patterns.es.md +0 -67
  385. package/rulesets/topologies/data-mesh/patterns.md +0 -67
  386. package/rulesets/topologies/data-mesh/resilience.es.md +0 -64
  387. package/rulesets/topologies/data-mesh/resilience.md +0 -64
  388. package/rulesets/topologies/data-mesh/runbooks.es.md +0 -147
  389. package/rulesets/topologies/data-mesh/runbooks.md +0 -147
  390. package/rulesets/topologies/data-mesh/security.es.md +0 -66
  391. package/rulesets/topologies/data-mesh/security.md +0 -66
  392. package/rulesets/topologies/data-mesh/topology.config.schema.json +0 -30
  393. package/rulesets/topologies/data-mesh/topology.manifest.json +0 -107
  394. package/rulesets/topologies/edge-computing/README.es.md +0 -81
  395. package/rulesets/topologies/edge-computing/README.md +0 -81
  396. package/rulesets/topologies/edge-computing/adoption.es.md +0 -268
  397. package/rulesets/topologies/edge-computing/adoption.md +0 -268
  398. package/rulesets/topologies/edge-computing/cli/cli-flows.es.md +0 -41
  399. package/rulesets/topologies/edge-computing/cli/cli-flows.md +0 -53
  400. package/rulesets/topologies/edge-computing/edge-computing.rego +0 -41
  401. package/rulesets/topologies/edge-computing/edge-computing.rules.json +0 -50
  402. package/rulesets/topologies/edge-computing/edge-computing.test.rego +0 -33
  403. package/rulesets/topologies/edge-computing/edge-computing.wasm +0 -0
  404. package/rulesets/topologies/edge-computing/evidence.es.md +0 -263
  405. package/rulesets/topologies/edge-computing/evidence.md +0 -263
  406. package/rulesets/topologies/edge-computing/evolution.es.md +0 -257
  407. package/rulesets/topologies/edge-computing/evolution.md +0 -257
  408. package/rulesets/topologies/edge-computing/fixtures/invalid.topology.config.json +0 -6
  409. package/rulesets/topologies/edge-computing/fixtures/valid.topology.config.json +0 -6
  410. package/rulesets/topologies/edge-computing/maturity.es.md +0 -36
  411. package/rulesets/topologies/edge-computing/maturity.md +0 -36
  412. package/rulesets/topologies/edge-computing/mcp/mcp-manifest.json +0 -72
  413. package/rulesets/topologies/edge-computing/openapi/openapi.yaml +0 -187
  414. package/rulesets/topologies/edge-computing/operations.es.md +0 -148
  415. package/rulesets/topologies/edge-computing/operations.md +0 -148
  416. package/rulesets/topologies/edge-computing/parity-fixtures/compliant.json +0 -12
  417. package/rulesets/topologies/edge-computing/parity-fixtures/violation.json +0 -13
  418. package/rulesets/topologies/edge-computing/patterns.es.md +0 -291
  419. package/rulesets/topologies/edge-computing/patterns.md +0 -290
  420. package/rulesets/topologies/edge-computing/resilience.es.md +0 -232
  421. package/rulesets/topologies/edge-computing/resilience.md +0 -229
  422. package/rulesets/topologies/edge-computing/runbooks.es.md +0 -405
  423. package/rulesets/topologies/edge-computing/runbooks.md +0 -405
  424. package/rulesets/topologies/edge-computing/security.es.md +0 -218
  425. package/rulesets/topologies/edge-computing/security.md +0 -218
  426. package/rulesets/topologies/edge-computing/topology.config.schema.json +0 -13
  427. package/rulesets/topologies/edge-computing/topology.manifest.json +0 -113
  428. package/rulesets/topologies/event-driven/README.es.md +0 -71
  429. package/rulesets/topologies/event-driven/README.md +0 -71
  430. package/rulesets/topologies/event-driven/adoption.es.md +0 -67
  431. package/rulesets/topologies/event-driven/adoption.md +0 -67
  432. package/rulesets/topologies/event-driven/cli/cli-flows.es.md +0 -41
  433. package/rulesets/topologies/event-driven/cli/cli-flows.md +0 -53
  434. package/rulesets/topologies/event-driven/event-driven.rego +0 -11
  435. package/rulesets/topologies/event-driven/event-driven.rules.json +0 -100
  436. package/rulesets/topologies/event-driven/event-driven.test.rego +0 -107
  437. package/rulesets/topologies/event-driven/event-driven.wasm +0 -0
  438. package/rulesets/topologies/event-driven/evidence.es.md +0 -69
  439. package/rulesets/topologies/event-driven/evidence.md +0 -69
  440. package/rulesets/topologies/event-driven/evolution.es.md +0 -59
  441. package/rulesets/topologies/event-driven/evolution.md +0 -59
  442. package/rulesets/topologies/event-driven/fixtures/invalid.topology.config.json +0 -12
  443. package/rulesets/topologies/event-driven/fixtures/valid.topology.config.json +0 -12
  444. package/rulesets/topologies/event-driven/maturity.es.md +0 -36
  445. package/rulesets/topologies/event-driven/maturity.md +0 -36
  446. package/rulesets/topologies/event-driven/mcp/mcp-manifest.json +0 -68
  447. package/rulesets/topologies/event-driven/openapi/openapi.yaml +0 -186
  448. package/rulesets/topologies/event-driven/operations.es.md +0 -67
  449. package/rulesets/topologies/event-driven/operations.md +0 -67
  450. package/rulesets/topologies/event-driven/parity-fixtures/compliant.json +0 -18
  451. package/rulesets/topologies/event-driven/parity-fixtures/violation.json +0 -21
  452. package/rulesets/topologies/event-driven/patterns.es.md +0 -68
  453. package/rulesets/topologies/event-driven/patterns.md +0 -68
  454. package/rulesets/topologies/event-driven/resilience.es.md +0 -65
  455. package/rulesets/topologies/event-driven/resilience.md +0 -65
  456. package/rulesets/topologies/event-driven/runbooks.es.md +0 -79
  457. package/rulesets/topologies/event-driven/runbooks.md +0 -79
  458. package/rulesets/topologies/event-driven/security.es.md +0 -59
  459. package/rulesets/topologies/event-driven/security.md +0 -59
  460. package/rulesets/topologies/event-driven/topology.config.schema.json +0 -30
  461. package/rulesets/topologies/event-driven/topology.manifest.json +0 -109
  462. package/rulesets/topologies/progressive-axis/distributed-modules/distributed-modules.rules.es.json +0 -111
  463. package/rulesets/topologies/progressive-axis/distributed-modules/distributed-modules.rules.json +0 -111
  464. package/rulesets/topologies/progressive-axis/microservices/microservices.rules.es.json +0 -106
  465. package/rulesets/topologies/progressive-axis/microservices/microservices.rules.json +0 -106
  466. package/rulesets/topologies/progressive-axis/modular-monolith/modular-monolith.rules.es.json +0 -148
  467. package/rulesets/topologies/progressive-axis/modular-monolith/modular-monolith.rules.json +0 -148
  468. package/rulesets/topologies/serverless/README.es.md +0 -74
  469. package/rulesets/topologies/serverless/README.md +0 -74
  470. package/rulesets/topologies/serverless/adoption.es.md +0 -50
  471. package/rulesets/topologies/serverless/adoption.md +0 -50
  472. package/rulesets/topologies/serverless/cli/cli-flows.es.md +0 -41
  473. package/rulesets/topologies/serverless/cli/cli-flows.md +0 -53
  474. package/rulesets/topologies/serverless/evidence.es.md +0 -66
  475. package/rulesets/topologies/serverless/evidence.md +0 -66
  476. package/rulesets/topologies/serverless/evolution.es.md +0 -36
  477. package/rulesets/topologies/serverless/evolution.md +0 -36
  478. package/rulesets/topologies/serverless/fixtures/invalid.topology.config.json +0 -6
  479. package/rulesets/topologies/serverless/fixtures/valid.topology.config.json +0 -6
  480. package/rulesets/topologies/serverless/maturity.es.md +0 -36
  481. package/rulesets/topologies/serverless/maturity.md +0 -36
  482. package/rulesets/topologies/serverless/mcp/mcp-manifest.json +0 -72
  483. package/rulesets/topologies/serverless/openapi/openapi.yaml +0 -186
  484. package/rulesets/topologies/serverless/operations.es.md +0 -36
  485. package/rulesets/topologies/serverless/operations.md +0 -36
  486. package/rulesets/topologies/serverless/parity-fixtures/compliant.json +0 -13
  487. package/rulesets/topologies/serverless/parity-fixtures/violation.json +0 -15
  488. package/rulesets/topologies/serverless/patterns.es.md +0 -36
  489. package/rulesets/topologies/serverless/patterns.md +0 -36
  490. package/rulesets/topologies/serverless/resilience.es.md +0 -36
  491. package/rulesets/topologies/serverless/resilience.md +0 -36
  492. package/rulesets/topologies/serverless/runbooks.es.md +0 -68
  493. package/rulesets/topologies/serverless/runbooks.md +0 -68
  494. package/rulesets/topologies/serverless/security.es.md +0 -36
  495. package/rulesets/topologies/serverless/security.md +0 -36
  496. package/rulesets/topologies/serverless/serverless.rego +0 -32
  497. package/rulesets/topologies/serverless/serverless.rules.json +0 -33
  498. package/rulesets/topologies/serverless/serverless.test.rego +0 -28
  499. package/rulesets/topologies/serverless/serverless.wasm +0 -0
  500. package/rulesets/topologies/serverless/topology.config.schema.json +0 -28
  501. package/rulesets/topologies/serverless/topology.manifest.json +0 -114
@@ -1,74 +0,0 @@
1
- # Perfil Topologico Serverless
2
-
3
- > **Navegacion Bilingue:** [English Version](./README.md)
4
-
5
- **Estado:** Accepted
6
- **Dimension:** `execution`
7
- **ID de Topologia:** `serverless`
8
- **Alias de Compatibilidad:** `F1-compatible`
9
- **Manifiesto:** [topology.manifest.json](./topology.manifest.json)
10
-
11
- Serverless es una topologia de ejecucion para workloads administrados y escalados por eventos donde la plataforma posee el aprovisionamiento runtime y Evolith Core gobierna contratos, observabilidad, seguridad, idempotencia y fronteras de integracion.
12
-
13
- ## Proposito
14
-
15
- Usa esta topologia para capacidades aisladas que se benefician de escalamiento administrado, triggers de eventos, jobs programados, procesamiento asincrono o workloads con picos sin introducir una topologia de servicio separada.
16
-
17
- Serverless no reemplaza la arquitectura de dominio. Se compone con `modular-monolith`, `distributed-modules` o `microservices` cuando el manifiesto y la revision arquitectonica permiten la frontera de ejecucion.
18
-
19
- ## Reglas de Gobernanza
20
-
21
- | Regla | Requisito |
22
- |---|---|
23
- | Idempotencia | Los handlers disparados por eventos deben tolerar reintentos y entrega duplicada. |
24
- | Contratos | Entradas, salidas, eventos y dependencias externas deben versionarse explicitamente. |
25
- | Observabilidad | Cada funcion o workflow administrado debe emitir evidencia trazable y senales de fallo. |
26
- | Control de frontera | Los handlers serverless no deben saltarse ownership de dominio ni fronteras de persistencia. |
27
- | Neutralidad de proveedor | La guia Core permanece neutral respecto del proveedor; las selecciones de proveedor pertenecen a perfiles de producto o plataforma. |
28
-
29
- ## Autoridad Requerida
30
-
31
- | Artefacto | Rol |
32
- |---|---|
33
- | [ADR-0079: Corpus de Referencia Multi-Topologia](../../../adrs/core/0079-multi-topology-reference-corpus.md) | Gobierna los manifiestos de topologia y composicion. |
34
- | [ADR-0095: Gobernanza de Arquitectura Serverless](../../../adrs/core/0095-serverless-architecture-governance.md) | Gobierna las restricciones arquitectonicas especificas de serverless. |
35
- | [Reglas de Arquitectura Serverless](./serverless.rules.json) | Reglas de compatibilidad ejecutables existentes. |
36
- | [Modelo de Dimensiones de Topologia](../../topology-dimensions.md) | Define reglas de composicion y compatibilidad. |
37
-
38
- ## Contrato Ejecutable
39
-
40
- Todo satelite que adopte este perfil proporciona `serverless.config.json`:
41
-
42
- ```json
43
- {
44
- "stateless": true,
45
- "package": { "maxSizeMb": 25 },
46
- "coldStart": { "maxInitMilliseconds": 500, "lazyInitialization": true }
47
- }
48
- ```
49
-
50
- SV-R01 a SV-R04 exigen ese contrato, ejecucion sin estado, un paquete no mayor de 50 MB e inicializacion diferida acotada. El evaluador Native y la [politica OPA](./serverless.rego) evalúan los mismos campos.
51
-
52
- ## Composicion
53
-
54
- `serverless` puede combinarse con:
55
-
56
- | Topologia | Por Que Puede Componerse |
57
- |---|---|
58
- | `modular-monolith` | Agrega puntos de ejecucion administrados sin forzar extraccion completa de servicios. |
59
- | `distributed-modules` | Permite handlers serverless dentro de fronteras de modulo controladas. |
60
- | `microservices` | Soporta funciones de servicio individual con ejecucion escalada por eventos. |
61
- | `event-driven` | Habilita handlers serverless disparados por eventos gobernados por contratos. |
62
- | `data-mesh` | Proporciona ejecucion de productos de datos analiticos sin acoplamiento transaccional. |
63
- | `agentic-ai` | Aloja workflows de agentes IA gobernados por contexto MCP y rulesets. |
64
-
65
- ## Frontera de Negocio
66
-
67
- Este perfil es solo tecnico. No define ROI, modelo de costos, gasto cloud, staffing, timing de entrega, priorizacion ni Funnel 0. Evolith Tracker posee esas preocupaciones de negocio mediante su ACL.
68
-
69
- ## Presupuestos Operativos
70
-
71
- Esta topología declara envelopes arquitectónicos de latencia, cold-start y costo por ejecución en `spec.operationalBudgets` de [`topology.manifest.json`](./topology.manifest.json). Los operadores verifican los satélites contra estos envelopes siguiendo el [Runbook de Presupuestos Operativos](../operational-budgets-runbook.es.md) compartido.
72
-
73
- ---
74
- [Volver al Hub de Topologias](../../README.es.md)
@@ -1,74 +0,0 @@
1
- # Serverless Topology Profile
2
-
3
- > **Bilingual Navigation:** [Version en Espanol](./README.es.md)
4
-
5
- **Status:** Accepted
6
- **Dimension:** `execution`
7
- **Topology ID:** `serverless`
8
- **Compatibility Alias:** `F1-compatible`
9
- **Manifest:** [topology.manifest.json](./topology.manifest.json)
10
-
11
- Serverless is an execution topology for managed, event-scaled workloads where the platform owns runtime provisioning and Evolith Core governs contracts, observability, security, idempotency, and integration boundaries.
12
-
13
- ## Purpose
14
-
15
- Use this topology for isolated capabilities that benefit from managed scaling, event triggers, scheduled jobs, asynchronous processing, or bursty workloads without introducing a separately owned service topology.
16
-
17
- Serverless does not replace domain architecture. It composes with `modular-monolith`, `distributed-modules`, or `microservices` when the manifest and architecture review allow the execution boundary.
18
-
19
- ## Governance Rules
20
-
21
- | Rule | Requirement |
22
- |---|---|
23
- | Idempotency | Event-triggered handlers must tolerate retries and duplicate delivery. |
24
- | Contracts | Inputs, outputs, events, and external dependencies must be explicitly versioned. |
25
- | Observability | Each function or managed workflow must emit traceable evidence and failure signals. |
26
- | Boundary control | Serverless handlers must not bypass domain ownership or persistence boundaries. |
27
- | Provider neutrality | Core guidance remains provider-neutral; provider choices belong to product or platform profiles. |
28
-
29
- ## Required Authority
30
-
31
- | Artifact | Role |
32
- |---|---|
33
- | [ADR-0079: Multi-Topology Reference Corpus](../../../adrs/core/0079-multi-topology-reference-corpus.md) | Governs topology manifests and composition. |
34
- | [ADR-0095: Serverless Architecture Governance](../../../adrs/core/0095-serverless-architecture-governance.md) | Governs serverless-specific architecture constraints. |
35
- | [Serverless Architecture Rules](./serverless.rules.json) | Existing executable compatibility rules. |
36
- | [Topology Dimensions Model](../../topology-dimensions.md) | Defines composition and compatibility rules. |
37
-
38
- ## Executable Contract
39
-
40
- Every adopting satellite provides `serverless.config.json`:
41
-
42
- ```json
43
- {
44
- "stateless": true,
45
- "package": { "maxSizeMb": 25 },
46
- "coldStart": { "maxInitMilliseconds": 500, "lazyInitialization": true }
47
- }
48
- ```
49
-
50
- SV-R01 through SV-R04 require that contract, stateless execution, a package no larger than 50 MB, and bounded lazy initialization. The Native evaluator and [OPA policy](./serverless.rego) evaluate the same fields.
51
-
52
- ## Composition
53
-
54
- `serverless` can combine with:
55
-
56
- | Topology | Why It Can Compose |
57
- |---|---|
58
- | `modular-monolith` | Adds managed execution points without forcing full service extraction. |
59
- | `distributed-modules` | Allows serverless handlers within controlled module boundaries. |
60
- | `microservices` | Supports individual service functions with event-scaled execution. |
61
- | `event-driven` | Enables event-triggered serverless handlers governed by contracts. |
62
- | `data-mesh` | Provides analytical data product execution without transactional coupling. |
63
- | `agentic-ai` | Hosts AI-agent workflows governed by MCP context and rulesets. |
64
-
65
- ## Business Boundary
66
-
67
- This profile is technical-only. It does not define ROI, cost model, cloud spend, staffing, delivery timing, prioritization, or Funnel 0. Evolith Tracker owns those business concerns through its ACL.
68
-
69
- ## Operational Budgets
70
-
71
- This topology declares architectural envelopes for latency, cold-start, and per-execution cost in `spec.operationalBudgets` of [`topology.manifest.json`](./topology.manifest.json). Operators verify satellites against these envelopes following the shared [Operational Budgets Runbook](../operational-budgets-runbook.md).
72
-
73
- ---
74
- [Back to Topology Hub](../../README.md)
@@ -1,50 +0,0 @@
1
- # Guía de Adopción Sin Servidor
2
-
3
- > **Navegación Bilingüe:** [English](./adoption.md) | [Español](./adoption.es.md)
4
-
5
- **Propietario:** Ingeniería de Plataforma
6
- **Topología:** Sin Servidor
7
-
8
- ---
9
-
10
- ## Criterios de Entrada
11
-
12
- Adoptar serverless cuando se cumplan todos los siguientes:
13
-
14
- - La carga de trabajo es orientada a eventos o esporádica con patrones de tráfico impredecibles
15
- - El presupuesto de latencia permite hasta 1500 ms por invocación
16
- - La tolerancia a inicio en frío es de al menos 1000 ms (SV-R04)
17
- - El equipo tiene experiencia con al menos la plataforma de funciones de un proveedor de nube
18
- - La organización acepta la dependencia de servicios gestionados
19
-
20
- No adoptar serverless para cargas de trabajo sostenidas de alto rendimiento que excedan los presupuestos de concurrencia o requieran latencia inferior a 100 ms.
21
-
22
- ## Organización de Funciones
23
-
24
- Organizar funciones por contexto acotado. Cada contexto acotado posee sus funciones, eventos y datos. Mantener un catálogo de funciones con:
25
-
26
- - Nombre y propósito de la función
27
- - Equipo propietario
28
- - Tipo de disparador y esquema de eventos
29
- - SLA (latencia, tasa de error)
30
- - Presupuesto de costo por ejecución
31
-
32
- ## Desarrollo Local
33
-
34
- Configurar emulación local para iteración rápida. Usar herramientas como SAM Local, Functions Framework o serverless-offline. Probar integración función-a-función en un entorno de staging. Mantener la emulación local alineada con configuraciones de producción.
35
-
36
- ## Lista de Verificación de Preparación
37
-
38
- - [ ] Descomposición de funciones completa — cada función tiene una única responsabilidad
39
- - [ ] Roles IAM asignados con privilegio mínimo (SV-SEC-01)
40
- - [ ] DLQ configurada para todas las invocaciones asíncronas (SV-R01)
41
- - [ ] Paquetes de despliegue bajo 50 MB (SV-R03)
42
- - [ ] Perfilado de inicio en frío completado y dentro del presupuesto
43
- - [ ] Monitoreo y alertas configuradas según la guía de evidencia
44
- - [ ] Etiquetas de rastreo de costos aplicadas a todas las funciones
45
- - [ ] Neutralidad con el proveedor evaluada (ADR-0095)
46
- - [ ] Runbooks documentados para escenarios de fallo comunes
47
-
48
- ---
49
-
50
- [Volver al Perfil Sin Servidor](./README.es.md)
@@ -1,50 +0,0 @@
1
- # Serverless — Adoption Guide
2
-
3
- > **Bilingual Navigation:** [English](./adoption.md) | [Español](./adoption.es.md)
4
-
5
- **Owner:** Platform Engineering
6
- **Topology:** Serverless
7
-
8
- ---
9
-
10
- ## Entry Criteria
11
-
12
- Adopt serverless when all of the following are true:
13
-
14
- - Workload is event-driven or sporadic with unpredictable traffic patterns
15
- - Latency budget allows up to 1500 ms per invocation
16
- - Cold start tolerance is at least 1000 ms (SV-R04)
17
- - Team has experience with at least one cloud provider's function platform
18
- - Organization accepts managed-service dependency
19
-
20
- Do not adopt serverless for sustained high-throughput workloads that exceed concurrency budgets or require sub-100 ms latency.
21
-
22
- ## Function Organization
23
-
24
- Organize functions by bounded context. Each bounded context owns its functions, events, and data. Maintain a function catalog with:
25
-
26
- - Function name and purpose
27
- - Owner team
28
- - Trigger type and event schema
29
- - SLA (latency, error rate)
30
- - Cost budget per execution
31
-
32
- ## Local Development
33
-
34
- Set up local emulation for rapid iteration. Use tools like SAM Local, Functions Framework, or serverless-offline. Test function-to-function integration in a staging environment. Keep local emulation aligned with production configurations.
35
-
36
- ## Readiness Checklist
37
-
38
- - [ ] Function decomposition complete — each function has a single responsibility
39
- - [ ] IAM roles assigned with least privilege (SV-SEC-01)
40
- - [ ] DLQ configured for all asynchronous invocations (SV-R01)
41
- - [ ] Deployment packages under 50 MB (SV-R03)
42
- - [ ] Cold start profiling completed and within budget
43
- - [ ] Monitoring and alerting configured per evidence guide
44
- - [ ] Cost tracking tags applied to all functions
45
- - [ ] Vendor neutrality assessed (ADR-0095)
46
- - [ ] Runbooks documented for common failure scenarios
47
-
48
- ---
49
-
50
- [Back to Serverless Profile](./README.md)
@@ -1,41 +0,0 @@
1
- # Serverless — Flujos CLI
2
-
3
- > **Navegación Bilingüe:** [English Version](./cli-flows.md)
4
-
5
- **Validadores declarados:** `validate-architecture`, `validate-topology`
6
-
7
- ## Validate
8
-
9
- ```bash
10
- evolith validate --topology serverless
11
- evolith validate --topology serverless --arch-level F2
12
- evolith validate --topology serverless --format json
13
- ```
14
-
15
- ## Inspect
16
-
17
- ```bash
18
- evolith topology inspect serverless
19
- evolith topology inspect serverless --include-functions
20
- ```
21
-
22
- ## Drift
23
-
24
- ```bash
25
- evolith drift detect --topology serverless
26
- evolith drift detect --topology serverless --format json
27
- ```
28
-
29
- ## Scaffold
30
-
31
- ```bash
32
- evolith architecture scaffold --topology serverless
33
- evolith architecture scaffold --topology serverless --dry-run
34
- ```
35
-
36
- ## Gate Evaluation
37
-
38
- ```bash
39
- evolith gate evaluate --topology serverless
40
- evolith gate evaluate --topology serverless --phase F1
41
- ```
@@ -1,53 +0,0 @@
1
- # Serverless — CLI Flows
2
-
3
- > **Bilingual Navigation:** [Versión en Español](./cli-flows.es.md)
4
-
5
- **Validators declarados:** `validate-architecture`, `validate-topology`
6
-
7
- The following CLI commands are available for the Serverless topology.
8
-
9
- ## Validate
10
-
11
- ```bash
12
- evolith validate --topology serverless
13
- evolith validate --topology serverless --arch-level F2
14
- evolith validate --topology serverless --format json
15
- ```
16
-
17
- Validates a Serverless configuration against the topology's native rules (`serverless.rules.json`) and OPA Rego policies (`serverless.rego`), checking cold-start tolerance, statelessness, timeout limits, and cost profile.
18
-
19
- ## Inspect
20
-
21
- ```bash
22
- evolith topology inspect serverless
23
- evolith topology inspect serverless --include-functions
24
- ```
25
-
26
- Returns the parsed Serverless topology manifest, function definitions, trigger metadata, and corpus artifact references.
27
-
28
- ## Drift
29
-
30
- ```bash
31
- evolith drift detect --topology serverless
32
- evolith drift detect --topology serverless --format json
33
- ```
34
-
35
- Detects configuration drift between the Serverless topology's declared ruleset and the current workspace state.
36
-
37
- ## Scaffold
38
-
39
- ```bash
40
- evolith architecture scaffold --topology serverless
41
- evolith architecture scaffold --topology serverless --dry-run
42
- ```
43
-
44
- Scaffolds a Serverless topology workspace with the canonical corpus structure, manifest, config schema, and OPA policies.
45
-
46
- ## Gate Evaluation
47
-
48
- ```bash
49
- evolith gate evaluate --topology serverless
50
- evolith gate evaluate --topology serverless --phase F1
51
- ```
52
-
53
- Evaluates Serverless phase gates, validating event-driven function isolation and stateless deployment readiness.
@@ -1,66 +0,0 @@
1
- # Guía de Evidencia Sin Servidor
2
-
3
- > **Navegación Bilingüe:** [English](./evidence.md) | [Español](./evidence.es.md)
4
-
5
- **Propietario:** Ingeniería de Plataforma
6
- **Topología:** Sin Servidor
7
-
8
- ---
9
-
10
- ## Comandos de Validación
11
-
12
- Ejecutar validación de infraestructura antes de cada despliegue:
13
-
14
- ```bash
15
- # Validar configuraciones de funciones
16
- serverless validate --stage production
17
-
18
- # Verificar permisos de roles IAM
19
- aws iam simulate-principal-policy --policy-source-arn <function-arn>
20
-
21
- # Verificar configuración VPC
22
- aws ec2 describe-security-groups --filters Name=vpc-id,Values=<vpc-id>
23
-
24
- # Escanear paquetes de despliegue en busca de vulnerabilidades
25
- npm audit --production
26
- ```
27
-
28
- ## Métricas de Invocación
29
-
30
- Rastrear lo siguiente por función, por día:
31
-
32
- | Métrica | Objetivo | Umbral de Alerta |
33
- |---------|----------|------------------|
34
- | Latencia p50 | < 500 ms | > 800 ms |
35
- | Latencia p95 | < 1000 ms | > 1200 ms |
36
- | Latencia p99 | < 1500 ms | > 1500 ms |
37
- | Tasa de error | < 0.1% | > 0.5% |
38
- | Conteo de limitaciones | 0 | > 0 |
39
-
40
- ## Mediciones de Inicio en Frío
41
-
42
- Muestrear tiempos de inicio en frío semanalmente. Registrar duración de init, duración de runtime y duración total. Comparar contra el presupuesto de 1000 ms de inicio en frío (SV-R04). Señalar cualquier función que exceda el presupuesto para optimización.
43
-
44
- ## Reportes de Costos
45
-
46
- Generar reportes de costos semanales con:
47
-
48
- - Total de invocaciones por función
49
- - Tiempo total de computación (GB-segundos)
50
- - Costo por ejecución (objetivo: **1 centavo**)
51
- - Tendencia mes a mes
52
- - Funciones que exceden el presupuesto de costos
53
-
54
- ## Evidencia de Cumplimiento
55
-
56
- Retener los siguientes artefactos para auditoría:
57
-
58
- - Asignaciones y registros de rotación de roles IAM
59
- - Registros de procesamiento de DLQ
60
- - Resultados de escaneo de vulnerabilidades de paquetes de despliegue
61
- - Historial de mediciones de inicio en frío
62
- - Reportes de rastreo de costos
63
-
64
- ---
65
-
66
- [Volver al Perfil Sin Servidor](./README.es.md)
@@ -1,66 +0,0 @@
1
- # Serverless — Evidence Guide
2
-
3
- > **Bilingual Navigation:** [English](./evidence.md) | [Español](./evidence.es.md)
4
-
5
- **Owner:** Platform Engineering
6
- **Topology:** Serverless
7
-
8
- ---
9
-
10
- ## Validation Commands
11
-
12
- Run infrastructure validation before every deployment:
13
-
14
- ```bash
15
- # Validate function configurations
16
- serverless validate --stage production
17
-
18
- # Check IAM role permissions
19
- aws iam simulate-principal-policy --policy-source-arn <function-arn>
20
-
21
- # Verify VPC configuration
22
- aws ec2 describe-security-groups --filters Name=vpc-id,Values=<vpc-id>
23
-
24
- # Scan deployment packages for vulnerabilities
25
- npm audit --production
26
- ```
27
-
28
- ## Invocation Metrics
29
-
30
- Track the following per function, per day:
31
-
32
- | Metric | Target | Alert Threshold |
33
- |--------|--------|-----------------|
34
- | p50 latency | < 500 ms | > 800 ms |
35
- | p95 latency | < 1000 ms | > 1200 ms |
36
- | p99 latency | < 1500 ms | > 1500 ms |
37
- | Error rate | < 0.1% | > 0.5% |
38
- | Throttle count | 0 | > 0 |
39
-
40
- ## Cold Start Measurements
41
-
42
- Sample cold start times weekly. Record init duration, runtime duration, and total duration. Compare against the 1000 ms cold start budget (SV-R04). Flag any function exceeding the budget for optimization.
43
-
44
- ## Cost Reports
45
-
46
- Generate weekly cost reports with:
47
-
48
- - Total invocations per function
49
- - Total compute time (GB-seconds)
50
- - Cost per execution (target: **1 cent**)
51
- - Month-over-month trend
52
- - Functions exceeding cost budget
53
-
54
- ## Compliance Evidence
55
-
56
- Retain the following artifacts for audit:
57
-
58
- - IAM role assignments and rotation logs
59
- - DLQ processing records
60
- - Deployment package vulnerability scan results
61
- - Cold start measurement history
62
- - Cost tracking reports
63
-
64
- ---
65
-
66
- [Back to Serverless Profile](./README.md)
@@ -1,36 +0,0 @@
1
- # Guía de Evolución Sin Servidor
2
-
3
- > **Navegación Bilingüe:** [English](./evolution.md) | [Español](./evolution.es.md)
4
-
5
- **Propietario:** Ingeniería de Plataforma
6
- **Topología:** Sin Servidor
7
-
8
- ---
9
-
10
- ## Migración de Contenedores a Funciones
11
-
12
- Migrar cargas de trabajo contenedorizadas a funciones descomponiendo manejadores monolíticos en funciones discretas y de propósito único. Identificar primero las rutas ligadas a I/O — se benefician más de la concurrencia sin servidor. Mantener tareas síncronas y de larga ejecución en contenedores. Usar patrones strangler-fig para migrar incrementalmente.
13
-
14
- ## Evolución de la Gestión de Estado
15
-
16
- Transitar de estado local a almacenes externos gestionados al adoptar serverless. Implementar estado de sesión en bases de datos o cachés, no en memoria de funciones. Migrar estado de sistema de archivos a almacenamiento de objetos. Auditar patrones de gestión de estado después de cada transición de topología.
17
-
18
- ## Sin Servidor vs Contenedores
19
-
20
- Elegir serverless para cargas de trabajo orientadas a eventos, esporádicas o con picos. Elegir contenedores para cargas sostenidas, de alto rendimiento o críticas en latencia que excedan los presupuestos serverless. Usar topologías híbridas donde serverless maneja la ingesta y contenedores el procesamiento. Documentar compensaciones explícitamente por carga de trabajo.
21
-
22
- ## Organización de Funciones
23
-
24
- Organizar funciones por contexto acotado, no por capa técnica. Agrupar funciones relacionadas en unidades de despliegue con infraestructura compartida. Mantener un catálogo de funciones con metadatos de propiedad, SLA y costo. Evitar un único espacio de nombres plano para todas las funciones.
25
-
26
- ## Neutralidad con el Proveedor (ADR-0095)
27
-
28
- Diseñar interfaces de funciones para ser portables entre proveedores de nube. Abstract los formatos de eventos específicos del proveedor detrás de esquemas internos. Usar runtimes y herramientas de código abierto donde sea posible. Aceptar optimizaciones específicas del proveedor como decisiones deliberadas y documentadas — nunca acoplamientos accidentales.
29
-
30
- ## Transiciones de Topología
31
-
32
- Seguir la ruta de arquitectura progresiva: monolito simple → monolito modular → módulos distribuidos → serverless. Validar criterios de preparación antes de cada transición. Revertir si la carga operativa excede el valor del producto. Tratar la topología como una decisión de producto, no una preferencia de ingeniería.
33
-
34
- ---
35
-
36
- [Volver al Perfil Sin Servidor](./README.es.md)
@@ -1,36 +0,0 @@
1
- # Serverless — Evolution Guide
2
-
3
- > **Bilingual Navigation:** [English](./evolution.md) | [Español](./evolution.es.md)
4
-
5
- **Owner:** Platform Engineering
6
- **Topology:** Serverless
7
-
8
- ---
9
-
10
- ## Containers to Functions Migration
11
-
12
- Migrate containerized workloads to functions by decomposing monolithic handlers into discrete, single-purpose functions. Identify I/O-bound paths first — they benefit most from serverless concurrency. Keep synchronous, long-running tasks in containers. Use strangler-fig patterns to migrate incrementally.
13
-
14
- ## State Management Evolution
15
-
16
- Transition from local state to managed external stores as you adopt serverless. Implement session state in databases or caches, not in function memory. Migrate file-system state to object storage. Audit state management patterns after each topology transition.
17
-
18
- ## Serverless vs Containers
19
-
20
- Choose serverless for event-driven, sporadic, or bursty workloads. Choose containers for sustained, high-throughput, or latency-critical paths that exceed serverless budgets. Use hybrid topologies where serverless handles ingestion and containers handle processing. Document trade-offs explicitly per workload.
21
-
22
- ## Function Organization
23
-
24
- Organize functions by bounded context, not by technical layer. Group related functions into deployment units with shared infrastructure. Maintain a function catalog with ownership, SLA, and cost metadata. Avoid a single flat namespace for all functions.
25
-
26
- ## Provider Neutrality (ADR-0095)
27
-
28
- Design function interfaces to be portable across cloud providers. Abstract provider-specific event formats behind internal schemas. Use open-source runtimes and toolchains where possible. Accept vendor-specific optimizations as deliberate, documented decisions — never accidental coupling.
29
-
30
- ## Topology Transitions
31
-
32
- Follow the progressive architecture path: simple monolith → modular monolith → distributed modules → serverless. Validate readiness criteria before each transition. Revert if operational overhead exceeds product value. Treat topology as a product decision, not an engineering preference.
33
-
34
- ---
35
-
36
- [Back to Serverless Profile](./README.md)
@@ -1,6 +0,0 @@
1
- {
2
- "topology": "serverless",
3
- "stateless": false,
4
- "package": { "maxSizeMb": 100 },
5
- "coldStart": { "maxInitMilliseconds": -1, "lazyInitialization": false }
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "topology": "serverless",
3
- "stateless": true,
4
- "package": { "maxSizeMb": 25 },
5
- "coldStart": { "maxInitMilliseconds": 500, "lazyInitialization": true }
6
- }
@@ -1,36 +0,0 @@
1
- # Guia de Adopcion, Operacion y Evolucion de Serverless
2
-
3
- > **Navegacion Bilingue:** [English Version](./maturity.md)
4
-
5
- ## Adoption
6
-
7
- Adopte esta topologia cuando las capacidades aisladas se beneficien de escalamiento administrado, triggers de eventos o workloads con picos sin introducir una topologia de servicio separada. Comience con handlers sin estado, contratos explicitos y paquetes de despliegue acotados.
8
-
9
- ## Operations
10
-
11
- Opere uno o mas entornos runtime administrados. Monitoree la distribucion de cold-start, el tamano del paquete de despliegue, las tasas de invocacion y los limites de concurrencia como parte de la validacion normal de arquitectura.
12
-
13
- ## Security
14
-
15
- Autorice el acceso en la frontera del handler. Implemente gestion de identidad y secretos neutral respecto al proveedor. Nunca incruste credenciales en paquetes de despliegue; use secretos inyectados por entorno con capacidad de rotacion.
16
-
17
- ## Resilience
18
-
19
- Disene handlers para reintentos idempotentes, degradacion gradual bajo presion de concurrencia y tiempo de inicializacion acotado. Prefiera mecanismos de integracion durables antes de agregar infraestructura con estado.
20
-
21
- ## Patterns and Anti-Patterns
22
-
23
- Use handlers sin estado, contratos explcitos de entrada/salida, interfaces neutrales al proveedor e inicializacion diferida acotada. No asuma estado local persistente, duracion de ejecucion ilimitada ni caracteristicas runtime especificas del proveedor.
24
-
25
- ## Evolution
26
-
27
- Mueva una capacidad a serverless solo cuando el perfil operativo (burst, event-driven, async) justifique la dependencia de plataforma. Preserve los contratos de dominio y la preparacion para extraccion para que la migracion de retorno u otra topologia 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 Serverless](./README.es.md)
@@ -1,36 +0,0 @@
1
- # Serverless Adoption, Operations, and Evolution Guide
2
-
3
- > **Bilingual Navigation:** [Version en Espanol](./maturity.es.md)
4
-
5
- ## Adoption
6
-
7
- Adopt this topology when isolated capabilities benefit from managed scaling, event triggers, or bursty workloads without introducing a separately owned service topology. Start with stateless handlers, explicit contracts, and bounded deployment packages.
8
-
9
- ## Operations
10
-
11
- Operate one or more managed runtime environments. Monitor cold-start distribution, deployment package size, invocation rates, and concurrency limits as part of normal architecture validation.
12
-
13
- ## Security
14
-
15
- Authorize access at the handler boundary. Enforce provider-neutral identity and secret management. Never embed credentials in deployment packages; use environment-injected, rotation-capable secrets.
16
-
17
- ## Resilience
18
-
19
- Design handlers for idempotent retry, graceful degradation under concurrency pressure, and bounded initialization time. Prefer durable integration mechanisms before adding stateful infrastructure.
20
-
21
- ## Patterns and Anti-Patterns
22
-
23
- Use stateless handlers, explicit input/output contracts, provider-neutral interfaces, and bounded cold-start initialization. Do not assume persistent local state, unbounded execution duration, or provider-specific runtime features.
24
-
25
- ## Evolution
26
-
27
- Move a capability to serverless only when the operational profile (burst, event-driven, async) justifies the platform dependency. Preserve domain contracts and extraction readiness so that migration back or to another topology 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 Serverless Profile](./README.md)