@ingeniomaps/cauce 0.1.0 → 0.2.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 +58 -0
- package/README.md +41 -5
- 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/{frontend-engineer → system/frontend-engineer}/learning/CODEX_AUTOMATION.md +1 -1
- 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/{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/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/team.js +172 -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 +150 -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 +26 -20
- package/package.json +3 -2
- package/template/AGENTS.md +33 -0
- package/template/Makefile +4 -1
- package/template/planning/rules/README.md +9 -3
- package/template/tools/ops.js +23 -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/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/{frontend-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/{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/{mobile-engineer → 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/{privacy-compliance-specialist → 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/{product-marketing-manager → 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/{qa-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/{sales-representative → 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/{security-engineer → 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/{site-reliability-engineer → 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/{software-architect → 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/HISTORY.md +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/HISTORY.md +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/teams/{product-development → system/product-development}/team.json +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
package/engine/cli/ops.js
CHANGED
|
@@ -10,8 +10,11 @@ const I = require('../integrations/registry')
|
|
|
10
10
|
const L = require('../agents/learning')
|
|
11
11
|
const A = require('../automation')
|
|
12
12
|
const F = require('../core/files')
|
|
13
|
+
const O = require('../core/ownership')
|
|
14
|
+
const CL = require('../core/changelog')
|
|
13
15
|
const C = require('../config/validate')
|
|
14
16
|
const T = require('../teams/registry')
|
|
17
|
+
const AG = require('../agents/catalog')
|
|
15
18
|
|
|
16
19
|
const PROJECT_ROOT = path.resolve(__dirname, '..', '..')
|
|
17
20
|
|
|
@@ -22,10 +25,11 @@ function fail(message, code = 1) {
|
|
|
22
25
|
|
|
23
26
|
function usage() {
|
|
24
27
|
console.log(`Uso:
|
|
25
|
-
ops init <destino> [--name <nombre>] [--mode embedded|sidecar] [--force]
|
|
28
|
+
ops init <destino> [--name <nombre>] [--mode embedded|sidecar] [--engine copy|dependency] [--force]
|
|
26
29
|
ops check <planning-dir> [--json]
|
|
27
30
|
ops tree <planning-dir> [--no-color] [--json]
|
|
28
31
|
ops context <planning-dir> [--json]
|
|
32
|
+
ops upgrade <ops-root> [--check] [--force]
|
|
29
33
|
ops archive <planning-dir> <NNN>
|
|
30
34
|
ops integration list <ops-root>
|
|
31
35
|
ops integration check <ops-root> [provider]
|
|
@@ -42,6 +46,7 @@ function usage() {
|
|
|
42
46
|
ops automation install <ops-root> claude|codex|gemini|antigravity
|
|
43
47
|
ops learn <agent> [--proposal]
|
|
44
48
|
ops evaluate <agent>
|
|
49
|
+
ops agents list [ops-root] [--json]
|
|
45
50
|
ops team list
|
|
46
51
|
ops team check <team>
|
|
47
52
|
ops team show <team>`)
|
|
@@ -75,13 +80,14 @@ function copyTemplate(source, target, replacements, force, skip = []) {
|
|
|
75
80
|
}
|
|
76
81
|
}
|
|
77
82
|
|
|
78
|
-
function copyRuntime(source, target, preserve = false, boundary = target) {
|
|
83
|
+
function copyRuntime(source, target, preserve = false, boundary = target, skip = []) {
|
|
79
84
|
F.assertNoSymlinkPath(boundary, target)
|
|
80
85
|
fs.mkdirSync(target, { recursive: true })
|
|
81
86
|
for (const entry of fs.readdirSync(source, { withFileTypes: true })) {
|
|
87
|
+
if (skip.includes(entry.name)) continue
|
|
82
88
|
const from = path.join(source, entry.name)
|
|
83
89
|
const to = path.join(target, entry.name)
|
|
84
|
-
if (entry.isDirectory()) copyRuntime(from, to, preserve, boundary)
|
|
90
|
+
if (entry.isDirectory()) copyRuntime(from, to, preserve, boundary, skip)
|
|
85
91
|
else if (preserve && fs.existsSync(to)) console.log(`= conservado ${to}`)
|
|
86
92
|
else {
|
|
87
93
|
F.assertNoSymlinkPath(boundary, to)
|
|
@@ -90,6 +96,19 @@ function copyRuntime(source, target, preserve = false, boundary = target) {
|
|
|
90
96
|
}
|
|
91
97
|
}
|
|
92
98
|
|
|
99
|
+
// Declara el motor como dependencia exacta: el lockfile decide qué versión corre, no una copia.
|
|
100
|
+
// Conserva el manifiesto existente porque el repo anfitrión puede tener el suyo.
|
|
101
|
+
function declareEngine(manifest, version) {
|
|
102
|
+
let pkg = { name: path.basename(path.dirname(manifest)), private: true, version: '0.0.0' }
|
|
103
|
+
if (fs.existsSync(manifest)) {
|
|
104
|
+
try { pkg = JSON.parse(fs.readFileSync(manifest, 'utf8')) } catch (error) {
|
|
105
|
+
fail(`package.json inválido en ${manifest}: ${error.message}`)
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
pkg.devDependencies = { ...pkg.devDependencies, '@ingeniomaps/cauce': version }
|
|
109
|
+
F.atomicWriteJson(manifest, pkg)
|
|
110
|
+
}
|
|
111
|
+
|
|
93
112
|
function init(target) {
|
|
94
113
|
if (!target) fail('Falta <destino>.', 2)
|
|
95
114
|
const mode = option('--mode', 'embedded')
|
|
@@ -137,6 +156,8 @@ function init(target) {
|
|
|
137
156
|
path.join(root, 'automatization', 'runners'),
|
|
138
157
|
preserve,
|
|
139
158
|
root,
|
|
159
|
+
// El README de runners lo provee el template: le habla al proyecto, no a quien desarrolla Cauce.
|
|
160
|
+
O.TEMPLATE_OWNED.filter((owned) => owned.startsWith('automatization/runners/')).map((owned) => path.basename(owned)),
|
|
140
161
|
)
|
|
141
162
|
copyRuntime(
|
|
142
163
|
path.join(PROJECT_ROOT, 'automatization', 'workflows'),
|
|
@@ -144,10 +165,25 @@ function init(target) {
|
|
|
144
165
|
preserve,
|
|
145
166
|
root,
|
|
146
167
|
)
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
|
|
168
|
+
const version = require(path.join(PROJECT_ROOT, 'package.json')).version
|
|
169
|
+
// Un repo con npm recibe el motor como dependencia versionada; uno de Go, Python o Rust recibe
|
|
170
|
+
// la copia, porque exigirle un package.json para correr su planning sería imponerle un stack.
|
|
171
|
+
const manifest = path.join(root, 'package.json')
|
|
172
|
+
const engineMode = option('--engine', fs.existsSync(manifest) ? 'dependency' : 'copy')
|
|
173
|
+
if (!['copy', 'dependency'].includes(engineMode)) fail('--engine debe ser copy o dependency.', 2)
|
|
174
|
+
if (engineMode === 'dependency') declareEngine(manifest, version)
|
|
175
|
+
else {
|
|
176
|
+
const engine = path.join(root, '.ops', 'engine')
|
|
177
|
+
copyRuntime(path.join(PROJECT_ROOT, 'engine'), engine, preserve, root)
|
|
178
|
+
fs.chmodSync(path.join(engine, 'cli', 'ops.js'), 0o755)
|
|
179
|
+
}
|
|
180
|
+
// La instancia recuerda de qué versión salió: sin esto no hay actualización posible.
|
|
181
|
+
const configFile = path.join(root, 'ops.config.json')
|
|
182
|
+
const config = JSON.parse(fs.readFileSync(configFile, 'utf8'))
|
|
183
|
+
config.cauceVersion = version
|
|
184
|
+
F.atomicWriteJson(configFile, config)
|
|
150
185
|
console.log(`\n✓ ${name}: sistema ops creado en ${root}`)
|
|
186
|
+
if (engineMode === 'dependency') console.log(' siguiente: npm install (el motor viene de la dependencia)')
|
|
151
187
|
console.log(` siguiente: node ${path.join(root, 'tools', 'ops.js')} check ${path.join(root, 'planning')}`)
|
|
152
188
|
}
|
|
153
189
|
|
|
@@ -254,6 +290,12 @@ function check(dir) {
|
|
|
254
290
|
errors.push(...integration.errors)
|
|
255
291
|
warnings.push(...integration.warnings)
|
|
256
292
|
|
|
293
|
+
// Sobrescribir una entrada de system/ es legítimo y esperado; lo que no puede pasar es que
|
|
294
|
+
// ocurra en silencio, porque esa entrada deja de recibir las mejoras del toolkit.
|
|
295
|
+
for (const override of O.overrides(path.resolve(root, '..'))) {
|
|
296
|
+
warnings.push(`${override.collection}/${override.project} sobrescribe ${override.system} (override explícito)`)
|
|
297
|
+
}
|
|
298
|
+
|
|
257
299
|
if (process.argv.includes('--json')) {
|
|
258
300
|
console.log(JSON.stringify({
|
|
259
301
|
ok: !errors.length,
|
|
@@ -414,6 +456,104 @@ function context(dir) {
|
|
|
414
456
|
for (const action of report.humanActions) console.log(`HUMAN ${action.task}: ${action.action}`)
|
|
415
457
|
}
|
|
416
458
|
|
|
459
|
+
// Qué trae la versión nueva, leído del paquete: sin esto el reemplazo de system/ es a ciegas.
|
|
460
|
+
function printChangelog(from, to) {
|
|
461
|
+
const notes = CL.between(CL.read(PROJECT_ROOT), from, to)
|
|
462
|
+
if (!notes.length) return
|
|
463
|
+
for (const note of notes) {
|
|
464
|
+
console.log(`\n ── ${note.version} ──`)
|
|
465
|
+
for (const line of note.body.split('\n')) if (line.trim()) console.log(` ${line}`)
|
|
466
|
+
}
|
|
467
|
+
console.log('')
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
function instanceVersion(root) {
|
|
471
|
+
try {
|
|
472
|
+
return JSON.parse(fs.readFileSync(path.join(root, 'ops.config.json'), 'utf8')).cauceVersion || ''
|
|
473
|
+
} catch { return '' }
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
// Sobrescribe lo que trae el paquete y deja intacto lo demás: un guard propio de la empresa,
|
|
477
|
+
// o un adaptador de runner que el toolkit no conoce, sobreviven a la actualización.
|
|
478
|
+
function overlayTree(from, to, root, skip = []) {
|
|
479
|
+
F.assertNoSymlinkPath(root, to)
|
|
480
|
+
copyRuntime(from, to, false, root, skip)
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
// Actualiza sólo lo que el toolkit declara suyo. Todo lo demás —planning, organization, reglas
|
|
484
|
+
// propias, agentes editados— queda intacto por construcción, no por comparación.
|
|
485
|
+
function upgrade(dir) {
|
|
486
|
+
const root = path.resolve(dir || '.')
|
|
487
|
+
if (!fs.existsSync(path.join(root, 'ops.config.json'))) {
|
|
488
|
+
fail(`${root} no es una instancia de Cauce: falta ops.config.json.`, 2)
|
|
489
|
+
}
|
|
490
|
+
const dry = process.argv.includes('--check')
|
|
491
|
+
const force = process.argv.includes('--force')
|
|
492
|
+
const from = instanceVersion(root)
|
|
493
|
+
const to = require(path.join(PROJECT_ROOT, 'package.json')).version
|
|
494
|
+
const system = O.systemPaths(root)
|
|
495
|
+
const changed = O.localChanges(root, PROJECT_ROOT)
|
|
496
|
+
const overrides = O.overrides(root)
|
|
497
|
+
|
|
498
|
+
if (dry) {
|
|
499
|
+
if (from === to) return console.log(`= ${to}: la instancia está al día`)
|
|
500
|
+
console.log(`⚠ hay una versión más nueva: ${to} (la instancia tiene ${from || 'una previa'})`)
|
|
501
|
+
printChangelog(from, to)
|
|
502
|
+
for (const file of changed) console.log(` editado localmente: ${file}`)
|
|
503
|
+
process.exit(1)
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
if (changed.length && !force) {
|
|
507
|
+
for (const file of changed) console.error(`✗ ${file}`)
|
|
508
|
+
fail(
|
|
509
|
+
`\n${changed.length} archivo(s) del runtime fueron editados y se perderían.\n` +
|
|
510
|
+
'Movelos junto a system/ como regla propia, o repetí con --force para descartarlos.',
|
|
511
|
+
)
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
for (const relative of [...system, ...O.RUNTIME_PATHS]) {
|
|
515
|
+
const origin = path.join(PROJECT_ROOT, O.sourceOf(relative))
|
|
516
|
+
if (!fs.existsSync(origin)) continue
|
|
517
|
+
const target = path.join(root, relative)
|
|
518
|
+
// Una instancia que toma el motor de npm no debe recuperar la copia: la actualiza el lockfile.
|
|
519
|
+
if (relative === '.ops/engine' && !fs.existsSync(target)) continue
|
|
520
|
+
const skip = O.TEMPLATE_OWNED
|
|
521
|
+
.filter((owned) => owned.startsWith(`${relative}/`))
|
|
522
|
+
.map((owned) => path.basename(owned))
|
|
523
|
+
if (fs.statSync(origin).isDirectory()) overlayTree(origin, target, root, skip)
|
|
524
|
+
else {
|
|
525
|
+
F.assertNoSymlinkPath(root, target)
|
|
526
|
+
F.atomicWrite(target, fs.readFileSync(origin, 'utf8'))
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
const config = JSON.parse(fs.readFileSync(path.join(root, 'ops.config.json'), 'utf8'))
|
|
531
|
+
config.cauceVersion = to
|
|
532
|
+
F.atomicWriteJson(path.join(root, 'ops.config.json'), config)
|
|
533
|
+
|
|
534
|
+
console.log(`✓ Cauce ${from || '(previa)'} → ${to}`)
|
|
535
|
+
printChangelog(from, to)
|
|
536
|
+
console.log(` ${system.length} ruta(s) del sistema y ${O.RUNTIME_PATHS.length} del runtime actualizadas`)
|
|
537
|
+
for (const override of overrides) {
|
|
538
|
+
console.log(`= conservado ${override.collection}/${override.project}: sobrescribe ${override.system}`)
|
|
539
|
+
}
|
|
540
|
+
console.log(' planning, organization y todo lo propio quedaron intactos')
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
// Lista los cargos visibles resolviendo la precedencia; evita que cada consumidor —CI incluido—
|
|
544
|
+
// reimplemente el recorrido del catálogo.
|
|
545
|
+
function agents(action, dir) {
|
|
546
|
+
if (action !== 'list') fail(`Acción de agents desconocida: ${action || '(vacía)'}`, 2)
|
|
547
|
+
const root = path.resolve(dir || '.')
|
|
548
|
+
const roles = AG.list(root)
|
|
549
|
+
if (process.argv.includes('--json')) {
|
|
550
|
+
return console.log(JSON.stringify(roles.map((role) => ({
|
|
551
|
+
slug: role.slug, type: role.type, system: role.system,
|
|
552
|
+
}))))
|
|
553
|
+
}
|
|
554
|
+
for (const role of roles) console.log(`${role.slug}${role.system ? '' : ' (propio)'}`)
|
|
555
|
+
}
|
|
556
|
+
|
|
417
557
|
function archive(dir, rawNum) {
|
|
418
558
|
const root = path.resolve(dir || '.')
|
|
419
559
|
const num = String(rawNum || '').padStart(3, '0')
|
|
@@ -570,6 +710,8 @@ function team(action, slug) {
|
|
|
570
710
|
for (const error of result.errors) console.error(`✗ ${error}`)
|
|
571
711
|
if (result.errors.length) fail(`${slug}: ${result.errors.length} error(es)`, 1)
|
|
572
712
|
if (action === 'show') {
|
|
713
|
+
// El manifiesto entero, para que un workflow ejecute las etapas sin que un modelo lo parsee.
|
|
714
|
+
if (process.argv.includes('--json')) return console.log(JSON.stringify(result.manifest))
|
|
573
715
|
console.log(`${result.manifest.name} (${slug})`)
|
|
574
716
|
console.log(result.manifest.purpose)
|
|
575
717
|
for (const stage of result.manifest.stages) {
|
|
@@ -588,6 +730,8 @@ async function main() {
|
|
|
588
730
|
else if (command === 'check') check(process.argv[3])
|
|
589
731
|
else if (command === 'tree') tree(process.argv[3])
|
|
590
732
|
else if (command === 'context') context(process.argv[3])
|
|
733
|
+
else if (command === 'upgrade') upgrade(process.argv[3])
|
|
734
|
+
else if (command === 'agents') agents(process.argv[3], process.argv[4])
|
|
591
735
|
else if (command === 'archive') archive(process.argv[3], process.argv[4])
|
|
592
736
|
else if (command === 'integration') {
|
|
593
737
|
await integration(process.argv[3], process.argv[4], process.argv[5], process.argv[6])
|
|
@@ -7,7 +7,10 @@ function validateOpsConfig(config) {
|
|
|
7
7
|
if (!config || typeof config !== 'object' || Array.isArray(config)) {
|
|
8
8
|
return ['ops.config.json: debe ser un objeto']
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
// `cauceVersion` la escribe el toolkit, no la persona: registra de qué versión salió la instancia.
|
|
11
|
+
const allowed = new Set([
|
|
12
|
+
'$schema', 'cauceVersion', 'project', 'mode', 'planningDir', 'workspaceRoots', 'runner',
|
|
13
|
+
])
|
|
11
14
|
for (const key of Object.keys(config)) {
|
|
12
15
|
if (!allowed.has(key)) errors.push(`ops.config.json: propiedad desconocida ${key}`)
|
|
13
16
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
// `upgrade` reemplaza `system/` sin pedir confirmación. Mostrar qué cambió entre la versión
|
|
4
|
+
// instalada y la nueva es lo que separa "actualizarse rápido" de "actualizarse a ciegas".
|
|
5
|
+
|
|
6
|
+
const fs = require('node:fs')
|
|
7
|
+
const path = require('node:path')
|
|
8
|
+
|
|
9
|
+
const HEADING = /^##\s*\[([^\]]+)\]/
|
|
10
|
+
|
|
11
|
+
// Compara versiones semver sin dependencias. Lo no numérico ordena antes que la release.
|
|
12
|
+
function compare(left, right) {
|
|
13
|
+
const parse = (value) => String(value).split('-')[0].split('.').map((part) => Number(part) || 0)
|
|
14
|
+
const [a, b] = [parse(left), parse(right)]
|
|
15
|
+
for (let index = 0; index < 3; index++) {
|
|
16
|
+
if ((a[index] || 0) !== (b[index] || 0)) return (a[index] || 0) - (b[index] || 0)
|
|
17
|
+
}
|
|
18
|
+
return 0
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function entries(text) {
|
|
22
|
+
const found = []
|
|
23
|
+
let current = null
|
|
24
|
+
for (const line of text.split('\n')) {
|
|
25
|
+
const heading = line.match(HEADING)
|
|
26
|
+
if (heading) {
|
|
27
|
+
current = { version: heading[1], lines: [] }
|
|
28
|
+
found.push(current)
|
|
29
|
+
continue
|
|
30
|
+
}
|
|
31
|
+
if (current) current.lines.push(line)
|
|
32
|
+
}
|
|
33
|
+
return found.map((entry) => ({ version: entry.version, body: entry.lines.join('\n').trim() }))
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Entradas estrictamente posteriores a `from` y hasta `to`. Una versión no publicada se incluye
|
|
37
|
+
// siempre: es justamente la que el usuario está por recibir desde el paquete.
|
|
38
|
+
function between(text, from, to) {
|
|
39
|
+
return entries(text).filter((entry) => {
|
|
40
|
+
if (!/^\d/.test(entry.version)) return true
|
|
41
|
+
if (from && compare(entry.version, from) <= 0) return false
|
|
42
|
+
return !to || compare(entry.version, to) <= 0
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function read(packageRoot) {
|
|
47
|
+
try { return fs.readFileSync(path.join(packageRoot, 'CHANGELOG.md'), 'utf8') } catch { return '' }
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = { between, compare, entries, read }
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
// Frontera entre lo que actualiza el toolkit y lo que pertenece al proyecto.
|
|
4
|
+
// Es la fuente única: `check` reporta overrides contra esto y `upgrade` decide qué reemplaza.
|
|
5
|
+
//
|
|
6
|
+
// La regla es una carpeta, no un diff: nada fuera de esta declaración se toca jamás.
|
|
7
|
+
|
|
8
|
+
const fs = require('node:fs')
|
|
9
|
+
const path = require('node:path')
|
|
10
|
+
|
|
11
|
+
// Archivos de los que el toolkit es único autor. Un proyecto que necesite cambiarlos no los
|
|
12
|
+
// edita: agrega una regla propia junto a las de `system/`, que sí sobrevive al upgrade.
|
|
13
|
+
const SYSTEM_FILES = [
|
|
14
|
+
'planning/PROTOCOL.md',
|
|
15
|
+
'planning/FLOW.md',
|
|
16
|
+
'planning/METHODOLOGY.md',
|
|
17
|
+
'planning/README.md',
|
|
18
|
+
'planning/adr/000-template.md',
|
|
19
|
+
'planning/adr/README.md',
|
|
20
|
+
'planning/business-rules/000-template.md',
|
|
21
|
+
'planning/business-rules/README.md',
|
|
22
|
+
'planning/rules/README.md',
|
|
23
|
+
'planning/roadmap/README.md',
|
|
24
|
+
'planning/roadmap/epic-000-template.md',
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
// Colecciones mixtas: el toolkit posee `<dir>/system/`, el proyecto todo lo demás del directorio.
|
|
28
|
+
const SYSTEM_COLLECTIONS = [
|
|
29
|
+
'planning/adr',
|
|
30
|
+
'planning/business-rules',
|
|
31
|
+
'planning/rules',
|
|
32
|
+
'teams',
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
// Copias del runtime: el proyecto las recibe para poder ejecutar sin red, pero no las escribe.
|
|
36
|
+
// Se reemplazan enteras. Mientras no tengan su propio `system/`, una edición local se detecta y
|
|
37
|
+
// se reporta antes de pisarla, nunca después.
|
|
38
|
+
const RUNTIME_PATHS = [
|
|
39
|
+
'.ops/engine',
|
|
40
|
+
'automatization/hooks',
|
|
41
|
+
'automatization/runners',
|
|
42
|
+
'automatization/workflows',
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
// Rutas que el paquete tiene por duplicado: una versión para el proyecto en `template/` y otra
|
|
46
|
+
// interna del toolkit. Gana la del template, que es la que le habla a quien usa la instancia.
|
|
47
|
+
const TEMPLATE_OWNED = ['automatization/runners/README.md']
|
|
48
|
+
|
|
49
|
+
// Dentro del paquete, lo que una instancia recibe en su raíz vive bajo `template/`; el catálogo,
|
|
50
|
+
// los equipos y la automatización están en la raíz del paquete, y el motor en `engine/`.
|
|
51
|
+
function sourceOf(relative) {
|
|
52
|
+
if (relative === '.ops/engine') return 'engine'
|
|
53
|
+
if (relative.startsWith('planning/')) return path.join('template', relative)
|
|
54
|
+
return relative
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Dónde puede estar el motor, en orden de preferencia. Lo mismo que resuelven `tools/ops.js`,
|
|
58
|
+
// el wrapper de hooks y el bridge de Antigravity: declararlo una vez evita que un consumidor
|
|
59
|
+
// quede afuera cuando aparece una forma nueva de instalarlo.
|
|
60
|
+
function engineCandidates(root) {
|
|
61
|
+
return [
|
|
62
|
+
path.join(root, 'node_modules', '@ingeniomaps', 'cauce', 'engine'),
|
|
63
|
+
path.join(root, '.ops', 'engine'),
|
|
64
|
+
path.join(root, 'engine'),
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function engineAt(root, relative = '') {
|
|
69
|
+
return engineCandidates(root)
|
|
70
|
+
.map((dir) => (relative ? path.join(dir, relative) : dir))
|
|
71
|
+
.find((candidate) => fs.existsSync(candidate)) || ''
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Identidad de una entrada dentro de una colección, para detectar que el proyecto sobrescribe
|
|
75
|
+
// algo del sistema. Las reglas y decisiones se identifican por su ID; el resto, por su nombre.
|
|
76
|
+
const ID_PATTERN = /^(?:BR-)?[A-Z][A-Z0-9]*-\d{3}/
|
|
77
|
+
|
|
78
|
+
function identity(name) {
|
|
79
|
+
const base = name.replace(/\.md$/, '')
|
|
80
|
+
const id = base.match(ID_PATTERN)
|
|
81
|
+
return id ? id[0] : base
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function entries(dir) {
|
|
85
|
+
try {
|
|
86
|
+
return fs.readdirSync(dir, { withFileTypes: true })
|
|
87
|
+
.filter((entry) => entry.name !== 'README.md' && !entry.name.startsWith('.'))
|
|
88
|
+
.map((entry) => entry.name)
|
|
89
|
+
} catch { return [] }
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Entradas del proyecto que reemplazan a una del sistema con la misma identidad.
|
|
93
|
+
function overrides(root) {
|
|
94
|
+
const found = []
|
|
95
|
+
for (const collection of SYSTEM_COLLECTIONS) {
|
|
96
|
+
const dir = path.join(root, collection)
|
|
97
|
+
const system = new Map()
|
|
98
|
+
for (const name of entries(path.join(dir, 'system'))) system.set(identity(name), name)
|
|
99
|
+
if (!system.size) continue
|
|
100
|
+
for (const name of entries(dir)) {
|
|
101
|
+
if (name === 'system' || name === '000-template.md') continue
|
|
102
|
+
const key = identity(name)
|
|
103
|
+
if (system.has(key)) found.push({ collection, id: key, project: name, system: system.get(key) })
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return found
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Rutas que `upgrade` reemplaza. Todo lo que no aparezca acá pertenece al proyecto.
|
|
110
|
+
function systemPaths(root) {
|
|
111
|
+
const paths = []
|
|
112
|
+
for (const file of SYSTEM_FILES) {
|
|
113
|
+
if (fs.existsSync(path.join(root, file))) paths.push(file)
|
|
114
|
+
}
|
|
115
|
+
for (const collection of SYSTEM_COLLECTIONS) {
|
|
116
|
+
const dir = path.join(root, collection, 'system')
|
|
117
|
+
if (fs.existsSync(dir)) paths.push(`${collection}/system`)
|
|
118
|
+
}
|
|
119
|
+
return paths
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Archivos de un árbol, relativos a él, para comparar instancia contra paquete.
|
|
123
|
+
function treeFiles(dir, prefix = '') {
|
|
124
|
+
const found = []
|
|
125
|
+
let list = []
|
|
126
|
+
try { list = fs.readdirSync(dir, { withFileTypes: true }) } catch { return found }
|
|
127
|
+
for (const entry of list) {
|
|
128
|
+
const relative = prefix ? `${prefix}/${entry.name}` : entry.name
|
|
129
|
+
if (entry.isDirectory()) found.push(...treeFiles(path.join(dir, entry.name), relative))
|
|
130
|
+
else found.push(relative)
|
|
131
|
+
}
|
|
132
|
+
return found.sort()
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Archivos del runtime que el proyecto editó: existen en las dos partes y difieren. Un archivo
|
|
136
|
+
// que sólo existe en la instancia es un agregado propio, no una edición, y sobrevive intacto.
|
|
137
|
+
function localChanges(root, packageRoot) {
|
|
138
|
+
const changed = []
|
|
139
|
+
for (const target of RUNTIME_PATHS) {
|
|
140
|
+
const from = path.join(packageRoot, sourceOf(target))
|
|
141
|
+
const to = path.join(root, target)
|
|
142
|
+
if (!fs.existsSync(to) || !fs.existsSync(from)) continue
|
|
143
|
+
for (const file of treeFiles(from)) {
|
|
144
|
+
if (TEMPLATE_OWNED.includes(`${target}/${file}`)) continue
|
|
145
|
+
const mine = path.join(to, file)
|
|
146
|
+
if (!fs.existsSync(mine)) continue
|
|
147
|
+
if (fs.readFileSync(mine, 'utf8') !== fs.readFileSync(path.join(from, file), 'utf8')) {
|
|
148
|
+
changed.push(`${target}/${file}`)
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return changed
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
module.exports = {
|
|
156
|
+
RUNTIME_PATHS,
|
|
157
|
+
engineAt,
|
|
158
|
+
engineCandidates,
|
|
159
|
+
TEMPLATE_OWNED,
|
|
160
|
+
SYSTEM_COLLECTIONS,
|
|
161
|
+
SYSTEM_FILES,
|
|
162
|
+
identity,
|
|
163
|
+
localChanges,
|
|
164
|
+
overrides,
|
|
165
|
+
sourceOf,
|
|
166
|
+
systemPaths,
|
|
167
|
+
treeFiles,
|
|
168
|
+
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
"required": ["project", "mode", "planningDir", "workspaceRoots", "runner"],
|
|
6
6
|
"properties": {
|
|
7
7
|
"$schema": { "type": "string", "minLength": 1 },
|
|
8
|
+
"cauceVersion": { "type": "string", "minLength": 1 },
|
|
8
9
|
"project": { "type": "string", "minLength": 1 },
|
|
9
10
|
"mode": { "enum": ["embedded", "sidecar", "toolkit"] },
|
|
10
11
|
"planningDir": { "type": "string", "minLength": 1 },
|
package/engine/teams/registry.js
CHANGED
|
@@ -2,23 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
const fs = require('fs')
|
|
4
4
|
const path = require('path')
|
|
5
|
+
const catalog = require('../agents/catalog')
|
|
5
6
|
|
|
6
7
|
const SLUG = /^[a-z0-9]+(?:-[a-z0-9]+)*$/
|
|
7
8
|
|
|
9
|
+
// El proyecto manda sobre el sistema: un team propio con el mismo slug reemplaza al de `system/`,
|
|
10
|
+
// que se sigue actualizando debajo sin que nadie tenga que forkearlo.
|
|
8
11
|
function teamFile(root, slug) {
|
|
9
12
|
if (!SLUG.test(slug || '')) throw new Error(`team inválido: ${slug || '(vacío)'}`)
|
|
10
|
-
|
|
13
|
+
const own = path.join(root, 'teams', slug, 'team.json')
|
|
14
|
+
if (fs.existsSync(own)) return own
|
|
15
|
+
return path.join(root, 'teams', 'system', slug, 'team.json')
|
|
11
16
|
}
|
|
12
17
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
} catch { return [] }
|
|
19
|
-
return types
|
|
20
|
-
.map((entry) => path.join(catalog, entry.name, slug, 'SKILL.md'))
|
|
21
|
-
.filter((file) => fs.existsSync(file))
|
|
18
|
+
// Devuelve el motivo real: "no existe" y "ambiguo" piden acciones distintas de quien lo lea.
|
|
19
|
+
function agentProblem(root, slug) {
|
|
20
|
+
try { catalog.resolve(root, slug); return '' } catch (error) {
|
|
21
|
+
return /ambiguo/.test(error.message) ? `agente ambiguo: ${slug}` : `agente inexistente: ${slug}`
|
|
22
|
+
}
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
function read(root, slug) {
|
|
@@ -61,25 +62,30 @@ function validate(root, slug) {
|
|
|
61
62
|
for (const agent of agents) {
|
|
62
63
|
if (!SLUG.test(agent || '')) errors.push(`slug de agente inválido: ${agent || '(vacío)'}`)
|
|
63
64
|
else {
|
|
64
|
-
const
|
|
65
|
-
if (
|
|
66
|
-
if (matches.length > 1) errors.push(`agente ambiguo: ${agent}`)
|
|
65
|
+
const problem = agentProblem(root, agent)
|
|
66
|
+
if (problem) errors.push(problem)
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
|
|
69
|
+
// Junto al team.json que ganó la resolución, no en una ruta fija: el team puede venir de system/.
|
|
70
|
+
const workflow = path.join(path.dirname(teamFile(root, slug)), 'WORKFLOW.md')
|
|
70
71
|
if (!fs.existsSync(workflow)) errors.push('falta WORKFLOW.md')
|
|
71
72
|
return { errors, stages: (manifest.stages || []).length, agents: agents.size, manifest }
|
|
72
73
|
}
|
|
73
74
|
|
|
74
|
-
function
|
|
75
|
-
const catalog = path.join(root, 'teams')
|
|
75
|
+
function slugsIn(dir) {
|
|
76
76
|
try {
|
|
77
|
-
return fs.readdirSync(
|
|
78
|
-
.filter((entry) => entry.isDirectory())
|
|
79
|
-
.filter((entry) => fs.existsSync(path.join(
|
|
77
|
+
return fs.readdirSync(dir, { withFileTypes: true })
|
|
78
|
+
.filter((entry) => entry.isDirectory() && entry.name !== 'system')
|
|
79
|
+
.filter((entry) => fs.existsSync(path.join(dir, entry.name, 'team.json')))
|
|
80
80
|
.map((entry) => entry.name)
|
|
81
|
-
.sort()
|
|
82
81
|
} catch { return [] }
|
|
83
82
|
}
|
|
84
83
|
|
|
84
|
+
// Un slug aparece una sola vez aunque exista en los dos niveles: el del proyecto ya ganó.
|
|
85
|
+
function list(root) {
|
|
86
|
+
const teams = path.join(root, 'teams')
|
|
87
|
+
const slugs = new Set([...slugsIn(teams), ...slugsIn(path.join(teams, 'system'))])
|
|
88
|
+
return [...slugs].sort()
|
|
89
|
+
}
|
|
90
|
+
|
|
85
91
|
module.exports = { list, read, validate }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ingeniomaps/cauce",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Sistema portable de planificación y ejecución verificable para cualquier proyecto",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"bin": {
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
"teams/",
|
|
14
14
|
"automatization/",
|
|
15
15
|
".github/workflows/",
|
|
16
|
-
"LICENSE"
|
|
16
|
+
"LICENSE",
|
|
17
|
+
"CHANGELOG.md"
|
|
17
18
|
],
|
|
18
19
|
"scripts": {
|
|
19
20
|
"ops": "node engine/cli/ops.js",
|
package/template/AGENTS.md
CHANGED
|
@@ -25,6 +25,39 @@ Por defecto, todo sistema externo se considera real y de solo lectura. Sin aprob
|
|
|
25
25
|
|
|
26
26
|
Documentar excepciones concretas aquí. Un entorno de desarrollo o sandbox debe nombrarse explícitamente.
|
|
27
27
|
|
|
28
|
+
## Cargos disponibles
|
|
29
|
+
|
|
30
|
+
`agents/` es un catálogo de cargos reutilizables. Cada uno declara en su `SKILL.md` cuándo actuar, qué
|
|
31
|
+
decide, qué no le corresponde y cuál es su entrega mínima; sus métodos viven en `references/`.
|
|
32
|
+
|
|
33
|
+
Antes de resolver algo que cae claramente en un cargo —una decisión de producto, un diseño de
|
|
34
|
+
arquitectura, una estrategia de pruebas—, adoptá ese contrato en vez de improvisar el criterio. Los
|
|
35
|
+
límites del cargo no son sugerencias: un cargo que no puede decidir solo, no decide solo.
|
|
36
|
+
|
|
37
|
+
En Claude y Antigravity los cargos aparecen como skills invocables por nombre. En Codex y Gemini no hay
|
|
38
|
+
mecanismo nativo: leé directamente el `SKILL.md` del cargo. Los que trae
|
|
39
|
+
Cauce están en `agents/roles/system/`; los propios del proyecto, en `agents/roles/`, donde un mismo
|
|
40
|
+
slug reemplaza al del sistema.
|
|
41
|
+
|
|
42
|
+
`teams/` compone varios cargos en etapas con gates de salida y un dueño por dominio de decisión;
|
|
43
|
+
`node tools/ops.js team show <slug>` muestra el recorrido.
|
|
44
|
+
|
|
45
|
+
## Qué se puede editar y qué no
|
|
46
|
+
|
|
47
|
+
Todo directorio `system/` pertenece a Cauce y se reemplaza completo al actualizar. **Nunca editar nada
|
|
48
|
+
dentro de `system/`**: el cambio se pierde en la siguiente actualización y, mientras tanto, ese archivo
|
|
49
|
+
deja de recibir mejoras.
|
|
50
|
+
|
|
51
|
+
Para cambiar algo del sistema hay dos operaciones, las dos junto a `system/`, nunca dentro:
|
|
52
|
+
|
|
53
|
+
- **Anexar**: un archivo nuevo con nombre o ID propio. Convive con los del sistema.
|
|
54
|
+
- **Reemplazar**: un archivo con el mismo nombre o ID que uno de `system/`. El del proyecto manda y
|
|
55
|
+
`check` lo reporta como override explícito en vez de fallar.
|
|
56
|
+
|
|
57
|
+
Aplica a `planning/business-rules/`, `planning/adr/`, `planning/rules/`, `teams/` y `agents/`. El resto de
|
|
58
|
+
`planning/` —roadmap, backlog, WIP, done, inbox y acciones humanas— es del proyecto y no se toca al
|
|
59
|
+
actualizar.
|
|
60
|
+
|
|
28
61
|
## Cómo leer el estado
|
|
29
62
|
|
|
30
63
|
Antes de abrir un archivo de `planning/`, preguntarle al CLI: es determinista, no gasta contexto y no
|
package/template/Makefile
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.DEFAULT_GOAL := help
|
|
2
2
|
|
|
3
|
-
.PHONY: help check tree context automation-check
|
|
3
|
+
.PHONY: help check tree context upgrade automation-check
|
|
4
4
|
.PHONY: require-agent agent-learn agent-propose agent-evaluate
|
|
5
5
|
.PHONY: install-claude install-codex install-gemini install-antigravity
|
|
6
6
|
.PHONY: doctor-claude doctor-codex doctor-gemini doctor-antigravity
|
|
@@ -18,6 +18,9 @@ tree: ## Muestra roadmap, backlog, WIP y Done
|
|
|
18
18
|
context: ## Muestra el contexto mínimo de la tarea vigente
|
|
19
19
|
@node tools/ops.js context planning
|
|
20
20
|
|
|
21
|
+
upgrade: ## Actualiza Cauce sin tocar lo del proyecto
|
|
22
|
+
@node tools/ops.js upgrade .
|
|
23
|
+
|
|
21
24
|
automation-check: ## Comprueba hooks, workflows y adaptadores
|
|
22
25
|
@node tools/ops.js automation check .
|
|
23
26
|
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
# Reglas transversales
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
- `
|
|
3
|
+
`system/` pertenece a Cauce y se reemplaza completo en cada actualización:
|
|
4
|
+
|
|
5
|
+
- `system/process.md`: planificación, alcance, review y sincronización de estado.
|
|
6
|
+
- `system/code-shape.md`: simplicidad y forma del cambio.
|
|
7
|
+
- `system/commits.md`: historia versionada y entrega.
|
|
8
|
+
|
|
9
|
+
Las reglas propias del proyecto van en este directorio, junto a `system/`, y nunca se tocan al
|
|
10
|
+
actualizar. Para cambiar una regla del sistema, escribí la tuya con el mismo nombre: la del proyecto
|
|
11
|
+
manda y `check` reporta el override en vez de fallar.
|
|
6
12
|
|
|
7
13
|
Las convenciones específicas de lenguaje viven junto al servicio que usa ese lenguaje.
|