@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
|
@@ -4,13 +4,20 @@ set -u
|
|
|
4
4
|
hook_name=${1:-}
|
|
5
5
|
hook_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
6
6
|
ops_root=$(CDPATH= cd -- "$hook_dir/../.." && pwd)
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
# Mismo orden que tools/ops.js: primero la dependencia npm, después la copia local, y por último
|
|
8
|
+
# el propio repositorio del toolkit. Un guard que no encuentra su motor bloquea, nunca permite.
|
|
9
|
+
runner=""
|
|
10
|
+
for candidate in \
|
|
11
|
+
"$ops_root/node_modules/@ingeniomaps/cauce/engine/hooks/run.js" \
|
|
12
|
+
"$ops_root/.ops/engine/hooks/run.js" \
|
|
13
|
+
"$ops_root/engine/hooks/run.js"
|
|
14
|
+
do
|
|
15
|
+
if [ -f "$candidate" ]; then runner="$candidate"; break; fi
|
|
16
|
+
done
|
|
9
17
|
|
|
10
|
-
if [
|
|
18
|
+
if [ -z "$runner" ]; then
|
|
11
19
|
echo "BLOQUEADO [$hook_name]: no se encontró el motor de hooks de Cauce." >&2
|
|
12
|
-
echo " Buscado en
|
|
13
|
-
echo " y: $ops_root/engine/hooks/run.js" >&2
|
|
20
|
+
echo " Buscado en node_modules/@ingeniomaps/cauce, .ops/engine y engine/ bajo $ops_root" >&2
|
|
14
21
|
exit 2
|
|
15
22
|
fi
|
|
16
23
|
|
|
@@ -29,7 +29,14 @@ function findRoot(input) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
function runtimeAt(root) {
|
|
32
|
-
|
|
32
|
+
// Mismo orden que tools/ops.js: dependencia npm, copia local, repositorio del toolkit.
|
|
33
|
+
const candidates = [
|
|
34
|
+
path.join(root, 'node_modules', '@ingeniomaps', 'cauce', 'engine', 'hooks', 'run.js'),
|
|
35
|
+
path.join(root, '.ops', 'engine', 'hooks', 'run.js'),
|
|
36
|
+
path.join(root, 'engine', 'hooks', 'run.js'),
|
|
37
|
+
]
|
|
38
|
+
// El bridge corre antes de poder cargar el motor, así que repite la cascada de
|
|
39
|
+
// engine/core/ownership.js en vez de requerirla. Si cambia una, cambian las dos.
|
|
33
40
|
const runtime = candidates.find(fs.existsSync)
|
|
34
41
|
if (!runtime) throw new Error('No se encontró el runtime engine/hooks/run.js.')
|
|
35
42
|
return require(runtime)
|
|
@@ -2,16 +2,51 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"name": "antigravity",
|
|
4
4
|
"command": "agy",
|
|
5
|
-
"lifecycle": {
|
|
6
|
-
|
|
5
|
+
"lifecycle": {
|
|
6
|
+
"recommendedForNewProjects": true,
|
|
7
|
+
"audience": "individual-and-new-google-projects"
|
|
8
|
+
},
|
|
9
|
+
"config": {
|
|
10
|
+
"source": "hooks.json",
|
|
11
|
+
"target": ".agents/plugins/cauce/hooks.json"
|
|
12
|
+
},
|
|
7
13
|
"instructions": [],
|
|
8
14
|
"artifacts": [
|
|
9
|
-
{
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
{
|
|
14
|
-
|
|
15
|
+
{
|
|
16
|
+
"source": "plugin.json",
|
|
17
|
+
"target": ".agents/plugins/cauce/plugin.json"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"source": "hook.js",
|
|
21
|
+
"target": ".agents/plugins/cauce/hook.js"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"source": "rules/cauce.md",
|
|
25
|
+
"target": ".agents/plugins/cauce/rules/cauce.md"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"source": "skills/autobuild/SKILL.md",
|
|
29
|
+
"target": ".agents/plugins/cauce/skills/autobuild/SKILL.md"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"source": "skills/integration-sync/SKILL.md",
|
|
33
|
+
"target": ".agents/plugins/cauce/skills/integration-sync/SKILL.md"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"source": "skills/integration-promote/SKILL.md",
|
|
37
|
+
"target": ".agents/plugins/cauce/skills/integration-promote/SKILL.md"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"source": "skills/team/SKILL.md",
|
|
41
|
+
"target": ".agents/plugins/cauce/skills/team/SKILL.md"
|
|
42
|
+
}
|
|
15
43
|
],
|
|
16
|
-
"capabilities": {
|
|
44
|
+
"capabilities": {
|
|
45
|
+
"nativeHooks": true,
|
|
46
|
+
"nativeWorkflows": true,
|
|
47
|
+
"projectInstructions": true,
|
|
48
|
+
"checkpointing": false,
|
|
49
|
+
"nativeSkills": true
|
|
50
|
+
},
|
|
51
|
+
"roleSkills": ".agents/plugins/cauce/skills"
|
|
17
52
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: team
|
|
3
|
+
description: Evalúa con un equipo si una intención es viable y propone una épica candidata.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Lee `AGENTS.md`, `planning/PROTOCOL.md` y el contexto de `organization/`. Obtené el recorrido con
|
|
7
|
+
`node tools/ops.js team show <slug> --json` y ejecutá una etapa a la vez, adoptando en cada una el
|
|
8
|
+
contrato del cargo que la posee. Respetá el dueño de decisión de cada dominio: ningún otro cargo
|
|
9
|
+
resuelve en su lugar.
|
|
10
|
+
|
|
11
|
+
Marcá el exit gate de una etapa como cumplido sólo si se cumple de verdad. Cuando falte evidencia,
|
|
12
|
+
autoridad o una decisión externa, registrá la acción concreta en `planning/HUMAN_ACTIONS.md` y detente:
|
|
13
|
+
una opinión del modelo no es investigación de usuarios ni valida un problema.
|
|
14
|
+
|
|
15
|
+
Si la intención resulta viable, escribí la épica en `planning/roadmap/` con criterios observables y
|
|
16
|
+
cerrá con `node tools/ops.js check planning`. Si no lo es, registrá en `planning/INBOX.md` por qué y
|
|
17
|
+
qué la haría viable. **Nunca promuevas al BACKLOG**: esa firma es humana.
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
@AGENTS.md
|
|
4
4
|
@planning/PROTOCOL.md
|
|
5
5
|
|
|
6
|
-
Los hooks de `.claude/settings.json` son obligatorios. Usa `/
|
|
7
|
-
|
|
6
|
+
Los hooks de `.claude/settings.json` son obligatorios. Usa `/team` para evaluar si una intención es viable
|
|
7
|
+
y proponer una épica, y `/autobuild` para ejecutar trabajo ya promovido; `/integration-sync` e
|
|
8
|
+
`/integration-promote` gestionan staging local sin escritura remota. Ninguno promueve al BACKLOG.
|
|
8
9
|
|
|
9
10
|
Antes de iniciar, respeta `planning/AWAITING_REVIEW.md` y el mutex de `planning/WIP.md`. Si el protocolo y
|
|
10
11
|
un workflow difieren, manda el protocolo y la diferencia se registra en `planning/INBOX.md`.
|
|
@@ -2,12 +2,40 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"name": "claude",
|
|
4
4
|
"command": "claude",
|
|
5
|
-
"config": {
|
|
6
|
-
|
|
5
|
+
"config": {
|
|
6
|
+
"source": "settings.json",
|
|
7
|
+
"target": ".claude/settings.json"
|
|
8
|
+
},
|
|
9
|
+
"instructions": [
|
|
10
|
+
{
|
|
11
|
+
"source": "CLAUDE.md",
|
|
12
|
+
"target": "CLAUDE.md"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
7
15
|
"artifacts": [
|
|
8
|
-
{
|
|
9
|
-
|
|
10
|
-
|
|
16
|
+
{
|
|
17
|
+
"source": "../../workflows/autobuild.js",
|
|
18
|
+
"target": ".claude/workflows/autobuild.js"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"source": "../../workflows/integrations/sync.js",
|
|
22
|
+
"target": ".claude/workflows/integration-sync.js"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"source": "../../workflows/integrations/promote.js",
|
|
26
|
+
"target": ".claude/workflows/integration-promote.js"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"source": "../../workflows/team.js",
|
|
30
|
+
"target": ".claude/workflows/team.js"
|
|
31
|
+
}
|
|
11
32
|
],
|
|
12
|
-
"capabilities": {
|
|
33
|
+
"capabilities": {
|
|
34
|
+
"nativeHooks": true,
|
|
35
|
+
"nativeWorkflows": true,
|
|
36
|
+
"projectInstructions": true,
|
|
37
|
+
"checkpointing": false,
|
|
38
|
+
"nativeSkills": true
|
|
39
|
+
},
|
|
40
|
+
"roleSkills": ".claude/skills"
|
|
13
41
|
}
|
|
@@ -2,8 +2,17 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"name": "codex",
|
|
4
4
|
"command": "codex",
|
|
5
|
-
"config": {
|
|
5
|
+
"config": {
|
|
6
|
+
"source": "hooks.json",
|
|
7
|
+
"target": ".codex/hooks/hooks.json"
|
|
8
|
+
},
|
|
6
9
|
"instructions": [],
|
|
7
10
|
"artifacts": [],
|
|
8
|
-
"capabilities": {
|
|
11
|
+
"capabilities": {
|
|
12
|
+
"nativeHooks": true,
|
|
13
|
+
"nativeWorkflows": false,
|
|
14
|
+
"projectInstructions": true,
|
|
15
|
+
"checkpointing": false,
|
|
16
|
+
"nativeSkills": false
|
|
17
|
+
}
|
|
9
18
|
}
|
|
@@ -2,13 +2,39 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"name": "gemini",
|
|
4
4
|
"command": "gemini",
|
|
5
|
-
"lifecycle": {
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
"lifecycle": {
|
|
6
|
+
"recommendedForNewProjects": false,
|
|
7
|
+
"audience": "enterprise-cloud-api-key"
|
|
8
|
+
},
|
|
9
|
+
"config": {
|
|
10
|
+
"source": "settings.json",
|
|
11
|
+
"target": ".gemini/settings.json"
|
|
12
|
+
},
|
|
13
|
+
"instructions": [
|
|
14
|
+
{
|
|
15
|
+
"source": "GEMINI.md",
|
|
16
|
+
"target": "GEMINI.md"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
8
19
|
"artifacts": [
|
|
9
|
-
{
|
|
10
|
-
|
|
11
|
-
|
|
20
|
+
{
|
|
21
|
+
"source": "commands/ops/autobuild.toml",
|
|
22
|
+
"target": ".gemini/commands/ops/autobuild.toml"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"source": "commands/ops/integration-sync.toml",
|
|
26
|
+
"target": ".gemini/commands/ops/integration-sync.toml"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"source": "commands/ops/integration-promote.toml",
|
|
30
|
+
"target": ".gemini/commands/ops/integration-promote.toml"
|
|
31
|
+
}
|
|
12
32
|
],
|
|
13
|
-
"capabilities": {
|
|
33
|
+
"capabilities": {
|
|
34
|
+
"nativeHooks": false,
|
|
35
|
+
"nativeWorkflows": false,
|
|
36
|
+
"projectInstructions": true,
|
|
37
|
+
"checkpointing": true,
|
|
38
|
+
"nativeSkills": false
|
|
39
|
+
}
|
|
14
40
|
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
// Descubre proyecto, servicios y límites desde ops.config.json; no codifica rutas ni proveedores.
|
|
3
3
|
export const meta = {
|
|
4
4
|
name: 'autobuild',
|
|
5
|
-
description: 'Triage → Pick → Ready → Plan → Build → Review → Verify → QA → Commit → Done',
|
|
5
|
+
description: 'Triage → Pick → Cast → Ready → Plan → Build → Review → Verify → QA → Commit → Done',
|
|
6
6
|
whenToUse: 'Ejecutar un hito aprobado con recuperación por WIP y checkpoint humano entre hitos.',
|
|
7
7
|
phases: [
|
|
8
|
-
'Triage', 'Pick', 'Ready', 'Decompose', 'Plan', 'Critique', 'Build', 'Review',
|
|
8
|
+
'Triage', 'Pick', 'Cast', 'Ready', 'Decompose', 'Plan', 'Critique', 'Build', 'Review',
|
|
9
9
|
'Verify', 'QA', 'Commit', 'Done', 'Closing',
|
|
10
10
|
].map((title) => ({ title, detail: `Fase ${title} del protocolo agnóstico` })),
|
|
11
11
|
}
|
|
@@ -81,6 +81,31 @@ const COMMIT = {
|
|
|
81
81
|
branch: { type: 'string' }, leftovers: { type: 'array', items: { type: 'string' } }, reason: { type: 'string' },
|
|
82
82
|
},
|
|
83
83
|
}
|
|
84
|
+
// Dueño por defecto de cada fase. Es determinista: no hace falta preguntarle a un modelo quién
|
|
85
|
+
// revisa la arquitectura o quién decide si la evidencia de calidad alcanza.
|
|
86
|
+
const OWNERS = {
|
|
87
|
+
ready: 'product-manager',
|
|
88
|
+
plan: 'software-architect',
|
|
89
|
+
review: 'software-architect',
|
|
90
|
+
verify: 'qa-engineer',
|
|
91
|
+
qa: 'qa-engineer',
|
|
92
|
+
commit: 'release-manager',
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const CAST_RULES = 'Elegís quién trabaja, no qué se hace. No inventes slugs: usá sólo los que ' +
|
|
96
|
+
'devuelve el CLI. Un cargo se suma por riesgo, plataforma o alcance, nunca por rutina.'
|
|
97
|
+
|
|
98
|
+
const CAST = {
|
|
99
|
+
type: 'object', additionalProperties: false, required: ['build'],
|
|
100
|
+
properties: {
|
|
101
|
+
build: { type: 'string' },
|
|
102
|
+
review: { type: 'array', items: { type: 'string' } },
|
|
103
|
+
verify: { type: 'array', items: { type: 'string' } },
|
|
104
|
+
qa: { type: 'array', items: { type: 'string' } },
|
|
105
|
+
reason: { type: 'string' },
|
|
106
|
+
},
|
|
107
|
+
}
|
|
108
|
+
|
|
84
109
|
const CONTRACT = {
|
|
85
110
|
type: 'object', additionalProperties: false,
|
|
86
111
|
required: ['project', 'workspaceRoots', 'maxTaskHours', 'commitPerTask', 'humanCheckpoint', 'contracts'],
|
|
@@ -164,11 +189,41 @@ while (safety++ < 50) {
|
|
|
164
189
|
const direct = planning.lane === 'directo'
|
|
165
190
|
const lite = planning.lane === 'lite'
|
|
166
191
|
|
|
192
|
+
// Quién ejecuta cada fase. Los dueños por defecto son fijos y no gastan una llamada; los
|
|
193
|
+
// condicionales entran por riesgo, plataforma y alcance —nunca por rutina—, que es la misma
|
|
194
|
+
// regla que ya usa el team. En `directo` no hay condicionales: el lane baja ceremonia.
|
|
195
|
+
const cast = { ...OWNERS, build: '' }
|
|
196
|
+
if (!direct) {
|
|
197
|
+
phase('Cast')
|
|
198
|
+
const chosen = await read(
|
|
199
|
+
`${CAST_RULES}\n\nTarea ${task.id} en ${task.service}. Aceptación: ${task.acceptance}.\n` +
|
|
200
|
+
`Run "node tools/ops.js agents list ${ROOT} --json" and choose only from the slugs it lists.\n` +
|
|
201
|
+
`Elegí el cargo que implementa según la plataforma del servicio${lite ? '.' : ', y los cargos ' +
|
|
202
|
+
'condicionales que la superficie realmente justifica: seguridad si toca autenticación, permisos, ' +
|
|
203
|
+
'criptografía o datos sensibles; privacidad si toca datos personales; sre si toca disponibilidad, ' +
|
|
204
|
+
'límites o despliegue; ux si cambia una superficie que usa una persona; y el que corresponda a ' +
|
|
205
|
+
'datos o modelos si los toca. Dejá vacío lo que no aplique: sumar un cargo que no aporta es ruido ' +
|
|
206
|
+
'que diluye la revisión.'}`,
|
|
207
|
+
{ schema: CAST, label: 'cast' },
|
|
208
|
+
)
|
|
209
|
+
if (chosen) {
|
|
210
|
+
cast.build = chosen.build || ''
|
|
211
|
+
for (const key of ['review', 'verify', 'qa']) {
|
|
212
|
+
cast[key] = [OWNERS[key], ...(lite ? [] : chosen[key] || [])].filter(Boolean).join(', ')
|
|
213
|
+
}
|
|
214
|
+
log(`Cargos: build=${cast.build || '(sin asignar)'} · review=${cast.review} · qa=${cast.qa}`)
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
const asRole = (slugs) => (slugs
|
|
218
|
+
? `Actuá como ${slugs}, respetando el contrato de cada uno en su SKILL.md bajo agents/ y sus ` +
|
|
219
|
+
`límites: un cargo que no puede decidir solo, no decide solo.\n\n`
|
|
220
|
+
: '')
|
|
221
|
+
|
|
167
222
|
if (!planning.wipActive) {
|
|
168
223
|
phase('Ready')
|
|
169
224
|
const ready = await read(
|
|
170
|
-
|
|
171
|
-
|
|
225
|
+
`${asRole(OWNERS.ready)}Check concrete acceptance, dependencies and unresolved decisions for ${task.id}: ` +
|
|
226
|
+
`${task.acceptance}. Clarify wording only; never expand scope.`, { schema: READY },
|
|
172
227
|
)
|
|
173
228
|
if (!ready.ready) {
|
|
174
229
|
await write(`Register ${task.id} in ${HUMAN} with reason and an exact human action: ${ready.reason}.`)
|
|
@@ -192,7 +247,8 @@ while (safety++ < 50) {
|
|
|
192
247
|
|
|
193
248
|
phase('Plan')
|
|
194
249
|
let plan = await run(
|
|
195
|
-
|
|
250
|
+
`${asRole(OWNERS.plan)}Inspect real code, repository instructions, neighbouring conventions, epic context ` +
|
|
251
|
+
`and git status for ${task.id}. ` +
|
|
196
252
|
`Produce the smallest plan satisfying ${task.acceptance}. Planning files cannot be implementation files.`, { schema: PLAN },
|
|
197
253
|
)
|
|
198
254
|
if (!direct && !lite) {
|
|
@@ -209,13 +265,16 @@ while (safety++ < 50) {
|
|
|
209
265
|
}
|
|
210
266
|
await write(
|
|
211
267
|
`Persist active WIP before code: task=${task.id}, hito=${JSON.stringify(task.hito)}, phase=Build, service=${task.service}, ` +
|
|
212
|
-
`acceptance=${JSON.stringify(task.acceptance)}, unchecked steps=${JSON.stringify(plan.steps)}.
|
|
268
|
+
`acceptance=${JSON.stringify(task.acceptance)}, unchecked steps=${JSON.stringify(plan.steps)}. ` +
|
|
269
|
+
`Registrá además el reparto de cargos ${JSON.stringify(cast)} en las decisiones del WIP, para que ` +
|
|
270
|
+
`después se pueda auditar quién revisó qué. Follow the WIP contract exactly.`,
|
|
213
271
|
)
|
|
214
272
|
}
|
|
215
273
|
|
|
216
274
|
phase('Build')
|
|
217
275
|
const build = await run(
|
|
218
|
-
|
|
276
|
+
`${asRole(cast.build)}Implement only ${task.id} inside ${task.service}. Resume at the first pending WIP ` +
|
|
277
|
+
`step; verify completed steps on disk ` +
|
|
219
278
|
`and tick each successful step. Use RED/GREEN for behavior. Acceptance: ${task.acceptance}.`, {
|
|
220
279
|
schema: { type: 'object', required: ['completed', 'summary'], properties: {
|
|
221
280
|
completed: { type: 'boolean' }, summary: { type: 'string' }, blockers: { type: 'array', items: { type: 'string' } },
|
|
@@ -227,7 +286,8 @@ while (safety++ < 50) {
|
|
|
227
286
|
if (!direct) {
|
|
228
287
|
phase('Review')
|
|
229
288
|
let review = await run(
|
|
230
|
-
|
|
289
|
+
`${asRole(cast.review)}Review the actual diff for acceptance, regressions, security, architecture, ` +
|
|
290
|
+
`generated code, migrations and accidental scope. Cada cargo revisa su dominio, no el ajeno.`,
|
|
231
291
|
{ schema: DECISION },
|
|
232
292
|
)
|
|
233
293
|
if (!review.approved) {
|
|
@@ -239,14 +299,15 @@ while (safety++ < 50) {
|
|
|
239
299
|
|
|
240
300
|
phase('Verify')
|
|
241
301
|
const verified = await run(
|
|
242
|
-
|
|
302
|
+
`${asRole(cast.verify)}Discover and run the real gates for ${task.service}: repository instructions first, ` +
|
|
303
|
+
`then applicable test, lint, ` +
|
|
243
304
|
`typecheck and build. Read actual exit codes. passed=true needs commands and no task-caused regression.`, { schema: VERIFY },
|
|
244
305
|
)
|
|
245
306
|
if (!verified.passed || !verified.commands.length) return stop('verify-failed', verified.details)
|
|
246
307
|
|
|
247
308
|
phase('QA')
|
|
248
309
|
const qa = await run(
|
|
249
|
-
`${direct || lite ? 'Perform the cheapest real acceptance check' : 'Exercise real consumer-visible behavior'} for ` +
|
|
310
|
+
`${asRole(cast.qa)}${direct || lite ? 'Perform the cheapest real acceptance check' : 'Exercise real consumer-visible behavior'} for ` +
|
|
250
311
|
`${task.id}. Unit tests alone are not QA. Start only minimum runtime and tear it down. Acceptance: ${task.acceptance}.`,
|
|
251
312
|
{ schema: QA },
|
|
252
313
|
)
|
|
@@ -254,7 +315,8 @@ while (safety++ < 50) {
|
|
|
254
315
|
|
|
255
316
|
phase('Commit')
|
|
256
317
|
const commit = contract.commitPerTask ? await run(
|
|
257
|
-
|
|
318
|
+
`${asRole(OWNERS.commit)}Find the git repo owning ${task.service}, inspect status/diff, stage explicit task ` +
|
|
319
|
+
`files, create one Conventional ` +
|
|
258
320
|
`Commit with footer "Task: ${task.id}", then verify log/status. Never amend or push; report unrelated leftovers.`,
|
|
259
321
|
{ schema: COMMIT },
|
|
260
322
|
) : { committed: true, reason: 'runner.commitPerTask is disabled' }
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
// Recorrido de un equipo: convierte una intención en una épica candidata, o en la razón por la
|
|
2
|
+
// que todavía no se puede. Es el espejo de `autobuild`, que ejecuta trabajo ya aprobado.
|
|
3
|
+
//
|
|
4
|
+
// Nunca promueve: escribe la épica en roadmap/ y para. Promoverla al BACKLOG sigue siendo la firma
|
|
5
|
+
// humana que autoriza ejecución.
|
|
6
|
+
export const meta = {
|
|
7
|
+
name: 'team',
|
|
8
|
+
description: 'Recorre las etapas de un equipo, exige sus exit gates y propone una épica',
|
|
9
|
+
whenToUse: 'Evaluar si una idea es viable y darle forma antes de aprobarla, con varios cargos.',
|
|
10
|
+
phases: [
|
|
11
|
+
{ title: 'Contract', detail: 'Manifiesto del equipo y contexto de la empresa' },
|
|
12
|
+
{ title: 'Stages', detail: 'Una etapa por dueño de decisión, con su exit gate' },
|
|
13
|
+
{ title: 'Draft', detail: 'Épica candidata con criterios observables' },
|
|
14
|
+
{ title: 'Closing', detail: 'Validación y acciones humanas pendientes' },
|
|
15
|
+
],
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const ROOT = process.env.OPS_ROOT || process.env.CLAUDE_PROJECT_DIR || '.'
|
|
19
|
+
const P = `${ROOT}/planning`
|
|
20
|
+
const ROADMAP = `${P}/roadmap`
|
|
21
|
+
const HUMAN = `${P}/HUMAN_ACTIONS.md`
|
|
22
|
+
const INBOX = `${P}/INBOX.md`
|
|
23
|
+
const REPORTS = `${P}/reports`
|
|
24
|
+
|
|
25
|
+
// Tres formas de invocarlo, porque escribir JSON en un slash command no es razonable:
|
|
26
|
+
//
|
|
27
|
+
// /team quiero cobrar con tarjeta equipo por defecto
|
|
28
|
+
// /team feasibility-review: quiero cobrar con tarjeta equipo elegido por prefijo
|
|
29
|
+
// /team {"team": "acme-soporte", "intent": "..."} argumentos estructurados
|
|
30
|
+
//
|
|
31
|
+
// El prefijo se toma como candidato y se confirma más abajo contra los equipos que existen: si no es
|
|
32
|
+
// uno, el texto completo era la intención y nadie tuvo que aprenderse una sintaxis.
|
|
33
|
+
const input = typeof args === 'string' ? { intent: args } : (args || {})
|
|
34
|
+
const raw = String(input.intent || process.env.OPS_INTENT || '').trim()
|
|
35
|
+
const prefix = raw.match(/^([a-z][a-z0-9-]*)\s*:\s*(.+)$/s)
|
|
36
|
+
const CANDIDATE = String(input.team || process.env.OPS_TEAM || (prefix ? prefix[1] : '') || 'product-development')
|
|
37
|
+
const INTENT = (input.team || !prefix ? raw : prefix[2]).trim()
|
|
38
|
+
|
|
39
|
+
const MANIFEST = {
|
|
40
|
+
type: 'object', additionalProperties: false, required: ['name', 'purpose', 'stages', 'guardrails'],
|
|
41
|
+
properties: {
|
|
42
|
+
name: { type: 'string' }, purpose: { type: 'string' },
|
|
43
|
+
outcome: { type: 'string', enum: ['epic', 'report'] },
|
|
44
|
+
entryAgent: { type: 'string' }, facilitator: { type: 'string' },
|
|
45
|
+
guardrails: { type: 'array', items: { type: 'string' } },
|
|
46
|
+
owners: { type: 'array', items: { type: 'object', additionalProperties: false, properties: {
|
|
47
|
+
domain: { type: 'string' }, agent: { type: 'string' },
|
|
48
|
+
} } },
|
|
49
|
+
stages: { type: 'array', items: { type: 'object', additionalProperties: false, properties: {
|
|
50
|
+
id: { type: 'string' }, agent: { type: 'string' }, exitGate: { type: 'string' },
|
|
51
|
+
phase: { type: 'string', enum: ['discovery', 'delivery'] },
|
|
52
|
+
produces: { type: 'array', items: { type: 'string' } },
|
|
53
|
+
} } },
|
|
54
|
+
},
|
|
55
|
+
}
|
|
56
|
+
const STAGE = {
|
|
57
|
+
type: 'object', additionalProperties: false, required: ['gatePassed', 'findings'],
|
|
58
|
+
properties: {
|
|
59
|
+
gatePassed: { type: 'boolean' },
|
|
60
|
+
findings: { type: 'string' },
|
|
61
|
+
evidence: { type: 'array', items: { type: 'string' } },
|
|
62
|
+
assumptions: { type: 'array', items: { type: 'string' } },
|
|
63
|
+
openQuestions: { type: 'array', items: { type: 'string' } },
|
|
64
|
+
missing: { type: 'string' },
|
|
65
|
+
humanAction: { type: 'string' },
|
|
66
|
+
},
|
|
67
|
+
}
|
|
68
|
+
const EPIC = {
|
|
69
|
+
type: 'object', additionalProperties: false, required: ['viable', 'title'],
|
|
70
|
+
properties: {
|
|
71
|
+
viable: { type: 'boolean' }, title: { type: 'string' }, slug: { type: 'string' },
|
|
72
|
+
reason: { type: 'string' },
|
|
73
|
+
criteria: { type: 'array', items: { type: 'string' } },
|
|
74
|
+
stories: { type: 'array', items: { type: 'string' } },
|
|
75
|
+
},
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const stop = (reason, detail = '') => {
|
|
79
|
+
log(`Checkpoint: ${reason}${detail ? ` — ${detail}` : ''}`)
|
|
80
|
+
return finish({ stopped: true, reason, detail })
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (!INTENT) return stop('sin-intencion', 'pasá la intención a evaluar en args.intent')
|
|
84
|
+
|
|
85
|
+
phase('Contract')
|
|
86
|
+
|
|
87
|
+
const BASE = `Nunca inventes clientes, métricas, restricciones ni decisiones. No confundas una opinión ` +
|
|
88
|
+
`del modelo con evidencia: si algo no se puede afirmar con lo disponible, decilo y registrá qué ` +
|
|
89
|
+
`haría falta averiguar. No promuevas trabajo al BACKLOG, no escribas en sistemas externos y no ` +
|
|
90
|
+
`declares validado nada sin evidencia observable.`
|
|
91
|
+
|
|
92
|
+
const resolved = await agent(
|
|
93
|
+
`${BASE}\n\nRun "node tools/ops.js team list" from ${ROOT}. Report whether "${CANDIDATE}" is one of ` +
|
|
94
|
+
`the slugs it printed, and the full list. Do not guess: report only what the command printed.`,
|
|
95
|
+
{ schema: { type: 'object', required: ['exists', 'teams'], properties: {
|
|
96
|
+
exists: { type: 'boolean' }, teams: { type: 'array', items: { type: 'string' } },
|
|
97
|
+
} }, label: 'team-resolve' },
|
|
98
|
+
)
|
|
99
|
+
if (!resolved) return stop('teams-unavailable', 'no se pudo listar los equipos')
|
|
100
|
+
if (!resolved.exists && (input.team || process.env.OPS_TEAM)) {
|
|
101
|
+
return stop('equipo-inexistente', `${CANDIDATE} no existe. Disponibles: ${resolved.teams.join(', ')}`)
|
|
102
|
+
}
|
|
103
|
+
// El prefijo era parte de la intención, no un equipo: se recompone y sigue con el equipo por defecto.
|
|
104
|
+
const TEAM = resolved.exists ? CANDIDATE : 'product-development'
|
|
105
|
+
const GOAL = resolved.exists ? INTENT : raw
|
|
106
|
+
if (!resolved.exists && prefix) log(`"${CANDIDATE}" no es un equipo: se toma el texto completo como intención.`)
|
|
107
|
+
|
|
108
|
+
const contract = await agent(
|
|
109
|
+
`${BASE}\n\nRun "node tools/ops.js team show ${TEAM} --json" from ${ROOT} and report only what it ` +
|
|
110
|
+
`printed: name, purpose, outcome, entryAgent, facilitator, guardrails, the stages with id, phase, ` +
|
|
111
|
+
`agent, ` +
|
|
112
|
+
`produces and exitGate, and decisionOwners flattened into owners as domain/agent pairs. Then read ` +
|
|
113
|
+
`${ROOT}/organization/ and report nothing from it: it is context for later stages, not output.`,
|
|
114
|
+
{ schema: MANIFEST, label: 'team-contract' },
|
|
115
|
+
)
|
|
116
|
+
if (!contract) return stop('contract-unavailable', `no se pudo leer el manifiesto de ${TEAM}`)
|
|
117
|
+
|
|
118
|
+
const owners = (contract.owners || []).map((owner) => `${owner.domain}=${owner.agent}`).join(', ')
|
|
119
|
+
const RULES = `${BASE}\n\nEquipo ${contract.name}: ${contract.purpose}\n` +
|
|
120
|
+
`Guardrails: ${contract.guardrails.join(' ')}\n` +
|
|
121
|
+
`${owners ? `Dueños de decisión: ${owners}. Ningún otro cargo resuelve en su dominio.\n` : ''}` +
|
|
122
|
+
`Contexto de la empresa en ${ROOT}/organization/. Intención a evaluar: ${GOAL}`
|
|
123
|
+
|
|
124
|
+
phase('Stages')
|
|
125
|
+
|
|
126
|
+
const handoffs = []
|
|
127
|
+
const blocked = []
|
|
128
|
+
// Sólo descubrimiento: este recorrido propone trabajo, no lo ejecuta. Las etapas de entrega las
|
|
129
|
+
// corre `autobuild`, y sólo después de que una persona promueva la épica al BACKLOG.
|
|
130
|
+
const discovery = contract.stages.filter((stage) => stage.phase === 'discovery')
|
|
131
|
+
if (!discovery.length) return stop('sin-descubrimiento', `${TEAM} no declara etapas de discovery`)
|
|
132
|
+
for (const stage of discovery) {
|
|
133
|
+
const previous = handoffs.length
|
|
134
|
+
? `Handoffs previos:\n${handoffs.map((entry) => `- ${entry.id}: ${entry.findings}`).join('\n')}`
|
|
135
|
+
: 'Sos la primera etapa: no hay handoff previo.'
|
|
136
|
+
|
|
137
|
+
const result = await agent(
|
|
138
|
+
`${RULES}\n\n${previous}\n\nActuá como ${stage.agent}, respetando su contrato en ` +
|
|
139
|
+
`agents/<tipo>/${stage.agent}/SKILL.md y sus límites. Etapa "${stage.id}": producí ` +
|
|
140
|
+
`${(stage.produces || []).join(' y ')}. Distinguí hechos, evidencia, supuestos y preguntas ` +
|
|
141
|
+
`abiertas. El exit gate es: "${stage.exitGate}". Marcá gatePassed sólo si se cumple de verdad; ` +
|
|
142
|
+
`si no, explicá en missing qué falta y en humanAction la acción concreta que lo desbloquea.`,
|
|
143
|
+
{ schema: STAGE, label: `stage:${stage.id}` },
|
|
144
|
+
)
|
|
145
|
+
if (!result) return stop('stage-unavailable', `la etapa ${stage.id} no devolvió resultado`)
|
|
146
|
+
|
|
147
|
+
handoffs.push({ id: stage.id, agent: stage.agent, ...result })
|
|
148
|
+
if (!result.gatePassed) {
|
|
149
|
+
blocked.push({ stage: stage.id, missing: result.missing || '', action: result.humanAction || '' })
|
|
150
|
+
log(`Gate no cumplido en ${stage.id}: ${result.missing || 'sin detalle'}`)
|
|
151
|
+
break
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
if (blocked.length) {
|
|
156
|
+
await agent(
|
|
157
|
+
`${RULES}\n\nRegistrá en ${HUMAN} una fila por cada bloqueo, con la tarea, el estado pendiente, el ` +
|
|
158
|
+
`origen (etapa ${blocked[0].stage}) y la acción humana exacta que lo desbloquea. No inventes ` +
|
|
159
|
+
`responsables ni fechas. Bloqueos: ${JSON.stringify(blocked)}`,
|
|
160
|
+
{ label: 'human-actions' },
|
|
161
|
+
)
|
|
162
|
+
return stop('gate-no-cumplido', `${blocked[0].stage}: ${blocked[0].missing}`)
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
phase('Draft')
|
|
166
|
+
|
|
167
|
+
// Un recorrido que registra lo aprendido no propone trabajo: deja el informe y las tareas de
|
|
168
|
+
// seguimiento en el INBOX, donde una persona decide si alguna merece convertirse en épica.
|
|
169
|
+
if (contract.outcome === 'report') {
|
|
170
|
+
const report = await agent(
|
|
171
|
+
`${RULES}\n\nHandoffs completos:\n${JSON.stringify(handoffs)}\n\nEscribí el informe en ${REPORTS} como ` +
|
|
172
|
+
`<AAAA-MM-DD>-<slug>.md: qué pasó, qué se sabe con evidencia, qué se supone, qué se decidió y qué ` +
|
|
173
|
+
`queda abierto. Separá causa de síntoma y no atribuyas responsabilidad a personas. Registrá cada ` +
|
|
174
|
+
`seguimiento en la sección Lecciones de ${INBOX}, sin promoverlo, y toda acción que requiera una ` +
|
|
175
|
+
`persona en ${HUMAN}.`,
|
|
176
|
+
{ schema: { type: 'object', required: ['file', 'followUps'], properties: {
|
|
177
|
+
file: { type: 'string' }, followUps: { type: 'integer' }, summary: { type: 'string' },
|
|
178
|
+
} }, label: 'report-write' },
|
|
179
|
+
)
|
|
180
|
+
if (!report) return stop('report-unavailable', 'el informe no devolvió resultado')
|
|
181
|
+
log(`Informe en ${report.file}. ${report.followUps} seguimiento(s) en el INBOX, sin promover.`)
|
|
182
|
+
return finish({ team: TEAM, stages: handoffs.length, report: report.file, promoted: false })
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
const epic = await agent(
|
|
186
|
+
`${RULES}\n\nHandoffs completos:\n${JSON.stringify(handoffs)}\n\nComo product-manager, decidí si la ` +
|
|
187
|
+
`intención es viable con la evidencia reunida. Si lo es, redactá la épica: título, slug en ` +
|
|
188
|
+
`kebab-case, criterios observables C1..CN —cada uno verificable sin ambigüedad— e historias que ` +
|
|
189
|
+
`rastreen a esos criterios. Si no lo es, viable=false y el motivo concreto. No la promuevas.`,
|
|
190
|
+
{ schema: EPIC, label: 'epic-draft' },
|
|
191
|
+
)
|
|
192
|
+
if (!epic) return stop('draft-unavailable', 'la propuesta de épica no devolvió resultado')
|
|
193
|
+
|
|
194
|
+
if (!epic.viable) {
|
|
195
|
+
await agent(
|
|
196
|
+
`${RULES}\n\nRegistrá la conclusión en la sección Lecciones de ${INBOX}: por qué esta intención no ` +
|
|
197
|
+
`es viable hoy y qué la haría viable. Motivo: ${epic.reason}`,
|
|
198
|
+
{ label: 'inbox-lesson' },
|
|
199
|
+
)
|
|
200
|
+
return stop('no-viable', epic.reason)
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
await agent(
|
|
204
|
+
`${RULES}\n\nEscribí la épica en ${ROADMAP} como epic-NNN-${epic.slug}.md, tomando el próximo NNN ` +
|
|
205
|
+
`libre y siguiendo el contrato de ${P}/PROTOCOL.md: frontmatter epic/title/status/service con ` +
|
|
206
|
+
`status open, criterios **CN**, "## Contexto relevante" e historias con (→ CN) y (service: ruta). ` +
|
|
207
|
+
`Título: ${epic.title}. Criterios: ${JSON.stringify(epic.criteria)}. ` +
|
|
208
|
+
`Historias: ${JSON.stringify(epic.stories)}. No toques BACKLOG.md: la promoción es humana.`,
|
|
209
|
+
{ label: 'epic-write' },
|
|
210
|
+
)
|
|
211
|
+
|
|
212
|
+
phase('Closing')
|
|
213
|
+
|
|
214
|
+
const closing = await agent(
|
|
215
|
+
`${RULES}\n\nRun "node tools/ops.js check ${P}" from ${ROOT} and report whether it passed. If it ` +
|
|
216
|
+
`failed, repair only the epic you just wrote so it satisfies the contract; never weaken a criterion ` +
|
|
217
|
+
`to force green.`,
|
|
218
|
+
{ schema: { type: 'object', required: ['passed', 'details'], properties: {
|
|
219
|
+
passed: { type: 'boolean' }, details: { type: 'string' },
|
|
220
|
+
} }, label: 'closing-check' },
|
|
221
|
+
)
|
|
222
|
+
if (!closing || !closing.passed) return stop('check-failed', closing ? closing.details : 'sin resultado')
|
|
223
|
+
|
|
224
|
+
log(`Épica candidata lista en ${ROADMAP}. Promoverla al BACKLOG requiere una decisión humana.`)
|
|
225
|
+
return finish({ team: TEAM, stages: handoffs.length, epic: epic.slug, promoted: false })
|