moai-adk 0.25.4__py3-none-any.whl → 0.32.8__py3-none-any.whl

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.

Potentially problematic release.


This version of moai-adk might be problematic. Click here for more details.

Files changed (378) hide show
  1. moai_adk/__init__.py +2 -5
  2. moai_adk/__main__.py +114 -82
  3. moai_adk/cli/__init__.py +6 -1
  4. moai_adk/cli/commands/__init__.py +1 -3
  5. moai_adk/cli/commands/analyze.py +5 -16
  6. moai_adk/cli/commands/doctor.py +6 -18
  7. moai_adk/cli/commands/init.py +56 -125
  8. moai_adk/cli/commands/language.py +14 -35
  9. moai_adk/cli/commands/status.py +9 -15
  10. moai_adk/cli/commands/update.py +1555 -190
  11. moai_adk/cli/prompts/init_prompts.py +112 -56
  12. moai_adk/cli/spec_status.py +263 -0
  13. moai_adk/cli/ui/__init__.py +44 -0
  14. moai_adk/cli/ui/progress.py +422 -0
  15. moai_adk/cli/ui/prompts.py +389 -0
  16. moai_adk/cli/ui/theme.py +129 -0
  17. moai_adk/cli/worktree/__init__.py +27 -0
  18. moai_adk/cli/worktree/__main__.py +31 -0
  19. moai_adk/cli/worktree/cli.py +672 -0
  20. moai_adk/cli/worktree/exceptions.py +89 -0
  21. moai_adk/cli/worktree/manager.py +490 -0
  22. moai_adk/cli/worktree/models.py +65 -0
  23. moai_adk/cli/worktree/registry.py +128 -0
  24. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  25. moai_adk/core/analysis/session_analyzer.py +17 -56
  26. moai_adk/core/claude_integration.py +26 -54
  27. moai_adk/core/command_helpers.py +10 -10
  28. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  29. moai_adk/core/config/auto_spec_config.py +5 -11
  30. moai_adk/core/config/migration.py +19 -9
  31. moai_adk/core/config/unified.py +436 -0
  32. moai_adk/core/context_manager.py +6 -12
  33. moai_adk/core/enterprise_features.py +1404 -0
  34. moai_adk/core/error_recovery_system.py +725 -112
  35. moai_adk/core/event_driven_hook_system.py +1371 -0
  36. moai_adk/core/git/__init__.py +8 -0
  37. moai_adk/core/git/branch_manager.py +3 -11
  38. moai_adk/core/git/checkpoint.py +1 -3
  39. moai_adk/core/git/conflict_detector.py +413 -0
  40. moai_adk/core/git/manager.py +91 -1
  41. moai_adk/core/hooks/post_tool_auto_spec_completion.py +56 -80
  42. moai_adk/core/input_validation_middleware.py +1006 -0
  43. moai_adk/core/integration/engine.py +6 -18
  44. moai_adk/core/integration/integration_tester.py +10 -9
  45. moai_adk/core/integration/utils.py +1 -1
  46. moai_adk/core/issue_creator.py +10 -28
  47. moai_adk/core/jit_context_loader.py +956 -0
  48. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  49. moai_adk/core/language_config_resolver.py +485 -0
  50. moai_adk/core/language_validator.py +28 -41
  51. moai_adk/core/mcp/setup.py +15 -12
  52. moai_adk/core/merge/__init__.py +9 -0
  53. moai_adk/core/merge/analyzer.py +481 -0
  54. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  55. moai_adk/core/migration/backup_manager.py +78 -9
  56. moai_adk/core/migration/custom_element_scanner.py +358 -0
  57. moai_adk/core/migration/file_migrator.py +8 -17
  58. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  59. moai_adk/core/migration/selective_restorer.py +470 -0
  60. moai_adk/core/migration/template_utils.py +74 -0
  61. moai_adk/core/migration/user_selection_ui.py +338 -0
  62. moai_adk/core/migration/version_detector.py +6 -10
  63. moai_adk/core/migration/version_migrator.py +3 -3
  64. moai_adk/core/performance/cache_system.py +8 -10
  65. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  66. moai_adk/core/project/checker.py +2 -4
  67. moai_adk/core/project/detector.py +1 -3
  68. moai_adk/core/project/initializer.py +135 -23
  69. moai_adk/core/project/phase_executor.py +54 -81
  70. moai_adk/core/project/validator.py +6 -12
  71. moai_adk/core/quality/trust_checker.py +9 -27
  72. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  73. moai_adk/core/robust_json_parser.py +611 -0
  74. moai_adk/core/rollback_manager.py +73 -148
  75. moai_adk/core/session_manager.py +10 -26
  76. moai_adk/core/skill_loading_system.py +579 -0
  77. moai_adk/core/spec/confidence_scoring.py +31 -100
  78. moai_adk/core/spec/ears_template_engine.py +351 -286
  79. moai_adk/core/spec/quality_validator.py +35 -69
  80. moai_adk/core/spec_status_manager.py +64 -74
  81. moai_adk/core/template/backup.py +45 -20
  82. moai_adk/core/template/config.py +112 -39
  83. moai_adk/core/template/merger.py +11 -19
  84. moai_adk/core/template/processor.py +253 -149
  85. moai_adk/core/template_engine.py +73 -40
  86. moai_adk/core/template_variable_synchronizer.py +417 -0
  87. moai_adk/core/unified_permission_manager.py +745 -0
  88. moai_adk/core/user_behavior_analytics.py +851 -0
  89. moai_adk/core/version_sync.py +429 -0
  90. moai_adk/foundation/__init__.py +56 -0
  91. moai_adk/foundation/backend.py +1027 -0
  92. moai_adk/foundation/database.py +1115 -0
  93. moai_adk/foundation/devops.py +1585 -0
  94. moai_adk/foundation/ears.py +431 -0
  95. moai_adk/foundation/frontend.py +870 -0
  96. moai_adk/foundation/git/commit_templates.py +4 -12
  97. moai_adk/foundation/git.py +376 -0
  98. moai_adk/foundation/langs.py +484 -0
  99. moai_adk/foundation/ml_ops.py +1162 -0
  100. moai_adk/foundation/testing.py +1524 -0
  101. moai_adk/foundation/trust/trust_principles.py +23 -72
  102. moai_adk/foundation/trust/validation_checklist.py +57 -162
  103. moai_adk/project/__init__.py +0 -0
  104. moai_adk/project/configuration.py +1084 -0
  105. moai_adk/project/documentation.py +566 -0
  106. moai_adk/project/schema.py +447 -0
  107. moai_adk/statusline/alfred_detector.py +1 -3
  108. moai_adk/statusline/config.py +13 -4
  109. moai_adk/statusline/enhanced_output_style_detector.py +23 -15
  110. moai_adk/statusline/main.py +51 -15
  111. moai_adk/statusline/renderer.py +104 -48
  112. moai_adk/statusline/update_checker.py +3 -9
  113. moai_adk/statusline/version_reader.py +140 -46
  114. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +549 -0
  115. moai_adk/templates/.claude/agents/moai/builder-agent.md +445 -0
  116. moai_adk/templates/.claude/agents/moai/builder-command.md +1132 -0
  117. moai_adk/templates/.claude/agents/moai/builder-skill.md +601 -0
  118. moai_adk/templates/.claude/agents/moai/expert-backend.md +831 -0
  119. moai_adk/templates/.claude/agents/moai/expert-database.md +774 -0
  120. moai_adk/templates/.claude/agents/moai/expert-debug.md +396 -0
  121. moai_adk/templates/.claude/agents/moai/expert-devops.md +711 -0
  122. moai_adk/templates/.claude/agents/moai/expert-frontend.md +666 -0
  123. moai_adk/templates/.claude/agents/moai/expert-security.md +474 -0
  124. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1038 -0
  125. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +429 -0
  126. moai_adk/templates/.claude/agents/moai/manager-docs.md +570 -0
  127. moai_adk/templates/.claude/agents/moai/manager-git.md +937 -0
  128. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  129. moai_adk/templates/.claude/agents/moai/manager-quality.md +598 -0
  130. moai_adk/templates/.claude/agents/moai/manager-spec.md +713 -0
  131. moai_adk/templates/.claude/agents/moai/manager-strategy.md +600 -0
  132. moai_adk/templates/.claude/agents/moai/manager-tdd.md +603 -0
  133. moai_adk/templates/.claude/agents/moai/mcp-context7.md +369 -0
  134. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1567 -0
  135. moai_adk/templates/.claude/agents/moai/mcp-notion.md +749 -0
  136. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +427 -0
  137. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +994 -0
  138. moai_adk/templates/.claude/commands/moai/0-project.md +1143 -0
  139. moai_adk/templates/.claude/commands/moai/1-plan.md +1435 -0
  140. moai_adk/templates/.claude/commands/moai/2-run.md +883 -0
  141. moai_adk/templates/.claude/commands/moai/3-sync.md +993 -0
  142. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  143. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  144. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  145. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  146. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
  147. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  148. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  149. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  150. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  151. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  152. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  153. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  154. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  155. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  156. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  157. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  158. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  159. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  160. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +921 -0
  161. moai_adk/templates/.claude/output-styles/moai/r2d2.md +380 -0
  162. moai_adk/templates/.claude/output-styles/moai/yoda.md +338 -0
  163. moai_adk/templates/.claude/settings.json +172 -0
  164. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +247 -0
  165. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  166. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  167. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  168. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  169. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  170. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +319 -0
  171. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +320 -0
  172. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  173. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  174. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  175. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  176. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +496 -0
  177. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +453 -0
  178. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  179. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  180. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  181. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/design-system-tokens.md +405 -0
  182. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  183. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  184. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  185. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +491 -0
  186. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  187. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  188. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  189. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  190. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  191. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  192. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +201 -0
  193. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  194. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  195. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  196. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  197. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  198. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  199. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  200. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  201. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  202. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  203. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  204. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  205. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  206. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  207. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +438 -0
  208. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +515 -0
  209. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  210. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +346 -0
  211. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  212. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  213. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  214. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  215. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  216. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  217. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  218. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  219. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +362 -0
  220. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  221. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  222. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  223. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  224. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  225. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  226. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  227. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  228. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  229. moai_adk/templates/.claude/skills/moai-integration-mcp/SKILL.md +352 -0
  230. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/README.md +52 -0
  231. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/error-handling.md +334 -0
  232. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/integration-patterns.md +310 -0
  233. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/security-authentication.md +256 -0
  234. moai_adk/templates/.claude/skills/moai-integration-mcp/modules/server-architecture.md +253 -0
  235. moai_adk/templates/.claude/skills/moai-lang-unified/README.md +133 -0
  236. moai_adk/templates/.claude/skills/moai-lang-unified/SKILL.md +296 -0
  237. moai_adk/templates/.claude/skills/moai-lang-unified/examples.md +1269 -0
  238. moai_adk/templates/.claude/skills/moai-lang-unified/reference.md +331 -0
  239. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +298 -0
  240. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  241. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  242. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  243. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  244. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +316 -0
  245. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  246. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  247. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  248. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  249. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  250. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  251. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  252. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  253. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  254. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  255. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +370 -0
  256. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  257. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  258. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  259. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  260. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  261. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  262. moai_adk/templates/.claude/skills/moai-platform-baas/README.md +186 -0
  263. moai_adk/templates/.claude/skills/moai-platform-baas/SKILL.md +290 -0
  264. moai_adk/templates/.claude/skills/moai-platform-baas/examples.md +1225 -0
  265. moai_adk/templates/.claude/skills/moai-platform-baas/reference.md +567 -0
  266. moai_adk/templates/.claude/skills/moai-platform-baas/scripts/provider-selector.py +323 -0
  267. moai_adk/templates/.claude/skills/moai-platform-baas/templates/stack-config.yaml +204 -0
  268. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +446 -0
  269. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  270. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  271. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  272. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +387 -0
  273. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  274. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  275. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  276. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  277. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  278. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +135 -0
  279. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  280. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  281. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  282. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  283. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  284. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  285. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  286. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  287. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  288. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  289. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  290. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1362 -0
  291. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  292. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  293. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  294. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +71 -0
  295. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  296. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  297. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  298. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  299. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  300. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  301. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +374 -0
  302. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  303. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  304. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  305. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  306. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +453 -0
  307. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  308. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  309. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  310. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  311. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  312. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  313. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  314. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  315. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  316. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  317. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  318. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  319. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  320. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  321. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  322. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  323. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +410 -0
  324. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  325. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  326. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  327. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  328. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  329. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  330. moai_adk/templates/.git-hooks/pre-commit +103 -41
  331. moai_adk/templates/.git-hooks/pre-push +116 -21
  332. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  333. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  334. moai_adk/templates/.gitignore +184 -44
  335. moai_adk/templates/.mcp.json +7 -9
  336. moai_adk/templates/.moai/cache/personalization.json +10 -0
  337. moai_adk/templates/.moai/config/config.yaml +344 -0
  338. moai_adk/templates/.moai/config/presets/manual.yaml +28 -0
  339. moai_adk/templates/.moai/config/presets/personal.yaml +30 -0
  340. moai_adk/templates/.moai/config/presets/team.yaml +33 -0
  341. moai_adk/templates/.moai/config/questions/_schema.yaml +79 -0
  342. moai_adk/templates/.moai/config/questions/tab1-user.yaml +108 -0
  343. moai_adk/templates/.moai/config/questions/tab2-project.yaml +122 -0
  344. moai_adk/templates/.moai/config/questions/tab3-git.yaml +542 -0
  345. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +167 -0
  346. moai_adk/templates/.moai/config/questions/tab5-system.yaml +152 -0
  347. moai_adk/templates/.moai/config/sections/git-strategy.yaml +40 -0
  348. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  349. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  350. moai_adk/templates/.moai/config/sections/quality.yaml +15 -0
  351. moai_adk/templates/.moai/config/sections/system.yaml +14 -0
  352. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  353. moai_adk/templates/.moai/config/statusline-config.yaml +86 -0
  354. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  355. moai_adk/templates/CLAUDE.md +382 -501
  356. moai_adk/utils/__init__.py +24 -1
  357. moai_adk/utils/banner.py +7 -10
  358. moai_adk/utils/common.py +16 -30
  359. moai_adk/utils/link_validator.py +4 -12
  360. moai_adk/utils/safe_file_reader.py +2 -6
  361. moai_adk/utils/timeout.py +160 -0
  362. moai_adk/utils/toon_utils.py +256 -0
  363. moai_adk/version.py +22 -0
  364. moai_adk-0.32.8.dist-info/METADATA +2478 -0
  365. moai_adk-0.32.8.dist-info/RECORD +396 -0
  366. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/WHEEL +1 -1
  367. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/entry_points.txt +1 -0
  368. moai_adk/cli/commands/backup.py +0 -82
  369. moai_adk/cli/commands/improve_user_experience.py +0 -348
  370. moai_adk/cli/commands/migrate.py +0 -158
  371. moai_adk/cli/commands/validate_links.py +0 -118
  372. moai_adk/templates/.github/workflows/moai-gitflow.yml +0 -413
  373. moai_adk/templates/.github/workflows/moai-release-create.yml +0 -100
  374. moai_adk/templates/.github/workflows/moai-release-pipeline.yml +0 -188
  375. moai_adk/utils/user_experience.py +0 -531
  376. moai_adk-0.25.4.dist-info/METADATA +0 -2279
  377. moai_adk-0.25.4.dist-info/RECORD +0 -112
  378. {moai_adk-0.25.4.dist-info → moai_adk-0.32.8.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,757 @@
1
+ # Delegation Patterns - Agent Orchestration
2
+
3
+ Purpose: Task delegation strategies to specialized agents, ensuring efficient workflow orchestration without direct execution.
4
+
5
+ Version: 1.0.0
6
+ Last Updated: 2025-11-25
7
+
8
+ ---
9
+
10
+ ## Quick Reference (30 seconds)
11
+
12
+ Core Principle: Alfred NEVER executes directly. All work via `Task()` delegation to specialized agents.
13
+
14
+ Three Primary Patterns:
15
+ 1. Sequential - Dependencies between agents (Phase 1 → Phase 2 → Phase 3)
16
+ 2. Parallel - Independent agents (Backend + Frontend + Docs simultaneously)
17
+ 3. Conditional - Analysis-driven routing (Security issue → security-expert)
18
+
19
+ Base Syntax:
20
+ ```python
21
+ result = await Task(
22
+ subagent_type="agent-name",
23
+ prompt="specific task description",
24
+ context={"necessary": "data"}
25
+ )
26
+ ```
27
+
28
+ Agent Selection:
29
+ - Simple (1 file): 1-2 agents sequential
30
+ - Medium (3-5 files): 2-3 agents sequential
31
+ - Complex (10+ files): 5+ agents parallel/sequential mix
32
+
33
+ Context Size: 20-30K tokens target, 50K maximum
34
+
35
+ ---
36
+
37
+ ## Implementation Guide (5 minutes)
38
+
39
+ ### Pattern 1: Sequential Delegation
40
+
41
+ Use Case: When agents have dependencies on each other.
42
+
43
+ Flow Diagram:
44
+ ```
45
+ Phase 1: Design
46
+ ↓ (design results)
47
+ Phase 2: Implementation
48
+ ↓ (implementation + design)
49
+ Phase 3: Documentation
50
+ ↓ (all results)
51
+ Phase 4: Quality Gate
52
+ ```
53
+
54
+ Implementation Example:
55
+
56
+ ```python
57
+ # Full sequential workflow
58
+ async def implement_feature_sequential(feature_description: str):
59
+ """Sequential workflow with context passing."""
60
+
61
+ # Phase 1: SPEC Generation
62
+ spec_result = await Task(
63
+ subagent_type="workflow-spec",
64
+ prompt=f"Generate SPEC for: {feature_description}",
65
+ context={
66
+ "feature": feature_description,
67
+ "requirements": ["TRUST 5 compliance", "≥85% coverage"]
68
+ }
69
+ )
70
+
71
+ # Execute /clear to save tokens
72
+ execute_clear()
73
+
74
+ # Phase 2: API Design (depends on SPEC)
75
+ api_result = await Task(
76
+ subagent_type="api-designer",
77
+ prompt="Design REST API for feature",
78
+ context={
79
+ "spec_id": spec_result.spec_id,
80
+ "requirements": spec_result.requirements,
81
+ "constraints": ["RESTful", "JSON", "OpenAPI 3.1"]
82
+ }
83
+ )
84
+
85
+ # Phase 3: Backend Implementation (depends on API design + SPEC)
86
+ backend_result = await Task(
87
+ subagent_type="code-backend",
88
+ prompt="Implement backend with TDD",
89
+ context={
90
+ "spec_id": spec_result.spec_id,
91
+ "api_design": api_result.openapi_spec,
92
+ "database_schema": api_result.database_schema
93
+ }
94
+ )
95
+
96
+ # Phase 4: Frontend Implementation (depends on API design)
97
+ frontend_result = await Task(
98
+ subagent_type="code-frontend",
99
+ prompt="Implement UI components",
100
+ context={
101
+ "spec_id": spec_result.spec_id,
102
+ "api_endpoints": api_result.endpoints,
103
+ "ui_requirements": spec_result.ui_requirements
104
+ }
105
+ )
106
+
107
+ # Phase 5: Integration Testing (depends on all implementations)
108
+ integration_result = await Task(
109
+ subagent_type="core-quality",
110
+ prompt="Run integration tests",
111
+ context={
112
+ "spec_id": spec_result.spec_id,
113
+ "backend_endpoints": backend_result.endpoints,
114
+ "frontend_components": frontend_result.components
115
+ }
116
+ )
117
+
118
+ # Phase 6: Documentation (depends on everything)
119
+ docs_result = await Task(
120
+ subagent_type="workflow-docs",
121
+ prompt="Generate comprehensive documentation",
122
+ context={
123
+ "spec_id": spec_result.spec_id,
124
+ "api_spec": api_result.openapi_spec,
125
+ "backend_code": backend_result.code_summary,
126
+ "frontend_code": frontend_result.code_summary,
127
+ "test_results": integration_result.test_report
128
+ }
129
+ )
130
+
131
+ # Phase 7: Quality Gate (validates everything)
132
+ quality_result = await Task(
133
+ subagent_type="core-quality",
134
+ prompt="Validate TRUST 5 compliance",
135
+ context={
136
+ "spec_id": spec_result.spec_id,
137
+ "implementation": {
138
+ "backend": backend_result,
139
+ "frontend": frontend_result
140
+ },
141
+ "tests": integration_result,
142
+ "documentation": docs_result
143
+ }
144
+ )
145
+
146
+ return {
147
+ "spec": spec_result,
148
+ "api": api_result,
149
+ "backend": backend_result,
150
+ "frontend": frontend_result,
151
+ "tests": integration_result,
152
+ "docs": docs_result,
153
+ "quality": quality_result
154
+ }
155
+ ```
156
+
157
+ Token Management in Sequential Flow:
158
+
159
+ ```python
160
+ def sequential_with_token_management():
161
+ """Sequential flow with strategic /clear execution."""
162
+
163
+ # Phase 1: Heavy context (SPEC generation)
164
+ spec = Task(subagent_type="workflow-spec", ...) # ~30K tokens
165
+ execute_clear() # Save 45-50K tokens
166
+
167
+ # Phase 2: Fresh context (implementation)
168
+ impl = Task(
169
+ subagent_type="workflow-tdd",
170
+ context={"spec_id": spec.id} # Minimal context
171
+ ) # ~80K tokens
172
+
173
+ # Phase 3: Final phase
174
+ docs = Task(
175
+ subagent_type="workflow-docs",
176
+ context={"spec_id": spec.id, "summary": impl.summary}
177
+ ) # ~25K tokens
178
+
179
+ # Total: ~135K (within 200K budget)
180
+ ```
181
+
182
+ ---
183
+
184
+ ### Pattern 2: Parallel Delegation
185
+
186
+ Use Case: When agents work on independent tasks simultaneously.
187
+
188
+ Flow Diagram:
189
+ ```
190
+ Start
191
+ → Backend Agent → Result 1
192
+ → Frontend Agent → Result 2
193
+ → Database Agent → Result 3
194
+ → Docs Agent → Result 4
195
+
196
+ All Complete → Integration
197
+ ```
198
+
199
+ Implementation Example:
200
+
201
+ ```python
202
+ async def implement_feature_parallel(spec_id: str):
203
+ """Parallel workflow for independent tasks."""
204
+
205
+ # Execute all independent tasks simultaneously
206
+ results = await Promise.all([
207
+ # Backend implementation
208
+ Task(
209
+ subagent_type="code-backend",
210
+ prompt=f"Implement backend for {spec_id}",
211
+ context={"spec_id": spec_id, "focus": "API endpoints"}
212
+ ),
213
+
214
+ # Frontend implementation
215
+ Task(
216
+ subagent_type="code-frontend",
217
+ prompt=f"Implement UI for {spec_id}",
218
+ context={"spec_id": spec_id, "focus": "Components"}
219
+ ),
220
+
221
+ # Database schema
222
+ Task(
223
+ subagent_type="data-database",
224
+ prompt=f"Design database for {spec_id}",
225
+ context={"spec_id": spec_id, "focus": "Schema"}
226
+ ),
227
+
228
+ # Documentation
229
+ Task(
230
+ subagent_type="workflow-docs",
231
+ prompt=f"Generate docs for {spec_id}",
232
+ context={"spec_id": spec_id, "focus": "API docs"}
233
+ )
234
+ ])
235
+
236
+ backend, frontend, database, docs = results
237
+
238
+ # Integration step (sequential, depends on parallel results)
239
+ integration = await Task(
240
+ subagent_type="core-quality",
241
+ prompt="Run integration tests",
242
+ context={
243
+ "spec_id": spec_id,
244
+ "backend": backend.summary,
245
+ "frontend": frontend.summary,
246
+ "database": database.schema,
247
+ "docs": docs.summary
248
+ }
249
+ )
250
+
251
+ return {
252
+ "backend": backend,
253
+ "frontend": frontend,
254
+ "database": database,
255
+ "docs": docs,
256
+ "integration": integration
257
+ }
258
+ ```
259
+
260
+ Parallel Execution Benefits:
261
+
262
+ | Aspect | Sequential | Parallel | Improvement |
263
+ |--------|-----------|----------|-------------|
264
+ | Execution Time | 45 min | 15 min | 3x faster |
265
+ | Token Sessions | Shared 200K | 4x 200K each | 4x capacity |
266
+ | Context Isolation | Shared context | Independent | Cleaner |
267
+ | Error Impact | Blocks all | Isolated | Resilient |
268
+
269
+ ---
270
+
271
+ ### Pattern 3: Conditional Delegation
272
+
273
+ Use Case: Route to different agents based on analysis results.
274
+
275
+ Flow Diagram:
276
+ ```
277
+ Analysis Agent → Determines issue type
278
+ → Security issue → security-expert
279
+ → Performance issue → performance-engineer
280
+ → Quality issue → core-quality
281
+ → Bug → support-debug
282
+ → Documentation → workflow-docs
283
+ ```
284
+
285
+ Implementation Example:
286
+
287
+ ```python
288
+ async def handle_issue_conditional(issue_description: str):
289
+ """Conditional routing based on issue analysis."""
290
+
291
+ # Phase 1: Analyze issue type
292
+ analysis = await Task(
293
+ subagent_type="support-debug",
294
+ prompt=f"Analyze issue: {issue_description}",
295
+ context={"focus": "classification"}
296
+ )
297
+
298
+ # Phase 2: Route to appropriate specialist
299
+ if analysis.category == "security":
300
+ return await Task(
301
+ subagent_type="security-expert",
302
+ prompt="Analyze and fix security issue",
303
+ context={
304
+ "issue": issue_description,
305
+ "analysis": analysis.details,
306
+ "owasp_category": analysis.owasp_match
307
+ }
308
+ )
309
+
310
+ elif analysis.category == "performance":
311
+ return await Task(
312
+ subagent_type="performance-engineer",
313
+ prompt="Optimize performance issue",
314
+ context={
315
+ "issue": issue_description,
316
+ "analysis": analysis.details,
317
+ "bottleneck": analysis.bottleneck_location
318
+ }
319
+ )
320
+
321
+ elif analysis.category == "quality":
322
+ return await Task(
323
+ subagent_type="core-quality",
324
+ prompt="Validate and improve quality",
325
+ context={
326
+ "issue": issue_description,
327
+ "analysis": analysis.details,
328
+ "trust5_violations": analysis.violations
329
+ }
330
+ )
331
+
332
+ elif analysis.category == "bug":
333
+ return await Task(
334
+ subagent_type="support-debug",
335
+ prompt="Debug and fix issue",
336
+ context={
337
+ "issue": issue_description,
338
+ "analysis": analysis.details,
339
+ "stack_trace": analysis.stack_trace
340
+ }
341
+ )
342
+
343
+ else: # documentation, feature request, etc.
344
+ return await Task(
345
+ subagent_type="workflow-docs",
346
+ prompt="Handle documentation request",
347
+ context={
348
+ "issue": issue_description,
349
+ "analysis": analysis.details
350
+ }
351
+ )
352
+ ```
353
+
354
+ Complex Conditional Logic:
355
+
356
+ ```python
357
+ async def advanced_conditional_routing(request: dict):
358
+ """Multi-criteria conditional routing."""
359
+
360
+ # Phase 1: Multi-dimensional analysis
361
+ analysis = await Task(
362
+ subagent_type="plan",
363
+ prompt="Analyze request complexity",
364
+ context=request
365
+ )
366
+
367
+ # Phase 2: Route based on multiple factors
368
+
369
+ # High complexity + Security-critical
370
+ if analysis.complexity == "high" and analysis.security_critical:
371
+ return await sequential_secure_workflow(analysis)
372
+
373
+ # High complexity + Low security
374
+ elif analysis.complexity == "high":
375
+ return await parallel_workflow(analysis)
376
+
377
+ # Low complexity
378
+ elif analysis.complexity == "low":
379
+ return await single_agent_workflow(analysis)
380
+
381
+ # Medium complexity + Performance-critical
382
+ elif analysis.performance_critical:
383
+ return await performance_optimized_workflow(analysis)
384
+
385
+ # Default: Standard workflow
386
+ else:
387
+ return await standard_workflow(analysis)
388
+
389
+ async def sequential_secure_workflow(analysis):
390
+ """High-complexity security workflow."""
391
+ security_review = await Task(
392
+ subagent_type="security-expert",
393
+ prompt="Security architecture review"
394
+ )
395
+
396
+ implementation = await Task(
397
+ subagent_type="code-backend",
398
+ prompt="Implement with security controls",
399
+ context={"security_requirements": security_review}
400
+ )
401
+
402
+ penetration_test = await Task(
403
+ subagent_type="security-expert",
404
+ prompt="Penetration testing",
405
+ context={"implementation": implementation}
406
+ )
407
+
408
+ return {
409
+ "security_review": security_review,
410
+ "implementation": implementation,
411
+ "penetration_test": penetration_test
412
+ }
413
+ ```
414
+
415
+ ---
416
+
417
+ ## Advanced Implementation (10+ minutes)
418
+
419
+ ### Context Passing Optimization
420
+
421
+ Efficient Context Structure:
422
+
423
+ ```python
424
+ class ContextManager:
425
+ """Optimize context passing between agents."""
426
+
427
+ def __init__(self):
428
+ self.max_context_size = 50_000 # 50K tokens
429
+ self.optimal_size = 30_000 # 30K tokens
430
+
431
+ def prepare_context(self, full_data: dict, agent_type: str) -> dict:
432
+ """Prepare optimized context for specific agent."""
433
+
434
+ # Agent-specific context requirements
435
+ context_requirements = {
436
+ "code-backend": ["spec_id", "api_design", "database_schema"],
437
+ "code-frontend": ["spec_id", "api_endpoints", "ui_requirements"],
438
+ "security-expert": ["spec_id", "threat_model", "security_requirements"],
439
+ "core-quality": ["spec_id", "code_summary", "test_strategy"],
440
+ "workflow-docs": ["spec_id", "api_spec", "code_summary"]
441
+ }
442
+
443
+ # Extract only required fields
444
+ required_fields = context_requirements.get(agent_type, [])
445
+ optimized_context = {
446
+ field: full_data.get(field)
447
+ for field in required_fields
448
+ if field in full_data
449
+ }
450
+
451
+ # Add compressed summaries for large data
452
+ if "code_summary" in required_fields:
453
+ optimized_context["code_summary"] = self._compress_code_summary(
454
+ full_data.get("full_code", "")
455
+ )
456
+
457
+ # Validate size
458
+ estimated_tokens = self._estimate_tokens(optimized_context)
459
+ if estimated_tokens > self.optimal_size:
460
+ optimized_context = self._further_compress(optimized_context)
461
+
462
+ return optimized_context
463
+
464
+ def _compress_code_summary(self, full_code: str) -> str:
465
+ """Compress code to summary (functions, classes, key logic)."""
466
+ summary = {
467
+ "functions": extract_function_signatures(full_code),
468
+ "classes": extract_class_definitions(full_code),
469
+ "key_logic": extract_main_flow(full_code)
470
+ }
471
+ return summary
472
+
473
+ def _estimate_tokens(self, context: dict) -> int:
474
+ """Estimate token count of context."""
475
+ import json
476
+ json_str = json.dumps(context)
477
+ # Rough estimate: 1 token ≈ 4 characters
478
+ return len(json_str) // 4
479
+
480
+ # Usage
481
+ context_manager = ContextManager()
482
+
483
+ full_data = {
484
+ "spec_id": "SPEC-001",
485
+ "full_code": "... 50KB of code ...",
486
+ "api_design": {...},
487
+ "database_schema": {...}
488
+ }
489
+
490
+ # Prepare optimized context for code-backend
491
+ backend_context = context_manager.prepare_context(full_data, "code-backend")
492
+ # Result: Only spec_id, api_design, database_schema (no full_code)
493
+
494
+ backend_result = await Task(
495
+ subagent_type="code-backend",
496
+ prompt="Implement backend",
497
+ context=backend_context # Optimized to ~25K tokens
498
+ )
499
+ ```
500
+
501
+ ### Error Handling and Recovery
502
+
503
+ Resilient Delegation Pattern:
504
+
505
+ ```python
506
+ from typing import Optional
507
+ import asyncio
508
+
509
+ class ResilientDelegation:
510
+ """Handle delegation failures with retry and fallback."""
511
+
512
+ def __init__(self):
513
+ self.max_retries = 3
514
+ self.retry_delay = 5 # seconds
515
+
516
+ async def delegate_with_retry(
517
+ self,
518
+ agent_type: str,
519
+ prompt: str,
520
+ context: dict,
521
+ fallback_agent: Optional[str] = None
522
+ ):
523
+ """Delegate with automatic retry and fallback."""
524
+
525
+ for attempt in range(self.max_retries):
526
+ try:
527
+ result = await Task(
528
+ subagent_type=agent_type,
529
+ prompt=prompt,
530
+ context=context
531
+ )
532
+ return result
533
+
534
+ except AgentExecutionError as e:
535
+ if attempt < self.max_retries - 1:
536
+ # Retry with exponential backoff
537
+ delay = self.retry_delay * (2 attempt)
538
+ await asyncio.sleep(delay)
539
+ continue
540
+
541
+ # Final attempt failed
542
+ if fallback_agent:
543
+ # Try fallback agent
544
+ return await self._fallback_delegation(
545
+ fallback_agent,
546
+ prompt,
547
+ context,
548
+ original_error=e
549
+ )
550
+
551
+ # No fallback, raise error
552
+ raise
553
+
554
+ except ContextTooLargeError as e:
555
+ # Context exceeds limit, compress and retry
556
+ compressed_context = self._compress_context(context)
557
+ return await Task(
558
+ subagent_type=agent_type,
559
+ prompt=prompt,
560
+ context=compressed_context
561
+ )
562
+
563
+ async def _fallback_delegation(
564
+ self,
565
+ fallback_agent: str,
566
+ prompt: str,
567
+ context: dict,
568
+ original_error: Exception
569
+ ):
570
+ """Execute fallback delegation."""
571
+
572
+ # Add error context
573
+ fallback_context = {
574
+ context,
575
+ "original_error": str(original_error),
576
+ "fallback_mode": True
577
+ }
578
+
579
+ return await Task(
580
+ subagent_type=fallback_agent,
581
+ prompt=f"[FALLBACK] {prompt}",
582
+ context=fallback_context
583
+ )
584
+
585
+ # Usage
586
+ delegator = ResilientDelegation()
587
+
588
+ result = await delegator.delegate_with_retry(
589
+ agent_type="code-backend",
590
+ prompt="Implement complex feature",
591
+ context=large_context,
592
+ fallback_agent="support-debug" # Fallback if code-backend fails
593
+ )
594
+ ```
595
+
596
+ ### Hybrid Delegation Patterns
597
+
598
+ Sequential + Parallel Combination:
599
+
600
+ ```python
601
+ async def hybrid_workflow(spec_id: str):
602
+ """Combine sequential and parallel patterns."""
603
+
604
+ # Phase 1: Sequential (SPEC → Design)
605
+ spec = await Task(
606
+ subagent_type="workflow-spec",
607
+ prompt=f"Generate SPEC {spec_id}"
608
+ )
609
+
610
+ design = await Task(
611
+ subagent_type="api-designer",
612
+ prompt="Design API",
613
+ context={"spec_id": spec.id}
614
+ )
615
+
616
+ execute_clear()
617
+
618
+ # Phase 2: Parallel (Implementation)
619
+ impl_results = await Promise.all([
620
+ Task(
621
+ subagent_type="code-backend",
622
+ prompt="Backend",
623
+ context={"spec_id": spec.id, "api": design}
624
+ ),
625
+ Task(
626
+ subagent_type="code-frontend",
627
+ prompt="Frontend",
628
+ context={"spec_id": spec.id, "api": design}
629
+ ),
630
+ Task(
631
+ subagent_type="data-database",
632
+ prompt="Database",
633
+ context={"spec_id": spec.id, "api": design}
634
+ )
635
+ ])
636
+
637
+ backend, frontend, database = impl_results
638
+
639
+ # Phase 3: Sequential (Testing → QA)
640
+ tests = await Task(
641
+ subagent_type="core-quality",
642
+ prompt="Integration tests",
643
+ context={
644
+ "spec_id": spec.id,
645
+ "backend": backend.summary,
646
+ "frontend": frontend.summary,
647
+ "database": database.summary
648
+ }
649
+ )
650
+
651
+ qa = await Task(
652
+ subagent_type="core-quality",
653
+ prompt="Quality validation",
654
+ context={
655
+ "spec_id": spec.id,
656
+ "tests": tests.results,
657
+ "coverage": tests.coverage
658
+ }
659
+ )
660
+
661
+ return {
662
+ "spec": spec,
663
+ "design": design,
664
+ "backend": backend,
665
+ "frontend": frontend,
666
+ "database": database,
667
+ "tests": tests,
668
+ "qa": qa
669
+ }
670
+ ```
671
+
672
+ Conditional + Parallel Combination:
673
+
674
+ ```python
675
+ async def conditional_parallel_workflow(requests: list):
676
+ """Route multiple requests in parallel based on analysis."""
677
+
678
+ # Phase 1: Parallel analysis
679
+ analyses = await Promise.all([
680
+ Task(
681
+ subagent_type="plan",
682
+ prompt=f"Analyze request",
683
+ context={"request": req}
684
+ )
685
+ for req in requests
686
+ ])
687
+
688
+ # Phase 2: Conditional routing (grouped by type)
689
+ security_tasks = []
690
+ feature_tasks = []
691
+ bug_tasks = []
692
+
693
+ for analysis in analyses:
694
+ if analysis.category == "security":
695
+ security_tasks.append(
696
+ Task(
697
+ subagent_type="security-expert",
698
+ prompt="Handle security issue",
699
+ context={"analysis": analysis}
700
+ )
701
+ )
702
+ elif analysis.category == "feature":
703
+ feature_tasks.append(
704
+ Task(
705
+ subagent_type="code-backend",
706
+ prompt="Implement feature",
707
+ context={"analysis": analysis}
708
+ )
709
+ )
710
+ elif analysis.category == "bug":
711
+ bug_tasks.append(
712
+ Task(
713
+ subagent_type="support-debug",
714
+ prompt="Debug issue",
715
+ context={"analysis": analysis}
716
+ )
717
+ )
718
+
719
+ # Phase 3: Parallel execution by category
720
+ results = await Promise.all([
721
+ *security_tasks,
722
+ *feature_tasks,
723
+ *bug_tasks
724
+ ])
725
+
726
+ return results
727
+ ```
728
+
729
+ ---
730
+
731
+ ## Works Well With
732
+
733
+ Agents (Delegation Targets):
734
+ - workflow-spec - SPEC generation
735
+ - workflow-tdd - TDD implementation
736
+ - code-backend - Backend development
737
+ - code-frontend - Frontend development
738
+ - security-expert - Security analysis
739
+ - core-quality - Quality validation
740
+ - workflow-docs - Documentation
741
+ - support-debug - Issue analysis
742
+
743
+ Skills:
744
+ - moai-foundation-token-optimization - Context management
745
+ - moai-core-agent-factory - Agent creation
746
+ - moai-cc-configuration - Config-based routing
747
+
748
+ Foundation Modules:
749
+ - [Agents Reference](agents-reference.md) - 26-agent catalog with delegation guidelines
750
+ - [Token Optimization](token-optimization.md) - Context passing strategies
751
+ - [Execution Rules](execution-rules.md) - Security constraints for delegation
752
+
753
+ ---
754
+
755
+ Version: 1.0.0
756
+ Last Updated: 2025-11-25
757
+ Status: Production Ready