@ingeniomaps/cauce 0.1.0 → 0.3.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/.github/workflows/agent-learning.yml +22 -12
- package/CHANGELOG.md +107 -0
- package/README.md +50 -7
- package/agents/roles/{backend-engineer → system/backend-engineer}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{business-operations-manager → system/business-operations-manager}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{business-strategist → system/business-strategist}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{content-specialist → system/content-specialist}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{customer-success-manager → system/customer-success-manager}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{data-analyst → system/data-analyst}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{devops-engineer → system/devops-engineer}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{engineering-manager → system/engineering-manager}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{financial-controller → system/financial-controller}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/system/finops-engineer/SKILL.md +81 -0
- package/agents/roles/system/finops-engineer/agents/openai.yaml +4 -0
- package/agents/roles/system/finops-engineer/evaluations/cases/01-apagar-en-produccion.md +10 -0
- package/agents/roles/system/finops-engineer/evaluations/cases/02-ahorro-estimado-como-realizado.md +10 -0
- package/agents/roles/system/finops-engineer/evaluations/cases/03-salto-por-regresion.md +10 -0
- package/agents/roles/system/finops-engineer/evaluations/cases/04-optimizar-contra-la-fiabilidad.md +10 -0
- package/agents/roles/system/finops-engineer/evaluations/cases/05-costos-por-cliente.md +10 -0
- package/agents/roles/system/finops-engineer/evaluations/cases/06-adversarial-calculadora-del-proveedor.md +11 -0
- package/agents/roles/system/finops-engineer/evaluations/expected-behaviors.yaml +21 -0
- package/agents/roles/system/finops-engineer/learning/CODEX_AUTOMATION.md +18 -0
- package/agents/roles/system/finops-engineer/learning/proposals/_template.md +15 -0
- package/agents/roles/system/finops-engineer/learning/reports/_template.md +14 -0
- package/agents/roles/system/finops-engineer/learning/sources.yaml +33 -0
- package/agents/roles/system/finops-engineer/references/operating-model.md +70 -0
- package/agents/roles/{frontend-engineer → system/frontend-engineer}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/system/growth-marketer/SKILL.md +77 -0
- package/agents/roles/system/growth-marketer/agents/openai.yaml +4 -0
- package/agents/roles/system/growth-marketer/evaluations/cases/01-gastar-sin-baseline.md +10 -0
- package/agents/roles/system/growth-marketer/evaluations/cases/02-metrica-de-plataforma.md +10 -0
- package/agents/roles/system/growth-marketer/evaluations/cases/03-cortar-experimento.md +10 -0
- package/agents/roles/system/growth-marketer/evaluations/cases/04-promesa-que-el-producto-no-sostiene.md +10 -0
- package/agents/roles/system/growth-marketer/evaluations/cases/05-audiencia-sin-base-legal.md +10 -0
- package/agents/roles/system/growth-marketer/evaluations/cases/06-adversarial-caso-de-exito.md +11 -0
- package/agents/roles/system/growth-marketer/evaluations/expected-behaviors.yaml +21 -0
- package/agents/roles/system/growth-marketer/learning/CODEX_AUTOMATION.md +18 -0
- package/agents/roles/system/growth-marketer/learning/proposals/_template.md +15 -0
- package/agents/roles/system/growth-marketer/learning/reports/_template.md +14 -0
- package/agents/roles/system/growth-marketer/learning/sources.yaml +33 -0
- package/agents/roles/system/growth-marketer/references/operating-model.md +76 -0
- package/agents/roles/{legal-counsel → system/legal-counsel}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{mobile-engineer → system/mobile-engineer}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{people-operations-manager → system/people-operations-manager}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{procurement-manager → system/procurement-manager}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{product-manager → system/product-manager}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{project-manager → system/project-manager}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{qa-engineer → system/qa-engineer}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{release-manager → system/release-manager}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{sales-representative → system/sales-representative}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{security-engineer → system/security-engineer}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{software-architect → system/software-architect}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{technical-writer → system/technical-writer}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{ui-designer → system/ui-designer}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/system/ui-designer/learning/HISTORY.md +4 -0
- package/agents/roles/{user-researcher → system/user-researcher}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/{ux-designer → system/ux-designer}/learning/CODEX_AUTOMATION.md +1 -1
- package/agents/roles/system/ux-designer/learning/HISTORY.md +4 -0
- package/automatization/hooks/run-hook.sh +12 -5
- package/automatization/runners/antigravity/hook.js +8 -1
- package/automatization/runners/antigravity/manifest.json +44 -9
- package/automatization/runners/antigravity/skills/team/SKILL.md +17 -0
- package/automatization/runners/claude/CLAUDE.md +3 -2
- package/automatization/runners/claude/manifest.json +34 -6
- package/automatization/runners/codex/manifest.json +11 -2
- package/automatization/runners/gemini/manifest.json +33 -7
- package/automatization/workflows/autobuild.js +73 -11
- package/automatization/workflows/team.js +225 -0
- package/engine/agents/catalog.js +67 -0
- package/engine/agents/learning.js +2 -16
- package/engine/automation/index.js +69 -5
- package/engine/cli/ops.js +158 -6
- package/engine/config/validate.js +4 -1
- package/engine/core/changelog.js +50 -0
- package/engine/core/ownership.js +168 -0
- package/engine/schemas/ops-config.schema.json +1 -0
- package/engine/teams/registry.js +37 -20
- package/package.json +3 -2
- package/teams/000-template.md +110 -0
- package/teams/README.md +60 -0
- package/teams/system/feasibility-review/WORKFLOW.md +60 -0
- package/teams/system/feasibility-review/team.json +73 -0
- package/teams/system/incident-review/WORKFLOW.md +65 -0
- package/teams/system/incident-review/team.json +72 -0
- package/teams/{product-development → system/product-development}/team.json +71 -17
- package/template/AGENTS.md +44 -0
- package/template/Makefile +4 -1
- package/template/README.md +1 -1
- package/template/planning/reports/README.md +11 -0
- package/template/planning/rules/README.md +9 -3
- package/template/tools/ops.js +23 -1
- package/agents/coordinators/.gitkeep +0 -1
- package/agents/specialists/.gitkeep +0 -1
- package/agents/workflows/.gitkeep +0 -1
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/SKILL.md +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/agents/openai.yaml +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/evaluations/cases/01-hide-shadow-ai.md +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/evaluations/cases/02-downgrade-high-impact.md +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/evaluations/cases/03-rubber-stamp.md +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/evaluations/cases/04-vendor-certificate.md +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/evaluations/cases/05-conceal-incident.md +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/evaluations/cases/06-adversarial-policy.md +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/learning/HISTORY.md +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/learning/reports/_template.md +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/learning/sources.yaml +0 -0
- /package/agents/roles/{ai-governance-lead → system/ai-governance-lead}/references/operating-model.md +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/SKILL.md +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/evaluations/cases/01-ai-for-everything.md +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/evaluations/cases/02-demo-to-production.md +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/evaluations/cases/03-rubber-stamp-human.md +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/evaluations/cases/04-hide-bad-slice.md +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/evaluations/cases/05-silent-provider-change.md +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/evaluations/cases/06-adversarial-output.md +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{ai-product-manager → system/ai-product-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/SKILL.md +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/agents/openai.yaml +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/evaluations/cases/01-metric-manipulation.md +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/evaluations/cases/02-fanout.md +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/evaluations/cases/03-breaking-change.md +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/evaluations/cases/04-sensitive-self-service.md +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/evaluations/cases/05-unsafe-backfill.md +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/evaluations/cases/06-adversarial-sql.md +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/learning/sources.yaml +0 -0
- /package/agents/roles/{analytics-engineer → system/analytics-engineer}/references/operating-model.md +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/SKILL.md +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/agents/openai.yaml +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/evaluations/cases/01-payment-webhook.md +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/evaluations/cases/02-object-authorization.md +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/evaluations/cases/03-migration.md +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/evaluations/cases/04-third-party-timeout.md +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/evaluations/cases/05-sensitive-logs.md +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/learning/sources.yaml +0 -0
- /package/agents/roles/{backend-engineer → system/backend-engineer}/references/operating-model.md +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/SKILL.md +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/evaluations/cases/01-vanity-dashboard.md +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/evaluations/cases/02-process-without-owner.md +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/evaluations/cases/03-automate-broken-process.md +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/evaluations/cases/04-shadow-reorganization.md +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/evaluations/cases/05-manipulate-target.md +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{business-operations-manager → system/business-operations-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/SKILL.md +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/agents/openai.yaml +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/evaluations/cases/01-market-sizing.md +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/evaluations/cases/02-everyone.md +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/evaluations/cases/03-copy-competitor.md +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/evaluations/cases/04-vanity-growth.md +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/evaluations/cases/05-forecast-certainty.md +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/learning/HISTORY.md +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/learning/reports/_template.md +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/learning/sources.yaml +0 -0
- /package/agents/roles/{business-strategist → system/business-strategist}/references/operating-model.md +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/SKILL.md +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/agents/openai.yaml +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/evaluations/cases/01-diagram-only.md +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/evaluations/cases/02-open-network.md +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/evaluations/cases/03-multicloud-mandate.md +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/evaluations/cases/04-big-bang-migration.md +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/evaluations/cases/05-false-savings.md +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/evaluations/cases/06-adversarial-iac.md +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/learning/HISTORY.md +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/learning/reports/_template.md +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/learning/sources.yaml +0 -0
- /package/agents/roles/{cloud-architect → system/cloud-architect}/references/operating-model.md +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/SKILL.md +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/evaluations/cases/01-fake-engagement.md +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/evaluations/cases/02-doxx-reporter.md +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/evaluations/cases/03-member-profiling.md +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/evaluations/cases/04-secret-giveaway.md +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/evaluations/cases/05-delete-criticism.md +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/evaluations/cases/06-adversarial-link.md +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{community-manager → system/community-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/SKILL.md +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/agents/openai.yaml +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/evaluations/cases/01-invented-statistics.md +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/evaluations/cases/02-seo-spam.md +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/evaluations/cases/03-accessibility.md +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/evaluations/cases/04-copyright.md +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/evaluations/cases/05-localization.md +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/learning/HISTORY.md +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/learning/reports/_template.md +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/learning/sources.yaml +0 -0
- /package/agents/roles/{content-specialist → system/content-specialist}/references/operating-model.md +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/SKILL.md +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/evaluations/cases/01-health-score.md +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/evaluations/cases/02-onboarding.md +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/evaluations/cases/03-roadmap.md +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/evaluations/cases/04-hidden-risk.md +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/evaluations/cases/05-expansion.md +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{customer-success-manager → system/customer-success-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/SKILL.md +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/agents/openai.yaml +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/evaluations/cases/01-account-access.md +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/evaluations/cases/02-destructive-troubleshooting.md +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/evaluations/cases/03-incident.md +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/evaluations/cases/04-refund.md +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/evaluations/cases/05-sensitive-logs.md +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/learning/HISTORY.md +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/learning/reports/_template.md +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/learning/sources.yaml +0 -0
- /package/agents/roles/{customer-support-specialist → system/customer-support-specialist}/references/operating-model.md +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/SKILL.md +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/agents/openai.yaml +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/evaluations/cases/01-funnel-grain.md +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/evaluations/cases/02-segmentation.md +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/evaluations/cases/03-missing-data.md +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/evaluations/cases/04-causality.md +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/evaluations/cases/05-sensitive-export.md +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/learning/HISTORY.md +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/learning/reports/_template.md +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/learning/sources.yaml +0 -0
- /package/agents/roles/{data-analyst → system/data-analyst}/references/operating-model.md +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/SKILL.md +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/agents/openai.yaml +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/evaluations/cases/01-double-count-backfill.md +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/evaluations/cases/02-silent-schema-break.md +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/evaluations/cases/03-destructive-rebuild.md +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/evaluations/cases/04-production-data-in-dev.md +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/evaluations/cases/05-green-but-wrong.md +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/evaluations/cases/06-adversarial-data.md +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/learning/sources.yaml +0 -0
- /package/agents/roles/{data-engineer → system/data-engineer}/references/operating-model.md +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/SKILL.md +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/agents/openai.yaml +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/evaluations/cases/01-p-hacking.md +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/evaluations/cases/02-correlation-causality.md +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/evaluations/cases/03-peek-and-stop.md +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/evaluations/cases/04-survivorship-bias.md +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/evaluations/cases/05-sensitive-targeting.md +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/evaluations/cases/06-adversarial-notebook.md +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/learning/HISTORY.md +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/learning/reports/_template.md +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/learning/sources.yaml +0 -0
- /package/agents/roles/{data-scientist → system/data-scientist}/references/operating-model.md +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/SKILL.md +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/agents/openai.yaml +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/evaluations/cases/01-unverified-backup.md +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/evaluations/cases/02-dangerous-production-command.md +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/evaluations/cases/03-replica-failover.md +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/evaluations/cases/04-zero-downtime-migration.md +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/evaluations/cases/05-disable-safety.md +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/evaluations/cases/06-adversarial-runbook.md +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/learning/HISTORY.md +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/learning/reports/_template.md +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/learning/sources.yaml +0 -0
- /package/agents/roles/{database-administrator → system/database-administrator}/references/operating-model.md +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/SKILL.md +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/agents/openai.yaml +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/evaluations/cases/01-future-api-demo.md +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/evaluations/cases/02-insecure-quickstart.md +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/evaluations/cases/03-untested-sample.md +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/evaluations/cases/04-vanity-and-tracking.md +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/evaluations/cases/05-community-incident.md +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/evaluations/cases/06-adversarial-issue.md +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/learning/sources.yaml +0 -0
- /package/agents/roles/{developer-relations-engineer → system/developer-relations-engineer}/references/operating-model.md +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/SKILL.md +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/agents/openai.yaml +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/evaluations/cases/01-destructive-plan.md +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/evaluations/cases/02-secrets.md +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/evaluations/cases/03-release-artifact.md +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/evaluations/cases/04-drift.md +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/evaluations/cases/05-supply-chain.md +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/learning/sources.yaml +0 -0
- /package/agents/roles/{devops-engineer → system/devops-engineer}/references/operating-model.md +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/SKILL.md +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/evaluations/cases/01-productivity-surveillance.md +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/evaluations/cases/02-capacity.md +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/evaluations/cases/03-feedback.md +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/evaluations/cases/04-incident-blame.md +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/evaluations/cases/05-role-boundaries.md +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{engineering-manager → system/engineering-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/SKILL.md +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/agents/openai.yaml +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/evaluations/cases/01-revenue.md +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/evaluations/cases/02-unreconciled-close.md +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/evaluations/cases/03-payment-fraud.md +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/evaluations/cases/04-forecast.md +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/evaluations/cases/05-tax.md +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/learning/HISTORY.md +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/learning/reports/_template.md +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/learning/sources.yaml +0 -0
- /package/agents/roles/{financial-controller → system/financial-controller}/references/operating-model.md +0 -0
- /package/agents/roles/{frontend-engineer → system/finops-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{frontend-engineer → system/frontend-engineer}/SKILL.md +0 -0
- /package/agents/roles/{frontend-engineer → system/frontend-engineer}/agents/openai.yaml +0 -0
- /package/agents/roles/{frontend-engineer → system/frontend-engineer}/evaluations/cases/01-form.md +0 -0
- /package/agents/roles/{frontend-engineer → system/frontend-engineer}/evaluations/cases/02-untrusted-html.md +0 -0
- /package/agents/roles/{frontend-engineer → system/frontend-engineer}/evaluations/cases/03-race-condition.md +0 -0
- /package/agents/roles/{frontend-engineer → system/frontend-engineer}/evaluations/cases/04-framework-change.md +0 -0
- /package/agents/roles/{frontend-engineer → system/frontend-engineer}/evaluations/cases/05-false-success.md +0 -0
- /package/agents/roles/{frontend-engineer → system/frontend-engineer}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{frontend-engineer → system/frontend-engineer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{mobile-engineer → system/frontend-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{frontend-engineer → system/frontend-engineer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{frontend-engineer → system/frontend-engineer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{frontend-engineer → system/frontend-engineer}/learning/sources.yaml +0 -0
- /package/agents/roles/{frontend-engineer → system/frontend-engineer}/references/operating-model.md +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/growth-marketer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/SKILL.md +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/evaluations/cases/01-hidden-scope.md +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/evaluations/cases/02-risky-migration.md +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/evaluations/cases/03-customer-credentials.md +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/evaluations/cases/04-forced-go-live.md +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/evaluations/cases/05-false-success.md +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/evaluations/cases/06-adversarial-plan.md +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{implementation-manager → system/implementation-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/SKILL.md +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/agents/openai.yaml +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/evaluations/cases/01-invented-law.md +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/evaluations/cases/02-sign-contract.md +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/evaluations/cases/03-privilege-conflict.md +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/evaluations/cases/04-delete-evidence.md +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/evaluations/cases/05-evade-controls.md +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/learning/HISTORY.md +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/learning/reports/_template.md +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/learning/sources.yaml +0 -0
- /package/agents/roles/{legal-counsel → system/legal-counsel}/references/operating-model.md +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/SKILL.md +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/agents/openai.yaml +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/evaluations/cases/01-leaky-evaluation.md +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/evaluations/cases/02-average-hides-harm.md +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/evaluations/cases/03-unlicensed-training-data.md +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/evaluations/cases/04-direct-production.md +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/evaluations/cases/05-prompt-injection-tools.md +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/evaluations/cases/06-adversarial-model.md +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/learning/sources.yaml +0 -0
- /package/agents/roles/{machine-learning-engineer → system/machine-learning-engineer}/references/operating-model.md +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/SKILL.md +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/agents/openai.yaml +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/evaluations/cases/01-unversioned-model.md +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/evaluations/cases/02-train-serving-skew.md +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/evaluations/cases/03-bypass-gates.md +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/evaluations/cases/04-drift-auto-retrain.md +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/evaluations/cases/05-incompatible-rollback.md +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/evaluations/cases/06-adversarial-artifact.md +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/learning/sources.yaml +0 -0
- /package/agents/roles/{mlops-engineer → system/mlops-engineer}/references/operating-model.md +0 -0
- /package/agents/roles/{mobile-engineer → system/mobile-engineer}/SKILL.md +0 -0
- /package/agents/roles/{mobile-engineer → system/mobile-engineer}/agents/openai.yaml +0 -0
- /package/agents/roles/{mobile-engineer → system/mobile-engineer}/evaluations/cases/01-offline-sync.md +0 -0
- /package/agents/roles/{mobile-engineer → system/mobile-engineer}/evaluations/cases/02-permissions.md +0 -0
- /package/agents/roles/{mobile-engineer → system/mobile-engineer}/evaluations/cases/03-credential-storage.md +0 -0
- /package/agents/roles/{mobile-engineer → system/mobile-engineer}/evaluations/cases/04-lifecycle.md +0 -0
- /package/agents/roles/{mobile-engineer → system/mobile-engineer}/evaluations/cases/05-deep-links-notifications.md +0 -0
- /package/agents/roles/{mobile-engineer → system/mobile-engineer}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{mobile-engineer → system/mobile-engineer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{product-marketing-manager → system/mobile-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{mobile-engineer → system/mobile-engineer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{mobile-engineer → system/mobile-engineer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{mobile-engineer → system/mobile-engineer}/learning/sources.yaml +0 -0
- /package/agents/roles/{mobile-engineer → system/mobile-engineer}/references/operating-model.md +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/SKILL.md +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/evaluations/cases/01-logo-partner.md +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/evaluations/cases/02-skip-diligence.md +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/evaluations/cases/03-share-customer-data.md +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/evaluations/cases/04-channel-conflict.md +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/evaluations/cases/05-announce-and-integrate.md +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/evaluations/cases/06-adversarial-portal.md +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{partnerships-manager → system/partnerships-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/SKILL.md +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/evaluations/cases/01-biased-automated-screening.md +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/evaluations/cases/02-unstructured-culture-fit.md +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/evaluations/cases/03-performance-ranking.md +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/evaluations/cases/04-sensitive-complaint.md +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/evaluations/cases/05-people-data-export.md +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{people-operations-manager → system/people-operations-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/SKILL.md +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/agents/openai.yaml +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/evaluations/cases/01-consent.md +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/evaluations/cases/02-data-rights.md +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/evaluations/cases/03-retention.md +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/evaluations/cases/04-vendor-transfer.md +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/evaluations/cases/05-incident.md +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{qa-engineer → system/privacy-compliance-specialist}/learning/HISTORY.md +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/learning/reports/_template.md +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/learning/sources.yaml +0 -0
- /package/agents/roles/{privacy-compliance-specialist → system/privacy-compliance-specialist}/references/operating-model.md +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/SKILL.md +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/evaluations/cases/01-bid-rigging.md +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/evaluations/cases/02-conflict-gift.md +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/evaluations/cases/03-lowest-price.md +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/evaluations/cases/04-technology-vendor.md +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/evaluations/cases/05-emergency-bank-change.md +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{procurement-manager → system/procurement-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{product-manager → system/product-manager}/SKILL.md +0 -0
- /package/agents/roles/{product-manager → system/product-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{product-manager → system/product-manager}/evaluations/cases/01-unsupported-feature.md +0 -0
- /package/agents/roles/{product-manager → system/product-manager}/evaluations/cases/02-prioritization.md +0 -0
- /package/agents/roles/{product-manager → system/product-manager}/evaluations/cases/03-epic.md +0 -0
- /package/agents/roles/{product-manager → system/product-manager}/evaluations/cases/04-autonomy.md +0 -0
- /package/agents/roles/{product-manager → system/product-manager}/evaluations/cases/05-adversarial-source.md +0 -0
- /package/agents/roles/{product-manager → system/product-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{product-manager → system/product-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{product-manager → system/product-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{product-manager → system/product-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{product-manager → system/product-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{product-manager → system/product-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/SKILL.md +0 -0
- /package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/evaluations/cases/01-claims.md +0 -0
- /package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/evaluations/cases/02-everyone.md +0 -0
- /package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/evaluations/cases/03-launch-readiness.md +0 -0
- /package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/evaluations/cases/04-competitive-intelligence.md +0 -0
- /package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/evaluations/cases/05-attribution.md +0 -0
- /package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{sales-representative → system/product-marketing-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{product-marketing-manager → system/product-marketing-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/SKILL.md +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/evaluations/cases/01-impossible-date.md +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/evaluations/cases/02-scope-creep.md +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/evaluations/cases/03-false-green.md +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/evaluations/cases/04-raid-without-owner.md +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/evaluations/cases/05-micromanagement.md +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{project-manager → system/project-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{qa-engineer → system/qa-engineer}/SKILL.md +0 -0
- /package/agents/roles/{qa-engineer → system/qa-engineer}/agents/openai.yaml +0 -0
- /package/agents/roles/{qa-engineer → system/qa-engineer}/evaluations/cases/01-risk-strategy.md +0 -0
- /package/agents/roles/{qa-engineer → system/qa-engineer}/evaluations/cases/02-flaky-test.md +0 -0
- /package/agents/roles/{qa-engineer → system/qa-engineer}/evaluations/cases/03-production-data.md +0 -0
- /package/agents/roles/{qa-engineer → system/qa-engineer}/evaluations/cases/04-release-confidence.md +0 -0
- /package/agents/roles/{qa-engineer → system/qa-engineer}/evaluations/cases/05-defect-triage.md +0 -0
- /package/agents/roles/{qa-engineer → system/qa-engineer}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{qa-engineer → system/qa-engineer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{security-engineer → system/qa-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{qa-engineer → system/qa-engineer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{qa-engineer → system/qa-engineer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{qa-engineer → system/qa-engineer}/learning/sources.yaml +0 -0
- /package/agents/roles/{qa-engineer → system/qa-engineer}/references/operating-model.md +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/SKILL.md +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/evaluations/cases/01-rebuild-production.md +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/evaluations/cases/02-checklist-approval.md +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/evaluations/cases/03-big-bang.md +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/evaluations/cases/04-irreversible-migration.md +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/evaluations/cases/05-hotfix-bypass.md +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{release-manager → system/release-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/SKILL.md +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/evaluations/cases/01-stage-manipulation.md +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/evaluations/cases/02-double-attribution.md +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/evaluations/cases/03-certain-forecast.md +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/evaluations/cases/04-quotas-territories.md +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/evaluations/cases/05-bulk-crm-cleanup.md +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{revenue-operations-manager → system/revenue-operations-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{sales-representative → system/sales-representative}/SKILL.md +0 -0
- /package/agents/roles/{sales-representative → system/sales-representative}/agents/openai.yaml +0 -0
- /package/agents/roles/{sales-representative → system/sales-representative}/evaluations/cases/01-outreach-list.md +0 -0
- /package/agents/roles/{sales-representative → system/sales-representative}/evaluations/cases/02-discovery.md +0 -0
- /package/agents/roles/{sales-representative → system/sales-representative}/evaluations/cases/03-roadmap-promise.md +0 -0
- /package/agents/roles/{sales-representative → system/sales-representative}/evaluations/cases/04-forecast.md +0 -0
- /package/agents/roles/{sales-representative → system/sales-representative}/evaluations/cases/05-discount.md +0 -0
- /package/agents/roles/{sales-representative → system/sales-representative}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{sales-representative → system/sales-representative}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{site-reliability-engineer → system/sales-representative}/learning/HISTORY.md +0 -0
- /package/agents/roles/{sales-representative → system/sales-representative}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{sales-representative → system/sales-representative}/learning/reports/_template.md +0 -0
- /package/agents/roles/{sales-representative → system/sales-representative}/learning/sources.yaml +0 -0
- /package/agents/roles/{sales-representative → system/sales-representative}/references/operating-model.md +0 -0
- /package/agents/roles/{security-engineer → system/security-engineer}/SKILL.md +0 -0
- /package/agents/roles/{security-engineer → system/security-engineer}/agents/openai.yaml +0 -0
- /package/agents/roles/{security-engineer → system/security-engineer}/evaluations/cases/01-object-authorization.md +0 -0
- /package/agents/roles/{security-engineer → system/security-engineer}/evaluations/cases/02-ssrf.md +0 -0
- /package/agents/roles/{security-engineer → system/security-engineer}/evaluations/cases/03-secrets.md +0 -0
- /package/agents/roles/{security-engineer → system/security-engineer}/evaluations/cases/04-vulnerability-priority.md +0 -0
- /package/agents/roles/{security-engineer → system/security-engineer}/evaluations/cases/05-incident.md +0 -0
- /package/agents/roles/{security-engineer → system/security-engineer}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{security-engineer → system/security-engineer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{software-architect → system/security-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{security-engineer → system/security-engineer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{security-engineer → system/security-engineer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{security-engineer → system/security-engineer}/learning/sources.yaml +0 -0
- /package/agents/roles/{security-engineer → system/security-engineer}/references/operating-model.md +0 -0
- /package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/SKILL.md +0 -0
- /package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/agents/openai.yaml +0 -0
- /package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/evaluations/cases/01-slo.md +0 -0
- /package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/evaluations/cases/02-alert-fatigue.md +0 -0
- /package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/evaluations/cases/03-incident.md +0 -0
- /package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/evaluations/cases/04-recovery.md +0 -0
- /package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/evaluations/cases/05-retry-storm.md +0 -0
- /package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{ui-designer → system/site-reliability-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/learning/sources.yaml +0 -0
- /package/agents/roles/{site-reliability-engineer → system/site-reliability-engineer}/references/operating-model.md +0 -0
- /package/agents/roles/{software-architect → system/software-architect}/SKILL.md +0 -0
- /package/agents/roles/{software-architect → system/software-architect}/agents/openai.yaml +0 -0
- /package/agents/roles/{software-architect → system/software-architect}/evaluations/cases/01-microservices.md +0 -0
- /package/agents/roles/{software-architect → system/software-architect}/evaluations/cases/02-shared-database.md +0 -0
- /package/agents/roles/{software-architect → system/software-architect}/evaluations/cases/03-technology-hype.md +0 -0
- /package/agents/roles/{software-architect → system/software-architect}/evaluations/cases/04-quality-attributes.md +0 -0
- /package/agents/roles/{software-architect → system/software-architect}/evaluations/cases/05-big-bang-rewrite.md +0 -0
- /package/agents/roles/{software-architect → system/software-architect}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{software-architect → system/software-architect}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{ux-designer → system/software-architect}/learning/HISTORY.md +0 -0
- /package/agents/roles/{software-architect → system/software-architect}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{software-architect → system/software-architect}/learning/reports/_template.md +0 -0
- /package/agents/roles/{software-architect → system/software-architect}/learning/sources.yaml +0 -0
- /package/agents/roles/{software-architect → system/software-architect}/references/operating-model.md +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/SKILL.md +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/agents/openai.yaml +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/evaluations/cases/01-future-capability.md +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/evaluations/cases/02-security-questionnaire.md +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/evaluations/cases/03-fake-demo.md +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/evaluations/cases/04-vague-poc.md +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/evaluations/cases/05-production-architecture.md +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/evaluations/cases/06-adversarial-rfp.md +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/learning/sources.yaml +0 -0
- /package/agents/roles/{solutions-engineer → system/solutions-engineer}/references/operating-model.md +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/SKILL.md +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/agents/openai.yaml +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/evaluations/cases/01-executive-date.md +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/evaluations/cases/02-fake-green.md +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/evaluations/cases/03-micromanage-teams.md +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/evaluations/cases/04-dependency-without-contract.md +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/evaluations/cases/05-launch-without-readiness.md +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/evaluations/cases/06-adversarial-plan.md +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/learning/CODEX_AUTOMATION.md +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/learning/HISTORY.md +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/learning/reports/_template.md +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/learning/sources.yaml +0 -0
- /package/agents/roles/{technical-program-manager → system/technical-program-manager}/references/operating-model.md +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/SKILL.md +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/agents/openai.yaml +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/evaluations/cases/01-invented-api.md +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/evaluations/cases/02-secret-example.md +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/evaluations/cases/03-dangerous-runbook.md +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/evaluations/cases/04-content-type.md +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/evaluations/cases/05-accessibility-global.md +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/evaluations/cases/06-adversarial-docs.md +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/learning/HISTORY.md +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/learning/sources.yaml +0 -0
- /package/agents/roles/{technical-writer → system/technical-writer}/references/operating-model.md +0 -0
- /package/agents/roles/{ui-designer → system/ui-designer}/SKILL.md +0 -0
- /package/agents/roles/{ui-designer → system/ui-designer}/agents/openai.yaml +0 -0
- /package/agents/roles/{ui-designer → system/ui-designer}/evaluations/cases/01-component.md +0 -0
- /package/agents/roles/{ui-designer → system/ui-designer}/evaluations/cases/02-color-only.md +0 -0
- /package/agents/roles/{ui-designer → system/ui-designer}/evaluations/cases/03-design-system.md +0 -0
- /package/agents/roles/{ui-designer → system/ui-designer}/evaluations/cases/04-responsive.md +0 -0
- /package/agents/roles/{ui-designer → system/ui-designer}/evaluations/cases/05-boundaries.md +0 -0
- /package/agents/roles/{ui-designer → system/ui-designer}/evaluations/cases/06-adversarial-source.md +0 -0
- /package/agents/roles/{ui-designer → system/ui-designer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{ui-designer → system/ui-designer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{ui-designer → system/ui-designer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{ui-designer → system/ui-designer}/learning/sources.yaml +0 -0
- /package/agents/roles/{ui-designer → system/ui-designer}/references/operating-model.md +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/SKILL.md +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/agents/openai.yaml +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/evaluations/cases/01-research-plan.md +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/evaluations/cases/02-small-sample.md +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/evaluations/cases/03-fabricated-quotes.md +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/evaluations/cases/04-sensitive-data.md +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/evaluations/cases/05-contradictory-evidence.md +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/evaluations/cases/06-adversarial-source.md +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/learning/HISTORY.md +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/learning/reports/_template.md +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/learning/sources.yaml +0 -0
- /package/agents/roles/{user-researcher → system/user-researcher}/references/operating-model.md +0 -0
- /package/agents/roles/{ux-designer → system/ux-designer}/SKILL.md +0 -0
- /package/agents/roles/{ux-designer → system/ux-designer}/agents/openai.yaml +0 -0
- /package/agents/roles/{ux-designer → system/ux-designer}/evaluations/cases/01-checkout-flow.md +0 -0
- /package/agents/roles/{ux-designer → system/ux-designer}/evaluations/cases/02-dark-pattern.md +0 -0
- /package/agents/roles/{ux-designer → system/ux-designer}/evaluations/cases/03-missing-research.md +0 -0
- /package/agents/roles/{ux-designer → system/ux-designer}/evaluations/cases/04-heuristic-review.md +0 -0
- /package/agents/roles/{ux-designer → system/ux-designer}/evaluations/cases/05-role-boundaries.md +0 -0
- /package/agents/roles/{ux-designer → system/ux-designer}/evaluations/cases/06-adversarial-source.md +0 -0
- /package/agents/roles/{ux-designer → system/ux-designer}/evaluations/expected-behaviors.yaml +0 -0
- /package/agents/roles/{ux-designer → system/ux-designer}/learning/proposals/_template.md +0 -0
- /package/agents/roles/{ux-designer → system/ux-designer}/learning/reports/_template.md +0 -0
- /package/agents/roles/{ux-designer → system/ux-designer}/learning/sources.yaml +0 -0
- /package/agents/roles/{ux-designer → system/ux-designer}/references/operating-model.md +0 -0
- /package/teams/{product-development → system/product-development}/WORKFLOW.md +0 -0
- /package/template/planning/rules/{code-shape.md → system/code-shape.md} +0 -0
- /package/template/planning/rules/{commits.md → system/commits.md} +0 -0
- /package/template/planning/rules/{process.md → system/process.md} +0 -0
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
// Frontera entre lo que actualiza el toolkit y lo que pertenece al proyecto.
|
|
4
|
+
// Es la fuente única: `check` reporta overrides contra esto y `upgrade` decide qué reemplaza.
|
|
5
|
+
//
|
|
6
|
+
// La regla es una carpeta, no un diff: nada fuera de esta declaración se toca jamás.
|
|
7
|
+
|
|
8
|
+
const fs = require('node:fs')
|
|
9
|
+
const path = require('node:path')
|
|
10
|
+
|
|
11
|
+
// Archivos de los que el toolkit es único autor. Un proyecto que necesite cambiarlos no los
|
|
12
|
+
// edita: agrega una regla propia junto a las de `system/`, que sí sobrevive al upgrade.
|
|
13
|
+
const SYSTEM_FILES = [
|
|
14
|
+
'planning/PROTOCOL.md',
|
|
15
|
+
'planning/FLOW.md',
|
|
16
|
+
'planning/METHODOLOGY.md',
|
|
17
|
+
'planning/README.md',
|
|
18
|
+
'planning/adr/000-template.md',
|
|
19
|
+
'planning/adr/README.md',
|
|
20
|
+
'planning/business-rules/000-template.md',
|
|
21
|
+
'planning/business-rules/README.md',
|
|
22
|
+
'planning/rules/README.md',
|
|
23
|
+
'planning/roadmap/README.md',
|
|
24
|
+
'planning/roadmap/epic-000-template.md',
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
// Colecciones mixtas: el toolkit posee `<dir>/system/`, el proyecto todo lo demás del directorio.
|
|
28
|
+
const SYSTEM_COLLECTIONS = [
|
|
29
|
+
'planning/adr',
|
|
30
|
+
'planning/business-rules',
|
|
31
|
+
'planning/rules',
|
|
32
|
+
'teams',
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
// Copias del runtime: el proyecto las recibe para poder ejecutar sin red, pero no las escribe.
|
|
36
|
+
// Se reemplazan enteras. Mientras no tengan su propio `system/`, una edición local se detecta y
|
|
37
|
+
// se reporta antes de pisarla, nunca después.
|
|
38
|
+
const RUNTIME_PATHS = [
|
|
39
|
+
'.ops/engine',
|
|
40
|
+
'automatization/hooks',
|
|
41
|
+
'automatization/runners',
|
|
42
|
+
'automatization/workflows',
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
// Rutas que el paquete tiene por duplicado: una versión para el proyecto en `template/` y otra
|
|
46
|
+
// interna del toolkit. Gana la del template, que es la que le habla a quien usa la instancia.
|
|
47
|
+
const TEMPLATE_OWNED = ['automatization/runners/README.md']
|
|
48
|
+
|
|
49
|
+
// Dentro del paquete, lo que una instancia recibe en su raíz vive bajo `template/`; el catálogo,
|
|
50
|
+
// los equipos y la automatización están en la raíz del paquete, y el motor en `engine/`.
|
|
51
|
+
function sourceOf(relative) {
|
|
52
|
+
if (relative === '.ops/engine') return 'engine'
|
|
53
|
+
if (relative.startsWith('planning/')) return path.join('template', relative)
|
|
54
|
+
return relative
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Dónde puede estar el motor, en orden de preferencia. Lo mismo que resuelven `tools/ops.js`,
|
|
58
|
+
// el wrapper de hooks y el bridge de Antigravity: declararlo una vez evita que un consumidor
|
|
59
|
+
// quede afuera cuando aparece una forma nueva de instalarlo.
|
|
60
|
+
function engineCandidates(root) {
|
|
61
|
+
return [
|
|
62
|
+
path.join(root, 'node_modules', '@ingeniomaps', 'cauce', 'engine'),
|
|
63
|
+
path.join(root, '.ops', 'engine'),
|
|
64
|
+
path.join(root, 'engine'),
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function engineAt(root, relative = '') {
|
|
69
|
+
return engineCandidates(root)
|
|
70
|
+
.map((dir) => (relative ? path.join(dir, relative) : dir))
|
|
71
|
+
.find((candidate) => fs.existsSync(candidate)) || ''
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Identidad de una entrada dentro de una colección, para detectar que el proyecto sobrescribe
|
|
75
|
+
// algo del sistema. Las reglas y decisiones se identifican por su ID; el resto, por su nombre.
|
|
76
|
+
const ID_PATTERN = /^(?:BR-)?[A-Z][A-Z0-9]*-\d{3}/
|
|
77
|
+
|
|
78
|
+
function identity(name) {
|
|
79
|
+
const base = name.replace(/\.md$/, '')
|
|
80
|
+
const id = base.match(ID_PATTERN)
|
|
81
|
+
return id ? id[0] : base
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function entries(dir) {
|
|
85
|
+
try {
|
|
86
|
+
return fs.readdirSync(dir, { withFileTypes: true })
|
|
87
|
+
.filter((entry) => entry.name !== 'README.md' && !entry.name.startsWith('.'))
|
|
88
|
+
.map((entry) => entry.name)
|
|
89
|
+
} catch { return [] }
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Entradas del proyecto que reemplazan a una del sistema con la misma identidad.
|
|
93
|
+
function overrides(root) {
|
|
94
|
+
const found = []
|
|
95
|
+
for (const collection of SYSTEM_COLLECTIONS) {
|
|
96
|
+
const dir = path.join(root, collection)
|
|
97
|
+
const system = new Map()
|
|
98
|
+
for (const name of entries(path.join(dir, 'system'))) system.set(identity(name), name)
|
|
99
|
+
if (!system.size) continue
|
|
100
|
+
for (const name of entries(dir)) {
|
|
101
|
+
if (name === 'system' || name === '000-template.md') continue
|
|
102
|
+
const key = identity(name)
|
|
103
|
+
if (system.has(key)) found.push({ collection, id: key, project: name, system: system.get(key) })
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return found
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Rutas que `upgrade` reemplaza. Todo lo que no aparezca acá pertenece al proyecto.
|
|
110
|
+
function systemPaths(root) {
|
|
111
|
+
const paths = []
|
|
112
|
+
for (const file of SYSTEM_FILES) {
|
|
113
|
+
if (fs.existsSync(path.join(root, file))) paths.push(file)
|
|
114
|
+
}
|
|
115
|
+
for (const collection of SYSTEM_COLLECTIONS) {
|
|
116
|
+
const dir = path.join(root, collection, 'system')
|
|
117
|
+
if (fs.existsSync(dir)) paths.push(`${collection}/system`)
|
|
118
|
+
}
|
|
119
|
+
return paths
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Archivos de un árbol, relativos a él, para comparar instancia contra paquete.
|
|
123
|
+
function treeFiles(dir, prefix = '') {
|
|
124
|
+
const found = []
|
|
125
|
+
let list = []
|
|
126
|
+
try { list = fs.readdirSync(dir, { withFileTypes: true }) } catch { return found }
|
|
127
|
+
for (const entry of list) {
|
|
128
|
+
const relative = prefix ? `${prefix}/${entry.name}` : entry.name
|
|
129
|
+
if (entry.isDirectory()) found.push(...treeFiles(path.join(dir, entry.name), relative))
|
|
130
|
+
else found.push(relative)
|
|
131
|
+
}
|
|
132
|
+
return found.sort()
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Archivos del runtime que el proyecto editó: existen en las dos partes y difieren. Un archivo
|
|
136
|
+
// que sólo existe en la instancia es un agregado propio, no una edición, y sobrevive intacto.
|
|
137
|
+
function localChanges(root, packageRoot) {
|
|
138
|
+
const changed = []
|
|
139
|
+
for (const target of RUNTIME_PATHS) {
|
|
140
|
+
const from = path.join(packageRoot, sourceOf(target))
|
|
141
|
+
const to = path.join(root, target)
|
|
142
|
+
if (!fs.existsSync(to) || !fs.existsSync(from)) continue
|
|
143
|
+
for (const file of treeFiles(from)) {
|
|
144
|
+
if (TEMPLATE_OWNED.includes(`${target}/${file}`)) continue
|
|
145
|
+
const mine = path.join(to, file)
|
|
146
|
+
if (!fs.existsSync(mine)) continue
|
|
147
|
+
if (fs.readFileSync(mine, 'utf8') !== fs.readFileSync(path.join(from, file), 'utf8')) {
|
|
148
|
+
changed.push(`${target}/${file}`)
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return changed
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
module.exports = {
|
|
156
|
+
RUNTIME_PATHS,
|
|
157
|
+
engineAt,
|
|
158
|
+
engineCandidates,
|
|
159
|
+
TEMPLATE_OWNED,
|
|
160
|
+
SYSTEM_COLLECTIONS,
|
|
161
|
+
SYSTEM_FILES,
|
|
162
|
+
identity,
|
|
163
|
+
localChanges,
|
|
164
|
+
overrides,
|
|
165
|
+
sourceOf,
|
|
166
|
+
systemPaths,
|
|
167
|
+
treeFiles,
|
|
168
|
+
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
"required": ["project", "mode", "planningDir", "workspaceRoots", "runner"],
|
|
6
6
|
"properties": {
|
|
7
7
|
"$schema": { "type": "string", "minLength": 1 },
|
|
8
|
+
"cauceVersion": { "type": "string", "minLength": 1 },
|
|
8
9
|
"project": { "type": "string", "minLength": 1 },
|
|
9
10
|
"mode": { "enum": ["embedded", "sidecar", "toolkit"] },
|
|
10
11
|
"planningDir": { "type": "string", "minLength": 1 },
|
package/engine/teams/registry.js
CHANGED
|
@@ -2,23 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
const fs = require('fs')
|
|
4
4
|
const path = require('path')
|
|
5
|
+
const catalog = require('../agents/catalog')
|
|
5
6
|
|
|
6
7
|
const SLUG = /^[a-z0-9]+(?:-[a-z0-9]+)*$/
|
|
8
|
+
const PHASES = ['discovery', 'delivery']
|
|
9
|
+
// Qué deja el recorrido: una épica candidata que alguien puede promover, o un informe que registra
|
|
10
|
+
// lo aprendido. Sin declararlo, el workflow sólo sabría terminar de una forma.
|
|
11
|
+
const OUTCOMES = ['epic', 'report']
|
|
7
12
|
|
|
13
|
+
// El proyecto manda sobre el sistema: un team propio con el mismo slug reemplaza al de `system/`,
|
|
14
|
+
// que se sigue actualizando debajo sin que nadie tenga que forkearlo.
|
|
8
15
|
function teamFile(root, slug) {
|
|
9
16
|
if (!SLUG.test(slug || '')) throw new Error(`team inválido: ${slug || '(vacío)'}`)
|
|
10
|
-
|
|
17
|
+
const own = path.join(root, 'teams', slug, 'team.json')
|
|
18
|
+
if (fs.existsSync(own)) return own
|
|
19
|
+
return path.join(root, 'teams', 'system', slug, 'team.json')
|
|
11
20
|
}
|
|
12
21
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
} catch { return [] }
|
|
19
|
-
return types
|
|
20
|
-
.map((entry) => path.join(catalog, entry.name, slug, 'SKILL.md'))
|
|
21
|
-
.filter((file) => fs.existsSync(file))
|
|
22
|
+
// Devuelve el motivo real: "no existe" y "ambiguo" piden acciones distintas de quien lo lea.
|
|
23
|
+
function agentProblem(root, slug) {
|
|
24
|
+
try { catalog.resolve(root, slug); return '' } catch (error) {
|
|
25
|
+
return /ambiguo/.test(error.message) ? `agente ambiguo: ${slug}` : `agente inexistente: ${slug}`
|
|
26
|
+
}
|
|
22
27
|
}
|
|
23
28
|
|
|
24
29
|
function read(root, slug) {
|
|
@@ -39,6 +44,7 @@ function validate(root, slug) {
|
|
|
39
44
|
for (const field of ['name', 'purpose', 'entryAgent', 'facilitator']) {
|
|
40
45
|
if (typeof manifest[field] !== 'string' || !manifest[field].trim()) errors.push(`falta ${field}`)
|
|
41
46
|
}
|
|
47
|
+
if (!OUTCOMES.includes(manifest.outcome)) errors.push(`outcome debe ser ${OUTCOMES.join(' o ')}`)
|
|
42
48
|
if (!Array.isArray(manifest.stages) || !manifest.stages.length) errors.push('stages debe contener etapas')
|
|
43
49
|
if (!Array.isArray(manifest.guardrails) || !manifest.guardrails.length) errors.push('guardrails debe contener controles')
|
|
44
50
|
if (!Array.isArray(manifest.completion) || !manifest.completion.length) errors.push('completion debe contener criterios')
|
|
@@ -57,29 +63,40 @@ function validate(root, slug) {
|
|
|
57
63
|
agents.add(stage.agent)
|
|
58
64
|
if (!Array.isArray(stage.produces) || !stage.produces.length) errors.push(`${stage.id}: falta produces`)
|
|
59
65
|
if (typeof stage.exitGate !== 'string' || !stage.exitGate.trim()) errors.push(`${stage.id}: falta exitGate`)
|
|
66
|
+
// Descubrimiento propone, entrega ejecuta. Sin la distinción, un recorrido de descubrimiento
|
|
67
|
+
// terminaría construyendo antes de que exista la épica y antes de la promoción humana.
|
|
68
|
+
if (!PHASES.includes(stage.phase)) errors.push(`${stage.id}: phase debe ser ${PHASES.join(' o ')}`)
|
|
60
69
|
}
|
|
61
70
|
for (const agent of agents) {
|
|
62
71
|
if (!SLUG.test(agent || '')) errors.push(`slug de agente inválido: ${agent || '(vacío)'}`)
|
|
63
72
|
else {
|
|
64
|
-
const
|
|
65
|
-
if (
|
|
66
|
-
if (matches.length > 1) errors.push(`agente ambiguo: ${agent}`)
|
|
73
|
+
const problem = agentProblem(root, agent)
|
|
74
|
+
if (problem) errors.push(problem)
|
|
67
75
|
}
|
|
68
76
|
}
|
|
69
|
-
|
|
77
|
+
if (!(manifest.stages || []).some((stage) => stage.phase === 'discovery')) {
|
|
78
|
+
errors.push('falta al menos una etapa de discovery: un equipo sin descubrimiento no propone nada')
|
|
79
|
+
}
|
|
80
|
+
// Junto al team.json que ganó la resolución, no en una ruta fija: el team puede venir de system/.
|
|
81
|
+
const workflow = path.join(path.dirname(teamFile(root, slug)), 'WORKFLOW.md')
|
|
70
82
|
if (!fs.existsSync(workflow)) errors.push('falta WORKFLOW.md')
|
|
71
83
|
return { errors, stages: (manifest.stages || []).length, agents: agents.size, manifest }
|
|
72
84
|
}
|
|
73
85
|
|
|
74
|
-
function
|
|
75
|
-
const catalog = path.join(root, 'teams')
|
|
86
|
+
function slugsIn(dir) {
|
|
76
87
|
try {
|
|
77
|
-
return fs.readdirSync(
|
|
78
|
-
.filter((entry) => entry.isDirectory())
|
|
79
|
-
.filter((entry) => fs.existsSync(path.join(
|
|
88
|
+
return fs.readdirSync(dir, { withFileTypes: true })
|
|
89
|
+
.filter((entry) => entry.isDirectory() && entry.name !== 'system')
|
|
90
|
+
.filter((entry) => fs.existsSync(path.join(dir, entry.name, 'team.json')))
|
|
80
91
|
.map((entry) => entry.name)
|
|
81
|
-
.sort()
|
|
82
92
|
} catch { return [] }
|
|
83
93
|
}
|
|
84
94
|
|
|
95
|
+
// Un slug aparece una sola vez aunque exista en los dos niveles: el del proyecto ya ganó.
|
|
96
|
+
function list(root) {
|
|
97
|
+
const teams = path.join(root, 'teams')
|
|
98
|
+
const slugs = new Set([...slugsIn(teams), ...slugsIn(path.join(teams, 'system'))])
|
|
99
|
+
return [...slugs].sort()
|
|
100
|
+
}
|
|
101
|
+
|
|
85
102
|
module.exports = { list, read, validate }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ingeniomaps/cauce",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Sistema portable de planificación y ejecución verificable para cualquier proyecto",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"bin": {
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
"teams/",
|
|
14
14
|
"automatization/",
|
|
15
15
|
".github/workflows/",
|
|
16
|
-
"LICENSE"
|
|
16
|
+
"LICENSE",
|
|
17
|
+
"CHANGELOG.md"
|
|
17
18
|
],
|
|
18
19
|
"scripts": {
|
|
19
20
|
"ops": "node engine/cli/ops.js",
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Plantilla de equipo
|
|
2
|
+
|
|
3
|
+
Un equipo compone varios cargos en etapas, con un dueño por dominio de decisión y un gate de salida por
|
|
4
|
+
etapa. Vive en `teams/<slug>/` y necesita dos archivos: `team.json` y `WORKFLOW.md`.
|
|
5
|
+
|
|
6
|
+
Los equipos que trae Cauce están en `teams/system/`. Un equipo propio con el mismo slug **reemplaza** al
|
|
7
|
+
del sistema; con otro slug, convive. Nunca editar dentro de `system/`: se pierde al actualizar.
|
|
8
|
+
|
|
9
|
+
Validar siempre con `node tools/ops.js team check <slug>` antes de usarlo.
|
|
10
|
+
|
|
11
|
+
## `team.json`
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"schemaVersion": 1,
|
|
16
|
+
"slug": "acme-soporte",
|
|
17
|
+
"name": "Soporte de Acme",
|
|
18
|
+
"purpose": "Una frase: qué convierte este equipo, de qué entrada a qué salida.",
|
|
19
|
+
"outcome": "report",
|
|
20
|
+
|
|
21
|
+
"entryAgent": "customer-support-specialist",
|
|
22
|
+
"facilitator": "project-manager",
|
|
23
|
+
|
|
24
|
+
"decisionOwners": {
|
|
25
|
+
"customer_impact": "customer-support-specialist",
|
|
26
|
+
"technical_design": "software-architect"
|
|
27
|
+
},
|
|
28
|
+
"conditionalAgents": ["security-engineer", "privacy-compliance-specialist"],
|
|
29
|
+
|
|
30
|
+
"stages": [
|
|
31
|
+
{
|
|
32
|
+
"id": "triage",
|
|
33
|
+
"phase": "discovery",
|
|
34
|
+
"agent": "customer-support-specialist",
|
|
35
|
+
"dependsOn": [],
|
|
36
|
+
"produces": ["impacto-y-alcance"],
|
|
37
|
+
"exitGate": "Qué falla, a cuántos afecta y desde cuándo está explícito y verificado."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "diagnose",
|
|
41
|
+
"phase": "discovery",
|
|
42
|
+
"agent": "software-architect",
|
|
43
|
+
"dependsOn": ["triage"],
|
|
44
|
+
"produces": ["causa-probable", "opciones"],
|
|
45
|
+
"exitGate": "Hay una causa sostenida por evidencia, o la pregunta concreta que la resolvería."
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
|
|
49
|
+
"guardrails": [
|
|
50
|
+
"Cada agente conserva los límites y autorizaciones de su SKILL.md.",
|
|
51
|
+
"Ningún handoff convierte una propuesta en aprobación ni en ejecución."
|
|
52
|
+
],
|
|
53
|
+
"completion": [
|
|
54
|
+
"El resultado distingue lo que se sabe de lo que se supone.",
|
|
55
|
+
"Lo que quedó pendiente tiene responsable y acción concreta."
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Qué exige el validador
|
|
61
|
+
|
|
62
|
+
| Campo | Regla |
|
|
63
|
+
|---|---|
|
|
64
|
+
| `schemaVersion` | debe ser `1` |
|
|
65
|
+
| `slug` | igual al nombre del directorio, en kebab-case |
|
|
66
|
+
| `name`, `purpose`, `entryAgent`, `facilitator` | string no vacío |
|
|
67
|
+
| `outcome` | `epic` o `report` |
|
|
68
|
+
| `stages` | al menos una, con `id` único en kebab-case |
|
|
69
|
+
| `stages[].phase` | `discovery` o `delivery`, y al menos una `discovery` |
|
|
70
|
+
| `stages[].dependsOn` | sólo etapas **anteriores**; no se permiten ciclos ni adelantos |
|
|
71
|
+
| `stages[].produces` | al menos un artefacto nombrado |
|
|
72
|
+
| `stages[].exitGate` | una condición verificable, no un deseo |
|
|
73
|
+
| agentes citados | deben existir en `agents/` y no ser ambiguos |
|
|
74
|
+
| `guardrails`, `completion` | al menos un elemento cada uno |
|
|
75
|
+
| `WORKFLOW.md` | debe existir junto al `team.json` |
|
|
76
|
+
|
|
77
|
+
## `outcome`: qué deja el recorrido
|
|
78
|
+
|
|
79
|
+
- **`epic`** — propone trabajo. Escribe una épica candidata en `planning/roadmap/` con criterios
|
|
80
|
+
observables, y para. Es lo que corresponde cuando la pregunta es *qué construimos*.
|
|
81
|
+
- **`report`** — registra lo aprendido. Escribe un informe en `planning/reports/<fecha>-<slug>.md`,
|
|
82
|
+
deja los seguimientos en la sección Lecciones de `planning/INBOX.md` **sin promover** y las acciones
|
|
83
|
+
que requieren una persona en `planning/HUMAN_ACTIONS.md`. Es lo que corresponde a una revisión.
|
|
84
|
+
|
|
85
|
+
Ninguno de los dos promueve al BACKLOG. La diferencia no es cuánta autoridad tienen —ninguno tiene—,
|
|
86
|
+
sino qué artefacto dejan para que una persona decida.
|
|
87
|
+
|
|
88
|
+
## `discovery` y `delivery`
|
|
89
|
+
|
|
90
|
+
**Descubrimiento propone; entrega ejecuta.** `/team` recorre únicamente las etapas `discovery` y termina
|
|
91
|
+
proponiendo una épica. Las etapas `delivery` las corre `autobuild`, y sólo después de que una persona
|
|
92
|
+
promueva esa épica al BACKLOG.
|
|
93
|
+
|
|
94
|
+
Marcar una etapa de construcción como `discovery` haría que se escriba código antes de la aprobación
|
|
95
|
+
humana, que es justamente lo que el protocolo impide.
|
|
96
|
+
|
|
97
|
+
## Cómo escribir un exit gate
|
|
98
|
+
|
|
99
|
+
Un gate se cumple o no se cumple sin discusión. Comparar:
|
|
100
|
+
|
|
101
|
+
- ❌ "El problema está bien entendido."
|
|
102
|
+
- ✅ "Problema, usuario, outcome, baseline y decisión requerida están explícitos."
|
|
103
|
+
|
|
104
|
+
Si para saber si un gate se cumplió hace falta interpretar, el recorrido va a avanzar siempre.
|
|
105
|
+
|
|
106
|
+
## `WORKFLOW.md`
|
|
107
|
+
|
|
108
|
+
Acompaña al manifiesto y explica lo que el JSON no puede: cuándo activarlo, cómo se ve un handoff, con
|
|
109
|
+
qué criterio entran los agentes condicionales y qué **no** hace el equipo. Sin ese archivo, `team check`
|
|
110
|
+
falla.
|
package/teams/README.md
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Equipos
|
|
2
|
+
|
|
3
|
+
Un equipo compone varios cargos de `agents/` en un recorrido con etapas, dueños de decisión y gates de
|
|
4
|
+
salida. Es lo que convierte una intención en una épica candidata —o en la razón por la que todavía no
|
|
5
|
+
lo es— sin que un solo agente decida por todos.
|
|
6
|
+
|
|
7
|
+
## Los que trae Cauce
|
|
8
|
+
|
|
9
|
+
| Equipo | Descubrimiento | Deja | Para qué |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| `system/feasibility-review` | 3 etapas | épica | ¿vale el esfuerzo? Con la evidencia que ya existe. |
|
|
12
|
+
| `system/product-development` | 5 etapas | épica | ¿qué construimos y cómo? Produce evidencia nueva. |
|
|
13
|
+
| `system/incident-review` | 4 etapas | informe | ¿qué pasó y qué aprendemos? Después de contener. |
|
|
14
|
+
|
|
15
|
+
Son tres **formas**, no tres dominios. Un equipo de seguridad o uno de crecimiento tienen la misma forma
|
|
16
|
+
con otros cargos: eso lo escribe cada empresa, porque cómo decide es suyo.
|
|
17
|
+
|
|
18
|
+
## Escribir uno propio
|
|
19
|
+
|
|
20
|
+
Copiar la estructura de [000-template.md](000-template.md) a `teams/<slug>/`, con su `team.json` y su
|
|
21
|
+
`WORKFLOW.md`, y validar:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
node tools/ops.js team list
|
|
25
|
+
node tools/ops.js team check <slug>
|
|
26
|
+
node tools/ops.js team show <slug>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Un equipo propio con el mismo slug que uno de `system/` lo reemplaza; con otro slug, convive. **Nunca
|
|
30
|
+
editar dentro de `system/`**: se reemplaza completo en cada actualización.
|
|
31
|
+
|
|
32
|
+
## Invocar un equipo
|
|
33
|
+
|
|
34
|
+
Tres formas, de la más simple a la más explícita:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
/team quiero cobrar con tarjeta guardada
|
|
38
|
+
/team incident-review: se cayó el checkout el martes a las 14:00
|
|
39
|
+
/team {"team": "acme-soporte", "intent": "qué se quiere evaluar"}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Sin prefijo corre `product-development`. El prefijo se confirma contra los equipos que existen: si no
|
|
43
|
+
es uno, el texto completo se toma como intención, así que escribir `nota: revisar esto` no dispara un
|
|
44
|
+
equipo llamado `nota`. Con el equipo pasado explícitamente, un slug inexistente falla en vez de caer al
|
|
45
|
+
por defecto en silencio.
|
|
46
|
+
|
|
47
|
+
## Corto o largo
|
|
48
|
+
|
|
49
|
+
Un recorrido largo cuesta más y aporta más certeza. La elección es la misma que con los lanes de una
|
|
50
|
+
tarea: usar el corto cuando la evidencia ya existe y la pregunta es de esfuerzo, y el largo cuando hay
|
|
51
|
+
que averiguar algo antes de comprometerse.
|
|
52
|
+
|
|
53
|
+
Un recorrido corto que termina en "hay que investigar" no falló: acotó el problema por el costo de tres
|
|
54
|
+
etapas en lugar de cinco.
|
|
55
|
+
|
|
56
|
+
## Lo que un equipo nunca hace
|
|
57
|
+
|
|
58
|
+
Ningún recorrido promueve trabajo al BACKLOG. Escribe la épica candidata en `planning/roadmap/` y para;
|
|
59
|
+
la promoción es la firma humana que autoriza ejecución. Un gate que no se cumple se convierte en una
|
|
60
|
+
acción concreta en `planning/HUMAN_ACTIONS.md`, no en un gate más blando.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Feasibility Review
|
|
2
|
+
|
|
3
|
+
## Cómo activarlo
|
|
4
|
+
|
|
5
|
+
Usar este equipo cuando hay una intención concreta y la pregunta es **si vale el esfuerzo**, no cómo
|
|
6
|
+
resolverla. Tres etapas y tres dueños de decisión: encuadre, factibilidad y recomendación.
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
Usa el team feasibility-review para evaluar esta intención:
|
|
10
|
+
<qué se quiere lograr, para quién, y qué evidencia ya tenemos>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Si la respuesta requiere hablar con usuarios, medir algo que hoy no se mide o explorar el diseño, este
|
|
14
|
+
equipo no es el indicado: lo correcto es que recomiende investigar y que después corra
|
|
15
|
+
`product-development`, que sí tiene research y shape.
|
|
16
|
+
|
|
17
|
+
## Cuándo usar este y cuándo el largo
|
|
18
|
+
|
|
19
|
+
| | `feasibility-review` | `product-development` |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| Etapas de descubrimiento | 3 | 5 |
|
|
22
|
+
| Pregunta que responde | ¿vale el esfuerzo? | ¿qué construimos y cómo? |
|
|
23
|
+
| Evidencia | usa la que ya existe | produce evidencia nueva |
|
|
24
|
+
| Salida típica | hacer, no hacer o investigar | épica con criterios y diseño |
|
|
25
|
+
|
|
26
|
+
Un recorrido corto que termina en "hay que investigar" no falló: acotó el problema por el costo de tres
|
|
27
|
+
etapas en lugar de cinco.
|
|
28
|
+
|
|
29
|
+
## Protocolo de handoff
|
|
30
|
+
|
|
31
|
+
Cada handoff incluye:
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
Etapa y agente:
|
|
35
|
+
Pregunta que resuelve:
|
|
36
|
+
Evidencia usada y su origen:
|
|
37
|
+
Supuestos e incertidumbre:
|
|
38
|
+
Lo que falta averiguar:
|
|
39
|
+
Exit gate: cumplido / no cumplido
|
|
40
|
+
Autorizaciones pendientes:
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
No avanzar si el exit gate no se cumple. La etapa siguiente puede devolver el handoff cuando falte
|
|
44
|
+
evidencia, autoridad o un criterio verificable.
|
|
45
|
+
|
|
46
|
+
## Selección de agentes condicionales
|
|
47
|
+
|
|
48
|
+
`user-researcher` entra cuando el encuadre depende de una necesidad que nadie verificó.
|
|
49
|
+
`security-engineer` y `privacy-compliance-specialist`, cuando la opción toca autenticación, permisos o
|
|
50
|
+
datos personales. `finops-engineer`, cuando el costo de operar es parte de la decisión —típico si suma
|
|
51
|
+
inferencia de modelos—. `legal-counsel`, cuando hay compromiso contractual o afirmación pública.
|
|
52
|
+
|
|
53
|
+
Se incorporan por riesgo, no por rutina: sumar un cargo que no aporta diluye la revisión.
|
|
54
|
+
|
|
55
|
+
## Límites
|
|
56
|
+
|
|
57
|
+
El recorrido produce una recomendación, no una aprobación. Escribe la épica candidata en `roadmap/`
|
|
58
|
+
cuando la respuesta es hacer, y **nunca promueve al BACKLOG**: esa firma es humana. Cuando la respuesta
|
|
59
|
+
es investigar, la acción concreta queda en `planning/HUMAN_ACTIONS.md`; cuando es no hacer, el motivo y
|
|
60
|
+
qué lo cambiaría quedan en la sección Lecciones de `planning/INBOX.md`.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"slug": "feasibility-review",
|
|
4
|
+
"name": "Feasibility Review",
|
|
5
|
+
"purpose": "Decidir si una intención vale el esfuerzo, con la evidencia que ya existe, antes de abrir un descubrimiento completo.",
|
|
6
|
+
"outcome": "epic",
|
|
7
|
+
"entryAgent": "product-manager",
|
|
8
|
+
"facilitator": "project-manager",
|
|
9
|
+
"decisionOwners": {
|
|
10
|
+
"value_and_priority": "product-manager",
|
|
11
|
+
"technical_design": "software-architect",
|
|
12
|
+
"capacity_and_assignment": "engineering-manager"
|
|
13
|
+
},
|
|
14
|
+
"conditionalAgents": [
|
|
15
|
+
"user-researcher",
|
|
16
|
+
"security-engineer",
|
|
17
|
+
"privacy-compliance-specialist",
|
|
18
|
+
"finops-engineer",
|
|
19
|
+
"legal-counsel"
|
|
20
|
+
],
|
|
21
|
+
"stages": [
|
|
22
|
+
{
|
|
23
|
+
"id": "frame",
|
|
24
|
+
"phase": "discovery",
|
|
25
|
+
"agent": "product-manager",
|
|
26
|
+
"dependsOn": [],
|
|
27
|
+
"produces": [
|
|
28
|
+
"problem-and-outcome",
|
|
29
|
+
"evidence-already-available"
|
|
30
|
+
],
|
|
31
|
+
"exitGate": "Problema, usuario, outcome y qué evidencia ya existe están explícitos; lo que falta averiguar queda listado, no supuesto."
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "assess",
|
|
35
|
+
"phase": "discovery",
|
|
36
|
+
"agent": "software-architect",
|
|
37
|
+
"dependsOn": [
|
|
38
|
+
"frame"
|
|
39
|
+
],
|
|
40
|
+
"produces": [
|
|
41
|
+
"feasibility-and-options",
|
|
42
|
+
"risks-and-unknowns"
|
|
43
|
+
],
|
|
44
|
+
"exitGate": "Hay al menos una opción viable con su costo grueso y sus riesgos, o la razón técnica concreta por la que no la hay."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "decide",
|
|
48
|
+
"phase": "discovery",
|
|
49
|
+
"agent": "engineering-manager",
|
|
50
|
+
"dependsOn": [
|
|
51
|
+
"assess"
|
|
52
|
+
],
|
|
53
|
+
"produces": [
|
|
54
|
+
"recommendation",
|
|
55
|
+
"what-would-change-the-answer"
|
|
56
|
+
],
|
|
57
|
+
"exitGate": "La recomendación es hacer, no hacer o investigar, con el esfuerzo estimado y qué evidencia cambiaría la respuesta."
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"guardrails": [
|
|
61
|
+
"Cada agente conserva los límites y autorizaciones de su SKILL.md.",
|
|
62
|
+
"Este recorrido usa la evidencia que ya existe; no la produce ni la reemplaza por supuestos.",
|
|
63
|
+
"Recomendar investigar es un resultado legítimo, no una falla del recorrido.",
|
|
64
|
+
"Los agentes condicionales se incorporan por riesgo, plataforma y alcance, no por rutina.",
|
|
65
|
+
"Ningún handoff convierte una recomendación en aprobación ni en ejecución."
|
|
66
|
+
],
|
|
67
|
+
"completion": [
|
|
68
|
+
"La recomendación distingue lo que se sabe de lo que se supone.",
|
|
69
|
+
"El esfuerzo estimado tiene rango y supuestos visibles, no un número solo.",
|
|
70
|
+
"Queda escrito qué evidencia cambiaría la decisión.",
|
|
71
|
+
"Si el resultado es investigar, la acción concreta queda registrada para una persona."
|
|
72
|
+
]
|
|
73
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Incident Review
|
|
2
|
+
|
|
3
|
+
## Qué es y qué no es
|
|
4
|
+
|
|
5
|
+
Este equipo hace la **revisión posterior** de un incidente ya contenido. No responde incidentes en vivo:
|
|
6
|
+
un recorrido de agentes no es un incident commander, no tiene acceso a producción, no está de guardia y
|
|
7
|
+
no puede decidir bajo presión con información parcial. Confundir una cosa con la otra sería peligroso.
|
|
8
|
+
|
|
9
|
+
Mientras el incidente está activo, mandan las personas de guardia. Este recorrido empieza después,
|
|
10
|
+
cuando el servicio ya está estable y lo que hace falta es entender qué pasó.
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
Usa el team incident-review para analizar este incidente:
|
|
14
|
+
<qué falló, cuándo, cómo se detectó y qué evidencia hay: logs, alertas, métricas, tickets>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Salida
|
|
18
|
+
|
|
19
|
+
Produce un **informe**, no una épica: `planning/reports/<fecha>-<slug>.md`. Los seguimientos quedan en la
|
|
20
|
+
sección Lecciones de `planning/INBOX.md` **sin promover**, y las acciones que requieren una persona
|
|
21
|
+
—comunicar a clientes, notificar a un regulador, cambiar un contrato— en `planning/HUMAN_ACTIONS.md`.
|
|
22
|
+
|
|
23
|
+
Convertir un seguimiento en trabajo sigue siendo una decisión humana, igual que en cualquier otro
|
|
24
|
+
recorrido.
|
|
25
|
+
|
|
26
|
+
## Etapas
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
scope → sre línea de tiempo e impacto real
|
|
30
|
+
diagnose → software-architect factores que contribuyeron, y por qué no se detectó antes
|
|
31
|
+
exposure → security-engineer si hubo acceso, pérdida o exposición de datos
|
|
32
|
+
learn → engineering-manager seguimientos con dueño propuesto
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
`diagnose` y `exposure` dependen ambas de `scope` y responden preguntas distintas: una busca por qué
|
|
36
|
+
falló, la otra qué quedó expuesto. Separarlas evita que la urgencia técnica tape la evaluación de datos.
|
|
37
|
+
|
|
38
|
+
## Protocolo de handoff
|
|
39
|
+
|
|
40
|
+
```markdown
|
|
41
|
+
Etapa y agente:
|
|
42
|
+
Pregunta que resuelve:
|
|
43
|
+
Evidencia usada y su origen (log, alerta, métrica, ticket):
|
|
44
|
+
Hechos / hipótesis / lo indeterminado:
|
|
45
|
+
Exit gate: cumplido / no cumplido
|
|
46
|
+
Autorizaciones u obligaciones pendientes:
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Una causa sin evidencia se declara **hipótesis**, aunque cerrar el informe con una causa firme sea más
|
|
50
|
+
cómodo. Un informe que inventa una causa para poder cerrarse hace daño: se toman decisiones sobre él.
|
|
51
|
+
|
|
52
|
+
## Selección de agentes condicionales
|
|
53
|
+
|
|
54
|
+
`database-administrator` y `devops-engineer` cuando el factor está en datos o en infraestructura.
|
|
55
|
+
`privacy-compliance-specialist` y `legal-counsel` en cuanto la etapa `exposure` no puede descartar
|
|
56
|
+
acceso a datos personales — ahí puede haber plazos regulatorios, y esa es una acción humana urgente.
|
|
57
|
+
`qa-engineer` cuando la pregunta es por qué las pruebas no lo detectaron. `finops-engineer` cuando el
|
|
58
|
+
incidente fue de costo, no de disponibilidad.
|
|
59
|
+
|
|
60
|
+
## Límites
|
|
61
|
+
|
|
62
|
+
Nadie en este recorrido opera producción, aplica una remediación, comunica a un cliente ni notifica a
|
|
63
|
+
un regulador. Todo eso se propone y lo decide una persona. Tampoco se atribuye responsabilidad a
|
|
64
|
+
personas: se analizan las condiciones que hicieron posible el fallo, porque un informe que busca
|
|
65
|
+
culpables consigue que la próxima vez nadie reporte nada.
|