evol-dd 0.1.0__tar.gz

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 (281) hide show
  1. evol_dd-0.1.0/.agent/hooks/hooks.json +78 -0
  2. evol_dd-0.1.0/.agent/hooks/scripts/.gitkeep +0 -0
  3. evol_dd-0.1.0/.agent/hooks/scripts/post-bash-pr-logger.sh +9 -0
  4. evol_dd-0.1.0/.agent/hooks/scripts/post-edit-mempalace-index.sh +7 -0
  5. evol_dd-0.1.0/.agent/hooks/scripts/post-write-auto-organize.sh +13 -0
  6. evol_dd-0.1.0/.agent/hooks/scripts/pre-bash-dangerous-command.sh +105 -0
  7. evol_dd-0.1.0/.agent/hooks/scripts/pre-commit-gitflow.sh +25 -0
  8. evol_dd-0.1.0/.agent/hooks/scripts/pre-edit-config-protection.sh +53 -0
  9. evol_dd-0.1.0/.agent/hooks/scripts/pre-tool-temporal-awareness.sh +8 -0
  10. evol_dd-0.1.0/.agent/hooks/scripts/pre-write-doc-file-warning.sh +19 -0
  11. evol_dd-0.1.0/.agent/hooks/scripts/session-start-context-load.sh +17 -0
  12. evol_dd-0.1.0/.agent/hooks/scripts/session-start-reme-load.sh +20 -0
  13. evol_dd-0.1.0/.agent/hooks/scripts/stop-git-check.sh +11 -0
  14. evol_dd-0.1.0/.agent/hooks/scripts/stop-pattern-extraction.sh +13 -0
  15. evol_dd-0.1.0/.agent/hooks/scripts/stop-reme-summary.sh +36 -0
  16. evol_dd-0.1.0/.agent/workflows/.gitkeep +0 -0
  17. evol_dd-0.1.0/.agent/workflows/a11y-audit.md +56 -0
  18. evol_dd-0.1.0/.agent/workflows/adr-new.md +52 -0
  19. evol_dd-0.1.0/.agent/workflows/advanced-agentic-pentesting.md +60 -0
  20. evol_dd-0.1.0/.agent/workflows/agent-factory.md +41 -0
  21. evol_dd-0.1.0/.agent/workflows/analisis-impacto.md +117 -0
  22. evol_dd-0.1.0/.agent/workflows/analyst.md +21 -0
  23. evol_dd-0.1.0/.agent/workflows/analytics-instrument.md +57 -0
  24. evol_dd-0.1.0/.agent/workflows/api-contract.md +56 -0
  25. evol_dd-0.1.0/.agent/workflows/architect.md +22 -0
  26. evol_dd-0.1.0/.agent/workflows/brainstorm.md +90 -0
  27. evol_dd-0.1.0/.agent/workflows/builder.md +28 -0
  28. evol_dd-0.1.0/.agent/workflows/ci-cd-setup.md +84 -0
  29. evol_dd-0.1.0/.agent/workflows/cierre-fase.md +80 -0
  30. evol_dd-0.1.0/.agent/workflows/clarify.md +94 -0
  31. evol_dd-0.1.0/.agent/workflows/code-as-tool.md +95 -0
  32. evol_dd-0.1.0/.agent/workflows/contract-test.md +51 -0
  33. evol_dd-0.1.0/.agent/workflows/crear-skill.md +334 -0
  34. evol_dd-0.1.0/.agent/workflows/cross-validate.md +81 -0
  35. evol_dd-0.1.0/.agent/workflows/data-pipeline.md +58 -0
  36. evol_dd-0.1.0/.agent/workflows/data.md +21 -0
  37. evol_dd-0.1.0/.agent/workflows/db-migrate.md +62 -0
  38. evol_dd-0.1.0/.agent/workflows/dependency-update.md +118 -0
  39. evol_dd-0.1.0/.agent/workflows/deploy-prod.md +100 -0
  40. evol_dd-0.1.0/.agent/workflows/design-system-builder.md +42 -0
  41. evol_dd-0.1.0/.agent/workflows/devops.md +21 -0
  42. evol_dd-0.1.0/.agent/workflows/doc.md +33 -0
  43. evol_dd-0.1.0/.agent/workflows/domain.md +22 -0
  44. evol_dd-0.1.0/.agent/workflows/dr-drill.md +57 -0
  45. evol_dd-0.1.0/.agent/workflows/evol-profile.md +31 -0
  46. evol_dd-0.1.0/.agent/workflows/evolve.md +87 -0
  47. evol_dd-0.1.0/.agent/workflows/fase-requisitos.md +125 -0
  48. evol_dd-0.1.0/.agent/workflows/feature-flag.md +57 -0
  49. evol_dd-0.1.0/.agent/workflows/finops-baseline.md +53 -0
  50. evol_dd-0.1.0/.agent/workflows/generar-flujo.md +85 -0
  51. evol_dd-0.1.0/.agent/workflows/generate-unit-tests.md +79 -0
  52. evol_dd-0.1.0/.agent/workflows/i18n-setup.md +62 -0
  53. evol_dd-0.1.0/.agent/workflows/incidente-ID.md +128 -0
  54. evol_dd-0.1.0/.agent/workflows/mejorar-prompt.md +84 -0
  55. evol_dd-0.1.0/.agent/workflows/mempalace-sync.md +51 -0
  56. evol_dd-0.1.0/.agent/workflows/ml-eval.md +63 -0
  57. evol_dd-0.1.0/.agent/workflows/mobile-release.md +63 -0
  58. evol_dd-0.1.0/.agent/workflows/observability-init.md +58 -0
  59. evol_dd-0.1.0/.agent/workflows/onboard-dev.md +60 -0
  60. evol_dd-0.1.0/.agent/workflows/orchestrate.md +52 -0
  61. evol_dd-0.1.0/.agent/workflows/orchestrator.md +26 -0
  62. evol_dd-0.1.0/.agent/workflows/perf-budget.md +62 -0
  63. evol_dd-0.1.0/.agent/workflows/plan-fases.md +75 -0
  64. evol_dd-0.1.0/.agent/workflows/pm.md +21 -0
  65. evol_dd-0.1.0/.agent/workflows/privacy-review.md +63 -0
  66. evol_dd-0.1.0/.agent/workflows/project-architecture-gsd.md +93 -0
  67. evol_dd-0.1.0/.agent/workflows/pruebas-fuzz.md +117 -0
  68. evol_dd-0.1.0/.agent/workflows/pruebas-humo.md +111 -0
  69. evol_dd-0.1.0/.agent/workflows/qa-review.md +84 -0
  70. evol_dd-0.1.0/.agent/workflows/qa.md +22 -0
  71. evol_dd-0.1.0/.agent/workflows/refactor-area.md +80 -0
  72. evol_dd-0.1.0/.agent/workflows/release-cut.md +58 -0
  73. evol_dd-0.1.0/.agent/workflows/release.md +21 -0
  74. evol_dd-0.1.0/.agent/workflows/research.md +62 -0
  75. evol_dd-0.1.0/.agent/workflows/researcher.md +38 -0
  76. evol_dd-0.1.0/.agent/workflows/reviewer.md +21 -0
  77. evol_dd-0.1.0/.agent/workflows/rollback.md +121 -0
  78. evol_dd-0.1.0/.agent/workflows/sec.md +21 -0
  79. evol_dd-0.1.0/.agent/workflows/secure-isolation-ops.md +72 -0
  80. evol_dd-0.1.0/.agent/workflows/security-audit.md +84 -0
  81. evol_dd-0.1.0/.agent/workflows/skill-template-generator.md +84 -0
  82. evol_dd-0.1.0/.agent/workflows/stress-test.md +77 -0
  83. evol_dd-0.1.0/.agent/workflows/technical-documentation.md +86 -0
  84. evol_dd-0.1.0/.agent/workflows/ux-discovery.md +52 -0
  85. evol_dd-0.1.0/.agent/workflows/ux.md +22 -0
  86. evol_dd-0.1.0/.claude/skills/gitnexus/gitnexus-cli/SKILL.md +83 -0
  87. evol_dd-0.1.0/.claude/skills/gitnexus/gitnexus-debugging/SKILL.md +89 -0
  88. evol_dd-0.1.0/.claude/skills/gitnexus/gitnexus-exploring/SKILL.md +78 -0
  89. evol_dd-0.1.0/.claude/skills/gitnexus/gitnexus-guide/SKILL.md +64 -0
  90. evol_dd-0.1.0/.claude/skills/gitnexus/gitnexus-impact-analysis/SKILL.md +97 -0
  91. evol_dd-0.1.0/.claude/skills/gitnexus/gitnexus-refactoring/SKILL.md +121 -0
  92. evol_dd-0.1.0/.github/workflows/ci.yml +178 -0
  93. evol_dd-0.1.0/.gitignore +86 -0
  94. evol_dd-0.1.0/AGENTS.md +142 -0
  95. evol_dd-0.1.0/AGENT_MEMORY.md +26 -0
  96. evol_dd-0.1.0/CHANGELOG.md +52 -0
  97. evol_dd-0.1.0/CLAUDE.md +169 -0
  98. evol_dd-0.1.0/CODE_OF_CONDUCT.md +48 -0
  99. evol_dd-0.1.0/CONTRIBUTING.md +81 -0
  100. evol_dd-0.1.0/INSTALL.md +89 -0
  101. evol_dd-0.1.0/LICENSE +21 -0
  102. evol_dd-0.1.0/PKG-INFO +199 -0
  103. evol_dd-0.1.0/PROMPT.md +1611 -0
  104. evol_dd-0.1.0/README.md +175 -0
  105. evol_dd-0.1.0/SECURITY.md +55 -0
  106. evol_dd-0.1.0/VERSION +1 -0
  107. evol_dd-0.1.0/WORKING-CONTEXT.md +46 -0
  108. evol_dd-0.1.0/api/.gitkeep +0 -0
  109. evol_dd-0.1.0/api/README.md +3 -0
  110. evol_dd-0.1.0/assets/.gitkeep +0 -0
  111. evol_dd-0.1.0/assets/README.md +3 -0
  112. evol_dd-0.1.0/design/.gitkeep +0 -0
  113. evol_dd-0.1.0/design/README.md +3 -0
  114. evol_dd-0.1.0/docs/.gitkeep +0 -0
  115. evol_dd-0.1.0/docs/CONFIG.md +121 -0
  116. evol_dd-0.1.0/docs/DOC_STANDARD.md +51 -0
  117. evol_dd-0.1.0/docs/GATE.md +88 -0
  118. evol_dd-0.1.0/docs/IDE_SETUP.md +367 -0
  119. evol_dd-0.1.0/docs/README.md +37 -0
  120. evol_dd-0.1.0/docs/RETROFIT_GUIDE.md +224 -0
  121. evol_dd-0.1.0/docs/SECURITY_PERMISSIONS.md +68 -0
  122. evol_dd-0.1.0/docs/X-DD_Integration_Guide.md +121 -0
  123. evol_dd-0.1.0/docs/api/API_GUIDE.md +270 -0
  124. evol_dd-0.1.0/docs/api/openapi.yaml +5 -0
  125. evol_dd-0.1.0/docs/arquitectura/ARQUITECTURA.md +490 -0
  126. evol_dd-0.1.0/docs/arquitectura/DECISIONES.md +199 -0
  127. evol_dd-0.1.0/docs/arquitectura/DOMINIO.md +409 -0
  128. evol_dd-0.1.0/docs/arquitectura/adr/ADR-0001.md +14 -0
  129. evol_dd-0.1.0/docs/constitucion.md +155 -0
  130. evol_dd-0.1.0/docs/diagramas/componentes.md +159 -0
  131. evol_dd-0.1.0/docs/diagramas/despliegue.md +87 -0
  132. evol_dd-0.1.0/docs/diagramas/flujo-datos.md +145 -0
  133. evol_dd-0.1.0/docs/equipo.md +30 -0
  134. evol_dd-0.1.0/docs/gitnexus-optin.md +136 -0
  135. evol_dd-0.1.0/docs/guias/CONTRIBUCION.md +395 -0
  136. evol_dd-0.1.0/docs/guias/ONBOARDING.md +419 -0
  137. evol_dd-0.1.0/docs/guias/TROUBLESHOOTING.md +526 -0
  138. evol_dd-0.1.0/docs/modos.md +44 -0
  139. evol_dd-0.1.0/docs/operaciones/DR_PLAN.md +242 -0
  140. evol_dd-0.1.0/docs/operaciones/MONITORING.md +115 -0
  141. evol_dd-0.1.0/docs/operaciones/RELEASE_PROCESS.md +134 -0
  142. evol_dd-0.1.0/docs/operaciones/RUNBOOK.md +282 -0
  143. evol_dd-0.1.0/docs/operaciones/TAG_STRATEGY.md +62 -0
  144. evol_dd-0.1.0/docs/profiles/README.md +64 -0
  145. evol_dd-0.1.0/docs/qa/CASOS_BORDE.md +210 -0
  146. evol_dd-0.1.0/docs/qa/CASOS_GHERKIN.md +666 -0
  147. evol_dd-0.1.0/docs/qa/CHECKLIST_RELEASE.md +144 -0
  148. evol_dd-0.1.0/docs/qa/MATRIZ_TRAZABILIDAD.md +84 -0
  149. evol_dd-0.1.0/docs/qa/PLAN_QA.md +529 -0
  150. evol_dd-0.1.0/docs/qa/REPORTE_QA.md +138 -0
  151. evol_dd-0.1.0/docs/requisitos/FUNCIONALES.md +400 -0
  152. evol_dd-0.1.0/docs/requisitos/GLOSARIO.md +449 -0
  153. evol_dd-0.1.0/docs/requisitos/NO_FUNCIONALES.md +487 -0
  154. evol_dd-0.1.0/docs/requisitos/RESTRICCIONES.md +234 -0
  155. evol_dd-0.1.0/docs/seguridad/PRIVACY.md +85 -0
  156. evol_dd-0.1.0/docs/seguridad/SECURITY_CONTROLS.md +55 -0
  157. evol_dd-0.1.0/docs/seguridad/THREATS.md +159 -0
  158. evol_dd-0.1.0/docs/usuario/FAQ.md +7 -0
  159. evol_dd-0.1.0/docs/usuario/MANUAL_USUARIO.md +241 -0
  160. evol_dd-0.1.0/evals/.gitkeep +0 -0
  161. evol_dd-0.1.0/evals/agent-eval/cases.jsonl +5 -0
  162. evol_dd-0.1.0/evals/agent-eval/grader.yaml +16 -0
  163. evol_dd-0.1.0/evals/evol-ai-review/cases.jsonl +5 -0
  164. evol_dd-0.1.0/evals/evol-ai-review/grader.yaml +16 -0
  165. evol_dd-0.1.0/evals/evol-compact/cases.jsonl +5 -0
  166. evol_dd-0.1.0/evals/evol-compact/grader.yaml +16 -0
  167. evol_dd-0.1.0/evals/evol-fs-context/cases.jsonl +5 -0
  168. evol_dd-0.1.0/evals/evol-fs-context/grader.yaml +16 -0
  169. evol_dd-0.1.0/evals/evol-sandbox/cases.jsonl +5 -0
  170. evol_dd-0.1.0/evals/evol-sandbox/grader.yaml +16 -0
  171. evol_dd-0.1.0/evals/evol-skill-manager/cases.jsonl +5 -0
  172. evol_dd-0.1.0/evals/evol-skill-manager/grader.yaml +16 -0
  173. evol_dd-0.1.0/evals/evol-talk-compact/cases.jsonl +5 -0
  174. evol_dd-0.1.0/evals/evol-talk-compact/grader.yaml +16 -0
  175. evol_dd-0.1.0/evol.config.yml +53 -0
  176. evol_dd-0.1.0/evol.profile.yml +9 -0
  177. evol_dd-0.1.0/idea/.gitkeep +0 -0
  178. evol_dd-0.1.0/idea/README.md +3 -0
  179. evol_dd-0.1.0/lecciones.md +165 -0
  180. evol_dd-0.1.0/manifests/install-components.json +3 -0
  181. evol_dd-0.1.0/manifests/install-modules.json +166 -0
  182. evol_dd-0.1.0/manifests/install-profiles.json +81 -0
  183. evol_dd-0.1.0/memoria.md +125 -0
  184. evol_dd-0.1.0/memory/.gitkeep +0 -0
  185. evol_dd-0.1.0/prompts/agents/core/evol-agent-factory.md +71 -0
  186. evol_dd-0.1.0/prompts/agents/core/evol-analyst.md +38 -0
  187. evol_dd-0.1.0/prompts/agents/core/evol-architect.md +38 -0
  188. evol_dd-0.1.0/prompts/agents/core/evol-builder.md +41 -0
  189. evol_dd-0.1.0/prompts/agents/core/evol-data.md +28 -0
  190. evol_dd-0.1.0/prompts/agents/core/evol-devops.md +40 -0
  191. evol_dd-0.1.0/prompts/agents/core/evol-doc.md +53 -0
  192. evol_dd-0.1.0/prompts/agents/core/evol-domain.md +33 -0
  193. evol_dd-0.1.0/prompts/agents/core/evol-orchestrator.md +61 -0
  194. evol_dd-0.1.0/prompts/agents/core/evol-pm.md +47 -0
  195. evol_dd-0.1.0/prompts/agents/core/evol-qa.md +45 -0
  196. evol_dd-0.1.0/prompts/agents/core/evol-release.md +47 -0
  197. evol_dd-0.1.0/prompts/agents/core/evol-researcher.md +59 -0
  198. evol_dd-0.1.0/prompts/agents/core/evol-reviewer.md +34 -0
  199. evol_dd-0.1.0/prompts/agents/core/evol-sec.md +43 -0
  200. evol_dd-0.1.0/prompts/agents/core/evol-ux.md +34 -0
  201. evol_dd-0.1.0/prompts/agents/ephemeral/.gitkeep +0 -0
  202. evol_dd-0.1.0/prompts/agents/registry.json +240 -0
  203. evol_dd-0.1.0/prompts/agents/registry.schema.json +129 -0
  204. evol_dd-0.1.0/prompts/orchestrator/personas/.gitkeep +0 -0
  205. evol_dd-0.1.0/prompts/workflows/.gitkeep +0 -0
  206. evol_dd-0.1.0/pyproject.toml +75 -0
  207. evol_dd-0.1.0/requirements-dev.txt +1 -0
  208. evol_dd-0.1.0/schemas/.gitkeep +0 -0
  209. evol_dd-0.1.0/schemas/agent-manifest.schema.json +264 -0
  210. evol_dd-0.1.0/scripts/_evol_common.py +138 -0
  211. evol_dd-0.1.0/scripts/_generate_equipo.py +35 -0
  212. evol_dd-0.1.0/scripts/bump-version.py +30 -0
  213. evol_dd-0.1.0/scripts/evol-adapt.sh +211 -0
  214. evol_dd-0.1.0/scripts/evol-agent-lifecycle.py +318 -0
  215. evol_dd-0.1.0/scripts/evol-brand.sh +93 -0
  216. evol_dd-0.1.0/scripts/evol-doctor.sh +421 -0
  217. evol_dd-0.1.0/scripts/evol-eval.py +540 -0
  218. evol_dd-0.1.0/scripts/evol-evolve.py +471 -0
  219. evol_dd-0.1.0/scripts/evol-flow.py +53 -0
  220. evol_dd-0.1.0/scripts/evol-gate.py +244 -0
  221. evol_dd-0.1.0/scripts/evol-global-install.sh +143 -0
  222. evol_dd-0.1.0/scripts/evol-init.sh +315 -0
  223. evol_dd-0.1.0/scripts/evol-lessons.py +449 -0
  224. evol_dd-0.1.0/scripts/evol-memory.py +205 -0
  225. evol_dd-0.1.0/scripts/evol-orchestrate.py +8 -0
  226. evol_dd-0.1.0/scripts/evol-profile.py +316 -0
  227. evol_dd-0.1.0/scripts/evol-provider.py +67 -0
  228. evol_dd-0.1.0/scripts/evol-researcher.py +184 -0
  229. evol_dd-0.1.0/scripts/evol-shield.py +271 -0
  230. evol_dd-0.1.0/scripts/evol-start.sh +21 -0
  231. evol_dd-0.1.0/scripts/evol-state.py +226 -0
  232. evol_dd-0.1.0/scripts/evol-update.py +236 -0
  233. evol_dd-0.1.0/scripts/generate-equipo.sh +20 -0
  234. evol_dd-0.1.0/scripts/lint-workflows.sh +31 -0
  235. evol_dd-0.1.0/scripts/validate-registry.py +116 -0
  236. evol_dd-0.1.0/skills/agent-eval/.gitkeep +0 -0
  237. evol_dd-0.1.0/skills/agent-eval/SKILL.md +50 -0
  238. evol_dd-0.1.0/skills/crear-agente/SKILL.md +190 -0
  239. evol_dd-0.1.0/skills/crear-agente/evals/evals.json +82 -0
  240. evol_dd-0.1.0/skills/crear-agente/evals/trigger_evals.json +22 -0
  241. evol_dd-0.1.0/skills/crear-agente/evals/workspace/iter-1/eval-1-legal-saas/baseline/agent.md +382 -0
  242. evol_dd-0.1.0/skills/crear-agente/evals/workspace/iter-1/eval-1-legal-saas/with_skill/specialized-legal-saas-reviewer.md +90 -0
  243. evol_dd-0.1.0/skills/crear-agente/evals/workspace/iter-1/eval-2-a11y-efimero/baseline/agent.md +147 -0
  244. evol_dd-0.1.0/skills/crear-agente/evals/workspace/iter-1/eval-2-a11y-efimero/with_skill/2026-06-02-wcag-auditor.md +126 -0
  245. evol_dd-0.1.0/skills/crear-agente/evals/workspace/iter-1/eval-3-data-engineer/baseline/agent.md +455 -0
  246. evol_dd-0.1.0/skills/crear-agente/evals/workspace/iter-1/eval-3-data-engineer/with_skill/engineering-data-engineer-ecommerce.md +121 -0
  247. evol_dd-0.1.0/skills/crear-agente/references/agent-template-spec.md +80 -0
  248. evol_dd-0.1.0/skills/crear-agente/references/categorias.md +32 -0
  249. evol_dd-0.1.0/skills/crear-agente/references/ejemplos.md +76 -0
  250. evol_dd-0.1.0/skills/crear-agente/scripts/validate_agent.py +98 -0
  251. evol_dd-0.1.0/skills/crear-skill/SKILL.md +122 -0
  252. evol_dd-0.1.0/skills/evol-ai-review/.gitkeep +0 -0
  253. evol_dd-0.1.0/skills/evol-ai-review/SKILL.md +37 -0
  254. evol_dd-0.1.0/skills/evol-compact/.gitkeep +0 -0
  255. evol_dd-0.1.0/skills/evol-compact/SKILL.md +33 -0
  256. evol_dd-0.1.0/skills/evol-fs-context/.gitkeep +0 -0
  257. evol_dd-0.1.0/skills/evol-fs-context/SKILL.md +32 -0
  258. evol_dd-0.1.0/skills/evol-sandbox/.gitkeep +0 -0
  259. evol_dd-0.1.0/skills/evol-sandbox/SKILL.md +40 -0
  260. evol_dd-0.1.0/skills/evol-skill-manager/.gitkeep +0 -0
  261. evol_dd-0.1.0/skills/evol-skill-manager/SKILL.md +47 -0
  262. evol_dd-0.1.0/skills/evol-talk-compact/.gitkeep +0 -0
  263. evol_dd-0.1.0/skills/evol-talk-compact/SKILL.md +31 -0
  264. evol_dd-0.1.0/src/.gitkeep +0 -0
  265. evol_dd-0.1.0/src/README.md +3 -0
  266. evol_dd-0.1.0/src/evol_cli/__init__.py +173 -0
  267. evol_dd-0.1.0/templates/AGENT_MEMORY.template.md +26 -0
  268. evol_dd-0.1.0/templates/agent.template.md +51 -0
  269. evol_dd-0.1.0/templates/evol-dd.PROMPT.template.md +1611 -0
  270. evol_dd-0.1.0/templates/gitignore.template +80 -0
  271. evol_dd-0.1.0/templates/lecciones.template.md +34 -0
  272. evol_dd-0.1.0/templates/memoria.template.md +63 -0
  273. evol_dd-0.1.0/templates/working-context.template.md +9 -0
  274. evol_dd-0.1.0/tests/.gitkeep +0 -0
  275. evol_dd-0.1.0/tests/README.md +3 -0
  276. evol_dd-0.1.0/tests/__init__.py +1 -0
  277. evol_dd-0.1.0/tests/hooks/test_security_hooks.bats +210 -0
  278. evol_dd-0.1.0/tests/test_adapt_trigger_sanitization.bats +54 -0
  279. evol_dd-0.1.0/tests/test_gate.py +101 -0
  280. evol_dd-0.1.0/tests/test_init_idempotent.bats +70 -0
  281. evol_dd-0.1.0/tests/test_state.py +123 -0
@@ -0,0 +1,78 @@
1
+ {
2
+ "version": "1.0",
3
+ "profiles": {
4
+ "minimal": [
5
+ {
6
+ "id": "post:edit:mempalace-index",
7
+ "event": "PostToolUse",
8
+ "enabled": true,
9
+ "script": "post-edit-mempalace-index.sh",
10
+ "trigger": "edit"
11
+ }
12
+ ],
13
+ "standard": [
14
+ {
15
+ "id": "pre:bash:dangerous-command",
16
+ "event": "PreToolUse",
17
+ "enabled": true,
18
+ "script": "pre-bash-dangerous-command.sh",
19
+ "trigger": "bash"
20
+ },
21
+ {
22
+ "id": "pre:write:doc-file-warning",
23
+ "event": "PreToolUse",
24
+ "enabled": true,
25
+ "script": "pre-write-doc-file-warning.sh",
26
+ "trigger": "write"
27
+ },
28
+ {
29
+ "id": "post:bash:pr-logger",
30
+ "event": "PostToolUse",
31
+ "enabled": true,
32
+ "script": "post-bash-pr-logger.sh",
33
+ "trigger": "bash"
34
+ },
35
+ {
36
+ "id": "post:write:auto-organize",
37
+ "event": "PostToolUse",
38
+ "enabled": true,
39
+ "script": "post-write-auto-organize.sh",
40
+ "trigger": "write"
41
+ },
42
+ {
43
+ "id": "session:start:context-load",
44
+ "event": "SessionStart",
45
+ "enabled": true,
46
+ "script": "session-start-context-load.sh"
47
+ },
48
+ {
49
+ "id": "stop:git-check",
50
+ "event": "Stop",
51
+ "enabled": true,
52
+ "script": "stop-git-check.sh"
53
+ }
54
+ ],
55
+ "strict": [
56
+ {
57
+ "id": "pre:edit:config-protection",
58
+ "event": "PreToolUse",
59
+ "enabled": true,
60
+ "script": "pre-edit-config-protection.sh",
61
+ "trigger": "edit"
62
+ },
63
+ {
64
+ "id": "pre:tool:temporal-awareness",
65
+ "event": "PreToolUse",
66
+ "enabled": true,
67
+ "script": "pre-tool-temporal-awareness.sh"
68
+ },
69
+ {
70
+ "id": "stop:pattern-extraction",
71
+ "event": "Stop",
72
+ "enabled": true,
73
+ "script": "stop-pattern-extraction.sh"
74
+ }
75
+ ]
76
+ },
77
+ "default_profile": "standard"
78
+ }
File without changes
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env bash
2
+ # PostToolUse hook: Log PR URL after gh pr create
3
+
4
+ OUTPUT="$1"
5
+ if echo "$OUTPUT" | grep -q "github.com.*pull/"; then
6
+ URL=$(echo "$OUTPUT" | grep -oE "https://github.com/[^ ]+/pull/[0-9]+" | head -1)
7
+ echo "[HOOK] PR Created: $URL"
8
+ fi
9
+ exit 0
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env bash
2
+ # PostToolUse hook: Re-index MemPalace (async)
3
+
4
+ if command -v mempalace >/dev/null 2>&1; then
5
+ (mempalace index --wing evol-dd --path . 2>/dev/null || true) &
6
+ fi
7
+ exit 0
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env bash
2
+ # PostToolUse hook: Move docs to canonical paths
3
+
4
+ DEST="$1"
5
+ if [ -f "$DEST" ]; then
6
+ case "$DEST" in
7
+ *architecture*.md) [ ! -d "docs/arquitectura" ] && mkdir -p "docs/arquitectura" ;;
8
+ *requisitos*.md) [ ! -d "docs/requisitos" ] && mkdir -p "docs/requisitos" ;;
9
+ *qa*.md|*test*.md) [ ! -d "docs/qa" ] && mkdir -p "docs/qa" ;;
10
+ *seguridad*.md|*security*.md) [ ! -d "docs/seguridad" ] && mkdir -p "docs/seguridad" ;;
11
+ esac
12
+ fi
13
+ exit 0
@@ -0,0 +1,105 @@
1
+ #!/usr/bin/env bash
2
+ # PreToolUse hook: Block dangerous commands
3
+ # Exit 0 = allow, Exit 2 = block
4
+
5
+ set -euo pipefail
6
+
7
+ INPUT=$(cat)
8
+ COMMAND="$INPUT"
9
+
10
+ # Try parse JSON if available (Claude Code passes structured input)
11
+ if echo "$INPUT" | grep -q '^{'; then
12
+ COMMAND=$(echo "$INPUT" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('command','') or d.get('prompt','') or '')" 2>/dev/null || echo "$INPUT")
13
+ fi
14
+
15
+ # Logging without secrets
16
+ log_blocked() {
17
+ local reason="$1"
18
+ local hook_log="${HOOK_LOG:-.agent/hooks/.hook-blocked.log}"
19
+ echo "[$(date -u +%Y-%m-%dT%H:%M:%SZ)] BLOCKED: $reason" >> "$hook_log" 2>/dev/null || true
20
+ }
21
+
22
+ BLOCKED=0
23
+
24
+ # Block: rm -rf on root
25
+ if echo "$COMMAND" | grep -qE 'rm[[:space:]]+-rf[[:space:]]+/?$'; then
26
+ echo "[evol-hook] BLOQUEADO: rm -rf /" >&2
27
+ log_blocked "rm -rf /"
28
+ BLOCKED=1
29
+ fi
30
+
31
+ # Block: rm -rf on home directory
32
+ if echo "$COMMAND" | grep -qE 'rm[[:space:]]+-rf[[:space:]]+~'; then
33
+ echo "[evol-hook] BLOQUEADO: rm -rf ~" >&2
34
+ log_blocked "rm -rf ~"
35
+ BLOCKED=1
36
+ fi
37
+
38
+ # Block: rm -rf on protected system directories
39
+ if echo "$COMMAND" | grep -qE 'rm[[:space:]]+-rf[[:space:]]+(--[[:space:]]+)?/(etc|usr|bin|sbin|lib|boot|root|var|opt|dev|sys)'; then
40
+ echo "[evol-hook] BLOQUEADO: rm -rf sobre directorio de sistema" >&2
41
+ log_blocked "rm -rf /etc|/usr|/bin|..."
42
+ BLOCKED=1
43
+ fi
44
+
45
+ # Block: dd if= (disk dump)
46
+ if echo "$COMMAND" | grep -qE 'dd[[:space:]]+if='; then
47
+ echo "[evol-hook] BLOQUEADO: dd if= (operacion de disco cruda)" >&2
48
+ log_blocked "dd if="
49
+ BLOCKED=1
50
+ fi
51
+
52
+ # Block: mkfs (filesystem creation)
53
+ if echo "$COMMAND" | grep -qE 'mkfs'; then
54
+ echo "[evol-hook] BLOQUEADO: mkfs (creacion de filesystem)" >&2
55
+ log_blocked "mkfs"
56
+ BLOCKED=1
57
+ fi
58
+
59
+ # Block: chmod -R 777
60
+ if echo "$COMMAND" | grep -qE 'chmod[[:space:]]+(-R[[:space:]]+|-R )?777'; then
61
+ echo "[evol-hook] BLOQUEADO: chmod 777 o chmod -R 777" >&2
62
+ log_blocked "chmod 777"
63
+ BLOCKED=1
64
+ fi
65
+
66
+ # Block: curl | sh / wget | sh
67
+ if echo "$COMMAND" | grep -qE '(curl|wget)[[:space:]].*[|][[:space:]]*(ba)?sh'; then
68
+ echo "[evol-hook] BLOQUEADO: curl/wget pipe a shell" >&2
69
+ log_blocked "curl|wget | sh"
70
+ BLOCKED=1
71
+ fi
72
+
73
+ # Block: bash <(curl ...)
74
+ if echo "$COMMAND" | grep -qE 'bash[[:space:]]*<[[:space:]]*\((curl|wget)'; then
75
+ echo "[evol-hook] BLOQUEADO: process substitution con curl/wget" >&2
76
+ log_blocked "bash <(curl...)"
77
+ BLOCKED=1
78
+ fi
79
+
80
+ # Block: sudo without authorized context
81
+ if echo "$COMMAND" | grep -qE '^sudo[[:space:]]' && [ -z "${EVOL_SUDO_AUTHORIZED:-}" ]; then
82
+ echo "[evol-hook] BLOQUEADO: sudo sin autorizacion explicita (EVOL_SUDO_AUTHORIZED no esta definido)" >&2
83
+ log_blocked "sudo without EVOL_SUDO_AUTHORIZED"
84
+ BLOCKED=1
85
+ fi
86
+
87
+ # Block: git push --force / --force-with-lease to protected branches
88
+ PROTECTED_BRANCHES="main|master|develop"
89
+ if echo "$COMMAND" | grep -qE "git[[:space:]]+push[[:space:]].*(--force-with-lease|--force-with-lease=.*)[[:space:]].*($PROTECTED_BRANCHES)"; then
90
+ echo "[evol-hook] BLOQUEADO: git push --force-with-lease a rama protegida" >&2
91
+ log_blocked "git push --force-with-lease"
92
+ BLOCKED=1
93
+ fi
94
+
95
+ if echo "$COMMAND" | grep -qE "git[[:space:]]+push[[:space:]].*(-f|--force)[[:space:]].*($PROTECTED_BRANCHES)"; then
96
+ echo "[evol-hook] BLOQUEADO: git push --force a rama protegida" >&2
97
+ log_blocked "git push --force"
98
+ BLOCKED=1
99
+ fi
100
+
101
+ if [ "$BLOCKED" -eq 1 ]; then
102
+ exit 2
103
+ fi
104
+
105
+ exit 0
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env bash
2
+ # Pre-commit hook: Enforce GitFlow branch naming
3
+
4
+ BRANCH=$(git symbolic-ref --short HEAD 2>/dev/null || echo "")
5
+
6
+ if [ "$BRANCH" = "main" ] || [ "$BRANCH" = "develop" ]; then
7
+ exit 0
8
+ fi
9
+
10
+ ALLOWED='^(feature/|fix/|hotfix/|release/|chore/|docs/|refactor/)'
11
+ if ! [[ "$BRANCH" =~ $ALLOWED ]]; then
12
+ echo "[HOOK] BLOCKED: Branch '$BRANCH' does not follow GitFlow convention"
13
+ echo "[HOOK] Allowed: feature/*, fix/*, hotfix/*, release/*, chore/*, docs/*, refactor/*"
14
+ exit 1
15
+ fi
16
+
17
+ # Check conventional commits
18
+ if [ -f ".git/COMMIT_EDITMSG" ]; then
19
+ MSG=$(head -1 .git/COMMIT_EDITMSG)
20
+ if ! [[ "$MSG" =~ ^(feat|fix|docs|style|refactor|test|chore|perf|ci|build|revert) ]]; then
21
+ echo "[HOOK] WARN: Commit message should follow Conventional Commits"
22
+ fi
23
+ fi
24
+
25
+ exit 0
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env bash
2
+ # PreToolUse hook: Block governance file edits without evol-gate approval
3
+ # Exit 0 = allow, Exit 2 = block
4
+
5
+ set -euo pipefail
6
+
7
+ HOOK_LOG="${HOOK_LOG:-.agent/hooks/.hook-blocked.log}"
8
+ GATE_LOG=".evol/.gate-log.jsonl"
9
+
10
+ log_blocked() {
11
+ local reason="$1"
12
+ echo "[$(date -u +%Y-%m-%dT%H:%M:%SZ)] BLOCKED: $reason" >> "$HOOK_LOG" 2>/dev/null || true
13
+ }
14
+
15
+ PROTECTED_FILES="constitucion.md gates.md hooks.json .gate-key .gate-log.jsonl"
16
+ PROTECTED_PATTERNS="constitucion.md gates.md hooks.json"
17
+
18
+ # Check if evol-gate approve was run recently (within 1 hour)
19
+ check_gate_approval() {
20
+ if [ ! -f "$GATE_LOG" ]; then
21
+ return 1
22
+ fi
23
+ local last_approve
24
+ last_approve=$(grep -c '"phase"' "$GATE_LOG" 2>/dev/null || echo "0")
25
+ if [ "$last_approve" -gt 0 ]; then
26
+ return 0
27
+ fi
28
+ return 1
29
+ }
30
+
31
+ GATE_APPROVED=0
32
+ if check_gate_approval; then
33
+ GATE_APPROVED=1
34
+ fi
35
+
36
+ BLOCKED=0
37
+ for pattern in $PROTECTED_PATTERNS; do
38
+ if [[ "$1" == *"$pattern"* ]]; then
39
+ if [ "$GATE_APPROVED" -eq 1 ]; then
40
+ echo "[evol-hook] WARN: editing governance file: $pattern (gate approved)" >&2
41
+ else
42
+ echo "[evol-hook] BLOQUEADO: edicion de archivo de gobernanza '$pattern' requiere evol-gate approve" >&2
43
+ log_blocked "governance-edit:$pattern without gate"
44
+ BLOCKED=1
45
+ fi
46
+ fi
47
+ done
48
+
49
+ if [ "$BLOCKED" -eq 1 ]; then
50
+ exit 2
51
+ fi
52
+
53
+ exit 0
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ # PreToolUse hook: Inject sprint context
3
+
4
+ SPRINT_FILE=".sprint-active"
5
+ if [ -f "$SPRINT_FILE" ]; then
6
+ echo "[HOOK] Active Sprint: $(cat "$SPRINT_FILE")"
7
+ fi
8
+ exit 0
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env bash
2
+ # PreToolUse hook: Warn if doc file outside canonical paths
3
+
4
+ DEST="$1"
5
+ CANONICAL_DOCS="docs/ .claude/ .opencode/ AGENTS.md CLAUDE.md memoria.md"
6
+
7
+ if [[ "$DEST" =~ \.md$ ]]; then
8
+ IN_CANONICAL=false
9
+ for path in $CANONICAL_DOCS; do
10
+ if [[ "$DEST" == "$path"* ]]; then
11
+ IN_CANONICAL=true
12
+ break
13
+ fi
14
+ done
15
+ if [ "$IN_CANONICAL" = false ]; then
16
+ echo "[HOOK] WARN: Writing .md outside canonical paths: $DEST"
17
+ fi
18
+ fi
19
+ exit 0
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env bash
2
+ # SessionStart hook: Load memoria.md and WORKING-CONTEXT
3
+
4
+ echo "=== Working Context ==="
5
+
6
+ if [ -f "memoria.md" ]; then
7
+ echo "--- memoria.md ---"
8
+ head -30 memoria.md
9
+ fi
10
+
11
+ if [ -f "WORKING-CONTEXT.md" ]; then
12
+ echo "--- WORKING-CONTEXT.md ---"
13
+ cat WORKING-CONTEXT.md
14
+ fi
15
+
16
+ echo "==================="
17
+ exit 0
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+ # Hook: session:start:reme-load — carga MEMORY.md + journal anterior via evol-memory.py nativo.
3
+ # Perfil: minimal+. Requiere EVOL_MEMORY=1. Sin dependencias externas.
4
+ # No-op si EVOL_MEMORY != 1. Exit 0 siempre.
5
+ set -eu
6
+
7
+ if [ "${EVOL_MEMORY:-0}" != "1" ]; then
8
+ exit 0
9
+ fi
10
+
11
+ SCRIPTS_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/../../.." && pwd )/scripts"
12
+ PROJECT_DIR="${PWD}"
13
+
14
+ if [ ! -f "$SCRIPTS_DIR/evol-memory.py" ]; then
15
+ echo "[evol-memory] WARN: evol-memory.py no encontrado en $SCRIPTS_DIR" >&2
16
+ exit 0
17
+ fi
18
+
19
+ python3 "$SCRIPTS_DIR/evol-memory.py" --project "$PROJECT_DIR" load
20
+ exit 0
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env bash
2
+ # Stop hook: Warn if uncommitted changes
3
+
4
+ if [ -d ".git" ]; then
5
+ UNCOMMITTED=$(git status --porcelain 2>/dev/null | wc -l)
6
+ if [ "$UNCOMMITTED" -gt 0 ]; then
7
+ echo "[HOOK] WARN: $UNCOMMITTED uncommitted changes"
8
+ echo "[HOOK] Run: git add . && git commit -m '...'"
9
+ fi
10
+ fi
11
+ exit 0
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env bash
2
+ # Stop hook: Extract patterns for instincts
3
+
4
+ if command -v python3 >/dev/null 2>&1; then
5
+ if [ -f "scripts/evol-state.py" ]; then
6
+ python3 scripts/evol-state.py record-instinct \
7
+ --pattern "session_pattern" \
8
+ --context "auto-extracted" \
9
+ --confidence 0.3 \
10
+ --source "stop-hook" 2>/dev/null || true
11
+ fi
12
+ fi
13
+ exit 0
@@ -0,0 +1,36 @@
1
+ #!/bin/bash
2
+ # Hook: stop:reme-summary — persiste sesion en memory/YYYY-MM-DD.md via evol-memory.py nativo.
3
+ # Perfil: minimal+. Requiere EVOL_MEMORY=1. Sin dependencias externas.
4
+ # No-op si EVOL_MEMORY != 1. Exit 0 siempre (no bloquea cierre de sesion).
5
+ set -eu
6
+
7
+ if [ "${EVOL_MEMORY:-0}" != "1" ]; then
8
+ exit 0
9
+ fi
10
+
11
+ SCRIPTS_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/../../.." && pwd )/scripts"
12
+ PROJECT_DIR="${PWD}"
13
+
14
+ if [ ! -f "$SCRIPTS_DIR/evol-memory.py" ]; then
15
+ echo "[evol-memory] WARN: evol-memory.py no encontrado" >&2
16
+ exit 0
17
+ fi
18
+
19
+ # El evento Stop puede proveer JSON de mensajes via stdin — guardarlo en tmp
20
+ TMPFILE=$(mktemp /tmp/evol-memory-XXXXXX.jsonl 2>/dev/null || echo "")
21
+ if [ -n "$TMPFILE" ]; then
22
+ cat > "$TMPFILE" 2>/dev/null || true
23
+ if [ -s "$TMPFILE" ]; then
24
+ python3 "$SCRIPTS_DIR/evol-memory.py" --project "$PROJECT_DIR" summarize --messages "$TMPFILE" &
25
+ else
26
+ python3 "$SCRIPTS_DIR/evol-memory.py" --project "$PROJECT_DIR" summarize &
27
+ fi
28
+ rm -f "$TMPFILE"
29
+ else
30
+ python3 "$SCRIPTS_DIR/evol-memory.py" --project "$PROJECT_DIR" summarize &
31
+ fi
32
+
33
+ # gc de tool_result/ vencidos (async, en background)
34
+ python3 "$SCRIPTS_DIR/evol-memory.py" --project "$PROJECT_DIR" gc &
35
+
36
+ exit 0
File without changes
@@ -0,0 +1,56 @@
1
+ ---
2
+ description: Auditoría de accesibilidad WCAG 2.1 AA. Automatizada en CI + revisión humana de flujos críticos.
3
+ name: a11y-audit
4
+ trigger: /evol a11y-audit
5
+ ---
6
+ # /a11y-audit
7
+
8
+ > **Estandar de documentacion:** Todo artefacto que produzca este workflow cumple
9
+ > [`docs/DOC_STANDARD.md`](../../docs/DOC_STANDARD.md): sin emojis, diagramas Mermaid
10
+ > obligatorios, tablas para datos estructurados, Gherkin donde aplique, secciones
11
+ > minimas y trazabilidad bidireccional.
12
+ **ID:** FLUJO-A11Y | **Versión:** 1.0 | **Agente:** Frontend-Developer + Accessibility-Auditor
13
+ **Misión:** Producto usable para personas con discapacidad. WCAG 2.1 AA mínimo, AAA donde sea razonable.
14
+
15
+ ## 0. Pre-flight
16
+ - Solo aplica si el producto tiene UI (web, mobile, desktop).
17
+
18
+ ## 1. Cobertura automática (CI)
19
+ <!-- CONFIGURAR: Herramientas. -->
20
+ <!-- - Web: axe-core (Playwright/Cypress), Pa11y, Lighthouse a11y -->
21
+ <!-- - Mobile: Accessibility Scanner (Android), Accessibility Inspector (iOS) -->
22
+ <!-- - Design system: Storybook + axe addon -->
23
+
24
+ Tests automatizados verifican:
25
+ - Contraste de color (4.5:1 texto normal, 3:1 large)
26
+ - Roles ARIA correctos, no abusivos
27
+ - Labels en todos los form controls
28
+ - Foco visible y orden lógico
29
+ - Alternativas de texto en imágenes
30
+
31
+ ## 2. Cobertura manual (no automatizable)
32
+ Revisión humana de flujos críticos (signup, checkout, settings):
33
+ - **Teclado**: navegación 100% con teclado, sin trampas de foco
34
+ - **Lector de pantalla**: VoiceOver (macOS/iOS) + NVDA (Windows) + TalkBack (Android)
35
+ - **Zoom 200%** sin pérdida de contenido ni scroll horizontal
36
+ - **Reduce motion**: respetar `prefers-reduced-motion`
37
+ - **Color**: información no solo por color (probar con simulador daltonismo)
38
+
39
+ ## 3. Componentes
40
+ - Design system con componentes accesibles por construcción.
41
+ - Cada componente nuevo trae tests a11y antes de merge.
42
+ - Documentación de patrones (modales, menús, formularios) sigue ARIA Authoring Practices Guide.
43
+
44
+ ## 4. Contenido
45
+ - Estructura semántica (h1-h6 correctos, landmarks).
46
+ - Idioma declarado (`<html lang>`) — cruzar con `/i18n-setup`.
47
+ - Vídeos con subtítulos, transcripciones de audio.
48
+
49
+ ## 5. CI gate
50
+ - PR bloquea si violación nivel `serious` o `critical`.
51
+ - Violaciones `moderate` permitidas con justificación temporal y issue trackeado.
52
+
53
+ ## 6. Cierre
54
+ - Reporte a `qa-review` Tier 2.
55
+ - Hallazgos críticos a `lecciones.md`.
56
+ - Roadmap de mejoras a11y mantenido (no "lo arreglamos cuando podamos").
@@ -0,0 +1,52 @@
1
+ ---
2
+ description: Crea un Architecture Decision Record numerado en docs/adr/. Formato Nygard.
3
+ name: adr-new
4
+ trigger: /evol adr-new
5
+ ---
6
+ # /adr-new
7
+
8
+ > **Estandar de documentacion:** Todo artefacto que produzca este workflow cumple
9
+ > [`docs/DOC_STANDARD.md`](../../docs/DOC_STANDARD.md): sin emojis, diagramas Mermaid
10
+ > obligatorios, tablas para datos estructurados, Gherkin donde aplique, secciones
11
+ > minimas y trazabilidad bidireccional.
12
+ **ID:** FLUJO-ADR | **Versión:** 1.0 | **Agente:** Software-Architect
13
+ **Misión:** Toda decisión arquitectónica significativa queda capturada con su contexto, alternativas y consecuencias.
14
+
15
+ ## 0. Pre-flight
16
+ - Crea `docs/adr/` si no existe.
17
+ - Calcula el próximo número (`NNNN` = max existente + 1, 4 dígitos).
18
+
19
+ ## 1. Cuándo usar
20
+ Crear ADR cuando:
21
+ - La decisión es difícil de revertir (elección de stack, lenguaje, BD principal).
22
+ - Afecta múltiples componentes o equipos.
23
+ - Resuelve un trade-off no obvio.
24
+ - Reemplaza una decisión previa.
25
+
26
+ NO crear ADR para:
27
+ - Decisiones tácticas reversibles (nombre de variable, lib de fechas).
28
+ - Implementación específica sin alternativas razonables.
29
+
30
+ ## 2. Generación
31
+ Copia `templates/adr.template.md` a `docs/adr/NNNN-<slug-kebab-case>.md` y guía al usuario en rellenar:
32
+ - Contexto (¿qué problema, qué restricciones?)
33
+ - Decisión (imperativa, 1-3 frases)
34
+ - Alternativas consideradas (con pro/contra/por qué descartadas)
35
+ - Consecuencias (positivas, negativas, neutras)
36
+ - Plan de revisión (cuándo y bajo qué señales revisitar)
37
+
38
+ ## 3. Estados
39
+ - `Propuesto` — en discusión.
40
+ - `Aceptado` — vigente.
41
+ - `Reemplazado por ADR-XXXX` — superseded (mantener original, no borrar).
42
+ - `Deprecado` — ya no aplica pero se conserva por trazabilidad.
43
+
44
+ ## 4. Vinculación
45
+ - Si reemplaza ADR previo: actualizar el ADR antiguo a "Reemplazado por ADR-NNNN".
46
+ - Si está relacionado con DOMAIN.md, SPEC.md, THREATS.md: enlazar.
47
+ - Indexar en `docs/adr/README.md` (índice cronológico).
48
+
49
+ ## 5. Cierre
50
+ - Commit con prefijo `docs(adr): NNNN <título>`.
51
+ - MemPalace indexa.
52
+ - Notificar a equipo si decisión impacta a otros componentes.
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: advanced-agentic-pentesting
3
+ description: Workflow advanced-agentic-pentesting
4
+ trigger: /evol advanced-agentic-pentesting
5
+ ---
6
+
7
+ description: Workflow X-DD
8
+
9
+ # /advanced-agentic-pentesting
10
+
11
+ > **Estandar de documentacion:** Todo artefacto que produzca este workflow cumple
12
+ > [`docs/DOC_STANDARD.md`](../../docs/DOC_STANDARD.md): sin emojis, diagramas Mermaid
13
+ > obligatorios, tablas para datos estructurados, Gherkin donde aplique, secciones
14
+ > minimas y trazabilidad bidireccional.
15
+ **ID:** FLUJO-062 | **Versión:** 2.3.0 | **Nivel:** Operativo
16
+ **Módulo Core:** `skill-agentic-sast-reasoning`, `skill-autonomous-exploitation`
17
+
18
+
19
+ ## 0. PRE-FLIGHT: MEMORY SEAL (START)
20
+ - Registro obligatorio en `memoria.md` (Art. 4 Constitución).
21
+ ## 1. MISIÓN DEL FLUJO
22
+ Ejecutar un ciclo de auditoría de seguridad de alta fidelidad basado en el motor de razonamiento de Shannon, combinando el análisis estático de rutas (SAST) con la explotación dinámica autónoma (DAST) para garantizar que los hallazgos son vulnerabilidades reales y explotables (Zero False Positives).
23
+
24
+ ## 2. DIRECTRICES INQUEBRANTABLES
25
+ - **Contextual Reasoning:** No se permite el uso de scanners basados únicamente en firmas o regex. Cada ruta de datos debe ser razonada por un LLM.
26
+ - **POC Mandatory:** Solo se reportan vulnerabilidades que tengan una Prueba de Concepto (POC) generada y validada mediante ejecución activa.
27
+ - **Aislamiento de Entorno:** Toda explotación debe realizarse en entornos controlados (Staging/Isolate) para evitar daños colaterales.
28
+ - **Reachability First:** Antes de alertar sobre una librería vulnerable, se debe verificar si la función vulnerable es realmente alcanzable desde el código de la aplicación.
29
+
30
+ ## 3. DOMINIOS DE CONTROL X-DD
31
+ - **Comandante de Seguridad**: Orquesta las fases de Recon y Ataque.
32
+ - **Red Teamer**: Diseña las hipótesis de explotación basadas en el análisis de código.
33
+
34
+ ## 4. FLUJO OPERATIVO DETALLADO
35
+ 1. **Phase 1: Pre-Recon (Code-Centric)**: Mapeo de superficies de ataque analizando el código fuente. Identificación de Sinks (SQL, Exec, HTML) y Sources (Input, API).
36
+ 2. **Phase 2: Recon (Runtime-Centric)**: Verificación de la existencia de endpoints y formularios mediante Playwright.
37
+ 3. **Phase 3: Agentic SAST (Path Tracing)**: Trazado inverso desde el Sink al Source validando cada paso de sanitización con LLM.
38
+ 4. **Phase 4: Autonomous DAST (Exploitation)**: Ejecución de agentes paralelos de Inyección, XSS, SSRF y Auth para validar hipótesis.
39
+ 5. **Phase 5: Executive Reporting**: Consolidación de evidencias, capturas de pantalla de la explotación y pasos de remediación.
40
+
41
+ ## 5. OBSERVABILIDAD (NDJSON)
42
+ ```json
43
+ {
44
+ "timestamp": "ISO-8601",
45
+ "event": "vulnerability_exploited",
46
+ "data": {
47
+ "cwe": "CWE-89",
48
+ "severity": "CRITICAL",
49
+ "poc_path": "/deliverables/poc_sqli.txt",
50
+ "confidence": 1.0
51
+ }
52
+ }
53
+ ```
54
+
55
+ ---
56
+ Desarrollado por el Centro de Ciberseguridad Avanzada · %X-DD% V1.1.0
57
+
58
+
59
+ ## POST-FLIGHT: MEMORY SEAL (END)
60
+ - Cierre de sesión y persistencia final en `memoria.md`.
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: /evol agent create
3
+ description: Creates ephemeral agents via guided interaction
4
+ trigger: /evol agent create
5
+ category: core
6
+ ---
7
+
8
+ # Evol-Agent-Factory
9
+
10
+ ## Mission
11
+ Create ephemeral agents for specialized tasks.
12
+
13
+ ## Lifecycle
14
+ CREATE -> INVOKE -> RETIRE -> [RECALL]
15
+
16
+ ## Commands
17
+ ```bash
18
+ # Create
19
+ python3 scripts/evol-agent-lifecycle.py create \
20
+ --name "specialist-name" \
21
+ --task "Task description" \
22
+ --expires-after 30
23
+
24
+ # Invoke
25
+ python3 scripts/evol-agent-lifecycle.py invoke specialist-name
26
+
27
+ # Retire
28
+ python3 scripts/evol-agent-lifecycle.py retire specialist-name
29
+
30
+ # Recall
31
+ python3 scripts/evol-agent-lifecycle.py recall specialist-name
32
+ ```
33
+
34
+ ## When Invoked
35
+ - `/evol agent create <name> --task <desc>`
36
+ - Ephemeral agent needed
37
+
38
+ ## Constraints
39
+ - Cannot modify governance files
40
+ - Cannot create other agents
41
+ - Must register decisions in memoria.md