arkaos 2.0.0-alpha.1
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/CONSTITUTION.md +81 -0
- package/LICENSE +21 -0
- package/README.md +154 -0
- package/VERSION +1 -0
- package/arka/SKILL.md +134 -0
- package/bin/arkaos +107 -0
- package/config/constitution.yaml +168 -0
- package/config/hooks/post-tool-use-v2.sh +116 -0
- package/config/hooks/post-tool-use.sh +188 -0
- package/config/hooks/pre-compact-v2.sh +43 -0
- package/config/hooks/pre-compact.sh +99 -0
- package/config/hooks/user-prompt-submit-v2.sh +119 -0
- package/config/hooks/user-prompt-submit.sh +312 -0
- package/core/__init__.py +3 -0
- package/core/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/agents/__init__.py +14 -0
- package/core/agents/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/agents/__pycache__/loader.cpython-313.pyc +0 -0
- package/core/agents/__pycache__/registry_gen.cpython-313.pyc +0 -0
- package/core/agents/__pycache__/schema.cpython-313.pyc +0 -0
- package/core/agents/__pycache__/validator.cpython-313.pyc +0 -0
- package/core/agents/loader.py +88 -0
- package/core/agents/registry_gen.py +118 -0
- package/core/agents/schema.py +265 -0
- package/core/agents/validator.py +141 -0
- package/core/conclave/__init__.py +12 -0
- package/core/conclave/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/advisor_db.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/display.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/matcher.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/persistence.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/profiler.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/prompts.cpython-313.pyc +0 -0
- package/core/conclave/__pycache__/schema.cpython-313.pyc +0 -0
- package/core/conclave/advisor_db.py +373 -0
- package/core/conclave/display.py +104 -0
- package/core/conclave/matcher.py +104 -0
- package/core/conclave/persistence.py +61 -0
- package/core/conclave/profiler.py +298 -0
- package/core/conclave/prompts.py +77 -0
- package/core/conclave/schema.py +132 -0
- package/core/governance/__init__.py +5 -0
- package/core/governance/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/governance/__pycache__/constitution.cpython-313.pyc +0 -0
- package/core/governance/constitution.py +152 -0
- package/core/registry/__init__.py +1 -0
- package/core/registry/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/registry/__pycache__/generator.cpython-313.pyc +0 -0
- package/core/registry/generator.py +199 -0
- package/core/runtime/__init__.py +6 -0
- package/core/runtime/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/base.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/claude_code.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/codex_cli.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/cursor.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/gemini_cli.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/registry.cpython-313.pyc +0 -0
- package/core/runtime/__pycache__/subagent.cpython-313.pyc +0 -0
- package/core/runtime/base.py +143 -0
- package/core/runtime/claude_code.py +104 -0
- package/core/runtime/codex_cli.py +71 -0
- package/core/runtime/cursor.py +71 -0
- package/core/runtime/gemini_cli.py +68 -0
- package/core/runtime/registry.py +86 -0
- package/core/runtime/subagent.py +201 -0
- package/core/specs/__init__.py +10 -0
- package/core/specs/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/specs/__pycache__/manager.cpython-313.pyc +0 -0
- package/core/specs/__pycache__/schema.cpython-313.pyc +0 -0
- package/core/specs/manager.py +164 -0
- package/core/specs/schema.py +199 -0
- package/core/squads/__init__.py +7 -0
- package/core/squads/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/squads/__pycache__/loader.cpython-313.pyc +0 -0
- package/core/squads/__pycache__/registry.cpython-313.pyc +0 -0
- package/core/squads/__pycache__/schema.cpython-313.pyc +0 -0
- package/core/squads/loader.py +40 -0
- package/core/squads/registry.py +145 -0
- package/core/squads/schema.py +93 -0
- package/core/synapse/__init__.py +11 -0
- package/core/synapse/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/synapse/__pycache__/cache.cpython-313.pyc +0 -0
- package/core/synapse/__pycache__/engine.cpython-313.pyc +0 -0
- package/core/synapse/__pycache__/layers.cpython-313.pyc +0 -0
- package/core/synapse/cache.py +82 -0
- package/core/synapse/engine.py +184 -0
- package/core/synapse/layers.py +441 -0
- package/core/tasks/__init__.py +6 -0
- package/core/tasks/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/tasks/__pycache__/manager.cpython-313.pyc +0 -0
- package/core/tasks/__pycache__/schema.cpython-313.pyc +0 -0
- package/core/tasks/manager.py +150 -0
- package/core/tasks/schema.py +108 -0
- package/core/workflow/__init__.py +10 -0
- package/core/workflow/__pycache__/__init__.cpython-313.pyc +0 -0
- package/core/workflow/__pycache__/engine.cpython-313.pyc +0 -0
- package/core/workflow/__pycache__/loader.cpython-313.pyc +0 -0
- package/core/workflow/__pycache__/schema.cpython-313.pyc +0 -0
- package/core/workflow/engine.py +216 -0
- package/core/workflow/loader.py +28 -0
- package/core/workflow/schema.py +129 -0
- package/departments/brand/SKILL.md +85 -0
- package/departments/brand/agents/brand-director.yaml +77 -0
- package/departments/brand/agents/brand-strategist.md +182 -0
- package/departments/brand/agents/brand-strategist.yaml +58 -0
- package/departments/brand/agents/creative-director.md +149 -0
- package/departments/brand/agents/motion-designer.md +113 -0
- package/departments/brand/agents/ux-designer.yaml +60 -0
- package/departments/brand/agents/visual-designer.md +187 -0
- package/departments/brand/agents/visual-designer.yaml +58 -0
- package/departments/brand/references/brand-creation-guide.md +559 -0
- package/departments/brand/scripts/provider-call.sh +262 -0
- package/departments/brand/skills/archetype-finder/SKILL.md +18 -0
- package/departments/brand/skills/colors/SKILL.md +18 -0
- package/departments/brand/skills/design-system/SKILL.md +18 -0
- package/departments/brand/skills/identity-system/SKILL.md +18 -0
- package/departments/brand/skills/logo-brief/SKILL.md +18 -0
- package/departments/brand/skills/mockup-generate/SKILL.md +18 -0
- package/departments/brand/skills/naming-evaluate/SKILL.md +50 -0
- package/departments/brand/skills/positioning-statement/SKILL.md +18 -0
- package/departments/brand/skills/primal-audit/SKILL.md +43 -0
- package/departments/brand/skills/ux-audit/SKILL.md +18 -0
- package/departments/brand/skills/voice-guide/SKILL.md +18 -0
- package/departments/brand/skills/wireframe/SKILL.md +18 -0
- package/departments/brand/squad.yaml +39 -0
- package/departments/brand/workflows/identity.yaml +113 -0
- package/departments/brand/workflows/naming.yaml +58 -0
- package/departments/community/SKILL.md +62 -0
- package/departments/community/agents/community-manager.yaml +57 -0
- package/departments/community/agents/community-strategist.yaml +74 -0
- package/departments/community/agents/engagement-designer.yaml +56 -0
- package/departments/community/skills/ai-community/SKILL.md +18 -0
- package/departments/community/skills/betting-setup/SKILL.md +18 -0
- package/departments/community/skills/business-model/SKILL.md +53 -0
- package/departments/community/skills/content-calendar/SKILL.md +18 -0
- package/departments/community/skills/events-plan/SKILL.md +18 -0
- package/departments/community/skills/gamification-design/SKILL.md +18 -0
- package/departments/community/skills/growth-plan/SKILL.md +18 -0
- package/departments/community/skills/metrics-track/SKILL.md +18 -0
- package/departments/community/skills/moderation/SKILL.md +18 -0
- package/departments/community/skills/monetize-plan/SKILL.md +18 -0
- package/departments/community/skills/niche-setup/SKILL.md +18 -0
- package/departments/community/skills/onboarding-flow/SKILL.md +18 -0
- package/departments/community/skills/platform-select/SKILL.md +18 -0
- package/departments/community/skills/retention-system/SKILL.md +48 -0
- package/departments/community/squad.yaml +32 -0
- package/departments/community/workflows/setup.yaml +62 -0
- package/departments/content/SKILL.md +65 -0
- package/departments/content/agents/content-strategist.yaml +74 -0
- package/departments/content/agents/repurpose-distributor.yaml +57 -0
- package/departments/content/agents/scriptwriter.yaml +56 -0
- package/departments/content/agents/viral-engineer.yaml +56 -0
- package/departments/content/skills/ai-workflow/SKILL.md +18 -0
- package/departments/content/skills/analytics/SKILL.md +18 -0
- package/departments/content/skills/calendar/SKILL.md +18 -0
- package/departments/content/skills/content-system/SKILL.md +75 -0
- package/departments/content/skills/hook-write/SKILL.md +43 -0
- package/departments/content/skills/monetization-plan/SKILL.md +18 -0
- package/departments/content/skills/newsletter-write/SKILL.md +18 -0
- package/departments/content/skills/platform-optimize/SKILL.md +18 -0
- package/departments/content/skills/repurpose-plan/SKILL.md +18 -0
- package/departments/content/skills/script-structure/SKILL.md +18 -0
- package/departments/content/skills/short-form/SKILL.md +18 -0
- package/departments/content/skills/thumbnail-package/SKILL.md +18 -0
- package/departments/content/skills/viral-design/SKILL.md +45 -0
- package/departments/content/skills/youtube-strategy/SKILL.md +18 -0
- package/departments/content/squad.yaml +39 -0
- package/departments/content/workflows/viral.yaml +99 -0
- package/departments/dev/SKILL.md +135 -0
- package/departments/dev/agents/analyst.md +184 -0
- package/departments/dev/agents/architect.md +184 -0
- package/departments/dev/agents/architect.yaml +74 -0
- package/departments/dev/agents/backend-dev.yaml +70 -0
- package/departments/dev/agents/cto.md +140 -0
- package/departments/dev/agents/cto.yaml +77 -0
- package/departments/dev/agents/dba.yaml +72 -0
- package/departments/dev/agents/devops-eng.yaml +72 -0
- package/departments/dev/agents/devops.md +204 -0
- package/departments/dev/agents/frontend-dev.md +213 -0
- package/departments/dev/agents/frontend-dev.yaml +71 -0
- package/departments/dev/agents/qa-eng.yaml +72 -0
- package/departments/dev/agents/qa.md +231 -0
- package/departments/dev/agents/security-eng.yaml +72 -0
- package/departments/dev/agents/security.md +174 -0
- package/departments/dev/agents/senior-dev.md +177 -0
- package/departments/dev/agents/tech-lead.md +188 -0
- package/departments/dev/agents/tech-lead.yaml +72 -0
- package/departments/dev/skills/adversarial-review/SKILL.md +117 -0
- package/departments/dev/skills/agent-design/SKILL.md +127 -0
- package/departments/dev/skills/agent-workflow/SKILL.md +116 -0
- package/departments/dev/skills/ai-assisted-dev/SKILL.md +18 -0
- package/departments/dev/skills/ai-security/SKILL.md +112 -0
- package/departments/dev/skills/api-design/SKILL.md +59 -0
- package/departments/dev/skills/architecture-design/SKILL.md +89 -0
- package/departments/dev/skills/changelog/SKILL.md +110 -0
- package/departments/dev/skills/ci-cd-pipeline/SKILL.md +130 -0
- package/departments/dev/skills/clean-code-review/SKILL.md +65 -0
- package/departments/dev/skills/code-review/SKILL.md +18 -0
- package/departments/dev/skills/codebase-onboard/SKILL.md +109 -0
- package/departments/dev/skills/db-design/SKILL.md +18 -0
- package/departments/dev/skills/db-schema/SKILL.md +130 -0
- package/departments/dev/skills/ddd-model/SKILL.md +18 -0
- package/departments/dev/skills/dependency-audit/SKILL.md +118 -0
- package/departments/dev/skills/deploy/SKILL.md +18 -0
- package/departments/dev/skills/devops-pipeline/SKILL.md +18 -0
- package/departments/dev/skills/docs/SKILL.md +18 -0
- package/departments/dev/skills/env-secrets/SKILL.md +89 -0
- package/departments/dev/skills/incident/SKILL.md +125 -0
- package/departments/dev/skills/mcp/SKILL.md +106 -0
- package/departments/dev/skills/mcp-builder/SKILL.md +121 -0
- package/departments/dev/skills/observability/SKILL.md +119 -0
- package/departments/dev/skills/onboard/SKILL.md +389 -0
- package/departments/dev/skills/onboard/scripts/detect-stack.py +472 -0
- package/departments/dev/skills/performance-audit/SKILL.md +49 -0
- package/departments/dev/skills/performance-profiler/SKILL.md +128 -0
- package/departments/dev/skills/rag-architect/SKILL.md +125 -0
- package/departments/dev/skills/red-team/SKILL.md +112 -0
- package/departments/dev/skills/refactor-plan/SKILL.md +18 -0
- package/departments/dev/skills/release/SKILL.md +130 -0
- package/departments/dev/skills/research/SKILL.md +18 -0
- package/departments/dev/skills/runbook/SKILL.md +103 -0
- package/departments/dev/skills/scaffold/SKILL.md +249 -0
- package/departments/dev/skills/security-audit/SKILL.md +68 -0
- package/departments/dev/skills/skill-audit/SKILL.md +96 -0
- package/departments/dev/skills/spec/SKILL.md +218 -0
- package/departments/dev/skills/stack-check/SKILL.md +18 -0
- package/departments/dev/skills/tdd-cycle/SKILL.md +56 -0
- package/departments/dev/skills/tech-debt/SKILL.md +100 -0
- package/departments/dev/squad.yaml +62 -0
- package/departments/dev/workflows/debug.yaml +63 -0
- package/departments/dev/workflows/feature.yaml +129 -0
- package/departments/dev/workflows/refactor.yaml +64 -0
- package/departments/ecom/SKILL.md +39 -0
- package/departments/ecom/agents/commerce-engineer.yaml +58 -0
- package/departments/ecom/agents/cro-specialist.yaml +56 -0
- package/departments/ecom/agents/ecom-director.yaml +73 -0
- package/departments/ecom/agents/retention-manager.yaml +59 -0
- package/departments/ecom/skills/analytics/SKILL.md +18 -0
- package/departments/ecom/skills/cart-recovery/SKILL.md +18 -0
- package/departments/ecom/skills/cro-optimize/SKILL.md +58 -0
- package/departments/ecom/skills/customer-journey/SKILL.md +18 -0
- package/departments/ecom/skills/fulfillment-plan/SKILL.md +18 -0
- package/departments/ecom/skills/marketplace-manage/SKILL.md +18 -0
- package/departments/ecom/skills/pricing-strategy/SKILL.md +18 -0
- package/departments/ecom/skills/product-launch/SKILL.md +18 -0
- package/departments/ecom/skills/rfm-segment/SKILL.md +44 -0
- package/departments/ecom/skills/social-commerce/SKILL.md +18 -0
- package/departments/ecom/skills/store-audit/SKILL.md +18 -0
- package/departments/ecom/skills/subscription-model/SKILL.md +18 -0
- package/departments/ecom/squad.yaml +39 -0
- package/departments/ecom/workflows/product-page.yaml +62 -0
- package/departments/ecommerce/SKILL.md +363 -0
- package/departments/ecommerce/agents/ecommerce-manager.md +91 -0
- package/departments/finance/SKILL.md +37 -0
- package/departments/finance/agents/cfo.md +85 -0
- package/departments/finance/agents/cfo.yaml +77 -0
- package/departments/finance/agents/financial-analyst.yaml +57 -0
- package/departments/finance/agents/investment-strategist.yaml +58 -0
- package/departments/finance/skills/budget-plan/SKILL.md +18 -0
- package/departments/finance/skills/cashflow-forecast/SKILL.md +18 -0
- package/departments/finance/skills/ciso-advisor/SKILL.md +113 -0
- package/departments/finance/skills/financial-model/SKILL.md +70 -0
- package/departments/finance/skills/pitch-deck/SKILL.md +18 -0
- package/departments/finance/skills/scenario-analysis/SKILL.md +18 -0
- package/departments/finance/skills/unit-economics/SKILL.md +44 -0
- package/departments/finance/skills/valuation-model/SKILL.md +18 -0
- package/departments/finance/squad.yaml +37 -0
- package/departments/finance/workflows/cashflow.yaml +47 -0
- package/departments/finance/workflows/model.yaml +83 -0
- package/departments/kb/SKILL.md +38 -0
- package/departments/kb/agents/knowledge-curator.yaml +60 -0
- package/departments/kb/agents/knowledge-director.yaml +72 -0
- package/departments/kb/agents/research-analyst.yaml +58 -0
- package/departments/kb/skills/ai-research/SKILL.md +18 -0
- package/departments/kb/skills/competitive-intel/SKILL.md +18 -0
- package/departments/kb/skills/knowledge-review/SKILL.md +18 -0
- package/departments/kb/skills/learn-content/SKILL.md +18 -0
- package/departments/kb/skills/moc-create/SKILL.md +18 -0
- package/departments/kb/skills/persona-build/SKILL.md +18 -0
- package/departments/kb/skills/research-plan/SKILL.md +51 -0
- package/departments/kb/skills/search-kb/SKILL.md +18 -0
- package/departments/kb/skills/source-evaluate/SKILL.md +18 -0
- package/departments/kb/skills/taxonomy-manage/SKILL.md +18 -0
- package/departments/kb/skills/write-as-persona/SKILL.md +18 -0
- package/departments/kb/skills/zettelkasten-process/SKILL.md +56 -0
- package/departments/kb/squad.yaml +34 -0
- package/departments/kb/workflows/learn.yaml +63 -0
- package/departments/knowledge/SKILL.md +474 -0
- package/departments/knowledge/agents/knowledge-curator.md +89 -0
- package/departments/knowledge/scripts/kb-check-capabilities.sh +143 -0
- package/departments/knowledge/scripts/kb-cleanup.sh +135 -0
- package/departments/knowledge/scripts/kb-queue.sh +156 -0
- package/departments/knowledge/scripts/kb-status.sh +195 -0
- package/departments/knowledge/scripts/kb-worker.sh +217 -0
- package/departments/landing/SKILL.md +65 -0
- package/departments/landing/agents/affiliate-manager.yaml +57 -0
- package/departments/landing/agents/conversion-strategist.yaml +74 -0
- package/departments/landing/agents/cro-specialist.yaml +58 -0
- package/departments/landing/agents/sales-copywriter.yaml +61 -0
- package/departments/landing/skills/ab-test/SKILL.md +18 -0
- package/departments/landing/skills/affiliate-bridge/SKILL.md +18 -0
- package/departments/landing/skills/awareness-diagnose/SKILL.md +18 -0
- package/departments/landing/skills/copy-framework/SKILL.md +55 -0
- package/departments/landing/skills/email-sequence/SKILL.md +18 -0
- package/departments/landing/skills/funnel-design/SKILL.md +49 -0
- package/departments/landing/skills/funnel-metrics/SKILL.md +18 -0
- package/departments/landing/skills/headline-write/SKILL.md +18 -0
- package/departments/landing/skills/landing-gen/SKILL.md +124 -0
- package/departments/landing/skills/launch-sequence/SKILL.md +18 -0
- package/departments/landing/skills/offer-create/SKILL.md +62 -0
- package/departments/landing/skills/optimize-page/SKILL.md +18 -0
- package/departments/landing/skills/page-architect/SKILL.md +18 -0
- package/departments/landing/skills/persuasion-apply/SKILL.md +18 -0
- package/departments/landing/skills/webinar-funnel/SKILL.md +18 -0
- package/departments/landing/squad.yaml +39 -0
- package/departments/landing/workflows/launch.yaml +72 -0
- package/departments/landing/workflows/offer.yaml +99 -0
- package/departments/leadership/SKILL.md +35 -0
- package/departments/leadership/agents/culture-coach.yaml +59 -0
- package/departments/leadership/agents/hr-specialist.yaml +57 -0
- package/departments/leadership/agents/leadership-director.yaml +72 -0
- package/departments/leadership/skills/change-manage/SKILL.md +18 -0
- package/departments/leadership/skills/conflict-resolve/SKILL.md +18 -0
- package/departments/leadership/skills/culture-audit/SKILL.md +18 -0
- package/departments/leadership/skills/delegation-matrix/SKILL.md +18 -0
- package/departments/leadership/skills/disc-assess/SKILL.md +18 -0
- package/departments/leadership/skills/feedback-give/SKILL.md +18 -0
- package/departments/leadership/skills/hiring-plan/SKILL.md +18 -0
- package/departments/leadership/skills/okr-define/SKILL.md +69 -0
- package/departments/leadership/skills/performance-review/SKILL.md +18 -0
- package/departments/leadership/skills/team-health/SKILL.md +56 -0
- package/departments/leadership/squad.yaml +35 -0
- package/departments/leadership/workflows/team-build.yaml +55 -0
- package/departments/marketing/SKILL.md +61 -0
- package/departments/marketing/agents/content-creator.md +85 -0
- package/departments/marketing/agents/content-marketer.yaml +58 -0
- package/departments/marketing/agents/marketing-director.yaml +75 -0
- package/departments/marketing/agents/paid-specialist.yaml +58 -0
- package/departments/marketing/agents/seo-specialist.yaml +57 -0
- package/departments/marketing/skills/ab-test/SKILL.md +18 -0
- package/departments/marketing/skills/analytics-report/SKILL.md +18 -0
- package/departments/marketing/skills/audience-segment/SKILL.md +18 -0
- package/departments/marketing/skills/calendar-plan/SKILL.md +18 -0
- package/departments/marketing/skills/cold-email/SKILL.md +128 -0
- package/departments/marketing/skills/competitor-analysis/SKILL.md +18 -0
- package/departments/marketing/skills/content-audit/SKILL.md +18 -0
- package/departments/marketing/skills/email-sequence/SKILL.md +18 -0
- package/departments/marketing/skills/growth-loop/SKILL.md +50 -0
- package/departments/marketing/skills/marketing-automation/SKILL.md +18 -0
- package/departments/marketing/skills/paid-campaign/SKILL.md +18 -0
- package/departments/marketing/skills/programmatic-seo/SKILL.md +123 -0
- package/departments/marketing/skills/seo-audit/SKILL.md +48 -0
- package/departments/marketing/skills/social-strategy/SKILL.md +18 -0
- package/departments/marketing/squad.yaml +39 -0
- package/departments/marketing/workflows/campaign.yaml +112 -0
- package/departments/marketing/workflows/social.yaml +56 -0
- package/departments/operations/SKILL.md +422 -0
- package/departments/operations/agents/coo.md +88 -0
- package/departments/ops/SKILL.md +37 -0
- package/departments/ops/agents/automation-engineer.yaml +58 -0
- package/departments/ops/agents/ops-lead.yaml +71 -0
- package/departments/ops/skills/bottleneck-find/SKILL.md +49 -0
- package/departments/ops/skills/dashboard-build/SKILL.md +18 -0
- package/departments/ops/skills/gtd-setup/SKILL.md +18 -0
- package/departments/ops/skills/integration-design/SKILL.md +18 -0
- package/departments/ops/skills/lean-audit/SKILL.md +18 -0
- package/departments/ops/skills/metrics-dashboard/SKILL.md +18 -0
- package/departments/ops/skills/n8n-flow/SKILL.md +18 -0
- package/departments/ops/skills/sop-create/SKILL.md +18 -0
- package/departments/ops/skills/workflow-automate/SKILL.md +39 -0
- package/departments/ops/skills/zapier-flow/SKILL.md +18 -0
- package/departments/ops/squad.yaml +35 -0
- package/departments/ops/workflows/lean-audit.yaml +69 -0
- package/departments/org/SKILL.md +34 -0
- package/departments/org/agents/coo.yaml +80 -0
- package/departments/org/agents/org-designer.yaml +56 -0
- package/departments/org/agents/people-ops.yaml +56 -0
- package/departments/org/skills/compensation-plan/SKILL.md +18 -0
- package/departments/org/skills/culture-define/SKILL.md +18 -0
- package/departments/org/skills/decision-framework/SKILL.md +18 -0
- package/departments/org/skills/hiring-plan/SKILL.md +18 -0
- package/departments/org/skills/meeting-optimize/SKILL.md +18 -0
- package/departments/org/skills/onboarding-design/SKILL.md +18 -0
- package/departments/org/skills/org-design/SKILL.md +18 -0
- package/departments/org/skills/remote-setup/SKILL.md +18 -0
- package/departments/org/skills/sop-process/SKILL.md +18 -0
- package/departments/org/skills/team-assess/SKILL.md +18 -0
- package/departments/org/squad.yaml +33 -0
- package/departments/org/workflows/design.yaml +55 -0
- package/departments/pm/SKILL.md +39 -0
- package/departments/pm/agents/pm-director.yaml +75 -0
- package/departments/pm/agents/product-owner.yaml +59 -0
- package/departments/pm/agents/scrum-master.yaml +59 -0
- package/departments/pm/skills/agile-po/SKILL.md +118 -0
- package/departments/pm/skills/backlog-groom/SKILL.md +18 -0
- package/departments/pm/skills/discovery-plan/SKILL.md +48 -0
- package/departments/pm/skills/estimate-forecast/SKILL.md +18 -0
- package/departments/pm/skills/impact-map/SKILL.md +18 -0
- package/departments/pm/skills/kanban-setup/SKILL.md +18 -0
- package/departments/pm/skills/risk-register/SKILL.md +18 -0
- package/departments/pm/skills/roadmap-build/SKILL.md +18 -0
- package/departments/pm/skills/shape-pitch/SKILL.md +55 -0
- package/departments/pm/skills/sprint-plan/SKILL.md +18 -0
- package/departments/pm/skills/stakeholder-map/SKILL.md +18 -0
- package/departments/pm/skills/standup-run/SKILL.md +18 -0
- package/departments/pm/skills/story-write/SKILL.md +18 -0
- package/departments/pm/squad.yaml +37 -0
- package/departments/pm/workflows/retro.yaml +33 -0
- package/departments/quality/SKILL.md +66 -0
- package/departments/quality/agents/copy-director.md +134 -0
- package/departments/quality/agents/copy-director.yaml +73 -0
- package/departments/quality/agents/cqo.md +134 -0
- package/departments/quality/agents/cqo.yaml +76 -0
- package/departments/quality/agents/tech-director.yaml +79 -0
- package/departments/quality/agents/tech-ux-director.md +193 -0
- package/departments/quality/squad.yaml +25 -0
- package/departments/saas/SKILL.md +64 -0
- package/departments/saas/agents/cs-manager.yaml +57 -0
- package/departments/saas/agents/growth-engineer.yaml +57 -0
- package/departments/saas/agents/metrics-analyst.yaml +57 -0
- package/departments/saas/agents/saas-strategist.yaml +74 -0
- package/departments/saas/skills/benchmark-compare/SKILL.md +18 -0
- package/departments/saas/skills/churn-analysis/SKILL.md +18 -0
- package/departments/saas/skills/customer-success/SKILL.md +18 -0
- package/departments/saas/skills/growth-plan/SKILL.md +18 -0
- package/departments/saas/skills/gtm-strategy/SKILL.md +18 -0
- package/departments/saas/skills/launch-execute/SKILL.md +18 -0
- package/departments/saas/skills/metrics-dashboard/SKILL.md +18 -0
- package/departments/saas/skills/micro-saas-stack/SKILL.md +18 -0
- package/departments/saas/skills/mvp-build/SKILL.md +18 -0
- package/departments/saas/skills/niche-evaluate/SKILL.md +18 -0
- package/departments/saas/skills/onboarding-optimize/SKILL.md +18 -0
- package/departments/saas/skills/plg-setup/SKILL.md +53 -0
- package/departments/saas/skills/pricing-strategy/SKILL.md +48 -0
- package/departments/saas/skills/saas-scaffold/SKILL.md +127 -0
- package/departments/saas/skills/validate-idea/SKILL.md +55 -0
- package/departments/saas/squad.yaml +37 -0
- package/departments/saas/workflows/metrics.yaml +58 -0
- package/departments/saas/workflows/validate.yaml +103 -0
- package/departments/sales/SKILL.md +35 -0
- package/departments/sales/agents/sales-closer.yaml +58 -0
- package/departments/sales/agents/sales-director.yaml +72 -0
- package/departments/sales/agents/sales-ops.yaml +55 -0
- package/departments/sales/skills/challenger-sell/SKILL.md +18 -0
- package/departments/sales/skills/deal-qualify/SKILL.md +18 -0
- package/departments/sales/skills/discovery-call/SKILL.md +18 -0
- package/departments/sales/skills/forecast-revenue/SKILL.md +18 -0
- package/departments/sales/skills/negotiate-plan/SKILL.md +18 -0
- package/departments/sales/skills/objection-handle/SKILL.md +18 -0
- package/departments/sales/skills/pipeline-manage/SKILL.md +18 -0
- package/departments/sales/skills/pricing-negotiate/SKILL.md +18 -0
- package/departments/sales/skills/proposal-write/SKILL.md +54 -0
- package/departments/sales/skills/spin-sell/SKILL.md +50 -0
- package/departments/sales/squad.yaml +35 -0
- package/departments/sales/workflows/pipeline.yaml +49 -0
- package/departments/strategy/SKILL.md +37 -0
- package/departments/strategy/agents/business-model-designer.yaml +58 -0
- package/departments/strategy/agents/market-analyst.yaml +58 -0
- package/departments/strategy/agents/strategist.md +79 -0
- package/departments/strategy/agents/strategy-director.yaml +75 -0
- package/departments/strategy/skills/blue-ocean/SKILL.md +56 -0
- package/departments/strategy/skills/bmc/SKILL.md +18 -0
- package/departments/strategy/skills/board-advisor/SKILL.md +121 -0
- package/departments/strategy/skills/cto-advisor/SKILL.md +113 -0
- package/departments/strategy/skills/five-forces/SKILL.md +74 -0
- package/departments/strategy/skills/growth-strategy/SKILL.md +18 -0
- package/departments/strategy/skills/moat-analysis/SKILL.md +18 -0
- package/departments/strategy/skills/position/SKILL.md +18 -0
- package/departments/strategy/skills/scenario-plan/SKILL.md +18 -0
- package/departments/strategy/squad.yaml +37 -0
- package/departments/strategy/workflows/analysis.yaml +90 -0
- package/departments/strategy/workflows/swot.yaml +47 -0
- package/installer/adapters/claude-code.js +73 -0
- package/installer/adapters/codex-cli.js +34 -0
- package/installer/adapters/cursor.js +34 -0
- package/installer/adapters/gemini-cli.js +37 -0
- package/installer/cli.js +91 -0
- package/installer/detect-runtime.js +122 -0
- package/installer/doctor.js +105 -0
- package/installer/index.js +199 -0
- package/installer/uninstall.js +46 -0
- package/installer/update.js +39 -0
- package/knowledge/agents-registry-v2.json +2702 -0
- package/knowledge/commands-registry-v2.json +3827 -0
- package/package.json +58 -0
- package/pyproject.toml +64 -0
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
"""Agent schema — Pydantic models for the 4-framework behavioral DNA.
|
|
2
|
+
|
|
3
|
+
Every ArkaOS agent has a complete behavioral profile composed of:
|
|
4
|
+
- DISC: How they act (observable behavior)
|
|
5
|
+
- Enneagram: Why they act (core motivation)
|
|
6
|
+
- Big Five/OCEAN: How much of each trait (continuous 0-100)
|
|
7
|
+
- MBTI: How they process information (cognitive functions)
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
from enum import Enum
|
|
11
|
+
from typing import Optional
|
|
12
|
+
from pydantic import BaseModel, Field, model_validator
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# --- DISC Framework ---
|
|
16
|
+
|
|
17
|
+
class DISCType(str, Enum):
|
|
18
|
+
D = "D" # Dominance
|
|
19
|
+
I = "I" # Influence
|
|
20
|
+
S = "S" # Steadiness
|
|
21
|
+
C = "C" # Conscientiousness
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class DISCProfile(BaseModel):
|
|
25
|
+
"""DISC behavioral profile — how the agent acts."""
|
|
26
|
+
primary: DISCType
|
|
27
|
+
secondary: DISCType
|
|
28
|
+
label: str = ""
|
|
29
|
+
communication_style: str = ""
|
|
30
|
+
under_pressure: str = ""
|
|
31
|
+
motivator: str = ""
|
|
32
|
+
|
|
33
|
+
@model_validator(mode="after")
|
|
34
|
+
def primary_differs_from_secondary(self) -> "DISCProfile":
|
|
35
|
+
if self.primary == self.secondary:
|
|
36
|
+
raise ValueError("DISC primary and secondary must be different")
|
|
37
|
+
if not self.label:
|
|
38
|
+
labels = {"D": "Driver", "I": "Inspirer", "S": "Supporter", "C": "Analyst"}
|
|
39
|
+
self.label = f"{labels[self.primary.value]}-{labels[self.secondary.value]}"
|
|
40
|
+
return self
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
# --- Enneagram Framework ---
|
|
44
|
+
|
|
45
|
+
class EnneagramType(int, Enum):
|
|
46
|
+
REFORMER = 1
|
|
47
|
+
HELPER = 2
|
|
48
|
+
ACHIEVER = 3
|
|
49
|
+
INDIVIDUALIST = 4
|
|
50
|
+
INVESTIGATOR = 5
|
|
51
|
+
LOYALIST = 6
|
|
52
|
+
ENTHUSIAST = 7
|
|
53
|
+
CHALLENGER = 8
|
|
54
|
+
PEACEMAKER = 9
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class EnneagramCenter(str, Enum):
|
|
58
|
+
BODY = "body" # 8, 9, 1 — Anger/Instinct
|
|
59
|
+
HEART = "heart" # 2, 3, 4 — Shame/Feeling
|
|
60
|
+
HEAD = "head" # 5, 6, 7 — Fear/Thinking
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class InstinctualSubtype(str, Enum):
|
|
64
|
+
SP = "self-preservation"
|
|
65
|
+
SO = "social"
|
|
66
|
+
SX = "sexual"
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
ENNEAGRAM_CENTERS = {
|
|
70
|
+
1: EnneagramCenter.BODY, 2: EnneagramCenter.HEART, 3: EnneagramCenter.HEART,
|
|
71
|
+
4: EnneagramCenter.HEART, 5: EnneagramCenter.HEAD, 6: EnneagramCenter.HEAD,
|
|
72
|
+
7: EnneagramCenter.HEAD, 8: EnneagramCenter.BODY, 9: EnneagramCenter.BODY,
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
ENNEAGRAM_NAMES = {
|
|
76
|
+
1: "The Reformer", 2: "The Helper", 3: "The Achiever",
|
|
77
|
+
4: "The Individualist", 5: "The Investigator", 6: "The Loyalist",
|
|
78
|
+
7: "The Enthusiast", 8: "The Challenger", 9: "The Peacemaker",
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
# Growth and stress arrows
|
|
82
|
+
ENNEAGRAM_GROWTH = {1: 7, 2: 4, 3: 6, 4: 1, 5: 8, 6: 9, 7: 5, 8: 2, 9: 3}
|
|
83
|
+
ENNEAGRAM_STRESS = {1: 4, 2: 8, 3: 9, 4: 2, 5: 7, 6: 3, 7: 1, 8: 5, 9: 6}
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class EnneagramProfile(BaseModel):
|
|
87
|
+
"""Enneagram motivational profile — why the agent acts."""
|
|
88
|
+
type: EnneagramType
|
|
89
|
+
wing: int = Field(ge=1, le=9)
|
|
90
|
+
label: str = ""
|
|
91
|
+
core_motivation: str = ""
|
|
92
|
+
core_fear: str = ""
|
|
93
|
+
center: EnneagramCenter = EnneagramCenter.HEAD
|
|
94
|
+
growth_arrow: int = Field(default=0, ge=0, le=9)
|
|
95
|
+
stress_arrow: int = Field(default=0, ge=0, le=9)
|
|
96
|
+
subtype: InstinctualSubtype = InstinctualSubtype.SP
|
|
97
|
+
|
|
98
|
+
@model_validator(mode="after")
|
|
99
|
+
def validate_wing_and_arrows(self) -> "EnneagramProfile":
|
|
100
|
+
t = self.type.value
|
|
101
|
+
# Wing must be adjacent
|
|
102
|
+
valid_wings = {t - 1 if t > 1 else 9, t + 1 if t < 9 else 1}
|
|
103
|
+
if self.wing not in valid_wings:
|
|
104
|
+
raise ValueError(f"Enneagram {t} wing must be {valid_wings}, got {self.wing}")
|
|
105
|
+
# Auto-fill center and arrows
|
|
106
|
+
self.center = ENNEAGRAM_CENTERS[t]
|
|
107
|
+
if self.growth_arrow == 0:
|
|
108
|
+
self.growth_arrow = ENNEAGRAM_GROWTH[t]
|
|
109
|
+
if self.stress_arrow == 0:
|
|
110
|
+
self.stress_arrow = ENNEAGRAM_STRESS[t]
|
|
111
|
+
if not self.label:
|
|
112
|
+
self.label = f"{t}w{self.wing} — {ENNEAGRAM_NAMES[t]}"
|
|
113
|
+
return self
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
# --- Big Five / OCEAN Framework ---
|
|
117
|
+
|
|
118
|
+
class BigFiveProfile(BaseModel):
|
|
119
|
+
"""Big Five personality traits — continuous scale 0-100."""
|
|
120
|
+
openness: int = Field(ge=0, le=100, description="Creativity, curiosity")
|
|
121
|
+
conscientiousness: int = Field(ge=0, le=100, description="Organization, discipline")
|
|
122
|
+
extraversion: int = Field(ge=0, le=100, description="Energy, sociability")
|
|
123
|
+
agreeableness: int = Field(ge=0, le=100, description="Cooperation, empathy")
|
|
124
|
+
neuroticism: int = Field(ge=0, le=100, description="Emotional reactivity")
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
# --- MBTI Framework ---
|
|
128
|
+
|
|
129
|
+
class MBTIType(str, Enum):
|
|
130
|
+
INTJ = "INTJ"; INTP = "INTP"; ENTJ = "ENTJ"; ENTP = "ENTP"
|
|
131
|
+
INFJ = "INFJ"; INFP = "INFP"; ENFJ = "ENFJ"; ENFP = "ENFP"
|
|
132
|
+
ISTJ = "ISTJ"; ISFJ = "ISFJ"; ESTJ = "ESTJ"; ESFJ = "ESFJ"
|
|
133
|
+
ISTP = "ISTP"; ISFP = "ISFP"; ESTP = "ESTP"; ESFP = "ESFP"
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
class CognitiveFunction(str, Enum):
|
|
137
|
+
Ni = "Ni" # Introverted Intuition
|
|
138
|
+
Ne = "Ne" # Extraverted Intuition
|
|
139
|
+
Si = "Si" # Introverted Sensing
|
|
140
|
+
Se = "Se" # Extraverted Sensing
|
|
141
|
+
Ti = "Ti" # Introverted Thinking
|
|
142
|
+
Te = "Te" # Extraverted Thinking
|
|
143
|
+
Fi = "Fi" # Introverted Feeling
|
|
144
|
+
Fe = "Fe" # Extraverted Feeling
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
# Cognitive function stacks per MBTI type
|
|
148
|
+
MBTI_STACKS: dict[str, list[str]] = {
|
|
149
|
+
"INTJ": ["Ni", "Te", "Fi", "Se"], "INTP": ["Ti", "Ne", "Si", "Fe"],
|
|
150
|
+
"ENTJ": ["Te", "Ni", "Se", "Fi"], "ENTP": ["Ne", "Ti", "Fe", "Si"],
|
|
151
|
+
"INFJ": ["Ni", "Fe", "Ti", "Se"], "INFP": ["Fi", "Ne", "Si", "Te"],
|
|
152
|
+
"ENFJ": ["Fe", "Ni", "Se", "Ti"], "ENFP": ["Ne", "Fi", "Te", "Si"],
|
|
153
|
+
"ISTJ": ["Si", "Te", "Fi", "Ne"], "ISFJ": ["Si", "Fe", "Ti", "Ne"],
|
|
154
|
+
"ESTJ": ["Te", "Si", "Ne", "Fi"], "ESFJ": ["Fe", "Si", "Ne", "Ti"],
|
|
155
|
+
"ISTP": ["Ti", "Se", "Ni", "Fe"], "ISFP": ["Fi", "Se", "Ni", "Te"],
|
|
156
|
+
"ESTP": ["Se", "Ti", "Fe", "Ni"], "ESFP": ["Se", "Fi", "Te", "Ni"],
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
class MBTIProfile(BaseModel):
|
|
161
|
+
"""MBTI cognitive profile — how the agent processes information."""
|
|
162
|
+
type: MBTIType
|
|
163
|
+
dominant: CognitiveFunction = CognitiveFunction.Ni
|
|
164
|
+
auxiliary: CognitiveFunction = CognitiveFunction.Te
|
|
165
|
+
tertiary: CognitiveFunction = CognitiveFunction.Fi
|
|
166
|
+
inferior: CognitiveFunction = CognitiveFunction.Se
|
|
167
|
+
|
|
168
|
+
@model_validator(mode="after")
|
|
169
|
+
def auto_fill_stack(self) -> "MBTIProfile":
|
|
170
|
+
stack = MBTI_STACKS[self.type.value]
|
|
171
|
+
self.dominant = CognitiveFunction(stack[0])
|
|
172
|
+
self.auxiliary = CognitiveFunction(stack[1])
|
|
173
|
+
self.tertiary = CognitiveFunction(stack[2])
|
|
174
|
+
self.inferior = CognitiveFunction(stack[3])
|
|
175
|
+
return self
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
# --- Behavioral DNA (All 4 Frameworks Combined) ---
|
|
179
|
+
|
|
180
|
+
class BehavioralDNA(BaseModel):
|
|
181
|
+
"""Complete behavioral DNA — 4 frameworks combined."""
|
|
182
|
+
disc: DISCProfile
|
|
183
|
+
enneagram: EnneagramProfile
|
|
184
|
+
big_five: BigFiveProfile
|
|
185
|
+
mbti: MBTIProfile
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
# --- Mental Models ---
|
|
189
|
+
|
|
190
|
+
class MentalModels(BaseModel):
|
|
191
|
+
"""Mental models the agent uses for decision-making."""
|
|
192
|
+
primary: list[str] = Field(default_factory=list, max_length=5)
|
|
193
|
+
secondary: list[str] = Field(default_factory=list, max_length=5)
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
# --- Authority Matrix ---
|
|
197
|
+
|
|
198
|
+
class Authority(BaseModel):
|
|
199
|
+
"""What the agent is authorized to do."""
|
|
200
|
+
veto: bool = False
|
|
201
|
+
push_code: bool = False
|
|
202
|
+
deploy: bool = False
|
|
203
|
+
approve_architecture: bool = False
|
|
204
|
+
approve_quality: bool = False
|
|
205
|
+
approve_budget: bool = False
|
|
206
|
+
block_release: bool = False
|
|
207
|
+
block_delivery: bool = False
|
|
208
|
+
orchestrate: bool = False
|
|
209
|
+
delegates_to: list[str] = Field(default_factory=list)
|
|
210
|
+
escalates_to: Optional[str] = None
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
# --- Communication Style ---
|
|
214
|
+
|
|
215
|
+
class Communication(BaseModel):
|
|
216
|
+
"""How the agent communicates."""
|
|
217
|
+
language: str = "en"
|
|
218
|
+
tone: str = "professional"
|
|
219
|
+
vocabulary_level: str = "advanced" # basic, intermediate, advanced, specialist
|
|
220
|
+
preferred_format: str = "structured"
|
|
221
|
+
avoid: list[str] = Field(default_factory=list)
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
# --- Expertise ---
|
|
225
|
+
|
|
226
|
+
class Expertise(BaseModel):
|
|
227
|
+
"""What the agent knows."""
|
|
228
|
+
domains: list[str] = Field(default_factory=list)
|
|
229
|
+
frameworks: list[str] = Field(default_factory=list)
|
|
230
|
+
depth: str = "expert" # novice, intermediate, expert, master
|
|
231
|
+
years_equivalent: int = 10
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
# --- The Complete Agent ---
|
|
235
|
+
|
|
236
|
+
class Agent(BaseModel):
|
|
237
|
+
"""Complete ArkaOS v2 agent definition.
|
|
238
|
+
|
|
239
|
+
Every agent has:
|
|
240
|
+
- Identity: id, name, role, department, tier
|
|
241
|
+
- Behavioral DNA: DISC + Enneagram + Big Five + MBTI
|
|
242
|
+
- Mental Models: primary + secondary decision frameworks
|
|
243
|
+
- Authority: what they can approve, veto, or delegate
|
|
244
|
+
- Expertise: domains, frameworks, depth
|
|
245
|
+
- Communication: tone, format, language
|
|
246
|
+
"""
|
|
247
|
+
id: str
|
|
248
|
+
name: str
|
|
249
|
+
role: str
|
|
250
|
+
department: str
|
|
251
|
+
tier: int = Field(ge=0, le=3)
|
|
252
|
+
|
|
253
|
+
behavioral_dna: BehavioralDNA
|
|
254
|
+
mental_models: MentalModels = Field(default_factory=MentalModels)
|
|
255
|
+
authority: Authority = Field(default_factory=Authority)
|
|
256
|
+
expertise: Expertise = Field(default_factory=Expertise)
|
|
257
|
+
communication: Communication = Field(default_factory=Communication)
|
|
258
|
+
|
|
259
|
+
memory_path: str = ""
|
|
260
|
+
|
|
261
|
+
@model_validator(mode="after")
|
|
262
|
+
def auto_fill_memory_path(self) -> "Agent":
|
|
263
|
+
if not self.memory_path:
|
|
264
|
+
self.memory_path = f"~/.claude/agent-memory/arka-{self.id}/MEMORY.md"
|
|
265
|
+
return self
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"""Cross-framework consistency validation for agent behavioral DNA.
|
|
2
|
+
|
|
3
|
+
Not all combinations make sense. A DISC "S" (calm, steady) with Enneagram 8
|
|
4
|
+
(challenger, aggressive) would be incoherent. This module validates that
|
|
5
|
+
the 4 frameworks form a consistent personality.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from dataclasses import dataclass, field
|
|
9
|
+
from core.agents.schema import Agent, DISCType
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@dataclass
|
|
13
|
+
class ValidationResult:
|
|
14
|
+
"""Result of agent consistency validation."""
|
|
15
|
+
is_valid: bool
|
|
16
|
+
score: float # 0.0 to 1.0
|
|
17
|
+
warnings: list[str] = field(default_factory=list)
|
|
18
|
+
errors: list[str] = field(default_factory=list)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# Compatible Enneagram types per DISC primary
|
|
22
|
+
DISC_ENNEAGRAM_COMPAT: dict[str, set[int]] = {
|
|
23
|
+
"D": {1, 3, 7, 8},
|
|
24
|
+
"I": {2, 3, 7, 9},
|
|
25
|
+
"S": {2, 6, 9},
|
|
26
|
+
"C": {1, 5, 6},
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
# Compatible MBTI types per DISC primary
|
|
30
|
+
DISC_MBTI_COMPAT: dict[str, set[str]] = {
|
|
31
|
+
"D": {"ENTJ", "ESTJ", "INTJ", "ESTP", "ENTP"},
|
|
32
|
+
"I": {"ENFP", "ESFP", "ENFJ", "ENTP", "ESFJ"},
|
|
33
|
+
"S": {"ISFJ", "INFP", "ESFJ", "ISFP", "INFJ"},
|
|
34
|
+
"C": {"INTJ", "ISTJ", "INTP", "ISTP", "INFJ"},
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
# Big Five expectations per DISC primary (range: low/mid/high)
|
|
38
|
+
DISC_BIG5_EXPECTATIONS: dict[str, dict[str, str]] = {
|
|
39
|
+
"D": {"extraversion": "mid-high", "agreeableness": "low-mid", "conscientiousness": "mid-high"},
|
|
40
|
+
"I": {"extraversion": "high", "agreeableness": "mid-high", "openness": "mid-high"},
|
|
41
|
+
"S": {"agreeableness": "high", "neuroticism": "low-mid", "extraversion": "low-mid"},
|
|
42
|
+
"C": {"conscientiousness": "high", "openness": "mid-high", "neuroticism": "low-mid"},
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def _check_range(value: int, expected: str) -> bool:
|
|
47
|
+
"""Check if a Big Five value falls within expected range."""
|
|
48
|
+
ranges = {
|
|
49
|
+
"low": (0, 35),
|
|
50
|
+
"low-mid": (0, 55),
|
|
51
|
+
"mid": (30, 70),
|
|
52
|
+
"mid-high": (45, 100),
|
|
53
|
+
"high": (65, 100),
|
|
54
|
+
}
|
|
55
|
+
lo, hi = ranges[expected]
|
|
56
|
+
return lo <= value <= hi
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def validate_agent_consistency(agent: Agent) -> ValidationResult:
|
|
60
|
+
"""Validate cross-framework consistency of an agent's behavioral DNA.
|
|
61
|
+
|
|
62
|
+
Checks:
|
|
63
|
+
1. DISC primary ↔ Enneagram type compatibility
|
|
64
|
+
2. DISC primary ↔ MBTI type compatibility
|
|
65
|
+
3. DISC primary ↔ Big Five expectations
|
|
66
|
+
4. Tier ↔ Authority consistency
|
|
67
|
+
"""
|
|
68
|
+
warnings: list[str] = []
|
|
69
|
+
errors: list[str] = []
|
|
70
|
+
checks_passed = 0
|
|
71
|
+
total_checks = 0
|
|
72
|
+
|
|
73
|
+
dna = agent.behavioral_dna
|
|
74
|
+
disc_primary = dna.disc.primary.value
|
|
75
|
+
|
|
76
|
+
# Check 1: DISC ↔ Enneagram
|
|
77
|
+
total_checks += 1
|
|
78
|
+
compat_enneagram = DISC_ENNEAGRAM_COMPAT.get(disc_primary, set())
|
|
79
|
+
if dna.enneagram.type.value in compat_enneagram:
|
|
80
|
+
checks_passed += 1
|
|
81
|
+
else:
|
|
82
|
+
warnings.append(
|
|
83
|
+
f"DISC {disc_primary} with Enneagram {dna.enneagram.type.value} is unusual. "
|
|
84
|
+
f"Expected: {compat_enneagram}. This may be intentional for a unique personality."
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
# Check 2: DISC ↔ MBTI
|
|
88
|
+
total_checks += 1
|
|
89
|
+
compat_mbti = DISC_MBTI_COMPAT.get(disc_primary, set())
|
|
90
|
+
if dna.mbti.type.value in compat_mbti:
|
|
91
|
+
checks_passed += 1
|
|
92
|
+
else:
|
|
93
|
+
warnings.append(
|
|
94
|
+
f"DISC {disc_primary} with MBTI {dna.mbti.type.value} is unusual. "
|
|
95
|
+
f"Expected: {compat_mbti}."
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
# Check 3: DISC ↔ Big Five
|
|
99
|
+
expectations = DISC_BIG5_EXPECTATIONS.get(disc_primary, {})
|
|
100
|
+
for trait, expected_range in expectations.items():
|
|
101
|
+
total_checks += 1
|
|
102
|
+
value = getattr(dna.big_five, trait)
|
|
103
|
+
if _check_range(value, expected_range):
|
|
104
|
+
checks_passed += 1
|
|
105
|
+
else:
|
|
106
|
+
warnings.append(
|
|
107
|
+
f"DISC {disc_primary} expects Big Five {trait} in {expected_range} range, "
|
|
108
|
+
f"got {value}. This creates tension in the personality."
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
# Check 4: Tier ↔ Authority
|
|
112
|
+
total_checks += 1
|
|
113
|
+
if agent.tier == 0:
|
|
114
|
+
if not agent.authority.veto:
|
|
115
|
+
warnings.append("Tier 0 agents typically have veto power.")
|
|
116
|
+
else:
|
|
117
|
+
checks_passed += 1
|
|
118
|
+
elif agent.tier >= 2:
|
|
119
|
+
if agent.authority.veto:
|
|
120
|
+
errors.append("Tier 2+ agents should not have veto power.")
|
|
121
|
+
else:
|
|
122
|
+
checks_passed += 1
|
|
123
|
+
else:
|
|
124
|
+
checks_passed += 1
|
|
125
|
+
|
|
126
|
+
# Check 5: Tier 0 should have escalates_to = None
|
|
127
|
+
total_checks += 1
|
|
128
|
+
if agent.tier == 0 and agent.authority.escalates_to is not None:
|
|
129
|
+
warnings.append("Tier 0 agents are top-level and typically don't escalate.")
|
|
130
|
+
else:
|
|
131
|
+
checks_passed += 1
|
|
132
|
+
|
|
133
|
+
score = checks_passed / total_checks if total_checks > 0 else 0.0
|
|
134
|
+
is_valid = len(errors) == 0
|
|
135
|
+
|
|
136
|
+
return ValidationResult(
|
|
137
|
+
is_valid=is_valid,
|
|
138
|
+
score=round(score, 2),
|
|
139
|
+
warnings=warnings,
|
|
140
|
+
errors=errors,
|
|
141
|
+
)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"""The Conclave — Personal AI Advisory Board.
|
|
2
|
+
|
|
3
|
+
10 AI advisors personalized to the user's behavioral DNA:
|
|
4
|
+
- 5 Aligned: think like the user (amplify strengths)
|
|
5
|
+
- 5 Contrarian: opposite of the user (challenge biases)
|
|
6
|
+
Each advisor based on a real person with codified mental models.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from core.conclave.schema import UserProfile, Advisor, ConclaveBoard
|
|
10
|
+
from core.conclave.matcher import match_advisors
|
|
11
|
+
|
|
12
|
+
__all__ = ["UserProfile", "Advisor", "ConclaveBoard", "match_advisors"]
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|