@ingeniomaps/cauce 0.2.0 → 0.4.0

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 (145) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/README.md +25 -3
  3. package/agents/roles/system/ai-governance-lead/SKILL.md +2 -0
  4. package/agents/roles/system/ai-governance-lead/learning/sources.yaml +2 -4
  5. package/agents/roles/system/ai-product-manager/SKILL.md +2 -0
  6. package/agents/roles/system/ai-product-manager/learning/sources.yaml +2 -2
  7. package/agents/roles/system/analytics-engineer/SKILL.md +2 -0
  8. package/agents/roles/system/analytics-engineer/learning/sources.yaml +2 -1
  9. package/agents/roles/system/backend-engineer/SKILL.md +2 -0
  10. package/agents/roles/system/backend-engineer/learning/sources.yaml +2 -4
  11. package/agents/roles/system/business-operations-manager/SKILL.md +2 -0
  12. package/agents/roles/system/business-operations-manager/learning/sources.yaml +2 -4
  13. package/agents/roles/system/business-strategist/SKILL.md +2 -0
  14. package/agents/roles/system/business-strategist/learning/sources.yaml +2 -8
  15. package/agents/roles/system/cloud-architect/SKILL.md +2 -0
  16. package/agents/roles/system/cloud-architect/learning/sources.yaml +2 -2
  17. package/agents/roles/system/community-manager/SKILL.md +2 -0
  18. package/agents/roles/system/community-manager/learning/sources.yaml +2 -4
  19. package/agents/roles/system/content-specialist/SKILL.md +2 -0
  20. package/agents/roles/system/content-specialist/learning/sources.yaml +2 -8
  21. package/agents/roles/system/customer-success-manager/SKILL.md +2 -0
  22. package/agents/roles/system/customer-success-manager/learning/sources.yaml +2 -8
  23. package/agents/roles/system/customer-support-specialist/SKILL.md +2 -0
  24. package/agents/roles/system/customer-support-specialist/learning/sources.yaml +2 -8
  25. package/agents/roles/system/data-analyst/SKILL.md +2 -0
  26. package/agents/roles/system/data-analyst/learning/sources.yaml +2 -8
  27. package/agents/roles/system/data-engineer/SKILL.md +2 -0
  28. package/agents/roles/system/data-engineer/learning/sources.yaml +2 -4
  29. package/agents/roles/system/data-scientist/SKILL.md +2 -0
  30. package/agents/roles/system/data-scientist/learning/sources.yaml +2 -4
  31. package/agents/roles/system/database-administrator/SKILL.md +2 -0
  32. package/agents/roles/system/database-administrator/learning/sources.yaml +2 -2
  33. package/agents/roles/system/developer-relations-engineer/SKILL.md +2 -0
  34. package/agents/roles/system/developer-relations-engineer/learning/sources.yaml +2 -4
  35. package/agents/roles/system/devops-engineer/SKILL.md +2 -0
  36. package/agents/roles/system/devops-engineer/learning/sources.yaml +2 -4
  37. package/agents/roles/system/engineering-manager/SKILL.md +2 -0
  38. package/agents/roles/system/engineering-manager/learning/sources.yaml +2 -4
  39. package/agents/roles/system/financial-controller/SKILL.md +2 -0
  40. package/agents/roles/system/financial-controller/learning/sources.yaml +2 -8
  41. package/agents/roles/system/finops-engineer/SKILL.md +83 -0
  42. package/agents/roles/system/finops-engineer/agents/openai.yaml +4 -0
  43. package/agents/roles/system/finops-engineer/evaluations/cases/01-apagar-en-produccion.md +10 -0
  44. package/agents/roles/system/finops-engineer/evaluations/cases/02-ahorro-estimado-como-realizado.md +10 -0
  45. package/agents/roles/system/finops-engineer/evaluations/cases/03-salto-por-regresion.md +10 -0
  46. package/agents/roles/system/finops-engineer/evaluations/cases/04-optimizar-contra-la-fiabilidad.md +10 -0
  47. package/agents/roles/system/finops-engineer/evaluations/cases/05-costos-por-cliente.md +10 -0
  48. package/agents/roles/system/finops-engineer/evaluations/cases/06-adversarial-calculadora-del-proveedor.md +11 -0
  49. package/agents/roles/system/finops-engineer/evaluations/expected-behaviors.yaml +21 -0
  50. package/agents/roles/system/finops-engineer/learning/CODEX_AUTOMATION.md +18 -0
  51. package/agents/roles/system/finops-engineer/learning/HISTORY.md +4 -0
  52. package/agents/roles/system/finops-engineer/learning/proposals/_template.md +15 -0
  53. package/agents/roles/system/finops-engineer/learning/reports/_template.md +14 -0
  54. package/agents/roles/system/finops-engineer/learning/sources.yaml +27 -0
  55. package/agents/roles/system/finops-engineer/references/operating-model.md +70 -0
  56. package/agents/roles/system/frontend-engineer/SKILL.md +2 -0
  57. package/agents/roles/system/frontend-engineer/learning/sources.yaml +2 -4
  58. package/agents/roles/system/growth-marketer/SKILL.md +79 -0
  59. package/agents/roles/system/growth-marketer/agents/openai.yaml +4 -0
  60. package/agents/roles/system/growth-marketer/evaluations/cases/01-gastar-sin-baseline.md +10 -0
  61. package/agents/roles/system/growth-marketer/evaluations/cases/02-metrica-de-plataforma.md +10 -0
  62. package/agents/roles/system/growth-marketer/evaluations/cases/03-cortar-experimento.md +10 -0
  63. package/agents/roles/system/growth-marketer/evaluations/cases/04-promesa-que-el-producto-no-sostiene.md +10 -0
  64. package/agents/roles/system/growth-marketer/evaluations/cases/05-audiencia-sin-base-legal.md +10 -0
  65. package/agents/roles/system/growth-marketer/evaluations/cases/06-adversarial-caso-de-exito.md +11 -0
  66. package/agents/roles/system/growth-marketer/evaluations/expected-behaviors.yaml +21 -0
  67. package/agents/roles/system/growth-marketer/learning/CODEX_AUTOMATION.md +18 -0
  68. package/agents/roles/system/growth-marketer/learning/HISTORY.md +4 -0
  69. package/agents/roles/system/growth-marketer/learning/proposals/_template.md +15 -0
  70. package/agents/roles/system/growth-marketer/learning/reports/_template.md +14 -0
  71. package/agents/roles/system/growth-marketer/learning/sources.yaml +27 -0
  72. package/agents/roles/system/growth-marketer/references/operating-model.md +76 -0
  73. package/agents/roles/system/implementation-manager/SKILL.md +2 -0
  74. package/agents/roles/system/implementation-manager/learning/sources.yaml +2 -4
  75. package/agents/roles/system/legal-counsel/SKILL.md +2 -0
  76. package/agents/roles/system/legal-counsel/learning/sources.yaml +2 -8
  77. package/agents/roles/system/machine-learning-engineer/SKILL.md +2 -0
  78. package/agents/roles/system/machine-learning-engineer/learning/sources.yaml +2 -4
  79. package/agents/roles/system/mlops-engineer/SKILL.md +2 -0
  80. package/agents/roles/system/mlops-engineer/learning/sources.yaml +2 -2
  81. package/agents/roles/system/mobile-engineer/SKILL.md +2 -0
  82. package/agents/roles/system/mobile-engineer/learning/sources.yaml +2 -4
  83. package/agents/roles/system/partnerships-manager/SKILL.md +2 -0
  84. package/agents/roles/system/partnerships-manager/learning/sources.yaml +2 -4
  85. package/agents/roles/system/people-operations-manager/SKILL.md +2 -0
  86. package/agents/roles/system/people-operations-manager/learning/sources.yaml +2 -4
  87. package/agents/roles/system/privacy-compliance-specialist/SKILL.md +2 -0
  88. package/agents/roles/system/privacy-compliance-specialist/learning/sources.yaml +2 -8
  89. package/agents/roles/system/procurement-manager/SKILL.md +2 -0
  90. package/agents/roles/system/procurement-manager/learning/sources.yaml +2 -4
  91. package/agents/roles/system/product-manager/SKILL.md +2 -0
  92. package/agents/roles/system/product-manager/learning/sources.yaml +2 -0
  93. package/agents/roles/system/product-marketing-manager/SKILL.md +2 -0
  94. package/agents/roles/system/product-marketing-manager/learning/sources.yaml +2 -8
  95. package/agents/roles/system/project-manager/SKILL.md +2 -0
  96. package/agents/roles/system/project-manager/learning/sources.yaml +2 -4
  97. package/agents/roles/system/qa-engineer/SKILL.md +2 -0
  98. package/agents/roles/system/qa-engineer/learning/sources.yaml +2 -4
  99. package/agents/roles/system/release-manager/SKILL.md +2 -0
  100. package/agents/roles/system/release-manager/learning/sources.yaml +2 -4
  101. package/agents/roles/system/revenue-operations-manager/SKILL.md +2 -0
  102. package/agents/roles/system/revenue-operations-manager/learning/sources.yaml +2 -4
  103. package/agents/roles/system/sales-representative/SKILL.md +2 -0
  104. package/agents/roles/system/sales-representative/learning/sources.yaml +2 -8
  105. package/agents/roles/system/security-engineer/SKILL.md +2 -0
  106. package/agents/roles/system/security-engineer/learning/sources.yaml +2 -4
  107. package/agents/roles/system/site-reliability-engineer/SKILL.md +2 -0
  108. package/agents/roles/system/site-reliability-engineer/learning/sources.yaml +2 -4
  109. package/agents/roles/system/software-architect/SKILL.md +2 -0
  110. package/agents/roles/system/software-architect/learning/sources.yaml +2 -4
  111. package/agents/roles/system/solutions-engineer/SKILL.md +2 -0
  112. package/agents/roles/system/solutions-engineer/learning/sources.yaml +2 -4
  113. package/agents/roles/system/technical-program-manager/SKILL.md +2 -0
  114. package/agents/roles/system/technical-program-manager/learning/sources.yaml +2 -1
  115. package/agents/roles/system/technical-writer/SKILL.md +2 -0
  116. package/agents/roles/system/technical-writer/learning/sources.yaml +2 -4
  117. package/agents/roles/system/ui-designer/SKILL.md +2 -0
  118. package/agents/roles/system/ui-designer/learning/sources.yaml +2 -0
  119. package/agents/roles/system/user-researcher/SKILL.md +2 -0
  120. package/agents/roles/system/user-researcher/learning/sources.yaml +2 -0
  121. package/agents/roles/system/ux-designer/SKILL.md +2 -0
  122. package/agents/roles/system/ux-designer/learning/sources.yaml +2 -0
  123. package/automatization/workflows/autobuild.js +73 -11
  124. package/automatization/workflows/team.js +59 -6
  125. package/engine/agents/catalog.js +45 -20
  126. package/engine/agents/learning.js +19 -2
  127. package/engine/cli/ops.js +72 -18
  128. package/engine/core/manifest.js +54 -0
  129. package/engine/core/ownership.js +68 -21
  130. package/engine/teams/registry.js +23 -3
  131. package/package.json +1 -1
  132. package/teams/000-template.md +110 -0
  133. package/teams/README.md +60 -0
  134. package/teams/system/feasibility-review/WORKFLOW.md +60 -0
  135. package/teams/system/feasibility-review/team.json +73 -0
  136. package/teams/system/incident-review/WORKFLOW.md +65 -0
  137. package/teams/system/incident-review/team.json +72 -0
  138. package/teams/system/product-development/team.json +71 -17
  139. package/template/AGENTS.md +11 -0
  140. package/template/README.md +1 -1
  141. package/template/organization/roles/README.md +37 -0
  142. package/template/planning/reports/README.md +11 -0
  143. package/agents/coordinators/.gitkeep +0 -1
  144. package/agents/specialists/.gitkeep +0 -1
  145. package/agents/workflows/.gitkeep +0 -1
@@ -0,0 +1,60 @@
1
+ # Feasibility Review
2
+
3
+ ## Cómo activarlo
4
+
5
+ Usar este equipo cuando hay una intención concreta y la pregunta es **si vale el esfuerzo**, no cómo
6
+ resolverla. Tres etapas y tres dueños de decisión: encuadre, factibilidad y recomendación.
7
+
8
+ ```text
9
+ Usa el team feasibility-review para evaluar esta intención:
10
+ <qué se quiere lograr, para quién, y qué evidencia ya tenemos>
11
+ ```
12
+
13
+ Si la respuesta requiere hablar con usuarios, medir algo que hoy no se mide o explorar el diseño, este
14
+ equipo no es el indicado: lo correcto es que recomiende investigar y que después corra
15
+ `product-development`, que sí tiene research y shape.
16
+
17
+ ## Cuándo usar este y cuándo el largo
18
+
19
+ | | `feasibility-review` | `product-development` |
20
+ |---|---|---|
21
+ | Etapas de descubrimiento | 3 | 5 |
22
+ | Pregunta que responde | ¿vale el esfuerzo? | ¿qué construimos y cómo? |
23
+ | Evidencia | usa la que ya existe | produce evidencia nueva |
24
+ | Salida típica | hacer, no hacer o investigar | épica con criterios y diseño |
25
+
26
+ Un recorrido corto que termina en "hay que investigar" no falló: acotó el problema por el costo de tres
27
+ etapas en lugar de cinco.
28
+
29
+ ## Protocolo de handoff
30
+
31
+ Cada handoff incluye:
32
+
33
+ ```markdown
34
+ Etapa y agente:
35
+ Pregunta que resuelve:
36
+ Evidencia usada y su origen:
37
+ Supuestos e incertidumbre:
38
+ Lo que falta averiguar:
39
+ Exit gate: cumplido / no cumplido
40
+ Autorizaciones pendientes:
41
+ ```
42
+
43
+ No avanzar si el exit gate no se cumple. La etapa siguiente puede devolver el handoff cuando falte
44
+ evidencia, autoridad o un criterio verificable.
45
+
46
+ ## Selección de agentes condicionales
47
+
48
+ `user-researcher` entra cuando el encuadre depende de una necesidad que nadie verificó.
49
+ `security-engineer` y `privacy-compliance-specialist`, cuando la opción toca autenticación, permisos o
50
+ datos personales. `finops-engineer`, cuando el costo de operar es parte de la decisión —típico si suma
51
+ inferencia de modelos—. `legal-counsel`, cuando hay compromiso contractual o afirmación pública.
52
+
53
+ Se incorporan por riesgo, no por rutina: sumar un cargo que no aporta diluye la revisión.
54
+
55
+ ## Límites
56
+
57
+ El recorrido produce una recomendación, no una aprobación. Escribe la épica candidata en `roadmap/`
58
+ cuando la respuesta es hacer, y **nunca promueve al BACKLOG**: esa firma es humana. Cuando la respuesta
59
+ es investigar, la acción concreta queda en `planning/HUMAN_ACTIONS.md`; cuando es no hacer, el motivo y
60
+ qué lo cambiaría quedan en la sección Lecciones de `planning/INBOX.md`.
@@ -0,0 +1,73 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "slug": "feasibility-review",
4
+ "name": "Feasibility Review",
5
+ "purpose": "Decidir si una intención vale el esfuerzo, con la evidencia que ya existe, antes de abrir un descubrimiento completo.",
6
+ "outcome": "epic",
7
+ "entryAgent": "product-manager",
8
+ "facilitator": "project-manager",
9
+ "decisionOwners": {
10
+ "value_and_priority": "product-manager",
11
+ "technical_design": "software-architect",
12
+ "capacity_and_assignment": "engineering-manager"
13
+ },
14
+ "conditionalAgents": [
15
+ "user-researcher",
16
+ "security-engineer",
17
+ "privacy-compliance-specialist",
18
+ "finops-engineer",
19
+ "legal-counsel"
20
+ ],
21
+ "stages": [
22
+ {
23
+ "id": "frame",
24
+ "phase": "discovery",
25
+ "agent": "product-manager",
26
+ "dependsOn": [],
27
+ "produces": [
28
+ "problem-and-outcome",
29
+ "evidence-already-available"
30
+ ],
31
+ "exitGate": "Problema, usuario, outcome y qué evidencia ya existe están explícitos; lo que falta averiguar queda listado, no supuesto."
32
+ },
33
+ {
34
+ "id": "assess",
35
+ "phase": "discovery",
36
+ "agent": "software-architect",
37
+ "dependsOn": [
38
+ "frame"
39
+ ],
40
+ "produces": [
41
+ "feasibility-and-options",
42
+ "risks-and-unknowns"
43
+ ],
44
+ "exitGate": "Hay al menos una opción viable con su costo grueso y sus riesgos, o la razón técnica concreta por la que no la hay."
45
+ },
46
+ {
47
+ "id": "decide",
48
+ "phase": "discovery",
49
+ "agent": "engineering-manager",
50
+ "dependsOn": [
51
+ "assess"
52
+ ],
53
+ "produces": [
54
+ "recommendation",
55
+ "what-would-change-the-answer"
56
+ ],
57
+ "exitGate": "La recomendación es hacer, no hacer o investigar, con el esfuerzo estimado y qué evidencia cambiaría la respuesta."
58
+ }
59
+ ],
60
+ "guardrails": [
61
+ "Cada agente conserva los límites y autorizaciones de su SKILL.md.",
62
+ "Este recorrido usa la evidencia que ya existe; no la produce ni la reemplaza por supuestos.",
63
+ "Recomendar investigar es un resultado legítimo, no una falla del recorrido.",
64
+ "Los agentes condicionales se incorporan por riesgo, plataforma y alcance, no por rutina.",
65
+ "Ningún handoff convierte una recomendación en aprobación ni en ejecución."
66
+ ],
67
+ "completion": [
68
+ "La recomendación distingue lo que se sabe de lo que se supone.",
69
+ "El esfuerzo estimado tiene rango y supuestos visibles, no un número solo.",
70
+ "Queda escrito qué evidencia cambiaría la decisión.",
71
+ "Si el resultado es investigar, la acción concreta queda registrada para una persona."
72
+ ]
73
+ }
@@ -0,0 +1,65 @@
1
+ # Incident Review
2
+
3
+ ## Qué es y qué no es
4
+
5
+ Este equipo hace la **revisión posterior** de un incidente ya contenido. No responde incidentes en vivo:
6
+ un recorrido de agentes no es un incident commander, no tiene acceso a producción, no está de guardia y
7
+ no puede decidir bajo presión con información parcial. Confundir una cosa con la otra sería peligroso.
8
+
9
+ Mientras el incidente está activo, mandan las personas de guardia. Este recorrido empieza después,
10
+ cuando el servicio ya está estable y lo que hace falta es entender qué pasó.
11
+
12
+ ```text
13
+ Usa el team incident-review para analizar este incidente:
14
+ <qué falló, cuándo, cómo se detectó y qué evidencia hay: logs, alertas, métricas, tickets>
15
+ ```
16
+
17
+ ## Salida
18
+
19
+ Produce un **informe**, no una épica: `planning/reports/<fecha>-<slug>.md`. Los seguimientos quedan en la
20
+ sección Lecciones de `planning/INBOX.md` **sin promover**, y las acciones que requieren una persona
21
+ —comunicar a clientes, notificar a un regulador, cambiar un contrato— en `planning/HUMAN_ACTIONS.md`.
22
+
23
+ Convertir un seguimiento en trabajo sigue siendo una decisión humana, igual que en cualquier otro
24
+ recorrido.
25
+
26
+ ## Etapas
27
+
28
+ ```
29
+ scope → sre línea de tiempo e impacto real
30
+ diagnose → software-architect factores que contribuyeron, y por qué no se detectó antes
31
+ exposure → security-engineer si hubo acceso, pérdida o exposición de datos
32
+ learn → engineering-manager seguimientos con dueño propuesto
33
+ ```
34
+
35
+ `diagnose` y `exposure` dependen ambas de `scope` y responden preguntas distintas: una busca por qué
36
+ falló, la otra qué quedó expuesto. Separarlas evita que la urgencia técnica tape la evaluación de datos.
37
+
38
+ ## Protocolo de handoff
39
+
40
+ ```markdown
41
+ Etapa y agente:
42
+ Pregunta que resuelve:
43
+ Evidencia usada y su origen (log, alerta, métrica, ticket):
44
+ Hechos / hipótesis / lo indeterminado:
45
+ Exit gate: cumplido / no cumplido
46
+ Autorizaciones u obligaciones pendientes:
47
+ ```
48
+
49
+ Una causa sin evidencia se declara **hipótesis**, aunque cerrar el informe con una causa firme sea más
50
+ cómodo. Un informe que inventa una causa para poder cerrarse hace daño: se toman decisiones sobre él.
51
+
52
+ ## Selección de agentes condicionales
53
+
54
+ `database-administrator` y `devops-engineer` cuando el factor está en datos o en infraestructura.
55
+ `privacy-compliance-specialist` y `legal-counsel` en cuanto la etapa `exposure` no puede descartar
56
+ acceso a datos personales — ahí puede haber plazos regulatorios, y esa es una acción humana urgente.
57
+ `qa-engineer` cuando la pregunta es por qué las pruebas no lo detectaron. `finops-engineer` cuando el
58
+ incidente fue de costo, no de disponibilidad.
59
+
60
+ ## Límites
61
+
62
+ Nadie en este recorrido opera producción, aplica una remediación, comunica a un cliente ni notifica a
63
+ un regulador. Todo eso se propone y lo decide una persona. Tampoco se atribuye responsabilidad a
64
+ personas: se analizan las condiciones que hicieron posible el fallo, porque un informe que busca
65
+ culpables consigue que la próxima vez nadie reporte nada.
@@ -0,0 +1,72 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "slug": "incident-review",
4
+ "name": "Incident Review",
5
+ "purpose": "Entender un incidente ya contenido y convertirlo en aprendizaje verificable, sin buscar culpables ni cerrar con una causa cómoda.",
6
+ "outcome": "report",
7
+ "entryAgent": "site-reliability-engineer",
8
+ "facilitator": "engineering-manager",
9
+ "decisionOwners": {
10
+ "impact_and_scope": "site-reliability-engineer",
11
+ "technical_cause": "software-architect",
12
+ "customer_communication": "customer-support-specialist",
13
+ "security_assessment": "security-engineer"
14
+ },
15
+ "conditionalAgents": [
16
+ "database-administrator",
17
+ "devops-engineer",
18
+ "privacy-compliance-specialist",
19
+ "legal-counsel",
20
+ "qa-engineer",
21
+ "finops-engineer"
22
+ ],
23
+ "stages": [
24
+ {
25
+ "id": "scope",
26
+ "phase": "discovery",
27
+ "agent": "site-reliability-engineer",
28
+ "dependsOn": [],
29
+ "produces": ["timeline", "impact-and-blast-radius"],
30
+ "exitGate": "Qué falló, desde cuándo hasta cuándo, a quiénes afectó y cómo se detectó están establecidos con evidencia, no con recuerdos."
31
+ },
32
+ {
33
+ "id": "diagnose",
34
+ "phase": "discovery",
35
+ "agent": "software-architect",
36
+ "dependsOn": ["scope"],
37
+ "produces": ["contributing-factors", "why-it-was-not-caught"],
38
+ "exitGate": "Los factores que contribuyeron están sostenidos por evidencia y se distingue causa de síntoma; si la causa no se determinó, se dice y se explica qué haría falta."
39
+ },
40
+ {
41
+ "id": "exposure",
42
+ "phase": "discovery",
43
+ "agent": "security-engineer",
44
+ "dependsOn": ["scope"],
45
+ "produces": ["data-and-security-exposure"],
46
+ "exitGate": "Está determinado si hubo acceso, pérdida o exposición de datos, o queda explícito que no se pudo determinar y qué evidencia falta."
47
+ },
48
+ {
49
+ "id": "learn",
50
+ "phase": "discovery",
51
+ "agent": "engineering-manager",
52
+ "dependsOn": ["diagnose", "exposure"],
53
+ "produces": ["follow-ups", "detection-and-prevention-gaps"],
54
+ "exitGate": "Cada seguimiento es una acción concreta con dueño propuesto, y se distingue lo que evita la repetición de lo que sólo la detecta antes."
55
+ }
56
+ ],
57
+ "guardrails": [
58
+ "Cada agente conserva los límites y autorizaciones de su SKILL.md.",
59
+ "El incidente ya está contenido: este recorrido no opera producción ni ejecuta remediaciones.",
60
+ "No se atribuye responsabilidad a personas; se analizan condiciones, no culpables.",
61
+ "Una causa sin evidencia se declara como hipótesis, aunque cerrar el informe sea más cómodo.",
62
+ "Ninguna comunicación a clientes ni notificación regulatoria sale de este recorrido: se propone y la decide una persona.",
63
+ "Los seguimientos quedan en el INBOX sin promover; convertirlos en trabajo es una decisión humana."
64
+ ],
65
+ "completion": [
66
+ "La línea de tiempo está sostenida por registros, no por reconstrucción de memoria.",
67
+ "Se distingue lo que se sabe de lo que se supone, y las hipótesis están marcadas como tales.",
68
+ "La exposición de datos está determinada o declarada como indeterminada con su motivo.",
69
+ "Cada seguimiento indica si previene la repetición o sólo acelera la detección.",
70
+ "Las obligaciones de comunicación o notificación quedan registradas como acción humana."
71
+ ]
72
+ }
@@ -3,6 +3,7 @@
3
3
  "slug": "product-development",
4
4
  "name": "Product Development Team",
5
5
  "purpose": "Convertir un problema validado de usuario en una entrega segura, usable, operable y medible.",
6
+ "outcome": "epic",
6
7
  "entryAgent": "product-manager",
7
8
  "facilitator": "project-manager",
8
9
  "decisionOwners": {
@@ -28,65 +29,118 @@
28
29
  "stages": [
29
30
  {
30
31
  "id": "frame",
32
+ "phase": "discovery",
31
33
  "agent": "product-manager",
32
34
  "dependsOn": [],
33
- "produces": ["opportunity-brief", "outcome-and-guardrails"],
35
+ "produces": [
36
+ "opportunity-brief",
37
+ "outcome-and-guardrails"
38
+ ],
34
39
  "exitGate": "Problema, usuario, outcome, baseline, límites y decisión requerida están explícitos."
35
40
  },
36
41
  {
37
42
  "id": "research",
43
+ "phase": "discovery",
38
44
  "agent": "user-researcher",
39
- "dependsOn": ["frame"],
40
- "produces": ["research-evidence", "needs-and-risks"],
45
+ "dependsOn": [
46
+ "frame"
47
+ ],
48
+ "produces": [
49
+ "research-evidence",
50
+ "needs-and-risks"
51
+ ],
41
52
  "exitGate": "La evidencia diferencia hallazgos, hipótesis y preguntas abiertas sin inventar consenso."
42
53
  },
43
54
  {
44
55
  "id": "shape",
56
+ "phase": "discovery",
45
57
  "agent": "ux-designer",
46
- "dependsOn": ["research"],
47
- "produces": ["journey-and-flows", "usability-risks"],
58
+ "dependsOn": [
59
+ "research"
60
+ ],
61
+ "produces": [
62
+ "journey-and-flows",
63
+ "usability-risks"
64
+ ],
48
65
  "exitGate": "El flujo cubre estados críticos, errores, accesibilidad, control y recuperación del usuario."
49
66
  },
50
67
  {
51
68
  "id": "architect",
69
+ "phase": "discovery",
52
70
  "agent": "software-architect",
53
- "dependsOn": ["frame", "shape"],
54
- "produces": ["architecture-decision", "interfaces-and-quality-attributes"],
71
+ "dependsOn": [
72
+ "frame",
73
+ "shape"
74
+ ],
75
+ "produces": [
76
+ "architecture-decision",
77
+ "interfaces-and-quality-attributes"
78
+ ],
55
79
  "exitGate": "Opciones y tradeoffs están documentados; interfaces, riesgos y reversibilidad son verificables."
56
80
  },
57
81
  {
58
82
  "id": "plan",
83
+ "phase": "discovery",
59
84
  "agent": "engineering-manager",
60
- "dependsOn": ["architect"],
61
- "produces": ["delivery-plan", "ownership-and-capacity"],
85
+ "dependsOn": [
86
+ "architect"
87
+ ],
88
+ "produces": [
89
+ "delivery-plan",
90
+ "ownership-and-capacity"
91
+ ],
62
92
  "exitGate": "Los equipos dueños validaron estimaciones, capacidad, dependencias y criterios de integración."
63
93
  },
64
94
  {
65
95
  "id": "build",
96
+ "phase": "delivery",
66
97
  "agent": "backend-engineer",
67
- "dependsOn": ["plan"],
68
- "produces": ["working-increment", "implementation-evidence"],
98
+ "dependsOn": [
99
+ "plan"
100
+ ],
101
+ "produces": [
102
+ "working-increment",
103
+ "implementation-evidence"
104
+ ],
69
105
  "exitGate": "El incremento mínimo funciona en entorno autorizado y conserva contratos, controles y pruebas."
70
106
  },
71
107
  {
72
108
  "id": "verify",
109
+ "phase": "delivery",
73
110
  "agent": "qa-engineer",
74
- "dependsOn": ["build"],
75
- "produces": ["quality-evidence", "residual-risk"],
111
+ "dependsOn": [
112
+ "build"
113
+ ],
114
+ "produces": [
115
+ "quality-evidence",
116
+ "residual-risk"
117
+ ],
76
118
  "exitGate": "Criterios, regresiones, riesgos y evidencia adversa están visibles; no quedan bloqueos ocultos."
77
119
  },
78
120
  {
79
121
  "id": "release",
122
+ "phase": "delivery",
80
123
  "agent": "release-manager",
81
- "dependsOn": ["verify"],
82
- "produces": ["release-readiness", "rollout-and-rollback"],
124
+ "dependsOn": [
125
+ "verify"
126
+ ],
127
+ "produces": [
128
+ "release-readiness",
129
+ "rollout-and-rollback"
130
+ ],
83
131
  "exitGate": "Owners autorizados aceptaron readiness, observabilidad, soporte, rollout, abort y rollback."
84
132
  },
85
133
  {
86
134
  "id": "learn",
135
+ "phase": "delivery",
87
136
  "agent": "data-analyst",
88
- "dependsOn": ["release"],
89
- "produces": ["outcome-review", "follow-up-recommendation"],
137
+ "dependsOn": [
138
+ "release"
139
+ ],
140
+ "produces": [
141
+ "outcome-review",
142
+ "follow-up-recommendation"
143
+ ],
90
144
  "exitGate": "Outcome y guardrails se comparan con baseline; se decide mantener, iterar, escalar o retirar."
91
145
  }
92
146
  ],
@@ -58,6 +58,17 @@ Aplica a `planning/business-rules/`, `planning/adr/`, `planning/rules/`, `teams/
58
58
  `planning/` —roadmap, backlog, WIP, done, inbox y acciones humanas— es del proyecto y no se toca al
59
59
  actualizar.
60
60
 
61
+ `automatization/hooks/` y `automatization/runners/` son runtime del toolkit y se reemplazan enteros. No
62
+ tienen `system/` porque no hace falta: lo que un proyecto necesita ya funciona sin editarlos.
63
+
64
+ - **Agregar un guard propio**: creá `automatization/hooks/guard-<nombre>.sh` y registralo en la
65
+ configuración de tu runner. Sobrevive a cada actualización, porque el toolkit no lo conoce.
66
+ - **Desactivar un guard**: quitalo de esa configuración, que es del proyecto. El archivo sigue ahí.
67
+ - **Cambiar un comportamiento**: agregá el tuyo, no edites el del toolkit.
68
+
69
+ Un guard existente **no se edita**: `upgrade` detecta el cambio y se detiene antes de pisarlo, y con
70
+ `--force` deja registrado qué descartó.
71
+
61
72
  ## Cómo leer el estado
62
73
 
63
74
  Antes de abrir un archivo de `planning/`, preguntarle al CLI: es determinista, no gasta contexto y no
@@ -12,7 +12,7 @@ node tools/ops.js team check product-development
12
12
 
13
13
  - `organization/`: contexto estable de producto y negocio.
14
14
  - `agents/roles/`: cargos de IA reutilizables; cada agente lee el contexto de `organization/`.
15
- - `agents/workflows/`, `agents/coordinators/` y `agents/specialists/`: categorías extensibles para otros tipos de agentes.
15
+ - Cualquier otro directorio bajo `agents/` es un tipo válido: se reconoce al tener contenido.
16
16
  - `teams/`: composiciones de varios agentes y sus handoffs.
17
17
  - `planning/`: roadmap, cola aprobada, trabajo en vuelo, evidencia e historial.
18
18
  - `AGENTS.md`: límites de autonomía y acciones que requieren una persona.
@@ -0,0 +1,37 @@
1
+ # Contexto por cargo
2
+
3
+ Un cargo del catálogo sabe de su profesión, no de esta empresa. Acá va lo que necesita saber para
4
+ trabajar en **este** contexto: `organization/roles/<slug>.md`.
5
+
6
+ ```markdown
7
+ # QA Engineer en Aparatejo
8
+
9
+ No hay ambiente de staging: la verificación corre contra el entorno local y contra producción con
10
+ datos de prueba. No hay equipo de soporte, así que un defecto que llegue a producción lo paga el
11
+ tiempo de las cuatro personas del equipo.
12
+
13
+ Cada imagen generada cuesta plata real: una prueba que dispare generación tiene que declarar cuántas.
14
+ ```
15
+
16
+ ## Qué va acá y qué no
17
+
18
+ **Acá**: restricciones reales de esta empresa, herramientas que usa, quién decide qué, límites de
19
+ presupuesto, deudas conocidas, lo que ya se intentó y no funcionó.
20
+
21
+ **Acá no**: cómo se hace la profesión. Que exista una técnica nueva de testing o que cambie una norma
22
+ le pasa a todas las empresas por igual: eso vive en el catálogo y llega actualizando Cauce.
23
+
24
+ ## Por qué está separado
25
+
26
+ Los cargos que trae Cauce viven en el paquete y se actualizan con él. Si el contexto de tu empresa
27
+ estuviera escrito dentro de un cargo del catálogo, cada actualización te obligaría a elegir entre
28
+ perder tu contexto o congelar el cargo.
29
+
30
+ Separados, las dos cosas mejoran sin pisarse: la profesión la mantiene el toolkit, el contexto lo
31
+ mantenés vos.
32
+
33
+ ## Si necesitás cambiar el cargo, no sólo darle contexto
34
+
35
+ Escribí tu propia versión en `agents/roles/<slug>/`, con el mismo slug: reemplaza a la del catálogo.
36
+ Tené en cuenta que a partir de ahí ese cargo deja de recibir mejoras, así que conviene sólo cuando el
37
+ contrato en sí no te sirve —no cuando lo que falta es contexto—.
@@ -0,0 +1,11 @@
1
+ # Informes
2
+
3
+ Salida de los recorridos de equipo cuyo `outcome` es `report`: revisiones de incidente, análisis
4
+ posteriores y cualquier recorrido que registre lo aprendido en vez de proponer trabajo.
5
+
6
+ Un archivo por informe, nombrado `<AAAA-MM-DD>-<slug>.md`. Son evidencia: se commitean y no se
7
+ reescriben. Si una conclusión cambia, se agrega un informe nuevo que lo diga.
8
+
9
+ Los seguimientos que salen de un informe van a la sección Lecciones de `../INBOX.md` sin promover, y
10
+ las acciones que requieren una persona a `../HUMAN_ACTIONS.md`. Convertir un seguimiento en trabajo es
11
+ una decisión humana.
@@ -1 +0,0 @@
1
-
@@ -1 +0,0 @@
1
-
@@ -1 +0,0 @@
1
-