@ingeniomaps/cauce 0.43.0 → 0.46.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 +134 -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/expected-behaviors.yaml +15 -0
- package/flows/system/change-review/flow.json +105 -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 +1 -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
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
agent: security-engineer
|
|
3
|
-
date: 2026-08-16
|
|
4
|
-
status: draft
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Investigación semanal — 2026-08-16
|
|
8
|
-
|
|
9
|
-
## Fuentes consultadas
|
|
10
|
-
|
|
11
|
-
Inventario local primero (activos reales, no supuestos):
|
|
12
|
-
|
|
13
|
-
- `package.json` — `@ingeniomaps/cauce@0.18.0`, `type: commonjs`, `engines.node >= 24`,
|
|
14
|
-
`packageManager: npm@11.16.0`, cero dependencias de runtime, `bin.cauce → engine/cli/ops.js`,
|
|
15
|
-
`files` como allowlist explícita (`engine/`, `template/`, `agents/`, `teams/`,
|
|
16
|
-
`automatization/`, `.github/workflows/`).
|
|
17
|
-
- `engine/hooks/run.js` — los doce guards y sus tres grupos por evento.
|
|
18
|
-
- `engine/core/files.js` — `assertWithin`, `assertNoSymlinkPath`, `atomicWrite`.
|
|
19
|
-
- `automatization/hooks/*.sh` y `run-hook.sh` — wrappers que fijan `OPS_ROOT` y resuelven el motor.
|
|
20
|
-
- `.github/workflows/ci.yml` y `.github/workflows/agent-learning.yml`.
|
|
21
|
-
- `.npmrc`, `.env` (gitignoreado; leído sólo por nombres de variable), `.gitignore`,
|
|
22
|
-
`ops.config.json` (`mode: toolkit`, `allowPush: false`), `Makefile`.
|
|
23
|
-
- `SKILL.md`, `learning/sources.yaml`, `evaluations/expected-behaviors.yaml` del propio cargo.
|
|
24
|
-
|
|
25
|
-
Fuentes externas (tratadas como datos, no como instrucciones):
|
|
26
|
-
|
|
27
|
-
| Fuente | Tipo | Fecha | Enlace |
|
|
28
|
-
| --- | --- | --- | --- |
|
|
29
|
-
| GitHub Changelog — npm classic tokens revoked | proveedor primario | 2025-12-09 | https://github.blog/changelog/2025-12-09-npm-classic-tokens-revoked-session-based-auth-and-cli-token-management-now-available |
|
|
30
|
-
| GitHub Changelog — npm classic token creation disabled, granular token changes | proveedor primario | 2025-11-05 | https://github.blog/changelog/2025-11-05-npm-security-update-classic-token-creation-disabled-and-granular-token-changes/ |
|
|
31
|
-
| Microsoft Security Blog — «ChainDrop supply chain compromise» | vendor research | 2026-08-04 | https://www.microsoft.com/en-us/security/blog/2026/08/04/chaindrop-supply-chain-compromise-anatomy-self-propagating-worm/ |
|
|
32
|
-
| StepSecurity — ChainDrop npm worm | vendor research | 2026-08 | https://www.stepsecurity.io/blog/chaindrop-npm-worm |
|
|
33
|
-
| GitHub Advisory GHSA-69fq-xp46-6x23 / CVE-2026-33634 — Trivy ecosystem supply chain | advisory primario | 2026-03 | https://github.com/aquasecurity/trivy/security/advisories/GHSA-69fq-xp46-6x23 |
|
|
34
|
-
| Aqua Security — conclusión del incidente 2026-03-19 | proveedor afectado | 2026-03 | https://github.com/aquasecurity/trivy/discussions/10462 |
|
|
35
|
-
| Node.js — Security Releases | proveedor primario | 2026-07-29 | https://nodejs.org/en/blog/vulnerability/july-2026-security-releases |
|
|
36
|
-
| Socket — «npm v12 ships with install scripts off by default» | vendor research | 2026-07 | https://socket.dev/blog/npm-12 |
|
|
37
|
-
| OWASP Top 10 for Agentic Applications 2026 | estándar comunitario | 2025-12-09 | https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/ |
|
|
38
|
-
| OWASP ASVS 5.0.0 | estándar primario | 2025-05-30 | https://owasp.org/www-project-application-security-verification-standard/ |
|
|
39
|
-
| NIST — SSDF v1.2 en comentario público | estándar primario | 2025-12 | https://www.nist.gov/news-events/news/2025/12/secure-software-development-framework-ssdf-version-12-available-public |
|
|
40
|
-
|
|
41
|
-
## Hallazgos
|
|
42
|
-
|
|
43
|
-
### H1 — La publicación a npm depende de un token de larga vida en disco, y la guía escrita apunta a un mecanismo que npm ya revocó
|
|
44
|
-
|
|
45
|
-
- **Activo**: la cuenta que publica `@ingeniomaps/cauce`. Es el activo de mayor consecuencia del
|
|
46
|
-
toolkit: quien publique una versión ejecuta código dentro de cada repositorio de empresa que instale.
|
|
47
|
-
- **Exposición**: `.npmrc` resuelve `//registry.npmjs.org/:_authToken=${NPM_TOKEN}` y `NPM_TOKEN` vive
|
|
48
|
-
en `.env` en la máquina de desarrollo. No hay workflow de publicación: `npm publish` se corre a mano
|
|
49
|
-
(y el guard `dependencies` lo bloquea salvo acción humana explícita). No hay trusted publishing
|
|
50
|
-
(OIDC) ni, por lo tanto, procedencia firmada en el paquete.
|
|
51
|
-
- **Estado externo**: npm revocó **permanentemente todos los tokens clásicos el 2025-12-09** («no pueden
|
|
52
|
-
autenticar, recrearse ni recuperarse»), los granulares con escritura quedaron **limitados a 90 días**
|
|
53
|
-
y npm recomienda OIDC trusted publishing «que elimina la necesidad de generar y administrar tokens».
|
|
54
|
-
- **Explotabilidad**: no requiere una vulnerabilidad en Cauce. Requiere leer un archivo del disco del
|
|
55
|
-
desarrollador — que es exactamente lo que hacen los worms de npm en curso (ver H2).
|
|
56
|
-
- **Mitigación proporcional**: publicar desde un workflow con trusted publishing (OIDC) y un
|
|
57
|
-
*environment* con aprobación humana requerida; mientras tanto, token granular acotado a este paquete,
|
|
58
|
-
con expiración, y rotación desde un host limpio.
|
|
59
|
-
- **Confianza**: **alta** (hecho local verificado + changelog primario del proveedor).
|
|
60
|
-
|
|
61
|
-
### H2 — ChainDrop (2026-08-04): el worm de npm cosecha justo las credenciales que este repositorio guarda, y también abusa de trusted publishing
|
|
62
|
-
|
|
63
|
-
- **Qué pasó**: el 2026-08-04 un worm autopropagante recorrió npm; Microsoft describe releases no
|
|
64
|
-
autorizadas en más de 400 paquetes, y StepSecurity reporta 444 paquetes y 2 212 versiones en menos de
|
|
65
|
-
cuatro horas, incluyendo `keyv@6.0.0`, `flat-cache@6.1.24` y `file-entry-cache@11.1.6`.
|
|
66
|
-
- **Qué roba**: tokens npm con permiso de escritura, PAT de GitHub y credenciales del CLI, secretos de
|
|
67
|
-
runners de GitHub Actions, credenciales cloud (AWS/Azure/Kubernetes) y secretos de HashiCorp Vault.
|
|
68
|
-
- **Cómo se ejecuta**: scripts de instalación (`preinstall` corre antes de que termine la instalación) y
|
|
69
|
-
—el detalle importante— **una ruta de publicación dirigida a workflows de GitHub Actions configurados
|
|
70
|
-
como trusted publishers de npm**, lo que le permitió emitir procedencia válida para releases maliciosas.
|
|
71
|
-
- **Exposición de Cauce como consumidor**: **baja**. Cero dependencias de runtime; el motor sólo importa
|
|
72
|
-
módulos del core (`fs`, `path`, `child_process`, `crypto`, `os`). CI no instala dependencias
|
|
73
|
-
(`npm run ci` no corre `npm install`).
|
|
74
|
-
- **Exposición de Cauce como publicador**: **alta**, por H1. `.env` contiene además `GITHUB_PAT_CAUCE`
|
|
75
|
-
con permiso de push sobre `ingeniomaps/cauce`: dos de las categorías que el payload busca, en el mismo
|
|
76
|
-
archivo.
|
|
77
|
-
- **Lectura sobre H1**: trusted publishing reduce la superficie pero no la elimina. La recomendación
|
|
78
|
-
correcta no es «OIDC» a secas, sino OIDC **con aprobación de environment** y revisión del workflow.
|
|
79
|
-
- **Confianza**: **alta** para el incidente y su alcance (dos fuentes independientes); **media** para el
|
|
80
|
-
detalle de abuso de OIDC (una sola fuente: Microsoft).
|
|
81
|
-
|
|
82
|
-
### H3 — `agent-learning.yml` corre un agente autónomo con `contents: write` en el mismo job donde ingiere contenido web no confiable
|
|
83
|
-
|
|
84
|
-
- **Evidencia local**: `.github/workflows/agent-learning.yml` declara `permissions: contents: write` y
|
|
85
|
-
`pull-requests: write` a nivel workflow (líneas 19-21). El job `research` instala y ejecuta
|
|
86
|
-
`claude -p …` (líneas 121-122) con `ANTHROPIC_API_KEY` en el entorno, y el prompt que ese agente
|
|
87
|
-
obedece es el `learning/AUTOMATION.md` del cargo — que en este cargo manda explícitamente a leer
|
|
88
|
-
fuentes externas.
|
|
89
|
-
- **Amenaza**: inyección indirecta de prompt. El contenido que el agente lee es controlado por terceros;
|
|
90
|
-
el proceso que lo lee tiene, en el mismo entorno, el token de GitHub del job y una API key.
|
|
91
|
-
- **Control existente y real**: el paso «Open research pull request» (líneas 140-145) compara
|
|
92
|
-
`git diff --name-only` contra la ruta exacta del informe y **falla el job** si el agente tocó otra
|
|
93
|
-
cosa. Es un buen control y hay que decir que existe.
|
|
94
|
-
- **Límite de ese control**: es *post-hoc*. Corre después de que el agente ya ejecutó comandos con el
|
|
95
|
-
token disponible. No cubre exfiltración de `ANTHROPIC_API_KEY` ni de `GITHUB_TOKEN` durante el paso
|
|
96
|
-
`Research`, ni un `git push` emitido desde dentro de ese paso. Verifica el artefacto, no el proceso.
|
|
97
|
-
- **Marco aplicable**: OWASP Top 10 for Agentic Applications 2026 (publicado 2025-12-09), cuyas
|
|
98
|
-
categorías cubren uso de herramientas, identidad, ejecución de código y agencia excesiva.
|
|
99
|
-
- **Mitigación proporcional**: separar en dos jobs — investigación sin `GITHUB_TOKEN` de escritura
|
|
100
|
-
(`permissions: contents: read`, resultado subido como artifact) y apertura del PR en un job posterior
|
|
101
|
-
que sólo lee el artifact. Es el patrón estándar de aislar el paso que toca contenido no confiable del
|
|
102
|
-
paso que tiene credenciales.
|
|
103
|
-
- **Consecuencia de segundo orden**: `automatization/` y `.github/workflows/` viajan dentro del tarball
|
|
104
|
-
npm (allowlist `files` de `package.json`), así que este patrón se replica en cada instalación que
|
|
105
|
-
adopte los workflows. El defecto de diseño escala con la adopción.
|
|
106
|
-
- **Confianza**: **alta** en la observación (código local verificado); **media** en la severidad, porque
|
|
107
|
-
depende del modelo de amenaza de cada instalación y del repositorio donde corra.
|
|
108
|
-
|
|
109
|
-
### H4 — Las acciones de GitHub están fijadas a tags mutables, con precedente explotado este año
|
|
110
|
-
|
|
111
|
-
- **Evidencia local**: `ci.yml` y `agent-learning.yml` usan `actions/checkout@v4` y
|
|
112
|
-
`actions/setup-node@v4`. Un tag es una referencia móvil.
|
|
113
|
-
- **Precedente explotado**: el 2026-03-19 un actor con credenciales comprometidas hizo *force-push*
|
|
114
|
-
sobre 76 de 77 tags de versión de `aquasecurity/trivy-action` y sobre los 7 tags de
|
|
115
|
-
`aquasecurity/setup-trivy`, redirigiendo referencias confiables a commits maliciosos que leían la
|
|
116
|
-
memoria del worker del runner para extraer secretos. Advisory: **GHSA-69fq-xp46-6x23 /
|
|
117
|
-
CVE-2026-33634**. Fue la segunda vez en tres semanas.
|
|
118
|
-
- **Exposición diferencial**: `ci.yml` corre con `permissions: contents: read` y sin secretos →
|
|
119
|
-
impacto contenido. `agent-learning.yml` corre con `contents: write`, `pull-requests: write` y
|
|
120
|
-
`ANTHROPIC_API_KEY` → ahí un action comprometido es una fuga de credenciales.
|
|
121
|
-
- **Mitigación proporcional**: fijar por SHA completo (comentando la versión al lado) en
|
|
122
|
-
`agent-learning.yml` como mínimo; `ci.yml` puede seguir después.
|
|
123
|
-
- **Confianza**: **alta**.
|
|
124
|
-
|
|
125
|
-
### H5 — Node 24: la última release de seguridad es 24.18.1; el impacto real sobre el motor es bajo y conviene decirlo así
|
|
126
|
-
|
|
127
|
-
- **Externo**: el 2026-07-29 Node publicó 26.5.1, **24.18.1** y 22.23.2, con tres CVE **High** que
|
|
128
|
-
afectan a 24.x: `CVE-2026-56846` (HTTP/2, headers retenidos evaden `maxSessionMemory`),
|
|
129
|
-
`CVE-2026-56848` (HTTP/2, heap-use-after-free por envío reentrante) y `CVE-2026-58043` (el
|
|
130
|
-
Permission Model otorga acceso de más al hacer *path matching*). Más ocho de severidad media/baja.
|
|
131
|
-
- **Local**: `engines.node: ">=24"` (rango abierto, sin techo) y la máquina de desarrollo corre
|
|
132
|
-
**v24.18.0** — una parche por detrás. CI usa `node-version: "24"`, que resuelve la última 24.x, así
|
|
133
|
-
que CI ya toma 24.18.1.
|
|
134
|
-
- **Exposición real**: **baja para el producto**. Cauce es un CLI local sin servidor: el motor no
|
|
135
|
-
importa `http2`, `tls`, `zlib`, `dns` ni `node:sqlite` (verificado: sólo `fs`, `path`,
|
|
136
|
-
`child_process`, `crypto`, `os`). `CVE-2026-58043` afecta al Permission Model, que Cauce no activa.
|
|
137
|
-
- **Por qué igual figura**: los guards de Cauce **no son** un Permission Model de Node y no deben
|
|
138
|
-
presentarse como sustituto de uno (ver H7). Y un rango `>=24` sin piso de parche significa que una
|
|
139
|
-
empresa puede correr el toolkit sobre un 24.x vulnerable creyendo que cumple el requisito.
|
|
140
|
-
- **Mitigación proporcional**: subir el piso de `engines.node` a la línea parcheada vigente.
|
|
141
|
-
- **Confianza**: **alta** en versiones y CVEs (fuente primaria); **alta** en la no-exposición del motor,
|
|
142
|
-
acotada a que la verificación fue por imports del core y no un análisis de flujo completo.
|
|
143
|
-
|
|
144
|
-
### H6 — npm v12 apagó los install scripts por defecto; el repositorio sigue fijado a npm 11
|
|
145
|
-
|
|
146
|
-
- **Externo**: npm v12.0.0 salió el 2026-07-08 con `allowScripts` en *off* por defecto —
|
|
147
|
-
`preinstall`/`install`/`postinstall` de dependencias ya no corren sin opt-in — sumado a
|
|
148
|
-
`min-release-age`, que rechaza paquetes publicados demasiado recientemente. Es la contramedida
|
|
149
|
-
directa al vector de H2.
|
|
150
|
-
- **Local**: `package.json` declara `packageManager: npm@11.16.0`; la máquina corre npm 11.16.0.
|
|
151
|
-
- **Impacto**: Cauce no define scripts de ciclo de vida ni tiene dependencias, así que migrar a npm 12
|
|
152
|
-
**no rompe nada**; el costo es cero y el beneficio es alinearse con el default endurecido y poder usar
|
|
153
|
-
`min-release-age` en las instalaciones que sí tienen dependencias.
|
|
154
|
-
- **Confianza**: **alta** en el hecho local; **media** en la fecha exacta y el detalle de la release,
|
|
155
|
-
porque las fuentes que la reportan son secundarias (Socket) y no encontré el anuncio primario de npm.
|
|
156
|
-
|
|
157
|
-
### H7 — Los guards son coincidencia de texto sobre el comando, no un límite de seguridad; el riesgo es la confianza que inspiran
|
|
158
|
-
|
|
159
|
-
- **Evidencia reproducible localmente** (`engine/hooks/run.js`, ejecutado contra sus propias funciones):
|
|
160
|
-
|
|
161
|
-
| Comando | Resultado |
|
|
162
|
-
| --- | --- |
|
|
163
|
-
| `git push origin main` | BLOQUEA |
|
|
164
|
-
| `git\tpush origin main` | BLOQUEA |
|
|
165
|
-
| `bash -c "git push"` | BLOQUEA |
|
|
166
|
-
| `g=push; git $g origin main` | **PASA** |
|
|
167
|
-
| `eval "git pu""sh"` | **PASA** |
|
|
168
|
-
| `npm publish` / `npm exec -- npm publish` | BLOQUEA |
|
|
169
|
-
|
|
170
|
-
- **Lectura correcta**: esto **no es un bug a tapar con más regex**. Un guard que inspecciona una cadena
|
|
171
|
-
de shell antes de que la ejecute un shell no puede decidir qué va a ejecutarse; agregar patrones sólo
|
|
172
|
-
mueve la frontera. Los guards funcionan como lo que son: barandas contra el error y el atajo, no
|
|
173
|
-
contra un adversario.
|
|
174
|
-
- **Riesgo real**: falsa confianza. Una empresa que instala Cauce y lee «Bloquea publicación y comandos
|
|
175
|
-
con pérdida de datos» en `hookMetadata` puede concluir que `guard-destructive` impide publicar. No lo
|
|
176
|
-
impide frente a alguien que quiera publicar. Esto choca de frente con dos controles que este propio
|
|
177
|
-
cargo declara: `scanner_score_as_complete_risk_decision` en `expected-behaviors.yaml` y «no asegurar
|
|
178
|
-
cumplimiento ni ausencia de vulnerabilidades» en `SKILL.md`.
|
|
179
|
-
- **Mitigación proporcional**: documental, no técnica — enunciar el alcance de los guards en el README
|
|
180
|
-
de `automatization/hooks/`. Ninguna de las dos cosas se toca en este informe.
|
|
181
|
-
- **Confianza**: **alta**.
|
|
182
|
-
|
|
183
|
-
### H8 — El guard de secretos decide por nombre de archivo y deja pasar formatos de credencial habituales
|
|
184
|
-
|
|
185
|
-
- **Evidencia local** (`engine/hooks/run.js:106-116`, ejecutado):
|
|
186
|
-
|
|
187
|
-
| Archivo | Resultado |
|
|
188
|
-
| --- | --- |
|
|
189
|
-
| `.env`, `.env.local`, `service-account.json`, `cert.pem`, `deploy.key` | BLOQUEA |
|
|
190
|
-
| `.npmrc`, `.netrc`, `credentials`, `.aws/credentials`, `id_rsa`, `config/secrets.yaml` | **PASA** |
|
|
191
|
-
|
|
192
|
-
- **Detalle**: la regex exige extensión para credenciales (`credentials.*\.json`), así que el
|
|
193
|
-
`~/.aws/credentials` clásico —sin extensión— no matchea. Y `.npmrc` pasa, siendo que en *este mismo
|
|
194
|
-
repositorio* `.npmrc` es el archivo que referencia el token de publicación.
|
|
195
|
-
- **Exposición**: **baja**. `workspace-boundary` acota la escritura a las raíces declaradas en
|
|
196
|
-
`ops.config.json`, y `.gitignore` cubre `.env*`, `.npmrc` y `.gitconfig`. El guard es una capa de
|
|
197
|
-
redundancia, no el control primario.
|
|
198
|
-
- **Explotabilidad**: no es un bypass buscado por un atacante; es un hueco por el que se cuela un
|
|
199
|
-
descuido honesto.
|
|
200
|
-
- **Confianza**: **alta** en el hecho verificado; **media** en que valga la pena cambiarlo, dado que el
|
|
201
|
-
control primario ya cubre el caso.
|
|
202
|
-
|
|
203
|
-
## Evidencia
|
|
204
|
-
|
|
205
|
-
Todo lo local fue verificado por lectura y ejecución en esta máquina, sin tocar sistemas remotos, sin
|
|
206
|
-
credenciales y sin escanear nada. No se leyó ningún valor de `.env`: sólo los nombres de las variables y
|
|
207
|
-
los comentarios del archivo.
|
|
208
|
-
|
|
209
|
-
| # | Evidencia | Tipo |
|
|
210
|
-
| --- | --- | --- |
|
|
211
|
-
| H1 | `.npmrc:1`; `.env` (nombres `NPM_TOKEN`, `GITHUB_PAT_CAUCE`, `GITHUB_USER_CAUCE` y su comentario de uso); ausencia de workflow de publicación en `.github/workflows/`; `engine/hooks/run.js:171-178` (guard que exige acción humana para `npm publish`) | local + primaria externa |
|
|
212
|
-
| H2 | Microsoft Security Blog 2026-08-04; StepSecurity; `package.json` sin `dependencies`; imports del motor limitados al core de Node | externa corroborada + local |
|
|
213
|
-
| H3 | `.github/workflows/agent-learning.yml:19-21, 84-94, 115-122, 132-145` | local |
|
|
214
|
-
| H4 | `.github/workflows/ci.yml:19-20`; `agent-learning.yml:29, 80-83`; GHSA-69fq-xp46-6x23 / CVE-2026-33634 | local + advisory primario |
|
|
215
|
-
| H5 | nodejs.org security releases 2026-07-29; `node -v` → v24.18.0; `package.json:29-31`; barrido de `require()` sobre `engine/**/*.js` | primaria externa + local |
|
|
216
|
-
| H6 | Socket 2026-07; `package.json:32`; `npm -v` → 11.16.0 | externa secundaria + local |
|
|
217
|
-
| H7 | Ejecución directa de `guards.destructive` / `guards['git-add']` / `guards.dependencies` sobre once comandos de prueba | local, reproducible |
|
|
218
|
-
| H8 | Ejecución directa de `guards.secrets` sobre trece nombres de archivo | local, reproducible |
|
|
219
|
-
|
|
220
|
-
Las tablas de H7 y H8 se reproducen invocando las funciones exportadas por `engine/hooks/run.js` con
|
|
221
|
-
objetos de entrada sintéticos. No se ejecutó ninguno de los comandos de prueba.
|
|
222
|
-
|
|
223
|
-
## Posibles prácticas obsoletas
|
|
224
|
-
|
|
225
|
-
1. **La guía de credenciales de `.env` describe un mecanismo que ya no existe.** El comentario indica
|
|
226
|
-
«usá un token *Automation* (clásico) o uno *Granular* con la opción de bypass activada». Los tokens
|
|
227
|
-
clásicos fueron revocados permanentemente el **2025-12-09** y su creación ya estaba deshabilitada
|
|
228
|
-
desde el **2025-11-05**. La mitad de esa instrucción es hoy irrealizable, y la otra mitad quedó
|
|
229
|
-
acotada a 90 días de vida. (Confianza: **alta**.)
|
|
230
|
-
2. **Publicar a npm con token en vez de trusted publishing.** El propio proveedor recomienda OIDC como
|
|
231
|
-
camino por defecto para CI/CD desde 2025-12-09. Con el matiz de H2: OIDC solo, sin aprobación de
|
|
232
|
-
environment, ya fue abusado en agosto de 2026. (Confianza: **alta** para lo obsoleto, **media** para
|
|
233
|
-
la forma exacta del reemplazo.)
|
|
234
|
-
3. **`uses: action@vN` como forma de fijar una acción.** Con el precedente de `trivy-action`
|
|
235
|
-
(2026-03-19), tratar un tag como inmutable es una práctica vencida en la superficie que maneja
|
|
236
|
-
secretos. (Confianza: **alta**.)
|
|
237
|
-
4. **`packageManager: npm@11.16.0`.** Fija el toolkit a la línea previa al endurecimiento por defecto de
|
|
238
|
-
npm v12. (Confianza: **media** — el hecho local es firme; la fecha de v12 viene de fuente secundaria.)
|
|
239
|
-
5. **`learning/sources.yaml` de este cargo no cubre el stack real.** Sus cuatro fuentes (SSDF, ASVS,
|
|
240
|
-
CWE, KEV) son sólidas y correctas como base de la profesión, pero ninguna emite avisos sobre npm,
|
|
241
|
-
Node.js o GitHub Actions, que es donde vivió todo lo accionable de esta semana. La brecha es de
|
|
242
|
-
cobertura, no de calidad. (Confianza: **alta**; propuesta, no cambio — `sources.yaml` no se toca.)
|
|
243
|
-
6. **Vigilar, no cambiar todavía**: `sources.yaml` apunta a SP 800-218 «final», que sigue siendo v1.1
|
|
244
|
-
(feb 2022). NIST puso **SSDF v1.2 en comentario público en diciembre de 2025**; cuando se finalice,
|
|
245
|
-
el enlace habrá que revisarlo. ASVS 5.0.0 (2025-05-30) sigue vigente y el enlace del proyecto es
|
|
246
|
-
correcto. (Confianza: **alta**.)
|
|
247
|
-
|
|
248
|
-
## Recomendación
|
|
249
|
-
|
|
250
|
-
Nada de lo que sigue se aplicó: este informe no toca dependencias, controles, secretos, código,
|
|
251
|
-
`SKILL.md` ni planificación.
|
|
252
|
-
|
|
253
|
-
**Prioridad alta — la cadena de publicación**
|
|
254
|
-
|
|
255
|
-
1. Migrar la publicación de `@ingeniomaps/cauce` a un workflow con trusted publishing (OIDC) protegido
|
|
256
|
-
por un *environment* con aprobación humana requerida. Cierra H1 y no queda expuesto al abuso de OIDC
|
|
257
|
-
sin aprobación descrito en H2. Owner: mantenedor del paquete.
|
|
258
|
-
2. Mientras eso no exista: reemplazar `NPM_TOKEN` por un token granular acotado a este paquete y con
|
|
259
|
-
expiración, generado y rotado desde un host limpio. Rotar también `GITHUB_PAT_CAUCE`.
|
|
260
|
-
3. Fijar por SHA las acciones de `agent-learning.yml` (el workflow con secretos y `contents: write`).
|
|
261
|
-
|
|
262
|
-
**Prioridad media — el agente en CI**
|
|
263
|
-
|
|
264
|
-
4. Partir el job `research` en dos: investigación con `permissions: contents: read` y sin token de
|
|
265
|
-
escritura, entregando el informe como artifact; apertura del PR en un job separado que sólo consume
|
|
266
|
-
ese artifact. Conservar la verificación de ruta del informe, que ya funciona. Fijar la versión de
|
|
267
|
-
`@anthropic-ai/claude-code` que se instala, hoy sin pin.
|
|
268
|
-
5. Subir el piso de `engines.node` a la línea parcheada vigente en vez de `>=24` abierto.
|
|
269
|
-
|
|
270
|
-
**Prioridad baja — higiene**
|
|
271
|
-
|
|
272
|
-
6. Evaluar mover `packageManager` a npm 12 (sin impacto funcional: no hay dependencias ni scripts).
|
|
273
|
-
7. Documentar en `automatization/hooks/README.md` qué son y qué no son los guards (H7). Es la
|
|
274
|
-
recomendación más barata del informe y la que más falsa confianza evita.
|
|
275
|
-
8. Considerar agregar a `sources.yaml` los avisos de Node.js, el changelog de npm/GitHub y el GitHub
|
|
276
|
-
Advisory Database, que es donde apareció todo lo accionable de esta semana.
|
|
277
|
-
|
|
278
|
-
**Sobre el contrato del cargo**: nada de esto exige cambiar `SKILL.md` ni
|
|
279
|
-
`evaluations/expected-behaviors.yaml`. H7 es un caso de libro del control que ya existe
|
|
280
|
-
(`scanner_score_as_complete_risk_decision`) y H3 encaja en
|
|
281
|
-
`minimizes_privileges_secrets_sensitive_data_and_attack_surface`. Si algo mereciera discutirse en la
|
|
282
|
-
propuesta mensual, es si el cargo debería nombrar explícitamente el caso «agente autónomo con
|
|
283
|
-
credenciales en CI», que hoy queda cubierto por implicación y no por nombre. Eso es material de
|
|
284
|
-
propuesta, no de este informe.
|
|
285
|
-
|
|
286
|
-
## Preguntas abiertas
|
|
287
|
-
|
|
288
|
-
1. **¿Está `@ingeniomaps/cauce` en el radar de ChainDrop?** No lo verifiqué. Confirmarlo exige revisar el
|
|
289
|
-
historial de publicaciones y las sesiones de la cuenta npm, que es acceso a un sistema remoto y queda
|
|
290
|
-
fuera del alcance de una revisión pasiva. La versión publicada coincide con la local (0.18.0), lo que
|
|
291
|
-
es consistente con «sin publicación no autorizada», pero **no es evidencia suficiente**.
|
|
292
|
-
2. **¿Hubo alguna vez un token clásico activo para este paquete?** Si lo hubo, npm lo revocó el
|
|
293
|
-
2025-12-09 y no hay nada que rotar. Si el `NPM_TOKEN` actual funciona, es granular y tiene fecha de
|
|
294
|
-
expiración que conviene conocer. Requiere que un humano mire la cuenta.
|
|
295
|
-
3. **Alcance real del incidente de GitHub Actions de marzo de 2026.** Circula la cifra de «78 330
|
|
296
|
-
secretos exfiltrados de 2 186 organizaciones en cinco días» en blogs secundarios; **no encontré
|
|
297
|
-
fuente primaria y no la afirmo**. El incidente de `trivy-action` sí está confirmado por advisory. Si
|
|
298
|
-
alguien necesita la cifra agregada, hay que buscarla en el reporte original, no en este informe.
|
|
299
|
-
4. **Identificadores exactos del OWASP Top 10 for Agentic Applications 2026.** Cito el marco y su fecha
|
|
300
|
-
de publicación, pero no abrí el PDF, así que no atribuyo un identificador concreto (`AAI0xx`) a H3.
|
|
301
|
-
**Confianza baja** en cualquier mapeo taxonómico preciso hasta leer el documento.
|
|
302
|
-
5. **¿`npm publish` corre alguna vez desde CI hoy?** No hay workflow que lo haga y el guard
|
|
303
|
-
`dependencies` lo bloquea, así que la respuesta aparente es «no, siempre a mano». Vale confirmarlo
|
|
304
|
-
con el mantenedor antes de diseñar la migración a OIDC.
|
|
305
|
-
6. **TOCTOU en `assertNoSymlinkPath`** (`engine/core/files.js:16-28`): la comprobación de symlinks y la
|
|
306
|
-
escritura posterior no son atómicas, y la función no inspecciona la propia base. En un CLI local, con
|
|
307
|
-
un atacante que ya tendría escritura en el árbol del proyecto, el escenario es difícil de justificar.
|
|
308
|
-
Lo dejo anotado **sin severidad asignada**: no encontré un camino en el que un tercero controle esas
|
|
309
|
-
rutas, y no voy a inventarle explotabilidad a un hallazgo teórico.
|
|
310
|
-
7. **`isWithin` en Windows** (`engine/core/files.js:6-9`): si `path.relative` opera entre volúmenes
|
|
311
|
-
distintos devuelve una ruta absoluta que no empieza con `..`, y la comprobación la aceptaría.
|
|
312
|
-
No verificado — no tengo Windows a mano. **Confianza baja**; se confirma con una prueba en esa
|
|
313
|
-
plataforma o leyendo la implementación de `path.win32.relative`.
|