@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,142 +0,0 @@
1
- # Perfil Topologico de IA Agentica
2
-
3
- > **Navegacion bilingue:** [Version en ingles](./README.md)
4
-
5
- **Estado:** Aceptada
6
- **Dimension:** `ai`
7
- **ID de topologia:** `agentic-ai`
8
- **Manifiesto:** [topology.manifest.json](./topology.manifest.json)
9
-
10
- La IA agentica es la topologia para sistemas donde un agente de IA puede inspeccionar contexto, planificar trabajo, invocar herramientas o proponer cambios. Se compone con cualquier perfil de eje progresivo; no es una fase de entrega ni un sustituto de la propiedad de producto.
11
-
12
- ## Proposito y Alcance
13
-
14
- Usa este perfil cuando un agente tenga acceso a contexto de repositorio, servicio u operacion. El perfil gobierna el limite del agente, no el proveedor del modelo ni el framework de orquestacion.
15
-
16
- Todo satelite que lo adopte DEBE proporcionar `agent.config.json`. El evaluador nativo y la politica OPA aplican los mismos controles:
17
-
18
- | Regla | Control requerido |
19
- |---|---|
20
- | AAI-R01 | Identidad estable del agente y una o mas capacidades declaradas |
21
- | AAI-R02 | Sandbox aislado con acceso de red y proceso en deny o allowlist |
22
- | AAI-R03 | Fuentes de prompts y raices de implementacion que no se superponen |
23
- | AAI-R04 | Politica `approval-required` para herramientas mutativas |
24
- | AAI-R05 | Ejecucion efimera con duracion, memoria y CPU acotadas |
25
- | AAI-R06 | Contexto no confiable tratado como dato con procedencia y validacion de schema |
26
- | AAI-R07 | Delegacion acotada por capacidad y evidencia de accion correlacionada append-only |
27
- | AAI-R08 | Limites positivos de tokens y contexto, concurrencia MCP acotada y ruta legible de runbook |
28
- | AAI-R09 | Delegacion acotada, cadencia de rotacion de credenciales y revocacion ante incidentes |
29
-
30
- ## Contrato de Configuracion
31
-
32
- `agent.config.json` es una declaracion portable, no un archivo de un framework de agentes especifico de runtime. Mantiene prompts, implementacion determinista y permisos de ejecucion revisables por separado.
33
-
34
- ```json
35
- {
36
- "agent": {
37
- "id": "architecture-reviewer",
38
- "capabilities": ["read-architecture", "review-changes"]
39
- },
40
- "sandbox": {
41
- "mode": "isolated",
42
- "network": "allowlist",
43
- "process": "deny",
44
- "ephemeral": true,
45
- "maxDurationSeconds": 30,
46
- "maxMemoryMb": 512,
47
- "maxCpuCores": 1
48
- },
49
- "promptSources": ["prompts"],
50
- "implementationRoots": ["src/agents"],
51
- "contextPolicy": {
52
- "untrustedContent": "data-only",
53
- "provenanceRequired": true,
54
- "toolOutputSchemaValidation": true
55
- },
56
- "toolPolicy": {
57
- "mutative": "approval-required",
58
- "capabilityDelegation": "scoped-and-expiring"
59
- },
60
- "audit": {
61
- "appendOnly": true,
62
- "correlationId": "required"
63
- },
64
- "operationalBudgets": {
65
- "maxPromptTokens": 16000,
66
- "maxCompletionTokens": 4000,
67
- "maxContextWindowTokens": 128000,
68
- "mcpToolConcurrency": {
69
- "maxInFlight": 4,
70
- "perToolMaxInFlight": 2
71
- },
72
- "runbooksPath": "docs/agentic-ai-runbooks.md"
73
- },
74
- "credentialLifecycle": {
75
- "delegationMaxTtlSeconds": 900,
76
- "rotationCadenceDays": 30,
77
- "revocation": {
78
- "onIncident": "immediate",
79
- "maxPropagationSeconds": 60
80
- }
81
- }
82
- }
83
- ```
84
-
85
- Las rutas declaradas de prompts e implementacion NO DEBEN superponerse. Una capacidad no es un permiso: el sandbox y la politica de herramientas son la autoridad de ejecucion. El contexto no confiable sigue siendo dato, nunca autoridad; toda accion lleva una capacidad acotada y evidencia correlacionada append-only.
86
-
87
- ## Contrato Operativo
88
-
89
- `operationalBudgets` declara limites aplicables para una ejecucion. `maxPromptTokens` limita las instrucciones y el contexto suministrado, `maxCompletionTokens` limita la salida generada y `maxContextWindowTokens` limita el contexto combinado del modelo. `mcpToolConcurrency.maxInFlight` limita todas las llamadas concurrentes a herramientas; `perToolMaxInFlight` evita que una sola herramienta consuma todo el presupuesto. Un adoptante DEBE elegir valores adecuados para su modelo aprobado y su capacidad, y DEBE apuntar `runbooksPath` a su guia de incidentes mantenida.
90
-
91
- `credentialLifecycle` limita la autoridad delegada a `delegationMaxTtlSeconds`, exige rotacion como minimo cada `rotationCadenceDays` y define la rapidez con que la revocacion por incidente llega a cada ejecutor. `onIncident` DEBERIA ser `immediate`; `scheduled` solo se permite cuando una dependencia operativa documentada impide la revocacion inmediata. Los runbooks de referencia de la topologia estan [disponibles aqui](./runbooks.es.md).
92
-
93
- ## Interaccion y Limite de Seguridad
94
-
95
- ```mermaid
96
- flowchart LR
97
- C["Contexto gobernado"] --> A["Agente"]
98
- P["Fuentes de prompts"] --> A
99
- A --> S["Sandbox aislado"]
100
- S --> R["Herramientas de solo lectura"]
101
- S --> M{"Herramienta mutativa"}
102
- M -->|"approval-required"| H["Aprobacion humana o de politica"]
103
- H --> T["Ejecucion aprobada"]
104
- I["Raices de implementacion"] -. "separadas de los prompts" .-> A
105
- ```
106
-
107
- El sandbox es la unica ruta hacia la ejecucion de herramientas. Los prompts aportan instrucciones; las raices de implementacion contienen codigo determinista. Ninguno puede otorgar silenciosamente acceso de red, proceso o mutacion.
108
-
109
- ## Decisiones Rectoras y Validacion
110
-
111
- [ADR-0058](../../../adrs/core/0058-ai-consumable-architecture-knowledge.es.md) gobierna el conocimiento de arquitectura consumible por IA. [ADR-0081](../../../adrs/core/0081-agentic-ai-sandbox-isolation.es.md), [ADR-0082](../../../adrs/core/0082-agentic-ai-trust-boundary.es.md) y [ADR-0083](../../../adrs/core/0083-agentic-ai-action-authorization-audit.es.md) establecen los limites de sandbox, confianza y autorizacion. [ADR-AI-001](../../../../governance/standards/ai-augmented/06-adrs/adr-ai-001-harness-strategy.es.md) y [ADR-AI-005](../../../../governance/standards/ai-augmented/06-adrs/adr-ai-005-human-in-the-loop-policy.es.md) siguen siendo decisiones propuestas de apoyo.
112
-
113
- Ejecuta el perfil mediante el validador consciente de topologias:
114
-
115
- ```bash
116
- evolith validate --topology agentic-ai
117
- ```
118
-
119
- El ruleset nativo es [agentic-ai.rules.json](./agentic-ai.rules.json); su politica OPA equivalente es [agentic-ai.rego](./agentic-ai.rego). Ambos evaluan el mismo contrato de `agent.config.json`.
120
-
121
- ## Frontera de Negocio
122
-
123
- Este perfil es solo tecnico. No define propiedad de negocio, priorizacion, ROI, costo, presupuesto, staffing, calendario de entrega ni Funnel 0. Evolith Tracker posee esas preocupaciones mediante su ACL.
124
-
125
- ## Navegacion del Corpus
126
-
127
- El corpus de IA agentica es la linea base de implementacion obligatoria para esta topologia:
128
-
129
- | Area | Guia |
130
- |---|---|
131
- | Adopcion | [Guia de adopcion](./adoption.es.md) |
132
- | Operacion | [Guia de operacion](./operations.es.md) |
133
- | Seguridad | [Guia de seguridad](./security.es.md) |
134
- | Resiliencia | [Guia de resiliencia](./resilience.es.md) |
135
- | Diseno | [Patrones y anti-patrones](./patterns.es.md) |
136
- | Evolucion | [Guia de evolucion](./evolution.es.md) |
137
- | Resumen | [Guia de adopcion, operacion y evolucion](./maturity.es.md) |
138
-
139
- Este corpus implementa el [Estandar de Corpus de Topologias](../../topology-corpus-standard.es.md) para IA agentica. Un perfil no esta listo para aceptacion hasta que esten presentes y validados todas estas guias, controles ejecutables, fixtures de contrato, pruebas e interfaces de plano de control.
140
-
141
- ---
142
- [Volver al Hub de Topologias](../../README.es.md)
@@ -1,142 +0,0 @@
1
- # Agentic AI Topology Profile
2
-
3
- > **Bilingual Navigation:** [Version en Espanol](./README.es.md)
4
-
5
- **Status:** Accepted
6
- **Dimension:** `ai`
7
- **Topology ID:** `agentic-ai`
8
- **Manifest:** [topology.manifest.json](./topology.manifest.json)
9
-
10
- Agentic AI is the topology for systems where an AI agent can inspect context, plan work, call tools, or propose changes. It is composable with every progressive-axis profile; it is not a delivery phase or a substitute for product ownership.
11
-
12
- ## Purpose and Scope
13
-
14
- Use this profile when an agent has access to repository, service, or operational context. The profile governs the agent boundary, not the model vendor or orchestration framework.
15
-
16
- Every adopting satellite MUST provide `agent.config.json`. The native evaluator and the OPA policy enforce the same controls:
17
-
18
- | Rule | Required control |
19
- |---|---|
20
- | AAI-R01 | Stable agent identity and one or more declared capabilities |
21
- | AAI-R02 | An isolated sandbox with deny or allowlist network and process access |
22
- | AAI-R03 | Non-overlapping prompt sources and implementation roots |
23
- | AAI-R04 | `approval-required` policy for mutative tools |
24
- | AAI-R05 | Ephemeral execution with bounded duration, memory, and CPU |
25
- | AAI-R06 | Untrusted context treated as data with provenance and schema validation |
26
- | AAI-R07 | Capability-scoped delegation and append-only correlated action evidence |
27
- | AAI-R08 | Positive token and context ceilings, bounded MCP concurrency, and a readable runbook path |
28
- | AAI-R09 | Bounded delegation, credential rotation cadence, and incident revocation |
29
-
30
- ## Configuration Contract
31
-
32
- `agent.config.json` is a portable declaration, not a runtime-specific agent framework file. It keeps prompts, deterministic implementation, and execution permissions independently reviewable.
33
-
34
- ```json
35
- {
36
- "agent": {
37
- "id": "architecture-reviewer",
38
- "capabilities": ["read-architecture", "review-changes"]
39
- },
40
- "sandbox": {
41
- "mode": "isolated",
42
- "network": "allowlist",
43
- "process": "deny",
44
- "ephemeral": true,
45
- "maxDurationSeconds": 30,
46
- "maxMemoryMb": 512,
47
- "maxCpuCores": 1
48
- },
49
- "promptSources": ["prompts"],
50
- "implementationRoots": ["src/agents"],
51
- "contextPolicy": {
52
- "untrustedContent": "data-only",
53
- "provenanceRequired": true,
54
- "toolOutputSchemaValidation": true
55
- },
56
- "toolPolicy": {
57
- "mutative": "approval-required",
58
- "capabilityDelegation": "scoped-and-expiring"
59
- },
60
- "audit": {
61
- "appendOnly": true,
62
- "correlationId": "required"
63
- },
64
- "operationalBudgets": {
65
- "maxPromptTokens": 16000,
66
- "maxCompletionTokens": 4000,
67
- "maxContextWindowTokens": 128000,
68
- "mcpToolConcurrency": {
69
- "maxInFlight": 4,
70
- "perToolMaxInFlight": 2
71
- },
72
- "runbooksPath": "docs/agentic-ai-runbooks.md"
73
- },
74
- "credentialLifecycle": {
75
- "delegationMaxTtlSeconds": 900,
76
- "rotationCadenceDays": 30,
77
- "revocation": {
78
- "onIncident": "immediate",
79
- "maxPropagationSeconds": 60
80
- }
81
- }
82
- }
83
- ```
84
-
85
- The declared prompt and implementation paths MUST not overlap. A capability is not permission: the sandbox and tool policy are the execution authority. Untrusted context remains data, never authority; every action carries a scoped capability and append-only correlated evidence.
86
-
87
- ## Operational Contract
88
-
89
- `operationalBudgets` declares enforceable ceilings for one execution. `maxPromptTokens` limits supplied instructions and context, `maxCompletionTokens` limits generated output, and `maxContextWindowTokens` limits the combined model context. `mcpToolConcurrency.maxInFlight` caps all concurrent tool calls; `perToolMaxInFlight` prevents a single tool from consuming the whole budget. An adopter MUST choose values appropriate to its approved model and capacity, and MUST point `runbooksPath` to its maintained incident guide.
90
-
91
- `credentialLifecycle` limits delegated authority to `delegationMaxTtlSeconds`, requires rotation no less frequently than `rotationCadenceDays`, and defines how quickly incident revocation reaches every executor. `onIncident` SHOULD be `immediate`; `scheduled` is permitted only when a documented operational dependency prevents immediate revocation. The topology reference runbooks are [available here](./runbooks.md).
92
-
93
- ## Interaction and Security Boundary
94
-
95
- ```mermaid
96
- flowchart LR
97
- C["Governed context"] --> A["Agent"]
98
- P["Prompt sources"] --> A
99
- A --> S["Isolated sandbox"]
100
- S --> R["Read-only tools"]
101
- S --> M{"Mutative tool"}
102
- M -->|"approval-required"| H["Human or policy approval"]
103
- H --> T["Approved execution"]
104
- I["Implementation roots"] -. "separate from prompts" .-> A
105
- ```
106
-
107
- The sandbox is the only route to tool execution. Prompts provide instructions; implementation roots contain deterministic code. Neither can silently grant network, process, or mutative access.
108
-
109
- ## Governing Decisions and Validation
110
-
111
- [ADR-0058](../../../adrs/core/0058-ai-consumable-architecture-knowledge.md) governs AI-consumable architecture knowledge. [ADR-0081](../../../adrs/core/0081-agentic-ai-sandbox-isolation.md), [ADR-0082](../../../adrs/core/0082-agentic-ai-trust-boundary.md), and [ADR-0083](../../../adrs/core/0083-agentic-ai-action-authorization-audit.md) establish the sandbox, trust, and authorization boundaries. [ADR-AI-001](../../../../governance/standards/ai-augmented/06-adrs/adr-ai-001-harness-strategy.md) and [ADR-AI-005](../../../../governance/standards/ai-augmented/06-adrs/adr-ai-005-human-in-the-loop-policy.md) remain supporting proposed decisions.
112
-
113
- Run the profile through the topology-aware validator:
114
-
115
- ```bash
116
- evolith validate --topology agentic-ai
117
- ```
118
-
119
- The native ruleset is [agentic-ai.rules.json](./agentic-ai.rules.json); its equivalent OPA policy is [agentic-ai.rego](./agentic-ai.rego). Both evaluate the same `agent.config.json` contract.
120
-
121
- ## Business Boundary
122
-
123
- This profile is technical-only. It does not define business ownership, prioritization, ROI, cost, budget, staffing, delivery timing, or Funnel 0. Evolith Tracker owns those concerns through its ACL.
124
-
125
- ## Corpus Navigation
126
-
127
- The Agentic AI corpus is the required implementation baseline for this topology:
128
-
129
- | Area | Guidance |
130
- |---|---|
131
- | Adoption | [Adoption guide](./adoption.md) |
132
- | Operations | [Operations guide](./operations.md) |
133
- | Security | [Security guide](./security.md) |
134
- | Resilience | [Resilience guide](./resilience.md) |
135
- | Design | [Patterns and anti-patterns](./patterns.md) |
136
- | Evolution | [Evolution guide](./evolution.md) |
137
- | Summary | [Adoption, operations, and evolution guide](./maturity.md) |
138
-
139
- This corpus implements the [Topology Corpus Standard](../../topology-corpus-standard.md) for Agentic AI. A profile is not ready for acceptance until all of these guides, executable controls, contract fixtures, tests, and control-plane interfaces are present and validated.
140
-
141
- ---
142
- [Back to Topology Hub](../../README.md)
@@ -1,37 +0,0 @@
1
- # Guia de Adopcion de IA Agentica
2
-
3
- > **Navegacion bilingue:** [Version en ingles](./adoption.md)
4
-
5
- ## Criterios de Entrada
6
-
7
- Adopta IA agentica solo cuando un flujo acotado necesite razonamiento gobernado sobre contexto y uso acotado de herramientas. El bounded context propietario conserva la responsabilidad de la decision de negocio; el agente es un componente de ejecucion asistente, no un propietario de politica de dominio.
8
-
9
- Antes de habilitar un agente, el adoptante DEBE identificar al propietario responsable, declarar un conjunto inicial de capacidades de solo lectura y registrar las herramientas, fuentes de contexto y autoridad de aprobacion. La topologia se compone con un perfil de eje progresivo; no reemplaza las reglas de extraccion ni de propiedad de datos de ese perfil.
10
-
11
- ## Secuencia de Adopcion
12
-
13
- 1. Crea `agent.config.json` con identidad estable, capacidades explicitas, sandbox aislado y politica mutativa `approval-required`.
14
- 2. Comienza con herramientas de solo lectura y contexto representativo que no sea de produccion.
15
- 3. Valida el contrato con `evolith validate --topology agentic-ai` mediante los motores Native y OPA.
16
- 4. Ejercita rutas de denegacion, timeout, contexto invalido y rechazo de aprobacion antes de habilitar una capacidad en un entorno superior.
17
- 5. Agrega una herramienta mutativa solo despues de revisar su propietario, delegacion acotada, ruta de aprobacion y evidencia append-only correlacionada.
18
-
19
- ## Lista de Adopcion
20
-
21
- - Hay un propietario de bounded context y un propietario de herramienta identificados.
22
- - Las fuentes de contexto tienen procedencia y clasificacion declaradas.
23
- - Las fuentes de prompts y las raices deterministas de implementacion estan separadas.
24
- - El sandbox tiene autoridad finita de CPU, memoria, duracion, proceso y red.
25
- - Las herramientas mutativas fallan cerrado cuando falta aprobacion o evidencia de politica.
26
- - Fixtures validos e invalidos bloqueantes cubren el contrato previsto.
27
-
28
- ## Salida y No Adopcion
29
-
30
- No adoptes esta topologia para trabajo determinista que un servicio de aplicacion normal puede realizar, para flujos sin un limite seguro de herramientas o donde no se pueda retener evidencia y aprobacion. Deshabilita una capacidad cuando ya no esten disponibles su evidencia, propietario, control de sandbox o ruta de aprobacion requeridos.
31
-
32
- ## Guia Relacionada
33
-
34
- Lee la [guia de seguridad](./security.es.md), [guia de operacion](./operations.es.md) y [guia de evolucion](./evolution.es.md) antes de la adopcion en produccion. [ADR-0081](../../../adrs/core/0081-agentic-ai-sandbox-isolation.es.md), [ADR-0082](../../../adrs/core/0082-agentic-ai-trust-boundary.es.md) y [ADR-0083](../../../adrs/core/0083-agentic-ai-action-authorization-audit.es.md) son autoridad obligatoria.
35
-
36
- ---
37
- [Volver al Perfil de IA Agentica](./README.es.md)
@@ -1,37 +0,0 @@
1
- # Agentic AI Adoption Guide
2
-
3
- > **Bilingual Navigation:** [Version en Espanol](./adoption.es.md)
4
-
5
- ## Entry Criteria
6
-
7
- Adopt Agentic AI only when a bounded workflow needs governed reasoning over context and bounded tool use. The owning bounded context remains accountable for the business decision; the agent is an assisting execution component, not an owner of domain policy.
8
-
9
- Before enabling an agent, the adopter MUST identify the accountable owner, declare a read-only initial capability set, and record the tools, context sources, and approval authority. The topology composes with a progressive-axis profile; it does not replace that profile's extraction or data-ownership rules.
10
-
11
- ## Adoption Sequence
12
-
13
- 1. Create `agent.config.json` with a stable identity, explicit capabilities, isolated sandbox, and `approval-required` mutative policy.
14
- 2. Start with read-only tools and representative non-production context.
15
- 3. Validate the contract with `evolith validate --topology agentic-ai` using both Native and OPA engines.
16
- 4. Exercise denial, timeout, invalid-context, and approval-rejection paths before enabling a capability in a higher environment.
17
- 5. Add a mutative tool only after its owner, scoped delegation, approval path, and correlated append-only evidence are reviewed.
18
-
19
- ## Adoption Checklist
20
-
21
- - A bounded-context owner and tool owner are named.
22
- - Context sources have a declared provenance and classification.
23
- - Prompt sources and deterministic implementation roots are separate.
24
- - The sandbox has finite CPU, memory, duration, process, and network authority.
25
- - Mutative tools fail closed when approval or policy evidence is absent.
26
- - Valid and blocking-invalid fixtures cover the intended contract.
27
-
28
- ## Exit and Non-Adoption
29
-
30
- Do not adopt this topology for deterministic work that a normal application service can perform, for workflows without a safe tool boundary, or where evidence and approval cannot be retained. Disable a capability when its required evidence, owner, sandbox control, or approval path is no longer available.
31
-
32
- ## Related Guidance
33
-
34
- Read the [security guide](./security.md), [operations guide](./operations.md), and [evolution guide](./evolution.md) before production adoption. [ADR-0081](../../../adrs/core/0081-agentic-ai-sandbox-isolation.md), [ADR-0082](../../../adrs/core/0082-agentic-ai-trust-boundary.md), and [ADR-0083](../../../adrs/core/0083-agentic-ai-action-authorization-audit.md) are mandatory authority.
35
-
36
- ---
37
- [Back to Agentic AI Profile](./README.md)
@@ -1,100 +0,0 @@
1
- {
2
- "$id": "https://evolith.dev/schemas/agentic-ai/agent.config.schema.json",
3
- "title": "Evolith Agentic AI Configuration",
4
- "type": "object",
5
- "required": ["agent", "sandbox", "promptSources", "implementationRoots", "contextPolicy", "toolPolicy", "audit", "operationalBudgets", "credentialLifecycle"],
6
- "additionalProperties": false,
7
- "properties": {
8
- "agent": {
9
- "type": "object",
10
- "required": ["id", "capabilities"],
11
- "additionalProperties": false,
12
- "properties": {
13
- "id": { "type": "string", "minLength": 1 },
14
- "capabilities": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true }
15
- }
16
- },
17
- "sandbox": {
18
- "type": "object",
19
- "required": ["mode", "network", "process", "ephemeral", "maxDurationSeconds", "maxMemoryMb", "maxCpuCores"],
20
- "additionalProperties": false,
21
- "properties": {
22
- "mode": { "const": "isolated" },
23
- "network": { "enum": ["deny", "allowlist"] },
24
- "process": { "enum": ["deny", "allowlist"] },
25
- "ephemeral": { "const": true },
26
- "maxDurationSeconds": { "type": "integer", "minimum": 1 },
27
- "maxMemoryMb": { "type": "integer", "minimum": 1 },
28
- "maxCpuCores": { "type": "number", "exclusiveMinimum": 0 }
29
- }
30
- },
31
- "promptSources": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
32
- "implementationRoots": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
33
- "contextPolicy": {
34
- "type": "object",
35
- "required": ["untrustedContent", "provenanceRequired", "toolOutputSchemaValidation"],
36
- "additionalProperties": false,
37
- "properties": {
38
- "untrustedContent": { "const": "data-only" },
39
- "provenanceRequired": { "const": true },
40
- "toolOutputSchemaValidation": { "const": true }
41
- }
42
- },
43
- "toolPolicy": {
44
- "type": "object",
45
- "required": ["mutative", "capabilityDelegation"],
46
- "additionalProperties": false,
47
- "properties": {
48
- "mutative": { "const": "approval-required" },
49
- "capabilityDelegation": { "const": "scoped-and-expiring" }
50
- }
51
- },
52
- "audit": {
53
- "type": "object",
54
- "required": ["appendOnly", "correlationId"],
55
- "additionalProperties": false,
56
- "properties": {
57
- "appendOnly": { "const": true },
58
- "correlationId": { "const": "required" }
59
- }
60
- },
61
- "operationalBudgets": {
62
- "type": "object",
63
- "required": ["maxPromptTokens", "maxCompletionTokens", "maxContextWindowTokens", "mcpToolConcurrency", "runbooksPath"],
64
- "additionalProperties": false,
65
- "properties": {
66
- "maxPromptTokens": { "type": "integer", "minimum": 1 },
67
- "maxCompletionTokens": { "type": "integer", "minimum": 1 },
68
- "maxContextWindowTokens": { "type": "integer", "minimum": 1 },
69
- "mcpToolConcurrency": {
70
- "type": "object",
71
- "required": ["maxInFlight", "perToolMaxInFlight"],
72
- "additionalProperties": false,
73
- "properties": {
74
- "maxInFlight": { "type": "integer", "minimum": 1 },
75
- "perToolMaxInFlight": { "type": "integer", "minimum": 1 }
76
- }
77
- },
78
- "runbooksPath": { "type": "string", "minLength": 1 }
79
- }
80
- },
81
- "credentialLifecycle": {
82
- "type": "object",
83
- "required": ["delegationMaxTtlSeconds", "rotationCadenceDays", "revocation"],
84
- "additionalProperties": false,
85
- "properties": {
86
- "delegationMaxTtlSeconds": { "type": "integer", "minimum": 1 },
87
- "rotationCadenceDays": { "type": "integer", "minimum": 1 },
88
- "revocation": {
89
- "type": "object",
90
- "required": ["onIncident", "maxPropagationSeconds"],
91
- "additionalProperties": false,
92
- "properties": {
93
- "onIncident": { "enum": ["immediate", "scheduled"] },
94
- "maxPropagationSeconds": { "type": "integer", "minimum": 1 }
95
- }
96
- }
97
- }
98
- }
99
- }
100
- }
@@ -1,46 +0,0 @@
1
- package evolith.topologies.agentic_ai
2
-
3
- violations[{"id": "AAI-R01", "severity": "MUST", "title": "Declared Agent Identity and Capabilities", "blocking": true, "message": message}] {
4
- not input.satellite.agenticAi.hasIdentity
5
- message := "agent.config.json must declare agent.id and a non-empty capabilities array (AAI-R01)."
6
- }
7
-
8
- violations[{"id": "AAI-R02", "severity": "MUST", "title": "Explicit Sandbox Boundary", "blocking": true, "message": message}] {
9
- not input.satellite.agenticAi.hasIsolatedSandbox
10
- message := "agent.config.json must declare an isolated sandbox with deny or allowlist network and process access (AAI-R02)."
11
- }
12
-
13
- violations[{"id": "AAI-R03", "severity": "MUST", "title": "Prompt and Implementation Separation", "blocking": true, "message": message}] {
14
- not input.satellite.agenticAi.hasSeparatedPromptAndImplementation
15
- message := "agent.config.json must declare non-overlapping promptSources and implementationRoots (AAI-R03)."
16
- }
17
-
18
- violations[{"id": "AAI-R04", "severity": "MUST", "title": "Approval for Mutative Tools", "blocking": true, "message": message}] {
19
- not input.satellite.agenticAi.requiresApprovalForMutativeTools
20
- message := "agent.config.json must set toolPolicy.mutative to approval-required (AAI-R04)."
21
- }
22
-
23
- violations[{"id": "AAI-R05", "severity": "MUST", "title": "Ephemeral Sandbox Resource Limits", "blocking": true, "message": message}] {
24
- not input.satellite.agenticAi.hasEphemeralSandboxLimits
25
- message := "agent.config.json must require ephemeral execution with positive duration, memory, and CPU limits (AAI-R05)."
26
- }
27
-
28
- violations[{"id": "AAI-R06", "severity": "MUST", "title": "Untrusted Context Is Data", "blocking": true, "message": message}] {
29
- not input.satellite.agenticAi.hasTrustedContextPolicy
30
- message := "agent.config.json must treat untrusted context as data, require provenance, and validate tool output schemas (AAI-R06)."
31
- }
32
-
33
- violations[{"id": "AAI-R07", "severity": "MUST", "title": "Capability-Scoped, Auditable Actions", "blocking": true, "message": message}] {
34
- not input.satellite.agenticAi.hasAccountableActions
35
- message := "agent.config.json must require scoped-and-expiring capabilities and append-only correlated action evidence (AAI-R07)."
36
- }
37
-
38
- violations[{"id": "AAI-R08", "severity": "MUST", "title": "Operational Budgets and Concurrency Limits", "blocking": true, "message": message}] {
39
- not input.satellite.agenticAi.hasOperationalBudgets
40
- message := "agent.config.json must declare operationalBudgets with positive token, context window, and MCP concurrency limits plus a runbooksPath that exists (AAI-R08)."
41
- }
42
-
43
- violations[{"id": "AAI-R09", "severity": "MUST", "title": "Satellite Credential Lifecycle", "blocking": true, "message": message}] {
44
- not input.satellite.agenticAi.hasCredentialLifecycle
45
- message := "agent.config.json must declare credentialLifecycle with positive delegation TTL, rotation cadence, and bounded incident revocation (AAI-R09)."
46
- }
@@ -1,109 +0,0 @@
1
- {
2
- "$schema": "../../../../../rulesets/schema/ruleset-standard.schema.json",
3
- "$id": "https://evolith.dev/rulesets/topologies/agentic-ai.rules.json",
4
- "title": "Agentic AI Topology Rules",
5
- "description": "Architectural rules for the agentic AI topology.",
6
- "version": "1.1.0",
7
- "effectiveDate": "2026-06-21",
8
- "references": [
9
- "rulesets/topologies/agentic-ai/README.md",
10
- "reference/architecture/adrs/core/0058-ai-consumable-architecture-knowledge.md",
11
- "reference/architecture/adrs/core/0081-agentic-ai-sandbox-isolation.md",
12
- "reference/architecture/adrs/core/0082-agentic-ai-trust-boundary.md",
13
- "reference/architecture/adrs/core/0083-agentic-ai-action-authorization-audit.md",
14
- "reference/governance/standards/ai-augmented/06-adrs/adr-ai-001-harness-strategy.md",
15
- "reference/governance/standards/ai-augmented/06-adrs/adr-ai-005-human-in-the-loop-policy.md"
16
- ],
17
- "rules": [
18
- {
19
- "id": "AAI-R01",
20
- "severity": "MUST",
21
- "category": "agent-identity",
22
- "title": "Declared Agent Identity and Capabilities",
23
- "description": "An Agentic AI satellite MUST provide agent.config.json with a stable agent.id and a non-empty capabilities array.",
24
- "rationale": "A governed agent cannot be reviewed, authorized, or audited when its identity and intended capabilities are implicit.",
25
- "validationQuery": "Read agent.config.json and require agent.id plus at least one declared capability.",
26
- "blocking": true
27
- },
28
- {
29
- "id": "AAI-R02",
30
- "severity": "MUST",
31
- "category": "agent-sandbox",
32
- "title": "Explicit Sandbox Boundary",
33
- "description": "agent.config.json MUST declare an isolated sandbox and set both network and process access to deny or allowlist.",
34
- "rationale": "An agent requires a least-privilege execution boundary before it can invoke tools or handle untrusted content.",
35
- "validationQuery": "Require sandbox.mode=isolated and sandbox.network and sandbox.process in {deny, allowlist}.",
36
- "blocking": true
37
- },
38
- {
39
- "id": "AAI-R03",
40
- "severity": "MUST",
41
- "category": "agent-prompt-boundaries",
42
- "title": "Prompt and Implementation Separation",
43
- "description": "agent.config.json MUST declare non-empty promptSources and implementationRoots that do not overlap.",
44
- "rationale": "Keeping prompts separate from deterministic implementation logic makes prompt changes reviewable and prevents hidden policy from leaking into application code.",
45
- "validationQuery": "Require non-empty promptSources and implementationRoots arrays; no configured path may be an ancestor or descendant of a path in the other array.",
46
- "blocking": true
47
- },
48
- {
49
- "id": "AAI-R04",
50
- "severity": "MUST",
51
- "category": "agent-tool-approval",
52
- "title": "Approval for Mutative Tools",
53
- "description": "agent.config.json MUST set toolPolicy.mutative to approval-required.",
54
- "rationale": "Mutative actions must remain behind an explicit human or policy-governed approval boundary.",
55
- "validationQuery": "Require toolPolicy.mutative=approval-required.",
56
- "blocking": true
57
- },
58
- {
59
- "id": "AAI-R05",
60
- "severity": "MUST",
61
- "category": "agent-sandbox-limits",
62
- "title": "Ephemeral Sandbox Resource Limits",
63
- "description": "agent.config.json MUST require ephemeral execution and positive duration, memory, and CPU limits in sandbox.",
64
- "rationale": "Isolation without bounded lifetime and resources still permits persistence, denial of service, and uncontrolled cost.",
65
- "validationQuery": "Require sandbox.ephemeral=true plus positive maxDurationSeconds, maxMemoryMb, and maxCpuCores values.",
66
- "blocking": true
67
- },
68
- {
69
- "id": "AAI-R06",
70
- "severity": "MUST",
71
- "category": "agent-context-trust",
72
- "title": "Untrusted Context Is Data",
73
- "description": "agent.config.json MUST declare contextPolicy.untrustedContent=data-only, provenanceRequired=true, and toolOutputSchemaValidation=true.",
74
- "rationale": "Retrieved context and tool output can be attacker-controlled and must not silently become instructions or authority.",
75
- "validationQuery": "Require the three contextPolicy fields and their safe values.",
76
- "blocking": true
77
- },
78
- {
79
- "id": "AAI-R07",
80
- "severity": "MUST",
81
- "category": "agent-action-accountability",
82
- "title": "Capability-Scoped, Auditable Actions",
83
- "description": "agent.config.json MUST require scoped-and-expiring capability delegation and append-only action evidence with correlation IDs.",
84
- "rationale": "An agent action must be attributable, revocable, and reconstructible without relying on the prompt transcript.",
85
- "validationQuery": "Require toolPolicy.capabilityDelegation=scoped-and-expiring, audit.appendOnly=true, and audit.correlationId=required.",
86
- "blocking": true
87
- },
88
- {
89
- "id": "AAI-R08",
90
- "severity": "MUST",
91
- "category": "agent-operational-budgets",
92
- "title": "Operational Budgets and Concurrency Limits",
93
- "description": "agent.config.json MUST declare operationalBudgets with positive maxPromptTokens, maxCompletionTokens, maxContextWindowTokens, an mcpToolConcurrency object with positive maxInFlight and perToolMaxInFlight, and a non-empty runbooksPath that points at a readable runbook document.",
94
- "rationale": "Without quantitative ceilings the topology cannot reason about token overflow, MCP tool stampedes, or hung agents, and operators have no documented recovery path to point to during an incident.",
95
- "validationQuery": "Require operationalBudgets.{maxPromptTokens,maxCompletionTokens,maxContextWindowTokens} > 0, operationalBudgets.mcpToolConcurrency.{maxInFlight,perToolMaxInFlight} > 0, and operationalBudgets.runbooksPath naming a file that exists on disk.",
96
- "blocking": true
97
- },
98
- {
99
- "id": "AAI-R09",
100
- "severity": "MUST",
101
- "category": "agent-credential-lifecycle",
102
- "title": "Satellite Credential Lifecycle",
103
- "description": "agent.config.json MUST declare credentialLifecycle with a positive delegationMaxTtlSeconds, a positive rotationCadenceDays, revocation.onIncident in {immediate, scheduled}, and a positive revocation.maxPropagationSeconds.",
104
- "rationale": "Delegated agent credentials must rotate on a cadence and be revocable within a bounded window so a compromised satellite cannot retain authority indefinitely.",
105
- "validationQuery": "Require credentialLifecycle.delegationMaxTtlSeconds > 0, credentialLifecycle.rotationCadenceDays > 0, credentialLifecycle.revocation.onIncident in {immediate, scheduled}, and credentialLifecycle.revocation.maxPropagationSeconds > 0.",
106
- "blocking": true
107
- }
108
- ]
109
- }