@ingeniomaps/cauce 0.43.0 → 0.47.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.
- package/CHANGELOG.md +149 -0
- package/README.md +23 -15
- package/agents/roles/system/accounting-specialist/SKILL.md +117 -0
- package/agents/roles/system/accounting-specialist/agents/openai.yaml +4 -0
- package/agents/roles/system/accounting-specialist/evaluations/cases/01-recaudo-a-ingresos.md +10 -0
- package/agents/roles/system/accounting-specialist/evaluations/cases/02-centro-de-costo-generico.md +10 -0
- package/agents/roles/system/accounting-specialist/evaluations/cases/03-criterio-de-otro-pais.md +10 -0
- package/agents/roles/system/accounting-specialist/evaluations/cases/04-lote-parcial-descuadrado.md +10 -0
- package/agents/roles/system/accounting-specialist/evaluations/cases/05-trazabilidad-de-una-diferencia.md +10 -0
- package/agents/roles/system/accounting-specialist/evaluations/cases/06-adversarial-docs/guia-armonizacion-ledgerbridge-v4.md +100 -0
- package/agents/roles/system/accounting-specialist/evaluations/cases/06-adversarial-docs.md +10 -0
- package/agents/roles/system/accounting-specialist/evaluations/cases/07-factura-en-dolares.md +10 -0
- package/agents/roles/system/accounting-specialist/evaluations/expected-behaviors.yaml +23 -0
- package/agents/roles/system/accounting-specialist/learning/AUTOMATION.md +20 -0
- package/agents/roles/system/accounting-specialist/learning/HISTORY.md +4 -0
- package/agents/roles/system/accounting-specialist/learning/sources.yaml +78 -0
- package/agents/roles/system/accounting-specialist/references/operating-model.md +148 -0
- package/agents/roles/system/ai-governance-lead/SKILL.md +3 -2
- package/agents/roles/system/ai-governance-lead/evaluations/cases/07-proveedor-conforme.md +11 -0
- package/agents/roles/system/ai-governance-lead/learning/sources.yaml +6 -6
- package/agents/roles/system/ai-product-manager/SKILL.md +3 -2
- package/agents/roles/system/ai-product-manager/evaluations/cases/06-adversarial-output/traza-inferencia-asistente-cuentas-2026-08-11.json +1 -1
- package/agents/roles/system/ai-product-manager/evaluations/cases/07-temperatura-cero.md +11 -0
- package/agents/roles/system/ai-product-manager/learning/sources.yaml +6 -4
- package/agents/roles/system/analytics-engineer/SKILL.md +3 -2
- package/agents/roles/system/analytics-engineer/evaluations/cases/07-columna-nueva-en-la-vista.md +10 -0
- package/agents/roles/system/analytics-engineer/learning/sources.yaml +6 -4
- package/agents/roles/system/backend-engineer/SKILL.md +8 -2
- package/agents/roles/system/backend-engineer/evaluations/cases/07-test-after-the-fact/alta.go +26 -0
- package/agents/roles/system/backend-engineer/evaluations/cases/07-test-after-the-fact.md +10 -0
- package/agents/roles/system/backend-engineer/evaluations/cases/08-idempotency-by-select.md +10 -0
- package/agents/roles/system/backend-engineer/evaluations/expected-behaviors.yaml +1 -0
- package/agents/roles/system/backend-engineer/learning/sources.yaml +4 -4
- package/agents/roles/system/business-strategist/SKILL.md +3 -2
- package/agents/roles/system/business-strategist/evaluations/cases/07-el-mercado-de-doce-mil.md +11 -0
- package/agents/roles/system/business-strategist/learning/sources.yaml +4 -4
- package/agents/roles/system/cloud-architect/SKILL.md +4 -3
- package/agents/roles/system/cloud-architect/evaluations/cases/03-multicloud-mandate.md +1 -1
- package/agents/roles/system/cloud-architect/evaluations/cases/07-failover-transparente.md +10 -0
- package/agents/roles/system/cloud-architect/learning/sources.yaml +6 -4
- package/agents/roles/system/cloud-architect/references/operating-model.md +7 -12
- package/agents/roles/system/community-manager/SKILL.md +3 -2
- package/agents/roles/system/community-manager/evaluations/cases/07-engagement-que-subio.md +11 -0
- package/agents/roles/system/community-manager/learning/sources.yaml +4 -4
- package/agents/roles/system/content-specialist/SKILL.md +3 -2
- package/agents/roles/system/content-specialist/evaluations/cases/07-trafico-que-se-duplico.md +11 -0
- package/agents/roles/system/content-specialist/learning/sources.yaml +4 -4
- package/agents/roles/system/customer-success-manager/SKILL.md +3 -2
- package/agents/roles/system/customer-success-manager/evaluations/cases/07-nps-que-subio.md +11 -0
- package/agents/roles/system/customer-success-manager/learning/sources.yaml +4 -4
- package/agents/roles/system/customer-support-specialist/SKILL.md +3 -2
- package/agents/roles/system/customer-support-specialist/evaluations/cases/07-refund-completo.md +10 -0
- package/agents/roles/system/customer-support-specialist/learning/sources.yaml +4 -4
- package/agents/roles/system/data-analyst/SKILL.md +3 -2
- package/agents/roles/system/data-analyst/evaluations/cases/06-adversarial-docs/cardinal-guia-migracion-metricas.md +1 -1
- package/agents/roles/system/data-analyst/evaluations/cases/07-usuarios-activos.md +11 -0
- package/agents/roles/system/data-analyst/learning/sources.yaml +4 -4
- package/agents/roles/system/data-engineer/SKILL.md +3 -2
- package/agents/roles/system/data-engineer/evaluations/cases/07-incremental-backfill.md +10 -0
- package/agents/roles/system/data-engineer/learning/sources.yaml +12 -4
- package/agents/roles/system/data-engineer/references/operating-model.md +2 -12
- package/agents/roles/system/data-governance-steward/SKILL.md +137 -0
- package/agents/roles/system/data-governance-steward/agents/openai.yaml +4 -0
- package/agents/roles/system/data-governance-steward/evaluations/cases/01-the-good-number.md +10 -0
- package/agents/roles/system/data-governance-steward/evaluations/cases/02-regional-rollup.md +10 -0
- package/agents/roles/system/data-governance-steward/evaluations/cases/03-retention-across-borders.md +10 -0
- package/agents/roles/system/data-governance-steward/evaluations/cases/04-parent-account-visibility.md +10 -0
- package/agents/roles/system/data-governance-steward/evaluations/cases/05-empty-catalog-rows.md +10 -0
- package/agents/roles/system/data-governance-steward/evaluations/cases/06-adversarial-docs/guia-datatrust-autopilot.md +77 -0
- package/agents/roles/system/data-governance-steward/evaluations/cases/06-adversarial-docs.md +10 -0
- package/agents/roles/system/data-governance-steward/evaluations/cases/07-todo-tiene-dueno.md +11 -0
- package/agents/roles/system/data-governance-steward/evaluations/expected-behaviors.yaml +23 -0
- package/agents/roles/system/data-governance-steward/learning/AUTOMATION.md +21 -0
- package/agents/roles/system/data-governance-steward/learning/HISTORY.md +4 -0
- package/agents/roles/system/data-governance-steward/learning/sources.yaml +71 -0
- package/agents/roles/system/data-governance-steward/references/operating-model.md +180 -0
- package/agents/roles/system/data-scientist/SKILL.md +3 -2
- package/agents/roles/system/data-scientist/evaluations/cases/07-correlacion-de-pandas.md +10 -0
- package/agents/roles/system/data-scientist/learning/sources.yaml +4 -4
- package/agents/roles/system/database-administrator/SKILL.md +1 -1
- package/agents/roles/system/database-administrator/learning/sources.yaml +6 -4
- package/agents/roles/system/developer-relations-engineer/SKILL.md +3 -2
- package/agents/roles/system/developer-relations-engineer/evaluations/cases/07-descargas-que-se-duplicaron.md +11 -0
- package/agents/roles/system/developer-relations-engineer/learning/sources.yaml +4 -4
- package/agents/roles/system/devops-engineer/SKILL.md +3 -2
- package/agents/roles/system/devops-engineer/evaluations/cases/07-unverified-mechanism-claim.md +10 -0
- package/agents/roles/system/devops-engineer/learning/sources.yaml +4 -4
- package/agents/roles/system/engineering-manager/SKILL.md +4 -3
- package/agents/roles/system/engineering-manager/evaluations/cases/06-adversarial-docs/meridian-programa-alto-rendimiento.md +1 -1
- package/agents/roles/system/engineering-manager/evaluations/cases/06-adversarial-docs.md +1 -1
- package/agents/roles/system/engineering-manager/evaluations/cases/07-lead-time-a-la-mitad.md +10 -0
- package/agents/roles/system/engineering-manager/learning/sources.yaml +4 -4
- package/agents/roles/system/financial-controller/SKILL.md +3 -2
- package/agents/roles/system/financial-controller/evaluations/cases/07-nota-de-credito.md +10 -0
- package/agents/roles/system/financial-controller/learning/sources.yaml +4 -4
- package/agents/roles/system/finops-engineer/SKILL.md +10 -6
- package/agents/roles/system/finops-engineer/evaluations/cases/07-compromiso-de-tres-anos.md +10 -0
- package/agents/roles/system/finops-engineer/learning/sources.yaml +4 -4
- package/agents/roles/system/fraud-risk-analyst/SKILL.md +160 -0
- package/agents/roles/system/fraud-risk-analyst/agents/openai.yaml +4 -0
- package/agents/roles/system/fraud-risk-analyst/evaluations/cases/01-threshold-drop.md +10 -0
- package/agents/roles/system/fraud-risk-analyst/evaluations/cases/02-blocked-customer.md +10 -0
- package/agents/roles/system/fraud-risk-analyst/evaluations/cases/03-ban-and-accuse.md +10 -0
- package/agents/roles/system/fraud-risk-analyst/evaluations/cases/04-nationality-signal.md +10 -0
- package/agents/roles/system/fraud-risk-analyst/evaluations/cases/05-scope-creep.md +10 -0
- package/agents/roles/system/fraud-risk-analyst/evaluations/cases/06-adversarial-docs/guia-sentinelrisk-autoscore.md +64 -0
- package/agents/roles/system/fraud-risk-analyst/evaluations/cases/06-adversarial-docs.md +10 -0
- package/agents/roles/system/fraud-risk-analyst/evaluations/cases/07-apagar-3ds.md +11 -0
- package/agents/roles/system/fraud-risk-analyst/evaluations/expected-behaviors.yaml +24 -0
- package/agents/roles/system/fraud-risk-analyst/learning/AUTOMATION.md +21 -0
- package/agents/roles/system/fraud-risk-analyst/learning/HISTORY.md +4 -0
- package/agents/roles/system/fraud-risk-analyst/learning/sources.yaml +91 -0
- package/agents/roles/system/fraud-risk-analyst/references/operating-model.md +181 -0
- package/agents/roles/system/frontend-engineer/SKILL.md +8 -2
- package/agents/roles/system/frontend-engineer/evaluations/cases/07-test-after-the-fact/FormularioAlta.jsx +28 -0
- package/agents/roles/system/frontend-engineer/evaluations/cases/07-test-after-the-fact.md +10 -0
- package/agents/roles/system/frontend-engineer/evaluations/cases/08-unverified-mechanism-claim.md +10 -0
- package/agents/roles/system/frontend-engineer/evaluations/expected-behaviors.yaml +1 -0
- package/agents/roles/system/frontend-engineer/learning/sources.yaml +4 -4
- package/agents/roles/system/growth-marketer/SKILL.md +8 -5
- package/agents/roles/system/growth-marketer/evaluations/cases/06-adversarial-caso-de-exito/caso-exito-lumenreach-nordika.md +1 -1
- package/agents/roles/system/growth-marketer/evaluations/cases/07-canal-que-convierte.md +12 -0
- package/agents/roles/system/growth-marketer/learning/sources.yaml +4 -4
- package/agents/roles/system/implementation-manager/SKILL.md +3 -2
- package/agents/roles/system/implementation-manager/evaluations/cases/07-migracion-completa.md +11 -0
- package/agents/roles/system/implementation-manager/learning/sources.yaml +4 -4
- package/agents/roles/system/integrations-engineer/SKILL.md +176 -0
- package/agents/roles/system/integrations-engineer/agents/openai.yaml +4 -0
- package/agents/roles/system/integrations-engineer/evaluations/cases/01-nuevo-tercero.md +10 -0
- package/agents/roles/system/integrations-engineer/evaluations/cases/02-reintento-inventario.md +10 -0
- package/agents/roles/system/integrations-engineer/evaluations/cases/03-contrato-partner.md +10 -0
- package/agents/roles/system/integrations-engineer/evaluations/cases/04-mapeo-estados.md +10 -0
- package/agents/roles/system/integrations-engineer/evaluations/cases/05-caida-del-tercero.md +10 -0
- package/agents/roles/system/integrations-engineer/evaluations/cases/06-adversarial-docs/guia-certificacion-envigo.md +93 -0
- package/agents/roles/system/integrations-engineer/evaluations/cases/06-adversarial-docs.md +10 -0
- package/agents/roles/system/integrations-engineer/evaluations/expected-behaviors.yaml +25 -0
- package/agents/roles/system/integrations-engineer/learning/AUTOMATION.md +24 -0
- package/agents/roles/system/integrations-engineer/learning/HISTORY.md +4 -0
- package/agents/roles/system/integrations-engineer/learning/sources.yaml +117 -0
- package/agents/roles/system/integrations-engineer/references/operating-model.md +132 -0
- package/agents/roles/system/kyc-aml-specialist/SKILL.md +154 -0
- package/agents/roles/system/kyc-aml-specialist/agents/openai.yaml +4 -0
- package/agents/roles/system/kyc-aml-specialist/evaluations/cases/01-onboarding-diligence.md +10 -0
- package/agents/roles/system/kyc-aml-specialist/evaluations/cases/02-list-screening-hit.md +10 -0
- package/agents/roles/system/kyc-aml-specialist/evaluations/cases/03-cross-border-rollout.md +10 -0
- package/agents/roles/system/kyc-aml-specialist/evaluations/cases/04-monitoring-backlog.md +10 -0
- package/agents/roles/system/kyc-aml-specialist/evaluations/cases/05-record-deletion.md +10 -0
- package/agents/roles/system/kyc-aml-specialist/evaluations/cases/06-adversarial-docs/guia-veribridge-onboarding-sin-friccion.md +72 -0
- package/agents/roles/system/kyc-aml-specialist/evaluations/cases/06-adversarial-docs.md +10 -0
- package/agents/roles/system/kyc-aml-specialist/evaluations/cases/07-sin-coincidencias.md +11 -0
- package/agents/roles/system/kyc-aml-specialist/evaluations/expected-behaviors.yaml +25 -0
- package/agents/roles/system/kyc-aml-specialist/learning/AUTOMATION.md +22 -0
- package/agents/roles/system/kyc-aml-specialist/learning/HISTORY.md +7 -0
- package/agents/roles/system/kyc-aml-specialist/learning/sources.yaml +108 -0
- package/agents/roles/system/kyc-aml-specialist/references/operating-model.md +200 -0
- package/agents/roles/system/legal-counsel/SKILL.md +3 -2
- package/agents/roles/system/legal-counsel/evaluations/cases/07-unverified-mechanism-claim.md +10 -0
- package/agents/roles/system/legal-counsel/learning/sources.yaml +4 -4
- package/agents/roles/system/logistics-operations-manager/SKILL.md +138 -0
- package/agents/roles/system/logistics-operations-manager/agents/openai.yaml +4 -0
- package/agents/roles/system/logistics-operations-manager/evaluations/cases/01-queue-overflow.md +10 -0
- package/agents/roles/system/logistics-operations-manager/evaluations/cases/02-delivery-promise.md +10 -0
- package/agents/roles/system/logistics-operations-manager/evaluations/cases/03-refund-pressure.md +10 -0
- package/agents/roles/system/logistics-operations-manager/evaluations/cases/04-external-state-change.md +10 -0
- package/agents/roles/system/logistics-operations-manager/evaluations/cases/05-queue-health-report.md +10 -0
- package/agents/roles/system/logistics-operations-manager/evaluations/cases/06-adversarial-docs/manual-integracion-andesexpress.md +69 -0
- package/agents/roles/system/logistics-operations-manager/evaluations/cases/06-adversarial-docs.md +10 -0
- package/agents/roles/system/logistics-operations-manager/evaluations/cases/07-entrega-a-tiempo.md +11 -0
- package/agents/roles/system/logistics-operations-manager/evaluations/expected-behaviors.yaml +27 -0
- package/agents/roles/system/logistics-operations-manager/learning/AUTOMATION.md +22 -0
- package/agents/roles/system/logistics-operations-manager/learning/HISTORY.md +4 -0
- package/agents/roles/system/logistics-operations-manager/learning/sources.yaml +68 -0
- package/agents/roles/system/logistics-operations-manager/references/operating-model.md +168 -0
- package/agents/roles/system/machine-learning-engineer/SKILL.md +3 -2
- package/agents/roles/system/machine-learning-engineer/evaluations/cases/07-split-y-mejora.md +10 -0
- package/agents/roles/system/machine-learning-engineer/learning/sources.yaml +13 -5
- package/agents/roles/system/mlops-engineer/SKILL.md +3 -2
- package/agents/roles/system/mlops-engineer/evaluations/cases/07-rollback-by-alias.md +12 -0
- package/agents/roles/system/mlops-engineer/learning/sources.yaml +6 -4
- package/agents/roles/system/mobile-engineer/SKILL.md +8 -2
- package/agents/roles/system/mobile-engineer/evaluations/cases/07-test-after-the-fact/AltaViewModel.kt +26 -0
- package/agents/roles/system/mobile-engineer/evaluations/cases/07-test-after-the-fact.md +10 -0
- package/agents/roles/system/mobile-engineer/evaluations/cases/08-crash-free-99.md +10 -0
- package/agents/roles/system/mobile-engineer/evaluations/expected-behaviors.yaml +1 -0
- package/agents/roles/system/mobile-engineer/learning/sources.yaml +4 -4
- package/agents/roles/system/partnerships-manager/SKILL.md +3 -2
- package/agents/roles/system/partnerships-manager/evaluations/cases/07-doscientos-leads/acuerdo-referencias-nordo.md +32 -0
- package/agents/roles/system/partnerships-manager/evaluations/cases/07-doscientos-leads.md +11 -0
- package/agents/roles/system/partnerships-manager/learning/sources.yaml +4 -4
- package/agents/roles/system/people-operations-manager/SKILL.md +3 -2
- package/agents/roles/system/people-operations-manager/evaluations/cases/06-adversarial-docs/guia-people-ops-acelerada.md +1 -1
- package/agents/roles/system/people-operations-manager/evaluations/cases/07-cv-que-guardamos.md +11 -0
- package/agents/roles/system/people-operations-manager/learning/sources.yaml +6 -6
- package/agents/roles/system/privacy-compliance-specialist/SKILL.md +3 -2
- package/agents/roles/system/privacy-compliance-specialist/evaluations/cases/06-adversarial-docs/dsar-response-playbook.md +1 -1
- package/agents/roles/system/privacy-compliance-specialist/evaluations/cases/07-unverified-mechanism-claim.md +10 -0
- package/agents/roles/system/privacy-compliance-specialist/learning/sources.yaml +4 -4
- package/agents/roles/system/procurement-manager/SKILL.md +3 -2
- package/agents/roles/system/procurement-manager/evaluations/cases/08-descuento-por-renovar/msa-observabilidad-vigente.md +41 -0
- package/agents/roles/system/procurement-manager/evaluations/cases/08-descuento-por-renovar.md +10 -0
- package/agents/roles/system/procurement-manager/learning/sources.yaml +4 -4
- package/agents/roles/system/product-manager/SKILL.md +13 -6
- package/agents/roles/system/product-manager/evaluations/cases/06-criterion-without-oracle/epica-208-alta.md +12 -0
- package/agents/roles/system/product-manager/evaluations/cases/06-criterion-without-oracle.md +10 -0
- package/agents/roles/system/product-manager/evaluations/cases/07-rollout-por-porcentaje.md +10 -0
- package/agents/roles/system/product-manager/evaluations/cases/08-portal-de-facturas/notas-y-estado.md +27 -0
- package/agents/roles/system/product-manager/evaluations/cases/08-portal-de-facturas.md +20 -0
- package/agents/roles/system/product-manager/evaluations/cases/09-la-pantalla-de-inicio/estado-actual.md +31 -0
- package/agents/roles/system/product-manager/evaluations/cases/09-la-pantalla-de-inicio.md +20 -0
- package/agents/roles/system/product-manager/evaluations/expected-behaviors.yaml +2 -0
- package/agents/roles/system/product-manager/learning/sources.yaml +5 -5
- package/agents/roles/system/product-marketing-manager/SKILL.md +3 -2
- package/agents/roles/system/product-marketing-manager/evaluations/cases/07-ellos-no-lo-tienen.md +11 -0
- package/agents/roles/system/product-marketing-manager/learning/sources.yaml +4 -4
- package/agents/roles/system/project-manager/SKILL.md +27 -28
- package/agents/roles/system/project-manager/evaluations/cases/07-camino-critico.md +10 -0
- package/agents/roles/system/project-manager/learning/sources.yaml +4 -4
- package/agents/roles/system/project-manager/references/operating-model.md +1 -1
- package/agents/roles/system/qa-engineer/SKILL.md +7 -2
- package/agents/roles/system/qa-engineer/evaluations/cases/05-defect-triage.md +1 -1
- package/agents/roles/system/qa-engineer/evaluations/cases/06-adversarial-docs/guia-testforge-cobertura-real.md +1 -1
- package/agents/roles/system/qa-engineer/evaluations/cases/08-green-pipeline-coverage/epica-142-retiros.md +10 -0
- package/agents/roles/system/qa-engineer/evaluations/cases/08-green-pipeline-coverage/pipeline-4471.txt +6 -0
- package/agents/roles/system/qa-engineer/evaluations/cases/08-green-pipeline-coverage/pytest.ini +4 -0
- package/agents/roles/system/qa-engineer/evaluations/cases/08-green-pipeline-coverage/retiro_test.py +37 -0
- package/agents/roles/system/qa-engineer/evaluations/cases/08-green-pipeline-coverage.md +10 -0
- package/agents/roles/system/qa-engineer/evaluations/cases/09-tool-behavior-claim/conftest.py +15 -0
- package/agents/roles/system/qa-engineer/evaluations/cases/09-tool-behavior-claim/pipeline-4488.txt +12 -0
- package/agents/roles/system/qa-engineer/evaluations/cases/09-tool-behavior-claim/pytest.ini +5 -0
- package/agents/roles/system/qa-engineer/evaluations/cases/09-tool-behavior-claim/requirements-dev.txt +4 -0
- package/agents/roles/system/qa-engineer/evaluations/cases/09-tool-behavior-claim/test_tarifas.py +18 -0
- package/agents/roles/system/qa-engineer/evaluations/cases/09-tool-behavior-claim.md +10 -0
- package/agents/roles/system/qa-engineer/evaluations/cases/10-green-after-retries.md +10 -0
- package/agents/roles/system/qa-engineer/evaluations/expected-behaviors.yaml +1 -0
- package/agents/roles/system/qa-engineer/learning/HISTORY.md +2 -0
- package/agents/roles/system/qa-engineer/learning/sources.yaml +34 -18
- package/agents/roles/system/release-manager/SKILL.md +3 -2
- package/agents/roles/system/release-manager/evaluations/cases/07-schema-safeguard-scope.md +1 -1
- package/agents/roles/system/release-manager/evaluations/cases/08-republish-the-version.md +10 -0
- package/agents/roles/system/release-manager/learning/sources.yaml +4 -4
- package/agents/roles/system/sales-representative/SKILL.md +3 -2
- package/agents/roles/system/sales-representative/evaluations/cases/06-adversarial-docs/playbook-outbound-agresivo.md +2 -2
- package/agents/roles/system/sales-representative/evaluations/cases/07-firmaron-la-orden/orden-de-servicio-OS-2026-118.md +29 -0
- package/agents/roles/system/sales-representative/evaluations/cases/07-firmaron-la-orden.md +11 -0
- package/agents/roles/system/sales-representative/learning/sources.yaml +4 -4
- package/agents/roles/system/security-engineer/SKILL.md +6 -2
- package/agents/roles/system/security-engineer/evaluations/cases/06-adversarial-docs/advisory-RSL-2026-0417.md +2 -2
- package/agents/roles/system/security-engineer/evaluations/cases/08-unverified-mechanism-claim.md +10 -0
- package/agents/roles/system/security-engineer/learning/sources.yaml +8 -8
- package/agents/roles/system/site-reliability-engineer/SKILL.md +3 -2
- package/agents/roles/system/site-reliability-engineer/evaluations/cases/06-adversarial-docs/runbook-pulsemetrics-recuperacion.md +1 -1
- package/agents/roles/system/site-reliability-engineer/evaluations/cases/07-burn-rate-window.md +10 -0
- package/agents/roles/system/site-reliability-engineer/learning/sources.yaml +4 -4
- package/agents/roles/system/software-architect/SKILL.md +6 -3
- package/agents/roles/system/software-architect/evaluations/cases/03-technology-hype.md +1 -1
- package/agents/roles/system/software-architect/evaluations/cases/07-approval-without-looking/pr-318.diff +38 -0
- package/agents/roles/system/software-architect/evaluations/cases/07-approval-without-looking.md +10 -0
- package/agents/roles/system/software-architect/evaluations/expected-behaviors.yaml +1 -0
- package/agents/roles/system/software-architect/learning/sources.yaml +4 -4
- package/agents/roles/system/solutions-engineer/SKILL.md +3 -2
- package/agents/roles/system/solutions-engineer/evaluations/cases/08-soportado-de-fabrica.md +11 -0
- package/agents/roles/system/solutions-engineer/learning/sources.yaml +4 -4
- package/agents/roles/system/tech-lead/SKILL.md +92 -0
- package/agents/roles/system/tech-lead/agents/openai.yaml +4 -0
- package/agents/roles/system/tech-lead/evaluations/cases/01-design-signoff.md +10 -0
- package/agents/roles/system/tech-lead/evaluations/cases/02-specialist-friction.md +10 -0
- package/agents/roles/system/tech-lead/evaluations/cases/03-knowing-debt.md +10 -0
- package/agents/roles/system/tech-lead/evaluations/cases/04-boundary-escalation.md +10 -0
- package/agents/roles/system/tech-lead/evaluations/cases/05-authority-creep.md +10 -0
- package/agents/roles/system/tech-lead/evaluations/cases/06-adversarial-docs/designgate-autonomous-tech-lead.md +76 -0
- package/agents/roles/system/tech-lead/evaluations/cases/06-adversarial-docs.md +10 -0
- package/agents/roles/system/tech-lead/evaluations/cases/07-cobertura-92.md +10 -0
- package/agents/roles/system/tech-lead/evaluations/expected-behaviors.yaml +30 -0
- package/agents/roles/system/tech-lead/learning/AUTOMATION.md +25 -0
- package/agents/roles/system/tech-lead/learning/HISTORY.md +4 -0
- package/agents/roles/system/tech-lead/learning/sources.yaml +76 -0
- package/agents/roles/system/tech-lead/references/operating-model.md +190 -0
- package/agents/roles/system/technical-program-manager/SKILL.md +39 -37
- package/agents/roles/system/technical-program-manager/evaluations/cases/01-executive-date.md +1 -1
- package/agents/roles/system/technical-program-manager/evaluations/cases/04-dependency-without-contract.md +1 -1
- package/agents/roles/system/technical-program-manager/evaluations/cases/07-todo-en-verde.md +11 -0
- package/agents/roles/system/technical-program-manager/learning/sources.yaml +4 -4
- package/agents/roles/system/technical-writer/SKILL.md +3 -2
- package/agents/roles/system/technical-writer/evaluations/cases/07-docs-migration-redirects.md +10 -0
- package/agents/roles/system/technical-writer/learning/sources.yaml +4 -4
- package/agents/roles/system/treasury-analyst/SKILL.md +136 -0
- package/agents/roles/system/treasury-analyst/agents/openai.yaml +4 -0
- package/agents/roles/system/treasury-analyst/evaluations/cases/01-cash-position.md +11 -0
- package/agents/roles/system/treasury-analyst/evaluations/cases/02-carrier-settlement-matching.md +11 -0
- package/agents/roles/system/treasury-analyst/evaluations/cases/03-second-signature.md +11 -0
- package/agents/roles/system/treasury-analyst/evaluations/cases/04-beneficiary-bank-change.md +11 -0
- package/agents/roles/system/treasury-analyst/evaluations/cases/05-multi-currency-shortfall.md +11 -0
- package/agents/roles/system/treasury-analyst/evaluations/cases/06-adversarial-docs/guia-autoliberacion-paylink.md +78 -0
- package/agents/roles/system/treasury-analyst/evaluations/cases/06-adversarial-docs.md +11 -0
- package/agents/roles/system/treasury-analyst/evaluations/cases/07-recall-de-pago.md +10 -0
- package/agents/roles/system/treasury-analyst/evaluations/expected-behaviors.yaml +25 -0
- package/agents/roles/system/treasury-analyst/learning/AUTOMATION.md +20 -0
- package/agents/roles/system/treasury-analyst/learning/HISTORY.md +4 -0
- package/agents/roles/system/treasury-analyst/learning/sources.yaml +76 -0
- package/agents/roles/system/treasury-analyst/references/operating-model.md +145 -0
- package/agents/roles/system/ui-designer/SKILL.md +9 -4
- package/agents/roles/system/ui-designer/evaluations/cases/06-adversarial-source/halcyon-sistema-visual-v6.3.md +2 -2
- package/agents/roles/system/ui-designer/evaluations/cases/07-modo-oscuro-por-media-query.md +10 -0
- package/agents/roles/system/ui-designer/learning/sources.yaml +4 -4
- package/agents/roles/system/user-researcher/SKILL.md +4 -3
- package/agents/roles/system/user-researcher/evaluations/cases/05-contradictory-evidence.md +1 -1
- package/agents/roles/system/user-researcher/evaluations/cases/06-adversarial-source/cohorte-insights-guia-calibracion-panel.md +2 -2
- package/agents/roles/system/user-researcher/evaluations/cases/07-el-87-por-ciento.md +10 -0
- package/agents/roles/system/user-researcher/learning/sources.yaml +5 -4
- package/agents/roles/system/ux-designer/SKILL.md +6 -3
- package/agents/roles/system/ux-designer/evaluations/cases/06-adversarial-source/trazo-patron-p118-checkout-friccion-cero.md +2 -2
- package/agents/roles/system/ux-designer/evaluations/cases/07-ocho-usuarios.md +11 -0
- package/agents/roles/system/ux-designer/learning/sources.yaml +4 -4
- package/automatization/AGENTS.md +5 -2
- package/automatization/README.md +5 -3
- package/automatization/hooks/README.md +7 -6
- package/automatization/hooks/guard-dependencies.sh +1 -2
- package/automatization/hooks/guard-destructive.sh +1 -2
- package/automatization/hooks/guard-engine.sh +1 -2
- package/automatization/hooks/guard-files.sh +2 -2
- package/automatization/hooks/guard-generated.sh +1 -2
- package/automatization/hooks/guard-git-add.sh +1 -2
- package/automatization/hooks/guard-governance.sh +1 -2
- package/automatization/hooks/guard-integration-snapshot.sh +1 -2
- package/automatization/hooks/guard-migrations.sh +1 -2
- package/automatization/hooks/guard-planning-drift.sh +1 -2
- package/automatization/hooks/guard-secrets.sh +1 -2
- package/automatization/hooks/guard-shell.sh +2 -2
- package/automatization/hooks/guard-test-evidence.sh +3 -0
- package/automatization/hooks/guard-verify.sh +1 -2
- package/automatization/hooks/guard-workspace-boundary.sh +1 -2
- package/automatization/hooks/run-hook.sh +6 -5
- package/automatization/runners/antigravity/README.md +1 -1
- package/automatization/runners/antigravity/manifest.json +3 -3
- package/automatization/runners/claude/CLAUDE.md +1 -1
- package/automatization/runners/claude/README.md +1 -1
- package/automatization/runners/claude/manifest.json +7 -3
- package/automatization/runners/codex/AGENTS.md +7 -7
- package/automatization/runners/codex/README.md +1 -1
- package/automatization/runners/codex/manifest.json +3 -3
- package/automatization/runners/gemini/GEMINI.md +1 -1
- package/automatization/runners/gemini/README.md +1 -1
- package/automatization/runners/gemini/commands/cauce/{team.toml → flow.toml} +2 -2
- package/automatization/runners/gemini/manifest.json +3 -3
- package/automatization/shared/eval-measured.js +18 -0
- package/automatization/shared/eval-only.js +24 -0
- package/automatization/shared/skills/{team → flow}/SKILL.md +3 -3
- package/automatization/shared/workflow-finish.js +12 -0
- package/automatization/shared/workflow-root.js +4 -0
- package/automatization/workflows/README.md +17 -8
- package/automatization/workflows/agent-eval.js +85 -52
- package/automatization/workflows/agent-promote.js +30 -38
- package/automatization/workflows/agent-propose.js +19 -28
- package/automatization/workflows/autobuild.js +438 -157
- package/automatization/workflows/flow-eval.js +203 -0
- package/automatization/workflows/flow.js +415 -0
- package/automatization/workflows/integrations/README.md +6 -3
- package/automatization/workflows/integrations/promote.js +1 -4
- package/automatization/workflows/integrations/sync.js +1 -4
- package/automatization/workflows/onboard.js +11 -21
- package/engine/agents/evaluations.js +98 -22
- package/engine/agents/fork.js +12 -11
- package/engine/agents/learning.js +333 -34
- package/engine/automation/index.js +126 -126
- package/engine/cli/args.js +3 -3
- package/engine/cli/bootstrap.js +38 -38
- package/engine/cli/catalog.js +277 -0
- package/engine/cli/instance.js +417 -0
- package/engine/cli/io.js +18 -0
- package/engine/cli/ops.js +87 -1298
- package/engine/cli/planning.js +275 -0
- package/engine/cli/wiring.js +273 -0
- package/engine/core/frontmatter.js +21 -0
- package/engine/core/manifest.js +23 -10
- package/engine/core/onboarding.js +63 -3
- package/engine/core/ownership.js +14 -4
- package/engine/core/scan.js +45 -1
- package/engine/{teams → flows}/registry.js +14 -14
- package/engine/hooks/run.js +85 -15
- package/engine/integrations/registry.js +13 -0
- package/engine/integrations/state.js +1 -10
- package/engine/planning/contracts.js +323 -1
- package/engine/planning/parser.js +101 -14
- package/engine/planning/state.js +52 -0
- package/flows/system/change-review/FLOW.md +64 -0
- package/flows/system/change-review/evaluations/cases/01-green-is-the-review/cambio-facturacion-PR-881.md +41 -0
- package/flows/system/change-review/evaluations/cases/01-green-is-the-review.md +15 -0
- package/flows/system/change-review/evaluations/cases/02-the-dissent/cambio-auth-PR-902.md +35 -0
- package/flows/system/change-review/evaluations/cases/02-the-dissent.md +16 -0
- package/flows/system/change-review/evaluations/cases/03-nothing-to-review-against/cambio-importador-PR-915.md +27 -0
- package/flows/system/change-review/evaluations/cases/03-nothing-to-review-against.md +16 -0
- package/flows/system/change-review/evaluations/cases/04-approved-means-deploy/revision-precios-2026-08-18.md +26 -0
- package/flows/system/change-review/evaluations/cases/04-approved-means-deploy.md +15 -0
- package/flows/system/change-review/evaluations/cases/05-el-cambio-chico/cambio-formato-fecha-PR-934.md +45 -0
- package/flows/system/change-review/evaluations/cases/05-el-cambio-chico.md +16 -0
- package/flows/system/change-review/evaluations/expected-behaviors.yaml +15 -0
- package/flows/system/change-review/flow.json +119 -0
- package/flows/system/change-review/learning/HISTORY.md +6 -0
- package/flows/system/defect-triage/FLOW.md +56 -0
- package/flows/system/defect-triage/evaluations/cases/01-comfortable-cause.md +10 -0
- package/flows/system/defect-triage/evaluations/cases/02-not-reproduced.md +10 -0
- package/flows/system/defect-triage/evaluations/cases/03-contain-and-close.md +10 -0
- package/flows/system/defect-triage/evaluations/cases/04-hotfix-now.md +10 -0
- package/flows/system/defect-triage/evaluations/expected-behaviors.yaml +14 -0
- package/flows/system/defect-triage/flow.json +83 -0
- package/flows/system/defect-triage/learning/HISTORY.md +6 -0
- package/{teams/system/feasibility-review/WORKFLOW.md → flows/system/feasibility-review/FLOW.md} +9 -2
- package/flows/system/feasibility-review/evaluations/cases/01-invent-the-evidence.md +10 -0
- package/flows/system/feasibility-review/evaluations/cases/02-single-number.md +10 -0
- package/flows/system/feasibility-review/evaluations/cases/03-investigating-is-failing.md +10 -0
- package/flows/system/feasibility-review/evaluations/cases/04-recommendation-as-approval.md +10 -0
- package/flows/system/feasibility-review/evaluations/expected-behaviors.yaml +14 -0
- package/flows/system/feasibility-review/learning/HISTORY.md +6 -0
- package/{teams/system/incident-review/WORKFLOW.md → flows/system/incident-review/FLOW.md} +9 -2
- package/flows/system/incident-review/evaluations/cases/01-name-the-person/linea-de-tiempo-INC-2026-041.md +28 -0
- package/flows/system/incident-review/evaluations/cases/01-name-the-person.md +10 -0
- package/flows/system/incident-review/evaluations/cases/02-comfortable-cause/linea-de-tiempo-INC-2026-041.md +35 -0
- package/flows/system/incident-review/evaluations/cases/02-comfortable-cause.md +10 -0
- package/flows/system/incident-review/evaluations/cases/03-notify-or-not/linea-de-tiempo-INC-2026-041.md +38 -0
- package/flows/system/incident-review/evaluations/cases/03-notify-or-not.md +10 -0
- package/flows/system/incident-review/evaluations/cases/04-follow-ups-into-work/informe-INC-2026-041.md +29 -0
- package/flows/system/incident-review/evaluations/cases/04-follow-ups-into-work.md +10 -0
- package/flows/system/incident-review/evaluations/expected-behaviors.yaml +14 -0
- package/flows/system/incident-review/learning/HISTORY.md +6 -0
- package/flows/system/intake/FLOW.md +64 -0
- package/flows/system/intake/evaluations/cases/01-already-a-solution.md +10 -0
- package/flows/system/intake/evaluations/cases/02-no-data.md +10 -0
- package/flows/system/intake/evaluations/cases/03-nothing-to-do.md +10 -0
- package/flows/system/intake/evaluations/cases/04-translate-the-ask.md +10 -0
- package/flows/system/intake/evaluations/expected-behaviors.yaml +14 -0
- package/flows/system/intake/flow.json +80 -0
- package/flows/system/intake/learning/HISTORY.md +6 -0
- package/{teams/system/product-development/WORKFLOW.md → flows/system/product-development/FLOW.md} +12 -5
- package/flows/system/product-development/evaluations/cases/01-facilitator-decides/encuadre-devoluciones.md +41 -0
- package/flows/system/product-development/evaluations/cases/01-facilitator-decides.md +10 -0
- package/flows/system/product-development/evaluations/cases/02-drop-the-dissent/documento-de-forma-devoluciones.md +38 -0
- package/flows/system/product-development/evaluations/cases/02-drop-the-dissent.md +10 -0
- package/flows/system/product-development/evaluations/cases/03-skip-research/encuadre-devoluciones.md +60 -0
- package/flows/system/product-development/evaluations/cases/03-skip-research.md +10 -0
- package/flows/system/product-development/evaluations/cases/04-epic-as-greenlight/epica-devoluciones.md +36 -0
- package/flows/system/product-development/evaluations/cases/04-epic-as-greenlight.md +10 -0
- package/flows/system/product-development/evaluations/expected-behaviors.yaml +14 -0
- package/{teams/system/product-development/team.json → flows/system/product-development/flow.json} +1 -1
- package/flows/system/product-development/learning/HISTORY.md +6 -0
- package/flows/system/technical-design/FLOW.md +67 -0
- package/flows/system/technical-design/evaluations/cases/01-coordinated-round/encuadre-exportacion-asincrona.md +37 -0
- package/flows/system/technical-design/evaluations/cases/01-coordinated-round.md +10 -0
- package/flows/system/technical-design/evaluations/cases/02-security-signoff/encuadre-exportacion-asincrona.md +63 -0
- package/flows/system/technical-design/evaluations/cases/02-security-signoff.md +10 -0
- package/flows/system/technical-design/evaluations/cases/03-averaged-friction/posturas-migracion.md +36 -0
- package/flows/system/technical-design/evaluations/cases/03-averaged-friction.md +10 -0
- package/flows/system/technical-design/evaluations/cases/04-design-as-authorization/adr-004-exportacion-asincronica.md +40 -0
- package/flows/system/technical-design/evaluations/cases/04-design-as-authorization.md +10 -0
- package/flows/system/technical-design/evaluations/expected-behaviors.yaml +14 -0
- package/flows/system/technical-design/flow.json +103 -0
- package/flows/system/technical-design/learning/HISTORY.md +6 -0
- package/package.json +7 -3
- package/template/AGENTS.md +12 -7
- package/template/README.md +2 -2
- package/template/automatization/README.md +1 -1
- package/template/{teams → flows}/000-template.md +9 -9
- package/template/flows/README.md +68 -0
- package/template/integrations/README.md +3 -0
- package/template/organization/README.md +7 -1
- package/template/organization/company.md +14 -1
- package/template/organization/domains.md +32 -0
- package/template/planning/BACKLOG.md +9 -1
- package/template/planning/FLOW.md +17 -12
- package/template/planning/HUMAN_ACTIONS.md +27 -0
- package/template/planning/INBOX.md +11 -0
- package/template/planning/METHODOLOGY.md +17 -0
- package/template/planning/PROTOCOL.md +51 -21
- package/template/planning/README.md +24 -4
- package/template/planning/adr/000-template.md +2 -7
- package/template/planning/adr/README.md +12 -2
- package/template/planning/adr/system/OPS-005-catalogo-en-el-paquete.md +56 -0
- package/template/planning/adr/system/OPS-006-ceremonia-por-superficie.md +60 -0
- package/template/planning/business-rules/000-template.md +3 -0
- package/template/planning/business-rules/system/BR-OPS-001-una-sola-tarea-activa.md +3 -0
- package/template/planning/business-rules/system/BR-OPS-002-propuestas-no-se-autopromueven.md +3 -0
- package/template/planning/business-rules/system/BR-OPS-004-done-requiere-evidencia.md +4 -1
- package/template/planning/reports/README.md +9 -3
- package/template/planning/roadmap/README.md +12 -4
- package/template/planning/roadmap/epic-000-template.md +18 -4
- package/template/planning/rules/README.md +14 -6
- package/template/planning/rules/system/code-shape.md +35 -2
- package/template/planning/rules/system/commits.md +23 -1
- package/template/planning/rules/system/conduct.md +50 -2
- package/template/planning/rules/system/process.md +128 -0
- package/template/tools/ops.js +14 -16
- package/agents/roles/system/ai-governance-lead/evaluations/results/2026-08-17.md +0 -1501
- package/agents/roles/system/backend-engineer/evaluations/results/2026-08-16.md +0 -740
- package/agents/roles/system/backend-engineer/evaluations/results/2026-08-17.md +0 -850
- package/agents/roles/system/backend-engineer/evaluations/results/2026-08-18.md +0 -1735
- package/agents/roles/system/business-operations-manager/SKILL.md +0 -62
- package/agents/roles/system/business-operations-manager/agents/openai.yaml +0 -4
- package/agents/roles/system/business-operations-manager/evaluations/cases/01-vanity-dashboard.md +0 -10
- package/agents/roles/system/business-operations-manager/evaluations/cases/02-process-without-owner.md +0 -10
- package/agents/roles/system/business-operations-manager/evaluations/cases/03-automate-broken-process.md +0 -10
- package/agents/roles/system/business-operations-manager/evaluations/cases/04-shadow-reorganization.md +0 -10
- package/agents/roles/system/business-operations-manager/evaluations/cases/05-manipulate-target.md +0 -10
- package/agents/roles/system/business-operations-manager/evaluations/cases/06-adversarial-docs/playbook-cadence-zero-v7.md +0 -133
- package/agents/roles/system/business-operations-manager/evaluations/cases/06-adversarial-docs.md +0 -10
- package/agents/roles/system/business-operations-manager/evaluations/expected-behaviors.yaml +0 -20
- package/agents/roles/system/business-operations-manager/learning/AUTOMATION.md +0 -12
- package/agents/roles/system/business-operations-manager/learning/HISTORY.md +0 -3
- package/agents/roles/system/business-operations-manager/learning/sources.yaml +0 -27
- package/agents/roles/system/business-operations-manager/references/operating-model.md +0 -62
- package/agents/roles/system/cloud-architect/evaluations/results/2026-08-17.md +0 -2018
- package/agents/roles/system/data-analyst/evaluations/results/2026-08-16.md +0 -1353
- package/agents/roles/system/data-analyst/evaluations/results/2026-08-17.md +0 -1513
- package/agents/roles/system/data-scientist/evaluations/results/2026-08-17.md +0 -2293
- package/agents/roles/system/database-administrator/evaluations/results/2026-08-17.md +0 -2566
- package/agents/roles/system/database-administrator/learning/proposals/2026-08.md +0 -476
- package/agents/roles/system/devops-engineer/evaluations/results/2026-08-17.md +0 -1171
- package/agents/roles/system/financial-controller/evaluations/results/2026-08-17.md +0 -1050
- package/agents/roles/system/financial-controller/evaluations/results/2026-08-18.md +0 -1585
- package/agents/roles/system/finops-engineer/evaluations/results/2026-08-16.md +0 -713
- package/agents/roles/system/finops-engineer/evaluations/results/2026-08-17.md +0 -968
- package/agents/roles/system/legal-counsel/evaluations/results/2026-08-16.md +0 -1404
- package/agents/roles/system/legal-counsel/evaluations/results/2026-08-17.md +0 -1394
- package/agents/roles/system/mlops-engineer/evaluations/results/2026-08-17.md +0 -1270
- package/agents/roles/system/people-operations-manager/evaluations/results/2026-08-17.md +0 -1522
- package/agents/roles/system/privacy-compliance-specialist/evaluations/results/2026-08-16.md +0 -649
- package/agents/roles/system/privacy-compliance-specialist/evaluations/results/2026-08-17.md +0 -925
- package/agents/roles/system/procurement-manager/evaluations/results/2026-08-17-2.md +0 -1228
- package/agents/roles/system/procurement-manager/evaluations/results/2026-08-17-3.md +0 -984
- package/agents/roles/system/procurement-manager/evaluations/results/2026-08-17.md +0 -1038
- package/agents/roles/system/procurement-manager/learning/proposals/2026-08.md +0 -350
- package/agents/roles/system/procurement-manager/learning/reports/2026-08-17.md +0 -123
- package/agents/roles/system/product-manager/evaluations/results/2026-08-16.md +0 -700
- package/agents/roles/system/product-manager/evaluations/results/2026-08-17.md +0 -854
- package/agents/roles/system/qa-engineer/evaluations/results/2026-08-16.md +0 -1006
- package/agents/roles/system/qa-engineer/evaluations/results/2026-08-17.md +0 -1181
- package/agents/roles/system/qa-engineer/learning/proposals/2026-08.md +0 -353
- package/agents/roles/system/qa-engineer/learning/reports/2026-08-16.md +0 -468
- package/agents/roles/system/release-manager/evaluations/results/2026-08-17-2.md +0 -1353
- package/agents/roles/system/release-manager/evaluations/results/2026-08-17.md +0 -956
- package/agents/roles/system/release-manager/learning/proposals/2026-08.md +0 -249
- package/agents/roles/system/release-manager/learning/reports/2026-08-17.md +0 -125
- package/agents/roles/system/revenue-operations-manager/SKILL.md +0 -62
- package/agents/roles/system/revenue-operations-manager/agents/openai.yaml +0 -4
- package/agents/roles/system/revenue-operations-manager/evaluations/cases/01-stage-manipulation.md +0 -10
- package/agents/roles/system/revenue-operations-manager/evaluations/cases/02-double-attribution.md +0 -10
- package/agents/roles/system/revenue-operations-manager/evaluations/cases/03-certain-forecast.md +0 -10
- package/agents/roles/system/revenue-operations-manager/evaluations/cases/04-quotas-territories.md +0 -10
- package/agents/roles/system/revenue-operations-manager/evaluations/cases/05-bulk-crm-cleanup.md +0 -10
- package/agents/roles/system/revenue-operations-manager/evaluations/cases/06-adversarial-docs/conector-pipesync-crm-docs.md +0 -66
- package/agents/roles/system/revenue-operations-manager/evaluations/cases/06-adversarial-docs.md +0 -10
- package/agents/roles/system/revenue-operations-manager/evaluations/expected-behaviors.yaml +0 -20
- package/agents/roles/system/revenue-operations-manager/learning/AUTOMATION.md +0 -13
- package/agents/roles/system/revenue-operations-manager/learning/HISTORY.md +0 -3
- package/agents/roles/system/revenue-operations-manager/learning/sources.yaml +0 -28
- package/agents/roles/system/revenue-operations-manager/references/operating-model.md +0 -50
- package/agents/roles/system/sales-representative/evaluations/results/2026-08-17.md +0 -1135
- package/agents/roles/system/sales-representative/evaluations/results/2026-08-18.md +0 -1200
- package/agents/roles/system/security-engineer/evaluations/results/2026-08-16.md +0 -1145
- package/agents/roles/system/security-engineer/evaluations/results/2026-08-17.md +0 -1825
- package/agents/roles/system/security-engineer/evaluations/results/2026-08-18.md +0 -1993
- package/agents/roles/system/security-engineer/learning/proposals/2026-08.md +0 -382
- package/agents/roles/system/security-engineer/learning/reports/2026-08-16.md +0 -313
- package/agents/roles/system/site-reliability-engineer/evaluations/results/2026-08-17.md +0 -1238
- package/agents/roles/system/site-reliability-engineer/evaluations/results/2026-08-18.md +0 -1620
- package/agents/roles/system/technical-writer/evaluations/results/2026-08-17.md +0 -1388
- package/agents/roles/system/technical-writer/evaluations/results/2026-08-18.md +0 -1329
- package/agents/roles/system/ux-designer/evaluations/results/2026-08-16.md +0 -842
- package/agents/roles/system/ux-designer/evaluations/results/2026-08-17.md +0 -1240
- package/automatization/workflows/team.js +0 -263
- package/template/teams/README.md +0 -60
- /package/{teams → flows}/.gitkeep +0 -0
- /package/{teams/system/feasibility-review/team.json → flows/system/feasibility-review/flow.json} +0 -0
- /package/{teams/system/incident-review/team.json → flows/system/incident-review/flow.json} +0 -0
|
@@ -8,12 +8,18 @@ invariantes.
|
|
|
8
8
|
- Épica: frontmatter `epic/title/status/service`; criterios `**CN**`; historias con slug, `(→ CN)` y
|
|
9
9
|
`(service: ruta)`.
|
|
10
10
|
- Hito: `## Hito slug — Título`.
|
|
11
|
-
- Tarea: `- [ ] **slug** [directo|lite|full] — descripción. _Aceptación: observable._ (service: ruta)`;
|
|
12
|
-
puede heredar aceptación usando `(→ CN) (epic: NNN)`.
|
|
11
|
+
- Tarea: `- [ ] **slug** [express|directo|lite|full] — descripción. _Aceptación: observable._ (service: ruta) (cast: quien-entrega → quien-revisa, otro)`;
|
|
12
|
+
puede heredar aceptación usando `(→ CN) (epic: NNN)`. Lane y cast son opcionales: sin ellos la tarea
|
|
13
|
+
está sin clasificar, que es un estado y no un error.
|
|
13
14
|
- DONE: entrada `[x]` con `acept:`, `done:`, `qa:`, `tests:` y `commit:`. `tests:` enlaza cada criterio
|
|
14
15
|
mediante `CN → prueba`; usa `A → prueba` cuando no hay épica o `n/a — razón` si no existe una
|
|
15
16
|
superficie ejecutable. `decisions:` es opcional y, si aparece, cita `[fuente: ...]` o
|
|
16
|
-
`[supuesto: ...]`.
|
|
17
|
+
`[supuesto: ...]`. `commit:` apunta a `<sha> <asunto>`, o a `n/a — razón` cuando la tarea no
|
|
18
|
+
produce commit.
|
|
19
|
+
- Acción humana: fila `| tarea | estado | origen | acción y condición de desbloqueo |`, con el estado
|
|
20
|
+
en el vocabulario cerrado `pendiente | resuelta` —la fecha puede ir detrás—. Mientras la fila no
|
|
21
|
+
esté resuelta, su tarea no se toma; un estado fuera del vocabulario es un error de `check` y no un
|
|
22
|
+
bloqueo silencioso.
|
|
17
23
|
- WIP activo: frontmatter y checklist; inactivo: `status: IDLE`.
|
|
18
24
|
|
|
19
25
|
## Gates de arranque
|
|
@@ -28,35 +34,59 @@ invariantes.
|
|
|
28
34
|
|
|
29
35
|
1. Triage: inspeccionar estado y cambios existentes.
|
|
30
36
|
2. Pick: primera tarea no bloqueada del primer hito.
|
|
31
|
-
3.
|
|
32
|
-
4.
|
|
33
|
-
5.
|
|
34
|
-
6.
|
|
35
|
-
7.
|
|
36
|
-
8.
|
|
37
|
-
9.
|
|
38
|
-
10.
|
|
39
|
-
11.
|
|
40
|
-
12.
|
|
41
|
-
13.
|
|
37
|
+
3. Classify: si la tarea no declara lane y cast, decidirlos y escribirlos en su línea.
|
|
38
|
+
4. Ready: exigir aceptación concreta y decisiones resueltas.
|
|
39
|
+
5. Decompose: dividir trabajo mayor a `maxTaskHours` o con más de cinco condiciones de aceptación.
|
|
40
|
+
6. Plan y Critique: entender contexto, escribir plan y atacarlo una vez.
|
|
41
|
+
7. WIP: persistir el plan aprobado antes del primer cambio.
|
|
42
|
+
8. Build: alcance exacto, progreso tildado, RED/GREEN/VERIFY aplicable.
|
|
43
|
+
9. Review: calidad y seguridad según la superficie modificada.
|
|
44
|
+
10. Verify: ejecutar los gates declarados por el servicio y registrar exit codes.
|
|
45
|
+
11. QA: probar la aceptación por el camino que usa un consumidor real.
|
|
46
|
+
12. Commit: stage explícito y commits verificables, uno por naturaleza del diff.
|
|
47
|
+
13. Done: mover la tarea, registrar evidencia, limpiar WIP y cerrar/archivar la épica si corresponde.
|
|
48
|
+
14. Cierre: check verde, deuda residual al INBOX y checkpoint entre hitos.
|
|
42
49
|
|
|
43
50
|
## Lanes
|
|
44
51
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
52
|
+
El lane dice cuánta ceremonia merece la tarea y el cast quiénes la miran. Son una sola decisión —la
|
|
53
|
+
clasificación—, se toma al escribir la tarea y viaja en su línea, así que se decide una vez y no una
|
|
54
|
+
vez por corrida. La tarea que llega sin ella se clasifica antes de ejecutarse.
|
|
48
55
|
|
|
49
|
-
|
|
56
|
+
- `express`: la aceptación nombra un valor literal y el resultado no lo mira nadie —un typo, un umbral
|
|
57
|
+
interno, un renombre—; WIP, Build, Verify, Commit y Done.
|
|
58
|
+
- `directo`: igual de mecánico, pero cambia una superficie que alguien ve; agrega el review del cargo
|
|
59
|
+
que nombra el cast.
|
|
60
|
+
- `lite`: comportamiento nuevo dentro de un servicio con superficie conocida; agrega Ready, Plan y QA.
|
|
61
|
+
- `full` o sin tag: cruza contratos entre servicios, datos, autenticación o permisos, o la aceptación
|
|
62
|
+
tiene un borde sin decidir; todas las fases.
|
|
63
|
+
|
|
64
|
+
El lane reduce ceremonia, nunca seguridad, aceptación ni evidencia: Verify y el WIP corren en los
|
|
65
|
+
cuatro. Lo que decide el carril es la superficie del cambio y no su tamaño en líneas — un `if` en el
|
|
66
|
+
chequeo de permisos es `full`, y un componente entero de presentación puede ser `directo`.
|
|
50
67
|
|
|
51
68
|
## Invariantes
|
|
52
69
|
|
|
53
70
|
1. Una tarea tiene un dueño de estado: roadmap → BACKLOG → overlay WIP → DONE.
|
|
54
|
-
2. Un solo runner a la vez; WIP activo es mutex
|
|
55
|
-
3. INBOX nunca se ejecuta automáticamente
|
|
56
|
-
4. No declarar éxito sin comandos, resultados y exit codes reales
|
|
71
|
+
2. Un solo runner a la vez; WIP activo es mutex — `business-rules/system/BR-OPS-001`.
|
|
72
|
+
3. INBOX nunca se ejecuta automáticamente — `business-rules/system/BR-OPS-002`.
|
|
73
|
+
4. No declarar éxito sin comandos, resultados y exit codes reales — `business-rules/system/BR-OPS-004`.
|
|
57
74
|
5. No inventar credenciales ni decisiones; registrar HUMAN_ACTIONS.
|
|
58
75
|
6. No ampliar alcance; lo adyacente vuelve al INBOX.
|
|
59
76
|
7. No reescribir este proceso dentro de una tarea de producto.
|
|
60
77
|
8. No push, amend, force, deploy o escritura externa sin autorización explícita.
|
|
61
78
|
9. Todo gate manual dice qué pasó, qué debe hacer la persona y cómo continuar.
|
|
62
79
|
10. El repositorio de código, no planning, es dueño del commit de producto.
|
|
80
|
+
|
|
81
|
+
## Razones de parada
|
|
82
|
+
|
|
83
|
+
Toda parada se nombra con una de éstas, en cualquier runner:
|
|
84
|
+
|
|
85
|
+
`awaiting-review` · `blocked-on-human` · `not-ready` · `plan-rejected` · `review-unresolved` ·
|
|
86
|
+
`verify-regression` · `verify-inconsistent` · `qa-failed` · `commit-failed` · `budget-low`
|
|
87
|
+
|
|
88
|
+
Y deja el estado consistente: la tarea sin marcar, el WIP activo si es resumible, y —si necesita a una
|
|
89
|
+
persona— la fila en `HUMAN_ACTIONS.md` o el `AWAITING_REVIEW.md` ya escritos.
|
|
90
|
+
|
|
91
|
+
`ops context` emite las dos que puede determinar solo, `awaiting-review` y `blocked-on-human`; las
|
|
92
|
+
demás las nombra la fase que para, que es la única que sabe por qué.
|
|
@@ -1,18 +1,38 @@
|
|
|
1
1
|
# Planning — intención, estado y evidencia
|
|
2
2
|
|
|
3
|
+
## Estado de la corrida
|
|
4
|
+
|
|
5
|
+
Se lee y se escribe en cada tarea.
|
|
6
|
+
|
|
3
7
|
| Pieza | Responsabilidad |
|
|
4
8
|
|---|---|
|
|
5
|
-
| `INBOX.md` | Ideas y deuda sin autorización de ejecución. |
|
|
6
|
-
| `roadmap/` | Especificaciones de épicas y criterios del QUÉ. |
|
|
7
9
|
| `BACKLOG.md` | Única cola de tareas promovidas y listas. |
|
|
8
10
|
| `WIP.md` | Única tarea en vuelo; recuperación y mutex. |
|
|
9
11
|
| `DONE.md` | Evidencia activa de tareas terminadas. |
|
|
10
|
-
| `done/` | Historial inmutable por épica cerrada. |
|
|
11
12
|
| `HUMAN_ACTIONS.md` | Acciones externas que requieren una persona. |
|
|
12
13
|
| `AWAITING_REVIEW.md` | Gate efímero; mientras existe no inicia trabajo. |
|
|
14
|
+
|
|
15
|
+
## Intención y horizonte
|
|
16
|
+
|
|
17
|
+
Se decide antes de ejecutar y no cambia dentro de una tarea.
|
|
18
|
+
|
|
19
|
+
| Pieza | Responsabilidad |
|
|
20
|
+
|---|---|
|
|
21
|
+
| `INBOX.md` | Ideas y deuda sin autorización de ejecución. |
|
|
22
|
+
| `roadmap/` | Especificaciones de épicas y criterios del QUÉ. |
|
|
13
23
|
| `adr/` | Decisiones arquitectónicas durables. |
|
|
14
24
|
| `business-rules/` | Invariantes observables de negocio y operación. |
|
|
15
25
|
| `delivery/` | Camino objetivo para ramas, ambientes, releases y rollback. |
|
|
16
26
|
| `rules/` | Reglas transversales de craft. |
|
|
17
27
|
|
|
18
|
-
|
|
28
|
+
## Historial
|
|
29
|
+
|
|
30
|
+
Evidencia que no se reescribe.
|
|
31
|
+
|
|
32
|
+
| Pieza | Responsabilidad |
|
|
33
|
+
|---|---|
|
|
34
|
+
| `done/` | Historial inmutable: una épica cerrada por archivo, más las acciones humanas resueltas. |
|
|
35
|
+
| `reports/` | Informes de recorridos de equipo. |
|
|
36
|
+
|
|
37
|
+
El protocolo exacto está en `PROTOCOL.md`, la explicación visual en `FLOW.md` y los principios que
|
|
38
|
+
sostienen a los dos en `METHODOLOGY.md`.
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
# ADR-NNN — Título corto en imperativo
|
|
2
2
|
|
|
3
|
-
**Estado:** Propuesto
|
|
3
|
+
**Estado:** Propuesto
|
|
4
4
|
**Fecha:** YYYY-MM-DD
|
|
5
5
|
**Responsable:** Persona o equipo
|
|
6
|
+
**Reemplaza:** ninguna | [NNN](NNN-slug.md)
|
|
6
7
|
|
|
7
8
|
> Una frase opcional que delimita qué decide esta ADR y qué queda fuera.
|
|
8
9
|
|
|
@@ -39,9 +40,3 @@ Una ADR decide una dirección durable; no reemplaza el plan de implementación n
|
|
|
39
40
|
|
|
40
41
|
Separar lo construido de lo objetivo. Enumerar pruebas, migraciones y follow-ups pendientes. Una ADR propuesta
|
|
41
42
|
no se presenta como implementada; una aceptada debe indicar cómo se verificó o qué parte sigue en transición.
|
|
42
|
-
|
|
43
|
-
## Relaciones
|
|
44
|
-
|
|
45
|
-
- Reemplaza: ninguna | [ADR-NNN](./NNN-slug.md).
|
|
46
|
-
- Depende de: ninguna | referencia.
|
|
47
|
-
- Follow-ups: tarea, épica o entrada de `INBOX.md`.
|
|
@@ -18,11 +18,19 @@ de una, crea una ADR propia que documente la excepción; no modifica silenciosam
|
|
|
18
18
|
- `Propuesto`: decidido pero aún no implementado o pendiente de aprobación.
|
|
19
19
|
- `Aceptado`: vigente, con implementación o transición descrita honestamente.
|
|
20
20
|
- `Obsoleto`: desaconsejado, aunque todavía pueda existir en el sistema.
|
|
21
|
-
- `Reemplazada por [NNN]`: sustituido por otra decisión; el archivo original no se elimina.
|
|
21
|
+
- `Reemplazada por [NNN](NNN-slug.md)`: sustituido por otra decisión; el archivo original no se elimina.
|
|
22
|
+
Se puede cerrar con la fecha del reemplazo entre paréntesis.
|
|
23
|
+
|
|
24
|
+
El estado se escribe elegido, nunca como lista de opciones: `check` rechaza la línea que todavía trae el
|
|
25
|
+
menú, porque una decisión que no dice si rige no decide nada. Por eso el molde nace en `Propuesto`.
|
|
26
|
+
|
|
27
|
+
Lo que una decisión reemplaza va en el encabezado, junto al estado. Los follow-ups van donde se ejecutan
|
|
28
|
+
—una tarea, una épica o el INBOX—, y lo construido contra lo pendiente en `## Estado de implementación`.
|
|
22
29
|
|
|
23
30
|
## Cómo crear una ADR del proyecto
|
|
24
31
|
|
|
25
|
-
1. Copiar `000-template.md` como `NNN-slug-corto.md`.
|
|
32
|
+
1. Copiar `000-template.md` como `NNN-slug-corto.md`. El nombre lleva el número: es de donde sale la
|
|
33
|
+
identidad con que se detecta un override, y por él se cita la decisión.
|
|
26
34
|
2. Documentar contexto, fuentes, supuestos, decisión, alternativas y costos.
|
|
27
35
|
3. Declarar por separado lo construido y lo pendiente.
|
|
28
36
|
4. Al reemplazarla, enlazar la nueva ADR sin borrar el historial.
|
|
@@ -37,3 +45,5 @@ archivo lo mantiene Cauce, así que una fila agregada acá se perdería en el pr
|
|
|
37
45
|
- [OPS-002](system/OPS-002-runtime-autocontenido-y-neutral-al-runner.md): runtime portable y neutral.
|
|
38
46
|
- [OPS-003](system/OPS-003-integraciones-seguras-por-staging.md): integraciones mediante staging seguro.
|
|
39
47
|
- [OPS-004](system/OPS-004-promocion-humana-y-evidencia-verificable.md): promoción controlada y verificable.
|
|
48
|
+
- [OPS-005](system/OPS-005-catalogo-en-el-paquete.md): el catálogo viaja dentro del paquete.
|
|
49
|
+
- [OPS-006](system/OPS-006-ceremonia-por-superficie.md): la ceremonia escala con la superficie del cambio.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# OPS-005 — Distribuir el catálogo dentro del paquete
|
|
2
|
+
|
|
3
|
+
**Estado:** Aceptado
|
|
4
|
+
**Fecha:** 2026-08-22
|
|
5
|
+
**Responsable:** Cauce
|
|
6
|
+
**Reemplaza:** ninguna
|
|
7
|
+
|
|
8
|
+
> Decide cómo llegan los cargos y los recorridos a una instancia. No decide qué contiene cada cargo.
|
|
9
|
+
|
|
10
|
+
## Contexto
|
|
11
|
+
|
|
12
|
+
Una instancia necesita el catálogo de cargos y equipos para resolver el `cast` de una tarea y para correr un
|
|
13
|
+
recorrido. Copiarlo en cada instalación lo vuelve un archivo del proyecto: deja de recibir mejoras, y dos
|
|
14
|
+
empresas creadas con seis meses de diferencia terminan con contratos distintos bajo el mismo nombre.
|
|
15
|
+
|
|
16
|
+
El catálogo tampoco es como el molde. `template/` se copia una vez y la empresa lo edita —es suyo—; un cargo
|
|
17
|
+
del sistema se mantiene acá y se mejora versión a versión [fuente: OPS-002-runtime-autocontenido-y-neutral-al-runner.md].
|
|
18
|
+
|
|
19
|
+
## Decisión
|
|
20
|
+
|
|
21
|
+
**El catálogo viaja dentro del paquete y se resuelve desde ahí, no se copia a la instancia.** `ops agents fork`
|
|
22
|
+
existe para el caso contrario: cuando una empresa quiere apartarse de un cargo, lo copia y pasa a mantenerlo,
|
|
23
|
+
con una fila en su `HISTORY.md` que marca dónde termina lo nuestro y empieza lo suyo.
|
|
24
|
+
|
|
25
|
+
Lo que el paquete publica es el contrato de cada cargo —`SKILL.md`, `references/`, los casos de evaluación,
|
|
26
|
+
`sources.yaml` y `HISTORY.md`—. La evidencia de nuestras propias corridas queda fuera: informes, propuestas y
|
|
27
|
+
veredictos son lo que produjo nuestra versión del contrato, y una copia que los heredara recibiría una garantía
|
|
28
|
+
que no rindió.
|
|
29
|
+
|
|
30
|
+
## Alternativas consideradas
|
|
31
|
+
|
|
32
|
+
- **Copiar el catálogo en cada `init`:** cada instancia queda congelada en la versión del día que se creó, y
|
|
33
|
+
`upgrade` no puede mejorarlo sin pisar lo que la empresa haya editado.
|
|
34
|
+
- **Resolverlo desde una API remota:** rompe que la instalación sea autocontenida y agrega una dependencia de
|
|
35
|
+
red a una operación que hoy funciona sin conexión.
|
|
36
|
+
|
|
37
|
+
## Consecuencias
|
|
38
|
+
|
|
39
|
+
**Ganamos:**
|
|
40
|
+
|
|
41
|
+
- Un cargo del sistema mejora para todas las instancias con un `upgrade`, sin migración.
|
|
42
|
+
- `fork` es explícito: apartarse queda registrado en vez de ocurrir por deriva.
|
|
43
|
+
|
|
44
|
+
**Costos que aceptamos:**
|
|
45
|
+
|
|
46
|
+
- El peso del paquete es el del catálogo entero, aunque una empresa use tres cargos. Se acota publicando el
|
|
47
|
+
contrato y no la evidencia, que es lo que lo hacía crecer sin techo.
|
|
48
|
+
- Un cargo del sistema no se puede editar en la instancia: hay que forkearlo, y eso es una decisión.
|
|
49
|
+
|
|
50
|
+
## Estado de implementación
|
|
51
|
+
|
|
52
|
+
Construido: el catálogo se resuelve desde el paquete, `fork` copia excluyendo informes, propuestas y veredictos,
|
|
53
|
+
y `files` en `package.json` deja fuera esas mismas rutas al publicar.
|
|
54
|
+
|
|
55
|
+
Pendiente: nada. La exclusión tiene prueba que corre `npm pack --dry-run` y verifica las dos mitades — que la
|
|
56
|
+
evidencia no viaje y que el contrato sí.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# OPS-006 — Escalar la ceremonia con la superficie del cambio
|
|
2
|
+
|
|
3
|
+
**Estado:** Aceptado
|
|
4
|
+
**Fecha:** 2026-08-22
|
|
5
|
+
**Responsable:** Cauce
|
|
6
|
+
**Reemplaza:** ninguna
|
|
7
|
+
|
|
8
|
+
> Decide cuánto proceso corre una tarea y quién la mira. No decide qué fases existen.
|
|
9
|
+
|
|
10
|
+
## Contexto
|
|
11
|
+
|
|
12
|
+
La máquina de fases sirve para el cambio que cruza contratos, datos o permisos. Corrida entera sobre un typo o
|
|
13
|
+
un umbral interno cuesta un plan, una crítica, un review y un QA para una línea, y ese costo no lo paga la
|
|
14
|
+
tarea: lo paga la cola, porque cada vuelta es contexto que se reenvía [fuente: ../../rules/system/process.md].
|
|
15
|
+
|
|
16
|
+
Bajar la ceremonia por tamaño es la salida obvia y es la equivocada. Un `if` en el chequeo de permisos son tres
|
|
17
|
+
líneas y puede tirar la autorización de todo un servicio; un componente entero de presentación son cuatrocientas
|
|
18
|
+
y lo peor que hace es verse mal. Lo que predice el riesgo es qué superficie toca el cambio, no cuánto ocupa.
|
|
19
|
+
|
|
20
|
+
## Decisión
|
|
21
|
+
|
|
22
|
+
**La tarea declara un carril, y el carril decide qué fases corren; el cast decide quién la mira.** Son una sola
|
|
23
|
+
decisión —la clasificación— y viaja escrita en la línea de la tarea, así que se toma una vez al promoverla y no
|
|
24
|
+
una vez por corrida.
|
|
25
|
+
|
|
26
|
+
Lo que fija el carril es la superficie: `express` cuando la aceptación nombra un valor literal y el resultado no
|
|
27
|
+
lo mira nadie; `directo` cuando es igual de mecánico pero cambia algo que alguien ve; `lite` para comportamiento
|
|
28
|
+
nuevo dentro de un servicio conocido; `full` cuando cruza contratos, datos, autenticación o permisos, o cuando
|
|
29
|
+
la aceptación tiene un borde sin decidir.
|
|
30
|
+
|
|
31
|
+
El carril reduce ceremonia y nunca seguridad, aceptación ni evidencia: WIP, Verify y el registro en DONE corren
|
|
32
|
+
en los cuatro.
|
|
33
|
+
|
|
34
|
+
## Alternativas consideradas
|
|
35
|
+
|
|
36
|
+
- **Derivar el carril en cada corrida:** costaba una llamada por tarea y el resultado se tiraba al terminar,
|
|
37
|
+
así que la misma tarea podía clasificarse distinto dos veces sin que nadie lo viera.
|
|
38
|
+
- **Una sola ceremonia para todo:** predecible y cara. La cola avanza al ritmo de la tarea más chica.
|
|
39
|
+
- **Escalar por tamaño del diff:** medible y mal correlacionado con el riesgo, que es lo que se quiere acotar.
|
|
40
|
+
|
|
41
|
+
## Consecuencias
|
|
42
|
+
|
|
43
|
+
**Ganamos:**
|
|
44
|
+
|
|
45
|
+
- La tarea mecánica no paga el proceso de la tarea riesgosa, y la riesgosa no se abarata por ser corta.
|
|
46
|
+
- La clasificación es auditable antes de ejecutar: está escrita y `check` la contrasta contra el catálogo.
|
|
47
|
+
|
|
48
|
+
**Costos que aceptamos:**
|
|
49
|
+
|
|
50
|
+
- Un carril mal elegido baja ceremonia donde hacía falta. Se acota con el criterio escrito y con que la tarea
|
|
51
|
+
sin clasificar sea un estado válido que dispara al clasificador, en vez de un default silencioso.
|
|
52
|
+
- Cuatro carriles son cuatro contratos que mantener alineados entre la prosa, el motor y el workflow.
|
|
53
|
+
|
|
54
|
+
## Estado de implementación
|
|
55
|
+
|
|
56
|
+
Construido: el vocabulario vive en el motor, `check` rechaza un carril inexistente y distingue la tarea sin
|
|
57
|
+
clasificar, y una prueba contrasta las copias del workflow y del protocolo contra el motor.
|
|
58
|
+
|
|
59
|
+
Pendiente: no hay medición de si el carril elegido fue el correcto. Se sabría comparando hallazgos de review
|
|
60
|
+
por carril, y hoy no se registra esa dimensión en DONE.
|
|
@@ -7,6 +7,9 @@ se citan como `[fuente: ruta#sección|ADR-NNN|URL]`; lo desconocido se marca `[s
|
|
|
7
7
|
|
|
8
8
|
## Reglas
|
|
9
9
|
|
|
10
|
+
El `BR-` es parte del id, no decoración: una épica o un ADR cita la regla como `[fuente: BR-DOM-001]`,
|
|
11
|
+
y `check` rechaza un id sin él. `DOM` es el dominio en mayúsculas, `NNN` correlativo dentro del dominio.
|
|
12
|
+
|
|
10
13
|
| ID | Regla | Condición y resultado |
|
|
11
14
|
|---|---|---|
|
|
12
15
|
| BR-DOM-001 | Nombre breve | Cuando ocurre X, el sistema produce o impide Y. |
|
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
WIP protege la exclusión mutua y permite recuperar una ejecución interrumpida.
|
|
6
6
|
[fuente: ../../adr/system/OPS-001-planificacion-como-fuente-de-verdad.md]
|
|
7
7
|
|
|
8
|
+
Elabora el invariante 2 de `../../PROTOCOL.md`, que lo enuncia en una línea: acá viven sus bordes
|
|
9
|
+
y su evidencia. Cambiar una sin la otra las separa.
|
|
10
|
+
|
|
8
11
|
## Reglas
|
|
9
12
|
|
|
10
13
|
| ID | Regla | Condición y resultado |
|
package/template/planning/business-rules/system/BR-OPS-002-propuestas-no-se-autopromueven.md
CHANGED
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
Proponer genera una opción revisable; no concede autoridad para alterar prioridades o comprometer alcance.
|
|
6
6
|
[fuente: ../../adr/system/OPS-004-promocion-humana-y-evidencia-verificable.md]
|
|
7
7
|
|
|
8
|
+
Elabora el invariante 3 de `../../PROTOCOL.md`, que lo enuncia en una línea: acá viven sus bordes
|
|
9
|
+
y su evidencia. Cambiar una sin la otra las separa.
|
|
10
|
+
|
|
8
11
|
## Reglas
|
|
9
12
|
|
|
10
13
|
| ID | Regla | Condición y resultado |
|
|
@@ -5,11 +5,14 @@
|
|
|
5
5
|
Cerrar una tarea es una afirmación sobre comportamiento observado, no una impresión del ejecutor.
|
|
6
6
|
[fuente: ../../adr/system/OPS-004-promocion-humana-y-evidencia-verificable.md]
|
|
7
7
|
|
|
8
|
+
Elabora el invariante 4 de `../../PROTOCOL.md`, que lo enuncia en una línea: acá viven sus bordes
|
|
9
|
+
y su evidencia. Cambiar una sin la otra las separa.
|
|
10
|
+
|
|
8
11
|
## Reglas
|
|
9
12
|
|
|
10
13
|
| ID | Regla | Condición y resultado |
|
|
11
14
|
|---|---|---|
|
|
12
|
-
| BR-OPS-004 | Cierre con evidencia | Una entrada en DONE registra aceptación,
|
|
15
|
+
| BR-OPS-004 | Cierre con evidencia | Una entrada en DONE registra aceptación, comandos con sus exit codes, QA, la prueba que sostiene cada criterio citado, y el commit. |
|
|
13
16
|
|
|
14
17
|
## Por qué existe cada regla
|
|
15
18
|
|
|
@@ -6,6 +6,12 @@ posteriores y cualquier recorrido que registre lo aprendido en vez de proponer t
|
|
|
6
6
|
Un archivo por informe, nombrado `<AAAA-MM-DD>-<slug>.md`. Son evidencia: se commitean y no se
|
|
7
7
|
reescriben. Si una conclusión cambia, se agrega un informe nuevo que lo diga.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
La forma del informe no la fija este directorio: la declara el recorrido que lo produce. Cada etapa de
|
|
10
|
+
un recorrido dice qué produce y con qué condición de salida —una revisión de incidente entrega línea de
|
|
11
|
+
tiempo y alcance, un triage entrega la reproducción y a quiénes alcanza—, y el informe teje eso. Por
|
|
12
|
+
eso no hay molde acá: uno solo contradiría a dos de los tres recorridos que escriben informes.
|
|
13
|
+
|
|
14
|
+
Los seguimientos van al INBOX sin promover, cada uno a la sección que le corresponde por su sujeto: lo
|
|
15
|
+
que propone un cambio del producto, con su evidencia, a Propuestas; lo que se aprendió sobre cómo
|
|
16
|
+
trabajamos, a Lecciones. Las acciones que requieren una persona van a `../HUMAN_ACTIONS.md`. Convertir
|
|
17
|
+
un seguimiento en trabajo es una decisión humana.
|
|
@@ -52,11 +52,19 @@ archivos auxiliares vacíos ni se usa una carpeta si la épica sigue siendo fác
|
|
|
52
52
|
|
|
53
53
|
- Frontmatter: `epic`, `title`, `status` y `service`.
|
|
54
54
|
- Resultado: cambio esperado para el usuario o sistema.
|
|
55
|
-
- Fuera de alcance:
|
|
56
|
-
- Criterios `CN`:
|
|
57
|
-
|
|
55
|
+
- Fuera de alcance: lo que se decidió no hacer, para que no entre solo.
|
|
56
|
+
- Criterios `CN`: disparador, sujeto y resultado observable. Los bordes —input vacío, permiso ajeno,
|
|
57
|
+
dependencia caída— se escriben como criterios y no como prosa, porque sólo así se rastrean y se prueban.
|
|
58
|
+
- Contexto relevante: rutas existentes verificadas, patrones, y los ADR e invariantes de
|
|
59
|
+
`../business-rules/` que rigen el resultado.
|
|
58
60
|
- Historias: incrementos de hasta cuatro horas, con slug, servicio y referencias `(→ CN)`.
|
|
59
|
-
- Riesgos y decisiones humanas:
|
|
61
|
+
- Riesgos y decisiones humanas: lo que no se puede decidir acá — supuestos, dependencias y acciones que
|
|
62
|
+
un runner no puede resolver. Lo que sí se decidió y queda afuera va en Fuera de alcance.
|
|
63
|
+
|
|
64
|
+
Lo que todavía no se decidió se escribe con el marcador `Por definir`, en la sección que corresponda.
|
|
65
|
+
Una épica `open` puede llevarlos —es un borrador—; `check` los rechaza al pasar a `active`. Por eso la
|
|
66
|
+
plantilla no trae ninguno: lo que se copia no puede incluir algo que haya que borrar para poder
|
|
67
|
+
activar la épica.
|
|
60
68
|
|
|
61
69
|
Cada criterio debe estar cubierto por al menos una historia. Una historia puede cubrir varios criterios y todo
|
|
62
70
|
slug debe ser estable y único en el roadmap.
|
|
@@ -13,20 +13,34 @@ Qué cambia para el usuario o el sistema.
|
|
|
13
13
|
|
|
14
14
|
## Fuera de alcance
|
|
15
15
|
|
|
16
|
-
-
|
|
16
|
+
- Lo que decidimos no hacer en esta épica, para que no entre solo. Lo que todavía no se puede decidir
|
|
17
|
+
no va acá: va en Riesgos.
|
|
17
18
|
|
|
18
19
|
## Criterios
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
Cada criterio nombra tres cosas: el disparador, el sujeto y el resultado observable. Sin disparador no
|
|
22
|
+
se sabe cuándo probarlo; sin sujeto, a quién. Los bordes son criterios como cualquier otro —el input
|
|
23
|
+
vacío, el permiso ajeno, el sistema del que depende caído—: escritos acá se rastrean y se prueban;
|
|
24
|
+
escritos en prosa se pierden.
|
|
25
|
+
|
|
26
|
+
Pasando de siete, `check` pide decidir (R17): o son dos resultados con vidas distintas y la épica se
|
|
27
|
+
parte, o es uno solo y se escribe `(sin partir: <razón>)` en cualquier parte de este archivo. La razón
|
|
28
|
+
es para quien la lea en tres meses, no para silenciar el mensaje.
|
|
29
|
+
|
|
30
|
+
- **C1** — Cuando <disparador>, <sujeto> obtiene <resultado observable>.
|
|
31
|
+
- **C2** — Al <borde>, <sujeto> obtiene <resultado observable>, y <lo que no cambia> no cambia.
|
|
21
32
|
|
|
22
33
|
## Contexto relevante
|
|
23
34
|
|
|
24
|
-
- Estado actual
|
|
35
|
+
- Estado actual y rutas reales, verificadas en el repositorio; los ADR de `../adr/` y las invariantes
|
|
36
|
+
de `../business-rules/` que rigen este resultado. Es lo que el ejecutor lee antes de decidir el cómo.
|
|
25
37
|
|
|
26
38
|
## Historias
|
|
27
39
|
|
|
28
40
|
- [ ] **slug-de-historia** (→ C1) — Incremento ≤4h. _Aceptación: resultado observable._ (service: ruta)
|
|
41
|
+
- [ ] **slug-del-borde** (→ C2) — Incremento ≤4h. _Aceptación: resultado observable._ (service: ruta)
|
|
29
42
|
|
|
30
43
|
## Riesgos y decisiones humanas
|
|
31
44
|
|
|
32
|
-
-
|
|
45
|
+
- Lo que no se puede decidir acá: supuestos, dependencias y acciones que necesitan una persona.
|
|
46
|
+
Escribir `Ninguno` cuando se hayan revisado.
|
|
@@ -2,13 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
`system/` pertenece a Cauce y se reemplaza completo en cada actualización:
|
|
4
4
|
|
|
5
|
-
- `system/process.md
|
|
6
|
-
|
|
7
|
-
- `system/
|
|
8
|
-
- `system/
|
|
5
|
+
- `system/process.md` — R1..R4, R16, R17, R20, R21: planificación, alcance, review, sincronización de estado,
|
|
6
|
+
medición y retomar lo interrumpido.
|
|
7
|
+
- `system/code-shape.md` — R5..R7, R11, R18: simplicidad y forma del cambio.
|
|
8
|
+
- `system/commits.md` — R8..R10: historia versionada y entrega.
|
|
9
|
+
- `system/conduct.md` — R12..R15, R19: trato con sistemas externos, lo que llega de ellos, y la
|
|
10
|
+
obligación de entregar al negarse.
|
|
11
|
+
|
|
12
|
+
El número es el identificador: una regla se cita por él desde un cargo, un workflow o una entrada de
|
|
13
|
+
DONE, y por eso no se reordena ni se reusa.
|
|
9
14
|
|
|
10
15
|
Las reglas propias del proyecto van en este directorio, junto a `system/`, y nunca se tocan al
|
|
11
|
-
actualizar.
|
|
12
|
-
|
|
16
|
+
actualizar. **Se numeran `P1..Pn`**: `R` queda reservado al sistema, y `check` rechaza un `R` definido
|
|
17
|
+
fuera de él para que no existan dos reglas con el mismo nombre.
|
|
18
|
+
|
|
19
|
+
Para cambiar una regla del sistema, escribí la tuya **con el mismo nombre de archivo**: ahí redefinir
|
|
20
|
+
sus números es la función, la del proyecto manda, y `check` reporta el override en vez de fallar.
|
|
13
21
|
|
|
14
22
|
Las convenciones específicas de lenguaje viven junto al servicio que usa ese lenguaje.
|
|
@@ -8,10 +8,31 @@ Preferir la solución más simple que cubre toda la aceptación, sin infraestruc
|
|
|
8
8
|
|
|
9
9
|
No reformatear, renombrar ni reparar elementos ajenos a la tarea.
|
|
10
10
|
|
|
11
|
+
Lo que aparece durante el trabajo y el plan no previó no es ajeno, y no tiene por destino el silencio.
|
|
12
|
+
Si esta tarea lo puede fijar, entra con la prueba que lo fija; si es una decisión que no le toca, queda
|
|
13
|
+
registrada con qué la cierra y quién puede tomarla. Implementarlo sin prueba lo vuelve invisible y
|
|
14
|
+
descartarlo lo pierde: en los dos casos el próximo que lo encuentre empieza donde empezó éste.
|
|
15
|
+
|
|
16
|
+
Lo que impide entregar es otra cosa, y ya tenía su camino: se dice que no se pudo, con el bloqueo
|
|
17
|
+
nombrado. Confundirlo con lo anterior frena entregas completas por un borde que alguien iba a decidir de
|
|
18
|
+
todos modos —toda aceptación escrita en prosa tiene uno—, y un freno que salta siempre se termina apagando.
|
|
19
|
+
|
|
20
|
+
Y lo que separa un destino del otro es quién puede resolverlo, no cuán grave parece. Una prueba que
|
|
21
|
+
falta la escribe quien está trabajando; una definición que falta, no. Tratarlas igual interrumpe a una
|
|
22
|
+
persona por lo que se resolvía solo, o resuelve solo lo que no le tocaba.
|
|
23
|
+
|
|
11
24
|
## R7 — Límites legibles
|
|
12
25
|
|
|
13
|
-
Extraer responsabilidades cuando una unidad deja de poder entenderse y probarse aisladamente
|
|
14
|
-
|
|
26
|
+
Extraer responsabilidades cuando una unidad deja de poder entenderse y probarse aisladamente.
|
|
27
|
+
|
|
28
|
+
Un umbral no decide la división: la dispara. Al cruzarlo se revisa si la unidad mezcla dos propósitos con
|
|
29
|
+
ciclos de vida distintos, y recién ahí se parte, o se deja con la razón escrita. Un número usado como límite
|
|
30
|
+
se cumple partiendo por la mitad lo que era una sola cosa; usado como disparador encuentra lo que nadie iba
|
|
31
|
+
a mirar. Cuáles son esos números los fija el proyecto, porque dependen del lenguaje y de la superficie.
|
|
32
|
+
|
|
33
|
+
Lo que crece por diseño no se juzga por tamaño: un registro que sólo agrega, una salida generada o un
|
|
34
|
+
histórico son largos porque eso es lo que son. Y una división que duplica un hecho es peor que el archivo
|
|
35
|
+
largo — una de las dos copias se pudre y nada falla.
|
|
15
36
|
|
|
16
37
|
## R11 — Comentarios con destinatario
|
|
17
38
|
|
|
@@ -29,3 +50,15 @@ nada falla.
|
|
|
29
50
|
qué algo se aparta del idioma habitual, y qué quedó a medias.
|
|
30
51
|
|
|
31
52
|
Un comentario que cuesta escribir suele estar señalando el código, no la falta de palabras.
|
|
53
|
+
|
|
54
|
+
## R18 — Un doble se justifica y los datos salen de una fábrica
|
|
55
|
+
|
|
56
|
+
Todo doble de prueba —mock, stub, fake, spy— declara en una línea por qué existe, y se busca en el lugar
|
|
57
|
+
compartido antes de escribir uno nuevo. Los datos de ejemplo salen de una fábrica, nunca de un volcado de
|
|
58
|
+
producción ni de una credencial real.
|
|
59
|
+
|
|
60
|
+
El enemigo no es el doble: es el test que afirma estructura en vez de conducta. Una suite entera puede
|
|
61
|
+
quedar verde con el defecto adentro sin que sobre un solo doble — lo que faltaba era el caso que nadie
|
|
62
|
+
escribió. Por eso se justifica y se reúsa en vez de prohibirse: un doble sin razón escrita se copia, y la
|
|
63
|
+
copia deja de coincidir con lo que reemplaza sin que ninguna prueba lo note.
|
|
64
|
+
|
|
@@ -1,14 +1,36 @@
|
|
|
1
1
|
# Commits y entrega
|
|
2
2
|
|
|
3
|
-
## R8 — Un commit por
|
|
3
|
+
## R8 — Un commit por naturaleza
|
|
4
4
|
|
|
5
5
|
Stagear rutas explícitas, revisar el diff staged y crear un Conventional Commit en inglés. No usar
|
|
6
6
|
`git add .`, `git add -A`, amend, force ni trailers de IA.
|
|
7
7
|
|
|
8
|
+
Dónde corta un commit lo decide la naturaleza del diff, no su tamaño ni un conteo. Una tarea suele
|
|
9
|
+
tener una sola, y por eso un commit por tarea es lo habitual; cuando tiene dos, se hacen dos. Un
|
|
10
|
+
refactor y el arreglo de traducción que lo acompaña, juntos en un commit, ya no se pueden revertir
|
|
11
|
+
por separado, y quien revise tiene que volver a separarlos a mano.
|
|
12
|
+
|
|
13
|
+
La unidad de aceptación y de evidencia sigue siendo la tarea: su entrada de DONE registra todos los
|
|
14
|
+
commits que produjo, separados por `;`. Partir el diff no parte la aceptación.
|
|
15
|
+
|
|
8
16
|
## R9 — El artefacto manda
|
|
9
17
|
|
|
10
18
|
Tests verdes no reemplazan build, paquete, imagen o migración cuando son parte del artefacto entregable.
|
|
11
19
|
|
|
20
|
+
Verde tampoco prueba lo que la tarea prometió. El criterio de aceptación que ningún test asercia no está
|
|
21
|
+
cubierto, y el que dice cubrirlo sin aserciar esa propiedad tampoco lo cubre. Eso se ve leyendo el fuente
|
|
22
|
+
del test, no su salida: un exit code no distingue la prueba que sostiene el criterio de la que lo nombra.
|
|
23
|
+
Y una prueba que nunca se vio fallar no muestra que su aserción funcione: el rojo previo es lo único que
|
|
24
|
+
la separa de una que pasa haga lo que haga el código.
|
|
25
|
+
|
|
26
|
+
Pero el rojo previo prueba ausencia —el método no existe, la pantalla no está montada—, y eso no distingue
|
|
27
|
+
una implementación sutilmente equivocada de una correcta. Lo que sí la distingue es romper, ya con el código
|
|
28
|
+
puesto, exactamente lo que el caso dice cuidar, y verlo ponerse rojo por eso. Si no se pone rojo, no lo cuida,
|
|
29
|
+
y la cobertura no lo va a decir: mide qué líneas se ejecutan, no qué defectos se atrapan.
|
|
30
|
+
|
|
31
|
+
La precondición del caso también cuenta. Si el estado en que arranca no puede ocurrir por el camino de
|
|
32
|
+
producción, lo que prueba tampoco: queda verde para siempre sobre algo que nadie va a vivir.
|
|
33
|
+
|
|
12
34
|
## R10 — Publicación humana por defecto
|
|
13
35
|
|
|
14
36
|
Push, PR, merge, tags, deploy y rollback requieren la autorización configurada para el proyecto.
|