devsquad 3.6.7__tar.gz → 3.9.2__tar.gz

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.
Files changed (334) hide show
  1. {devsquad-3.6.7 → devsquad-3.9.2}/PKG-INFO +57 -37
  2. {devsquad-3.6.7 → devsquad-3.9.2}/README.md +56 -36
  3. {devsquad-3.6.7 → devsquad-3.9.2}/devsquad.egg-info/PKG-INFO +57 -37
  4. {devsquad-3.6.7 → devsquad-3.9.2}/devsquad.egg-info/SOURCES.txt +135 -20
  5. {devsquad-3.6.7 → devsquad-3.9.2}/pyproject.toml +12 -8
  6. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/api/__init__.py +26 -2
  7. devsquad-3.9.2/scripts/api/rate_limit.py +299 -0
  8. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/api/routes/dispatch.py +142 -39
  9. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/api/routes/lifecycle.py +96 -23
  10. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/api/routes/metrics.py +5 -2
  11. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/api/routes/metrics_gates.py +83 -37
  12. devsquad-3.9.2/scripts/api/security.py +428 -0
  13. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/api_server.py +98 -33
  14. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/auth.py +159 -58
  15. devsquad-3.9.2/scripts/benchmark_async_dispatch.py +124 -0
  16. devsquad-3.9.2/scripts/benchmark_real_llm.py +151 -0
  17. devsquad-3.9.2/scripts/check_version_consistency.py +267 -0
  18. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/cli/cli_visual.py +7 -10
  19. devsquad-3.9.2/scripts/cli.py +486 -0
  20. devsquad-3.9.2/scripts/cli_dispatch.py +328 -0
  21. devsquad-3.9.2/scripts/cli_lifecycle.py +209 -0
  22. devsquad-3.9.2/scripts/cli_utils.py +319 -0
  23. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/__init__.py +104 -16
  24. devsquad-3.9.2/scripts/collaboration/_version.py +1 -0
  25. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/adaptive_role_selector.py +5 -5
  26. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/agent_briefing.py +79 -10
  27. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/ai_semantic_matcher.py +28 -13
  28. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/anchor_checker.py +20 -4
  29. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/anti_rationalization.py +2 -2
  30. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/async_adapter.py +13 -16
  31. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/async_coordinator.py +89 -55
  32. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/async_llm_backend.py +263 -75
  33. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/audit_logger.py +60 -46
  34. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/batch_scheduler.py +4 -4
  35. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/cache_interface.py +128 -27
  36. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/checkpoint_manager.py +144 -9
  37. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/ci_feedback_adapter.py +60 -4
  38. devsquad-3.9.2/scripts/collaboration/code_graph_query.py +182 -0
  39. devsquad-3.9.2/scripts/collaboration/code_graph_storage.py +483 -0
  40. devsquad-3.9.2/scripts/collaboration/code_knowledge_graph.py +346 -0
  41. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/code_map_generator.py +39 -7
  42. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/concern_pack_loader.py +19 -7
  43. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/confidence_score.py +16 -2
  44. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/consensus.py +9 -9
  45. devsquad-3.9.2/scripts/collaboration/consensus_gate.py +209 -0
  46. devsquad-3.9.2/scripts/collaboration/constants.py +66 -0
  47. devsquad-3.9.2/scripts/collaboration/content_cache.py +349 -0
  48. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/context_compressor.py +112 -7
  49. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/coordinator.py +130 -56
  50. devsquad-3.9.2/scripts/collaboration/dispatch_audit.py +436 -0
  51. devsquad-3.9.2/scripts/collaboration/dispatch_component_factory.py +228 -0
  52. devsquad-3.9.2/scripts/collaboration/dispatch_hooks.py +156 -0
  53. devsquad-3.9.2/scripts/collaboration/dispatch_lifecycle.py +28 -0
  54. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/dispatch_models.py +42 -4
  55. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/dispatch_performance.py +8 -7
  56. devsquad-3.9.2/scripts/collaboration/dispatch_pre_steps.py +556 -0
  57. devsquad-3.9.2/scripts/collaboration/dispatch_rbac.py +290 -0
  58. devsquad-3.9.2/scripts/collaboration/dispatch_result_assembler.py +197 -0
  59. devsquad-3.9.2/scripts/collaboration/dispatch_services.py +276 -0
  60. devsquad-3.9.2/scripts/collaboration/dispatch_steps.py +449 -0
  61. devsquad-3.9.2/scripts/collaboration/dispatch_steps_base.py +62 -0
  62. devsquad-3.9.2/scripts/collaboration/dispatch_steps_consensus_mixin.py +144 -0
  63. devsquad-3.9.2/scripts/collaboration/dispatch_steps_feedback_mixin.py +281 -0
  64. devsquad-3.9.2/scripts/collaboration/dispatch_steps_quality_mixin.py +188 -0
  65. devsquad-3.9.2/scripts/collaboration/dispatch_steps_services_mixin.py +69 -0
  66. devsquad-3.9.2/scripts/collaboration/dispatcher.py +546 -0
  67. devsquad-3.9.2/scripts/collaboration/dispatcher_async_mixin.py +154 -0
  68. devsquad-3.9.2/scripts/collaboration/dispatcher_audit_mixin.py +68 -0
  69. devsquad-3.9.2/scripts/collaboration/dispatcher_base.py +128 -0
  70. devsquad-3.9.2/scripts/collaboration/dispatcher_error_mixin.py +68 -0
  71. devsquad-3.9.2/scripts/collaboration/dispatcher_factory.py +38 -0
  72. devsquad-3.9.2/scripts/collaboration/dispatcher_lifecycle_mixin.py +54 -0
  73. devsquad-3.9.2/scripts/collaboration/dispatcher_status_mixin.py +118 -0
  74. devsquad-3.9.2/scripts/collaboration/dispatcher_utils_mixin.py +161 -0
  75. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/dual_layer_context.py +77 -7
  76. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/enhanced_worker.py +214 -45
  77. devsquad-3.9.2/scripts/collaboration/enterprise_feature.py +288 -0
  78. devsquad-3.9.2/scripts/collaboration/event_bus.py +42 -0
  79. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/execution_guard.py +3 -3
  80. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/feature_usage_tracker.py +61 -7
  81. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/feedback_control_loop.py +63 -10
  82. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/five_axis_consensus.py +37 -1
  83. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/input_validator.py +70 -4
  84. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/intent_workflow_mapper.py +27 -2
  85. devsquad-3.9.2/scripts/collaboration/judge_agent.py +904 -0
  86. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/language_parsers.py +160 -11
  87. devsquad-3.9.2/scripts/collaboration/lifecycle_gate.py +136 -0
  88. devsquad-3.9.2/scripts/collaboration/lifecycle_protocol.py +246 -0
  89. devsquad-3.9.2/scripts/collaboration/lifecycle_shortcut_adapter.py +954 -0
  90. devsquad-3.9.2/scripts/collaboration/lifecycle_shortcut_helpers.py +612 -0
  91. devsquad-3.9.2/scripts/collaboration/lifecycle_templates.py +205 -0
  92. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/llm_backend.py +309 -63
  93. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/llm_cache.py +103 -62
  94. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/llm_cache_async.py +46 -44
  95. devsquad-3.9.2/scripts/collaboration/llm_cache_base.py +236 -0
  96. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/llm_retry.py +83 -136
  97. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/llm_retry_async.py +88 -128
  98. devsquad-3.9.2/scripts/collaboration/llm_retry_base.py +453 -0
  99. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/mce_adapter.py +103 -24
  100. devsquad-3.9.2/scripts/collaboration/memory_bridge.py +420 -0
  101. devsquad-3.9.2/scripts/collaboration/memory_claw_source.py +441 -0
  102. devsquad-3.9.2/scripts/collaboration/memory_forgetting.py +137 -0
  103. devsquad-3.9.2/scripts/collaboration/memory_index.py +237 -0
  104. devsquad-3.9.2/scripts/collaboration/memory_query.py +379 -0
  105. devsquad-3.9.2/scripts/collaboration/memory_serializer.py +425 -0
  106. devsquad-3.9.2/scripts/collaboration/memory_types.py +243 -0
  107. devsquad-3.9.2/scripts/collaboration/micro_task_planner.py +861 -0
  108. devsquad-3.9.2/scripts/collaboration/models.py +60 -0
  109. devsquad-3.9.2/scripts/collaboration/models_base.py +479 -0
  110. devsquad-3.9.2/scripts/collaboration/models_dispatch.py +331 -0
  111. devsquad-3.9.2/scripts/collaboration/models_lifecycle.py +428 -0
  112. devsquad-3.9.2/scripts/collaboration/multi_host_adapter.py +291 -0
  113. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/multi_level_cache.py +112 -71
  114. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/multi_tenant.py +36 -36
  115. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/null_providers.py +20 -20
  116. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/operation_classifier.py +8 -5
  117. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/output_slicer.py +27 -2
  118. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/performance_fingerprint.py +8 -8
  119. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/performance_monitor.py +27 -16
  120. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/permission_guard.py +44 -5
  121. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/prometheus_metrics.py +34 -22
  122. devsquad-3.9.2/scripts/collaboration/prompt_assembler.py +216 -0
  123. devsquad-3.9.2/scripts/collaboration/prompt_assembler_base.py +112 -0
  124. devsquad-3.9.2/scripts/collaboration/prompt_assembler_formatting_mixin.py +297 -0
  125. devsquad-3.9.2/scripts/collaboration/prompt_assembler_substitution_mixin.py +219 -0
  126. devsquad-3.9.2/scripts/collaboration/prompt_assembler_template_mixin.py +152 -0
  127. devsquad-3.9.2/scripts/collaboration/prompt_assembler_validation_mixin.py +213 -0
  128. devsquad-3.9.2/scripts/collaboration/prompt_dials.py +198 -0
  129. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/protocols.py +88 -0
  130. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/rbac_engine.py +26 -32
  131. devsquad-3.9.2/scripts/collaboration/redesign_auditor.py +229 -0
  132. devsquad-3.9.2/scripts/collaboration/redesign_checkers.py +415 -0
  133. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/redis_cache.py +70 -74
  134. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/report_formatter.py +19 -5
  135. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/retrospective.py +22 -12
  136. devsquad-3.9.2/scripts/collaboration/review_checkers.py +575 -0
  137. devsquad-3.9.2/scripts/collaboration/role_matcher.py +235 -0
  138. devsquad-3.9.2/scripts/collaboration/role_skill_loader.py +232 -0
  139. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/rule_collector.py +135 -24
  140. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/scratchpad.py +20 -10
  141. devsquad-3.9.2/scripts/collaboration/secret_patterns.py +94 -0
  142. devsquad-3.9.2/scripts/collaboration/severity_router.py +853 -0
  143. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/similar_task_recommender.py +4 -4
  144. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/skill_extractor.py +11 -12
  145. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/skill_registry.py +99 -9
  146. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/skill_storage.py +131 -3
  147. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/skillifier.py +179 -25
  148. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/standardized_role_template.py +1 -1
  149. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/task_completion_checker.py +31 -10
  150. devsquad-3.9.2/scripts/collaboration/tech_debt_manager.py +963 -0
  151. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/test_quality_guard.py +119 -22
  152. devsquad-3.9.2/scripts/collaboration/two_stage_review_gate.py +763 -0
  153. devsquad-3.9.2/scripts/collaboration/ue_test_accessibility_mixin.py +53 -0
  154. devsquad-3.9.2/scripts/collaboration/ue_test_framework.py +170 -0
  155. devsquad-3.9.2/scripts/collaboration/ue_test_framework_base.py +424 -0
  156. devsquad-3.9.2/scripts/collaboration/ue_test_heuristic_mixin.py +236 -0
  157. devsquad-3.9.2/scripts/collaboration/ue_test_journey_mixin.py +186 -0
  158. devsquad-3.9.2/scripts/collaboration/ue_test_persona_mixin.py +89 -0
  159. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/unified_gate_engine.py +23 -12
  160. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/usage_tracker.py +3 -3
  161. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/user_friendly_error.py +14 -1
  162. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/verification_gate.py +5 -10
  163. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/warmup_manager.py +171 -26
  164. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/collaboration/worker.py +226 -21
  165. devsquad-3.9.2/scripts/collaboration/workflow_engine.py +103 -0
  166. devsquad-3.9.2/scripts/collaboration/workflow_engine_base.py +439 -0
  167. devsquad-3.9.2/scripts/collaboration/workflow_engine_lifecycle_mixin.py +282 -0
  168. devsquad-3.9.2/scripts/collaboration/workflow_engine_persistence_mixin.py +122 -0
  169. devsquad-3.9.2/scripts/collaboration/workflow_engine_state_mixin.py +156 -0
  170. devsquad-3.9.2/scripts/collaboration/workflow_engine_transition_mixin.py +145 -0
  171. devsquad-3.9.2/scripts/collaboration/yagni_checker.py +333 -0
  172. devsquad-3.9.2/scripts/dashboard/__init__.py +68 -0
  173. devsquad-3.9.2/scripts/dashboard/app.py +117 -0
  174. devsquad-3.9.2/scripts/dashboard/auth_views.py +118 -0
  175. devsquad-3.9.2/scripts/dashboard/components.py +366 -0
  176. devsquad-3.9.2/scripts/dashboard/dispatch_views.py +208 -0
  177. devsquad-3.9.2/scripts/dashboard/lifecycle_views.py +207 -0
  178. devsquad-3.9.2/scripts/dashboard/metrics_views.py +172 -0
  179. devsquad-3.9.2/scripts/dashboard/state.py +31 -0
  180. devsquad-3.9.2/scripts/dashboard.py +13 -0
  181. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/generate_benchmark_report.py +30 -30
  182. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/history_manager.py +54 -43
  183. devsquad-3.9.2/scripts/mcp_server.py +577 -0
  184. devsquad-3.9.2/scripts/utils/__init__.py +1 -0
  185. devsquad-3.9.2/scripts/utils/_find_missing_hints.py +53 -0
  186. {devsquad-3.6.7 → devsquad-3.9.2}/skills/__init__.py +2 -2
  187. {devsquad-3.6.7 → devsquad-3.9.2}/skills/dispatch/handler.py +12 -9
  188. {devsquad-3.6.7 → devsquad-3.9.2}/skills/intent/handler.py +16 -4
  189. {devsquad-3.6.7 → devsquad-3.9.2}/skills/registry.py +8 -5
  190. {devsquad-3.6.7 → devsquad-3.9.2}/skills/retrospective/handler.py +13 -10
  191. {devsquad-3.6.7 → devsquad-3.9.2}/skills/review/handler.py +15 -17
  192. {devsquad-3.6.7 → devsquad-3.9.2}/skills/security/handler.py +6 -6
  193. {devsquad-3.6.7 → devsquad-3.9.2}/skills/test/handler.py +7 -4
  194. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_agent_briefing.py +6 -4
  195. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_anchor_retrospective.py +7 -7
  196. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_anti_rationalization.py +17 -27
  197. devsquad-3.9.2/tests/test_api_security.py +792 -0
  198. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_api_server_v362.py +20 -8
  199. devsquad-3.9.2/tests/test_async_modules.py +265 -0
  200. devsquad-3.9.2/tests/test_audit_logger.py +253 -0
  201. devsquad-3.9.2/tests/test_auth_phase5.py +602 -0
  202. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_cli_deep_v362.py +16 -16
  203. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_cli_lifecycle.py +7 -7
  204. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_cli_phase5.py +119 -102
  205. devsquad-3.9.2/tests/test_code_knowledge_graph.py +951 -0
  206. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_claw_integration_test.py +13 -17
  207. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_context_compressor_test.py +1 -1
  208. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_core_test.py +156 -1
  209. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_dispatcher_test.py +158 -3
  210. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_dispatcher_ux_test.py +17 -27
  211. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_e2e_test.py +2 -2
  212. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_enhanced_e2e_test.py +14 -17
  213. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_llm_retry_test.py +4 -4
  214. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_mce_adapter_test.py +1 -1
  215. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_memory_bridge_test.py +4 -5
  216. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_performance_monitor_test.py +7 -7
  217. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_permission_guard_test.py +7 -8
  218. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_prompt_optimization_test.py +5 -231
  219. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_role_mapping_test.py +3 -3
  220. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_skillifier_test.py +1 -1
  221. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_test_quality_guard.py +2 -3
  222. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_test_quality_guard_test.py +19 -5
  223. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_upstream_test.py +2 -2
  224. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_warmup_manager_test.py +11 -9
  225. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_comprehensive_integration.py +17 -12
  226. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_confidence_score.py +13 -13
  227. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_config_injection.py +5 -4
  228. devsquad-3.9.2/tests/test_consensus_gate.py +194 -0
  229. devsquad-3.9.2/tests/test_content_cache.py +266 -0
  230. devsquad-3.9.2/tests/test_dashboard_split.py +102 -0
  231. devsquad-3.9.2/tests/test_data_backup.py +166 -0
  232. devsquad-3.9.2/tests/test_dependency_lock.py +66 -0
  233. devsquad-3.9.2/tests/test_dispatch_audit.py +435 -0
  234. devsquad-3.9.2/tests/test_dispatch_rbac.py +283 -0
  235. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_dispatcher_phase5_core.py +118 -114
  236. devsquad-3.9.2/tests/test_docker_deployment.py +97 -0
  237. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_extended_integration.py +1 -1
  238. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_final_integration.py +3 -3
  239. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_full_lifecycle_adapter.py +0 -1
  240. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_history_manager_v362.py +12 -16
  241. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_input_validator_phase5.py +160 -65
  242. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_intent_workflow_mapper.py +1 -1
  243. devsquad-3.9.2/tests/test_judge_agent.py +633 -0
  244. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_lifecycle_protocol.py +2 -2
  245. devsquad-3.9.2/tests/test_llm_auto_fallback.py +335 -0
  246. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_llm_cache_protocol.py +2 -2
  247. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_mcp_server_v362.py +34 -13
  248. devsquad-3.9.2/tests/test_memory_benchmarks.py +119 -0
  249. devsquad-3.9.2/tests/test_micro_task_planner.py +590 -0
  250. devsquad-3.9.2/tests/test_multi_host_adapter.py +310 -0
  251. devsquad-3.9.2/tests/test_multi_tenant.py +312 -0
  252. devsquad-3.9.2/tests/test_node_type_separation.py +231 -0
  253. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_null_providers.py +9 -9
  254. devsquad-3.9.2/tests/test_performance_benchmarks.py +166 -0
  255. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_performance_fingerprint.py +1 -1
  256. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_performance_monitor_protocol.py +2 -2
  257. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_permission_guard_phase5.py +12 -16
  258. devsquad-3.9.2/tests/test_pipeline_step19_20.py +120 -0
  259. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_plan_c_unified_architecture.py +2 -3
  260. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_production_features.py +26 -137
  261. devsquad-3.9.2/tests/test_prompt_dials.py +343 -0
  262. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_protocols.py +4 -4
  263. devsquad-3.9.2/tests/test_rate_limit.py +447 -0
  264. devsquad-3.9.2/tests/test_rbac_engine.py +199 -0
  265. devsquad-3.9.2/tests/test_rbac_fail_closed.py +175 -0
  266. devsquad-3.9.2/tests/test_redesign_auditor.py +469 -0
  267. devsquad-3.9.2/tests/test_retry_jitter_strategies.py +171 -0
  268. devsquad-3.9.2/tests/test_role_skill_loader.py +272 -0
  269. devsquad-3.9.2/tests/test_severity_router.py +542 -0
  270. devsquad-3.9.2/tests/test_skill_security.py +113 -0
  271. devsquad-3.9.2/tests/test_start_script.py +156 -0
  272. devsquad-3.9.2/tests/test_step_node_types.py +141 -0
  273. devsquad-3.9.2/tests/test_suggested_next_steps.py +96 -0
  274. devsquad-3.9.2/tests/test_tech_debt_manager.py +529 -0
  275. devsquad-3.9.2/tests/test_two_stage_review_gate.py +489 -0
  276. devsquad-3.9.2/tests/test_ue_test_framework.py +447 -0
  277. devsquad-3.9.2/tests/test_v38_integration.py +391 -0
  278. devsquad-3.9.2/tests/test_v39_e2e.py +1139 -0
  279. devsquad-3.9.2/tests/test_v39_integration.py +702 -0
  280. devsquad-3.9.2/tests/test_v39_performance.py +788 -0
  281. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_verification_gate.py +3 -3
  282. devsquad-3.9.2/tests/test_version.py +84 -0
  283. devsquad-3.9.2/tests/test_yagni_checker.py +428 -0
  284. devsquad-3.6.7/scripts/MANUAL_PUBLISHING_GUIDE.md +0 -226
  285. devsquad-3.6.7/scripts/PUBLISHING_GUIDE.md +0 -208
  286. devsquad-3.6.7/scripts/RELEASE_NOTES_V3.6.5.md +0 -570
  287. devsquad-3.6.7/scripts/ai_semantic_matcher.py +0 -512
  288. devsquad-3.6.7/scripts/alert_manager.py +0 -496
  289. devsquad-3.6.7/scripts/cli.py +0 -1157
  290. devsquad-3.6.7/scripts/collaboration/_archived/adaptive_role_selector_test.py +0 -513
  291. devsquad-3.6.7/scripts/collaboration/_archived/async_integration_example.py +0 -241
  292. devsquad-3.6.7/scripts/collaboration/_archived/code_quality.py +0 -360
  293. devsquad-3.6.7/scripts/collaboration/_archived/execution_guard_test.py +0 -555
  294. devsquad-3.6.7/scripts/collaboration/_archived/feedback_control_loop_test.py +0 -474
  295. devsquad-3.6.7/scripts/collaboration/_archived/integration_example.py +0 -278
  296. devsquad-3.6.7/scripts/collaboration/_archived/multi_level_cache.py +0 -703
  297. devsquad-3.6.7/scripts/collaboration/_archived/similar_task_recommender_test.py +0 -382
  298. devsquad-3.6.7/scripts/collaboration/_archived/structured_logging.py +0 -365
  299. devsquad-3.6.7/scripts/collaboration/_version.py +0 -1
  300. devsquad-3.6.7/scripts/collaboration/config_loader.py +0 -188
  301. devsquad-3.6.7/scripts/collaboration/dispatcher.py +0 -2047
  302. devsquad-3.6.7/scripts/collaboration/lifecycle_protocol.py +0 -1437
  303. devsquad-3.6.7/scripts/collaboration/memory_bridge.py +0 -1681
  304. devsquad-3.6.7/scripts/collaboration/models.py +0 -1215
  305. devsquad-3.6.7/scripts/collaboration/prompt_assembler.py +0 -899
  306. devsquad-3.6.7/scripts/collaboration/prompt_variant_generator.py +0 -467
  307. devsquad-3.6.7/scripts/collaboration/role_matcher.py +0 -99
  308. devsquad-3.6.7/scripts/collaboration/role_template_market.py +0 -336
  309. devsquad-3.6.7/scripts/collaboration/workflow_engine.py +0 -741
  310. devsquad-3.6.7/scripts/dashboard.py +0 -1077
  311. devsquad-3.6.7/scripts/mcp_server.py +0 -304
  312. devsquad-3.6.7/scripts/verify_v361.py +0 -75
  313. devsquad-3.6.7/skills/test/__init__.py +0 -0
  314. devsquad-3.6.7/tests/test_auth_phase5.py +0 -333
  315. {devsquad-3.6.7 → devsquad-3.9.2}/LICENSE +0 -0
  316. {devsquad-3.6.7 → devsquad-3.9.2}/devsquad.egg-info/dependency_links.txt +0 -0
  317. {devsquad-3.6.7 → devsquad-3.9.2}/devsquad.egg-info/entry_points.txt +0 -0
  318. {devsquad-3.6.7 → devsquad-3.9.2}/devsquad.egg-info/requires.txt +0 -0
  319. {devsquad-3.6.7 → devsquad-3.9.2}/devsquad.egg-info/top_level.txt +0 -0
  320. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/__init__.py +0 -0
  321. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/api/models.py +0 -0
  322. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/api/routes/__init__.py +0 -0
  323. {devsquad-3.6.7 → devsquad-3.9.2}/scripts/cli/__init__.py +0 -0
  324. {devsquad-3.6.7 → devsquad-3.9.2}/setup.cfg +0 -0
  325. {devsquad-3.6.7/scripts/collaboration/_archived → devsquad-3.9.2/skills/retrospective}/__init__.py +0 -0
  326. {devsquad-3.6.7/skills/retrospective → devsquad-3.9.2/skills/test}/__init__.py +0 -0
  327. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_ci_feedback_adapter.py +0 -0
  328. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_collaboration_llm_cache_test.py +0 -0
  329. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_five_axis_consensus.py +0 -0
  330. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_operation_classifier.py +0 -0
  331. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_output_slicer.py +0 -0
  332. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_quick_bonus.py +0 -0
  333. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_rule_injection_security.py +0 -0
  334. {devsquad-3.6.7 → devsquad-3.9.2}/tests/test_standardized_role_template.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devsquad
3
- Version: 3.6.7
3
+ Version: 3.9.2
4
4
  Summary: Production-Ready Multi-Role AI Task Orchestrator
5
5
  Author-email: DevSquad Team <devsquad@example.com>
6
6
  License: MIT
@@ -83,14 +83,14 @@ Dynamic: license-file
83
83
  <p align="center">
84
84
  <strong>🎯 把「单个 AI 助手」升级成「7 人 AI 专业团队」</strong>
85
85
  <br>
86
- <em>One task → Multi-role AI collaboration → One conclusion | V3.6.6 Enterprise Ready</em>
86
+ <em>One task → Multi-role AI collaboration → One conclusion | V3.9.2 Enterprise Ready</em>
87
87
  </p>
88
88
 
89
89
  <p align="center">
90
- <img alt="Python" src="https://img.shields.io/badge/Python-3.9+-blue?logo=python&logoColor=white" />
90
+ <img alt="Python" src="https://img.shields.io/badge/Python-3.10+-blue?logo=python&logoColor=white" />
91
91
  <img alt="License" src="https://img.shields.io/badge/License-MIT-green" />
92
- <img alt="Tests" src="https://img.shields.io/badge/Tests-1855%20passing-brightgreen" />
93
- <img alt="Version" src="https://img.shields.io/badge/V3.6.7-success" />
92
+ <img alt="Tests" src="https://img.shields.io/badge/Tests-2857%2B%20passing-brightgreen" />
93
+ <img alt="Version" src="https://img.shields.io/badge/V3.9.2-success" />
94
94
  <img alt="CI" src="https://img.shields.io/badge/CI-GitHub_Actions-blue?logo=githubactions" />
95
95
  <img alt="Quality" src="https://img.shields.io/badge/Code%20Quality-4.3%2F5%20%E2%98%85%E2%98%85%E2%98%85%E2%98%85%E2%98%86-blue" />
96
96
  <img alt="Security" src="https://img.shields.io/badge/Security-5%2F5%20%E2%98%85%E2%98%85%E2%98%85%E2%98%85%E2%98%85-success" />
@@ -144,22 +144,22 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
144
144
  | 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
145
145
  | 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
146
146
 
147
- 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [70+ 模块详细参考](SKILL.md)
147
+ 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [149+ 模块详细参考](SKILL.md)
148
148
 
149
149
  ---
150
150
 
151
151
  <details>
152
152
  <summary>🔍 点击展开:完整功能介绍与架构详解</summary>
153
153
 
154
- ## 🚀 V3.6.7: Redis Cache + Async Dispatch + Dispatcher Refactor
154
+ ## 🚀 V3.9.2: Auto LLM Fallback + Dashboard Split + SQLite Audit Persistence + P3 Cleanup
155
155
 
156
- **DevSquad V3.6.7** adds Redis Cache L2 backend for three-tier caching (memory→disk→Redis), async dispatch with `asyncio.gather` for concurrent LLM calls, dispatcher refactored from 788-line monolith into 18 step methods (extracted `dispatch_models.py` and `dispatch_performance.py`), fixed `DispatchResult.to_dict()`/`to_markdown()` missing 5 fields (data loss bug), cleaned up `except:pass` patterns, removed redundant `to_dict()` wrappers, and restored 183 previously xfailed tests bringing total to 1855 tests passing with CI re-enabled.
156
+ **DevSquad V3.9.2** introduces automatic LLM backend fallback (auto backend tries real LLM first, falls back to mock), splits dashboard.py from 1087 lines into an 8-module package, makes SQLite-backed dispatch audit persistence default, and performs P3 cleanup (magic number extraction + narrowed exception scopes), with 2857+ tests passing.
157
157
 
158
158
  ---
159
159
 
160
- ## ⚡ Quick Start (4 Ways to Use DevSquad)
160
+ ## ⚡ Quick Start (5 Ways to Use DevSquad)
161
161
 
162
- ### 方式 1:命令行(推荐新手)
162
+ ### Method 1: CLI (Recommended for Beginners)
163
163
 
164
164
  ```bash
165
165
  # Interactive setup wizard (1-2 minutes)
@@ -169,7 +169,7 @@ python scripts/cli.py init
169
169
  devsquad dispatch -t "your task description"
170
170
  ```
171
171
 
172
- ### 方式 2Web Dashboard(推荐团队)
172
+ ### Method 2: Web Dashboard (Recommended for Teams)
173
173
 
174
174
  ```bash
175
175
  # Start Streamlit dashboard with authentication
@@ -177,10 +177,10 @@ streamlit run scripts/dashboard.py
177
177
 
178
178
  # Open http://localhost:8501
179
179
  # Login with default account, then change password immediately.
180
- # Username: admin Password: <your-secure-password>
180
+ # Username: admin Password: admin123 (change in production)
181
181
  ```
182
182
 
183
- ### 方式 3REST API(推荐集成)
183
+ ### Method 3: REST API (Recommended for Integration)
184
184
 
185
185
  ```bash
186
186
  # Install dependencies
@@ -193,7 +193,7 @@ uvicorn scripts.api_server:app --host 0.0.0.0 --port 8000 --reload
193
193
  # Access ReDoc: http://localhost:8000/redoc
194
194
  ```
195
195
 
196
- ### 方式 4Python API(推荐开发者)
196
+ ### Method 4: Python API (Recommended for Developers)
197
197
 
198
198
  ```python
199
199
  from scripts.collaboration.dispatcher import MultiAgentDispatcher
@@ -207,6 +207,24 @@ print(result.report)
207
207
  print(result.consensus)
208
208
  ```
209
209
 
210
+ ### Method 5: One-Click Startup Script (V3.9.2+)
211
+
212
+ ```bash
213
+ # One-click startup — 4 phases: env check → DB init → frontend build → service start
214
+ ./scripts/start.sh
215
+
216
+ # Launch Streamlit dashboard instead of API server
217
+ ./scripts/start.sh --dashboard
218
+
219
+ # Override API port
220
+ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
221
+
222
+ # Show help
223
+ ./scripts/start.sh --help
224
+ ```
225
+
226
+ `start.sh` is the unified entry point introduced in V3.9.2 (P0-2). It validates the environment, initializes the database, builds the frontend, and starts the service in one command. Use `requirements.lock` alongside it for reproducible builds (`pip install -r requirements.lock`).
227
+
210
228
  ---
211
229
 
212
230
  ## 👥 7 Core Roles
@@ -227,7 +245,7 @@ print(result.consensus)
227
245
 
228
246
  ## 🏗️ Five Capability Domains (Architecture Overview)
229
247
 
230
- DevSquad's 70+ modules are organized into **5 capability domains**, each solving a specific problem:
248
+ DevSquad's 149+ modules are organized into **5 capability domains**, each solving a specific problem:
231
249
 
232
250
  ### 🎯 Domain 1: Task Orchestration Engine (Core)
233
251
 
@@ -280,10 +298,11 @@ User Task → [InputValidator] → [RoleMatcher] → [Coordinator Orchestration]
280
298
  |--------|---------|------------|
281
299
  | **PerformanceMonitor** | P95/P99 response time, CPU/memory tracking, bottleneck detection | Performance tuning |
282
300
  | **UsageTracker** | Token/cost usage tracking and reporting | Cost control |
283
- | **AuditLogger** | SHA256 integrity operation logs with CSV/JSON export | Compliance auditing |
284
- | **RBAC Engine** | 15+ fine-grained permissions, 5 roles (SUPER_ADMIN/ADMIN/OPERATOR/ANALYST/VIEWER) | Enterprise access control |
301
+ | **AuditLogger** | SHA256 integrity operation logs with CSV/JSON export (Preview) | Compliance auditing |
302
+ | **RBAC Engine** | 15+ fine-grained permissions, 5 roles (SUPER_ADMIN/ADMIN/OPERATOR/ANALYST/VIEWER) (Preview) | Enterprise access control |
303
+ | **Multi-Tenancy Manager** | 3 isolation levels (strict/moderate/shared), tenant-scoped resources (Preview) | Multi-tenant SaaS |
304
+ | **Sensitive Data Masker** | PII detection and masking (email/phone/ID card/credit card), configurable rules (Preview) | Data compliance |
285
305
  | **HistoryManager** | SQLite time-series storage: metrics snapshots, alert history, API logs | Retrospective analysis |
286
- | **AlertManager** | Multi-channel alerting: Console/Slack/Email/Webhook with rate limiting | Production monitoring |
287
306
 
288
307
  ### 🔌 Domain 5: Integration & Extension
289
308
 
@@ -296,7 +315,7 @@ User Task → [InputValidator] → [RoleMatcher] → [Coordinator Orchestration]
296
315
  | **Dashboard (Streamlit)** | Interactive web dashboard with authentication | Operations team visualization |
297
316
  | **MCP Protocol** | Integration with TRAE/Claude Code/Cursor | AI Agent ecosystem |
298
317
  | **Docker Support** | Multi-stage build for production deployment | Containerized environments |
299
- | **GitHub Actions CI** | Python 3.9-3.12 matrix testing | CI/CD pipelines |
318
+ | **GitHub Actions CI** | Python 3.10-3.11 matrix testing | CI/CD pipelines |
300
319
 
301
320
  ---
302
321
 
@@ -393,10 +412,10 @@ All modules are **optional switches** — DevSquad works perfectly without them.
393
412
  ▼ ▼
394
413
  ┌─────────────────────────────────────────────────────────────┐
395
414
  │ Business Logic Layer │
396
- │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
397
- │ │AuthManager │ │AlertManager │ │HistoryMgr │ │
398
- │ │(RBAC Auth) │ │(Multi-Chnl) │ │(SQLite TSDB)│ │
399
- │ └─────────────┘ └─────────────┘ └─────────────┘
415
+ │ ┌─────────────┐ ┌─────────────┐ │
416
+ │ │AuthManager │ │HistoryMgr │ │
417
+ │ │(RBAC Auth) │ │(SQLite TSDB)│ │
418
+ │ └─────────────┘ └─────────────┘ │
400
419
  │ ┌─────────────────────────────────────────────┐ │
401
420
  │ │ LifecycleProtocol (11-Phase Engine) │ │
402
421
  │ │ UnifiedGateEngine + CheckpointManager │ │
@@ -489,7 +508,7 @@ CLI View Layer (6 commands) Core Engine (11 phases)
489
508
  ## 📦 Installation
490
509
 
491
510
  ### Prerequisites
492
- - **Python 3.9+** (3.9, 3.10, 3.11, 3.12 supported)
511
+ - **Python 3.10+** (3.10, 3.11 supported, tested in CI)
493
512
  - **pip** or **pipenv** for package management
494
513
 
495
514
  ### Option A: PyPI Install (Recommended)
@@ -504,7 +523,7 @@ pip install "devsquad[all]" # All optional features
504
523
 
505
524
  ### Option B: Git Clone + Local Install
506
525
  ```bash
507
- git clone https://github.com/weiransoft/devsquad.git
526
+ git clone https://github.com/lulin70/DevSquad.git
508
527
  cd DevSquad
509
528
 
510
529
  # Install core package (minimal dependencies)
@@ -518,11 +537,11 @@ devsquad dispatch -t "Design user authentication system"
518
537
  ```bash
519
538
  # Check version
520
539
  devsquad --version
521
- # Expected: devsquad 3.6.6
540
+ # Expected: devsquad 3.9.2
522
541
 
523
542
  # Run tests
524
543
  pytest tests/ -v --tb=short
525
- # Expected: 1500+ passed
544
+ # Expected: 2857+ passed
526
545
  ```
527
546
 
528
547
  ---
@@ -538,7 +557,7 @@ quality_control:
538
557
  min_quality_score: 85
539
558
 
540
559
  llm:
541
- backend: openai
560
+ backend: auto
542
561
  base_url: "" # Set via DEVSQUAD_OPENAI_BASE_URL env var
543
562
  model: "" # Set via DEVSQUAD_OPENAI_MODEL env var
544
563
  timeout: 120
@@ -547,7 +566,8 @@ llm:
547
566
  Or use environment variables (higher priority):
548
567
 
549
568
  ```bash
550
- export DEVSQUAD_LLM_BACKEND=openai
569
+ # Default: auto tries real backends first, then falls back to mock
570
+ export DEVSQUAD_LLM_BACKEND=auto
551
571
  export DEVSQUAD_OPENAI_BASE_URL=https://api.openai.com/v1
552
572
  export DEVSQUAD_OPENAI_MODEL=gpt-4
553
573
  export DEVSQUAD_OPENAI_API_KEY=sk-...
@@ -557,7 +577,7 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
557
577
 
558
578
  | Variable | Purpose | Default |
559
579
  |----------|---------|---------|
560
- | `DEVSQUAD_LLM_BACKEND` | Default backend type (mock\|trae\|openai\|anthropic\|fallback) | `mock` |
580
+ | `DEVSQUAD_LLM_BACKEND` | Default backend type (auto\|mock\|trae\|openai\|anthropic\|fallback) | `auto` |
561
581
  | `DEVSQUAD_OPENAI_API_KEY` | OpenAI/MOKA AI API key | None |
562
582
  | `DEVSQUAD_OPENAI_BASE_URL` | OpenAI-compatible base URL | None |
563
583
  | `DEVSQUAD_OPENAI_MODEL` | OpenAI model name | `gpt-4` |
@@ -572,14 +592,14 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
572
592
 
573
593
  ### Quick Smoke Test (< 30 seconds)
574
594
  ```bash
575
- python3 scripts/cli.py --version # Expected: DevSquad 3.6.6
595
+ python3 scripts/cli.py --version # Expected: DevSquad 3.9.2
576
596
  python3 scripts/cli.py status # Expected: System ready
577
597
  python3 scripts/cli.py roles # Expected: 7 core roles listed
578
598
  ```
579
599
 
580
600
  ### Full Test Suite
581
601
  ```bash
582
- # Run all tests (1855 tests passing)
602
+ # Run all tests (2857+ tests passing)
583
603
  python3 -m pytest tests/ -q --tb=line
584
604
 
585
605
  # With coverage report
@@ -596,7 +616,7 @@ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
596
616
  | **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
597
617
  | **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
598
618
 
599
- **Total: 1855 tests**
619
+ **Total: 2857+ tests (2864 collected)**
600
620
 
601
621
  Run by priority:
602
622
  ```bash
@@ -617,13 +637,13 @@ python3 -m pytest tests/ -q --tb=line
617
637
  | Document | Description | Language |
618
638
  |----------|-------------|----------|
619
639
  | [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
620
- | [SKILL.md](SKILL.md) | 完整技能手册 + 70+ 模块参考 | EN/CN/JP |
640
+ | [SKILL.md](SKILL.md) | 完整技能手册 + 149+ 模块参考 | EN/CN/JP |
621
641
  | [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
622
642
  | [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
623
643
  | [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
624
644
  | [CHANGELOG.md](CHANGELOG.md) | 版本历史记录 | EN |
625
- | [docs/i18n/README_CN.md](docs/i18n/README_CN.md) | 中文说明 | 中文 |
626
- | [docs/i18n/README_JP.md](docs/i18n/README_JP.md) | 日本語説明 | 日本語 |
645
+ | [README-CN.md](README-CN.md) | 中文说明 | 中文 |
646
+ | [README-JP.md](README-JP.md) | 日本語説明 | 日本語 |
627
647
  | [docs/PRD.md](docs/PRD.md) | 产品需求文档 | 中文 |
628
648
  | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 技术架构文档 | 中文 |
629
649
 
@@ -660,6 +680,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
660
680
 
661
681
  ---
662
682
 
663
- *Last updated: 2026-06-07 | Version: V3.6.7*
683
+ *Last updated: 2026-06-26 | Version: V3.9.2*
664
684
 
665
685
  </details>
@@ -3,14 +3,14 @@
3
3
  <p align="center">
4
4
  <strong>🎯 把「单个 AI 助手」升级成「7 人 AI 专业团队」</strong>
5
5
  <br>
6
- <em>One task → Multi-role AI collaboration → One conclusion | V3.6.6 Enterprise Ready</em>
6
+ <em>One task → Multi-role AI collaboration → One conclusion | V3.9.2 Enterprise Ready</em>
7
7
  </p>
8
8
 
9
9
  <p align="center">
10
- <img alt="Python" src="https://img.shields.io/badge/Python-3.9+-blue?logo=python&logoColor=white" />
10
+ <img alt="Python" src="https://img.shields.io/badge/Python-3.10+-blue?logo=python&logoColor=white" />
11
11
  <img alt="License" src="https://img.shields.io/badge/License-MIT-green" />
12
- <img alt="Tests" src="https://img.shields.io/badge/Tests-1855%20passing-brightgreen" />
13
- <img alt="Version" src="https://img.shields.io/badge/V3.6.7-success" />
12
+ <img alt="Tests" src="https://img.shields.io/badge/Tests-2857%2B%20passing-brightgreen" />
13
+ <img alt="Version" src="https://img.shields.io/badge/V3.9.2-success" />
14
14
  <img alt="CI" src="https://img.shields.io/badge/CI-GitHub_Actions-blue?logo=githubactions" />
15
15
  <img alt="Quality" src="https://img.shields.io/badge/Code%20Quality-4.3%2F5%20%E2%98%85%E2%98%85%E2%98%85%E2%98%85%E2%98%86-blue" />
16
16
  <img alt="Security" src="https://img.shields.io/badge/Security-5%2F5%20%E2%98%85%E2%98%85%E2%98%85%E2%98%85%E2%98%85-success" />
@@ -64,22 +64,22 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
64
64
  | 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
65
65
  | 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
66
66
 
67
- 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [70+ 模块详细参考](SKILL.md)
67
+ 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [149+ 模块详细参考](SKILL.md)
68
68
 
69
69
  ---
70
70
 
71
71
  <details>
72
72
  <summary>🔍 点击展开:完整功能介绍与架构详解</summary>
73
73
 
74
- ## 🚀 V3.6.7: Redis Cache + Async Dispatch + Dispatcher Refactor
74
+ ## 🚀 V3.9.2: Auto LLM Fallback + Dashboard Split + SQLite Audit Persistence + P3 Cleanup
75
75
 
76
- **DevSquad V3.6.7** adds Redis Cache L2 backend for three-tier caching (memory→disk→Redis), async dispatch with `asyncio.gather` for concurrent LLM calls, dispatcher refactored from 788-line monolith into 18 step methods (extracted `dispatch_models.py` and `dispatch_performance.py`), fixed `DispatchResult.to_dict()`/`to_markdown()` missing 5 fields (data loss bug), cleaned up `except:pass` patterns, removed redundant `to_dict()` wrappers, and restored 183 previously xfailed tests bringing total to 1855 tests passing with CI re-enabled.
76
+ **DevSquad V3.9.2** introduces automatic LLM backend fallback (auto backend tries real LLM first, falls back to mock), splits dashboard.py from 1087 lines into an 8-module package, makes SQLite-backed dispatch audit persistence default, and performs P3 cleanup (magic number extraction + narrowed exception scopes), with 2857+ tests passing.
77
77
 
78
78
  ---
79
79
 
80
- ## ⚡ Quick Start (4 Ways to Use DevSquad)
80
+ ## ⚡ Quick Start (5 Ways to Use DevSquad)
81
81
 
82
- ### 方式 1:命令行(推荐新手)
82
+ ### Method 1: CLI (Recommended for Beginners)
83
83
 
84
84
  ```bash
85
85
  # Interactive setup wizard (1-2 minutes)
@@ -89,7 +89,7 @@ python scripts/cli.py init
89
89
  devsquad dispatch -t "your task description"
90
90
  ```
91
91
 
92
- ### 方式 2Web Dashboard(推荐团队)
92
+ ### Method 2: Web Dashboard (Recommended for Teams)
93
93
 
94
94
  ```bash
95
95
  # Start Streamlit dashboard with authentication
@@ -97,10 +97,10 @@ streamlit run scripts/dashboard.py
97
97
 
98
98
  # Open http://localhost:8501
99
99
  # Login with default account, then change password immediately.
100
- # Username: admin Password: <your-secure-password>
100
+ # Username: admin Password: admin123 (change in production)
101
101
  ```
102
102
 
103
- ### 方式 3REST API(推荐集成)
103
+ ### Method 3: REST API (Recommended for Integration)
104
104
 
105
105
  ```bash
106
106
  # Install dependencies
@@ -113,7 +113,7 @@ uvicorn scripts.api_server:app --host 0.0.0.0 --port 8000 --reload
113
113
  # Access ReDoc: http://localhost:8000/redoc
114
114
  ```
115
115
 
116
- ### 方式 4Python API(推荐开发者)
116
+ ### Method 4: Python API (Recommended for Developers)
117
117
 
118
118
  ```python
119
119
  from scripts.collaboration.dispatcher import MultiAgentDispatcher
@@ -127,6 +127,24 @@ print(result.report)
127
127
  print(result.consensus)
128
128
  ```
129
129
 
130
+ ### Method 5: One-Click Startup Script (V3.9.2+)
131
+
132
+ ```bash
133
+ # One-click startup — 4 phases: env check → DB init → frontend build → service start
134
+ ./scripts/start.sh
135
+
136
+ # Launch Streamlit dashboard instead of API server
137
+ ./scripts/start.sh --dashboard
138
+
139
+ # Override API port
140
+ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
141
+
142
+ # Show help
143
+ ./scripts/start.sh --help
144
+ ```
145
+
146
+ `start.sh` is the unified entry point introduced in V3.9.2 (P0-2). It validates the environment, initializes the database, builds the frontend, and starts the service in one command. Use `requirements.lock` alongside it for reproducible builds (`pip install -r requirements.lock`).
147
+
130
148
  ---
131
149
 
132
150
  ## 👥 7 Core Roles
@@ -147,7 +165,7 @@ print(result.consensus)
147
165
 
148
166
  ## 🏗️ Five Capability Domains (Architecture Overview)
149
167
 
150
- DevSquad's 70+ modules are organized into **5 capability domains**, each solving a specific problem:
168
+ DevSquad's 149+ modules are organized into **5 capability domains**, each solving a specific problem:
151
169
 
152
170
  ### 🎯 Domain 1: Task Orchestration Engine (Core)
153
171
 
@@ -200,10 +218,11 @@ User Task → [InputValidator] → [RoleMatcher] → [Coordinator Orchestration]
200
218
  |--------|---------|------------|
201
219
  | **PerformanceMonitor** | P95/P99 response time, CPU/memory tracking, bottleneck detection | Performance tuning |
202
220
  | **UsageTracker** | Token/cost usage tracking and reporting | Cost control |
203
- | **AuditLogger** | SHA256 integrity operation logs with CSV/JSON export | Compliance auditing |
204
- | **RBAC Engine** | 15+ fine-grained permissions, 5 roles (SUPER_ADMIN/ADMIN/OPERATOR/ANALYST/VIEWER) | Enterprise access control |
221
+ | **AuditLogger** | SHA256 integrity operation logs with CSV/JSON export (Preview) | Compliance auditing |
222
+ | **RBAC Engine** | 15+ fine-grained permissions, 5 roles (SUPER_ADMIN/ADMIN/OPERATOR/ANALYST/VIEWER) (Preview) | Enterprise access control |
223
+ | **Multi-Tenancy Manager** | 3 isolation levels (strict/moderate/shared), tenant-scoped resources (Preview) | Multi-tenant SaaS |
224
+ | **Sensitive Data Masker** | PII detection and masking (email/phone/ID card/credit card), configurable rules (Preview) | Data compliance |
205
225
  | **HistoryManager** | SQLite time-series storage: metrics snapshots, alert history, API logs | Retrospective analysis |
206
- | **AlertManager** | Multi-channel alerting: Console/Slack/Email/Webhook with rate limiting | Production monitoring |
207
226
 
208
227
  ### 🔌 Domain 5: Integration & Extension
209
228
 
@@ -216,7 +235,7 @@ User Task → [InputValidator] → [RoleMatcher] → [Coordinator Orchestration]
216
235
  | **Dashboard (Streamlit)** | Interactive web dashboard with authentication | Operations team visualization |
217
236
  | **MCP Protocol** | Integration with TRAE/Claude Code/Cursor | AI Agent ecosystem |
218
237
  | **Docker Support** | Multi-stage build for production deployment | Containerized environments |
219
- | **GitHub Actions CI** | Python 3.9-3.12 matrix testing | CI/CD pipelines |
238
+ | **GitHub Actions CI** | Python 3.10-3.11 matrix testing | CI/CD pipelines |
220
239
 
221
240
  ---
222
241
 
@@ -313,10 +332,10 @@ All modules are **optional switches** — DevSquad works perfectly without them.
313
332
  ▼ ▼
314
333
  ┌─────────────────────────────────────────────────────────────┐
315
334
  │ Business Logic Layer │
316
- │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
317
- │ │AuthManager │ │AlertManager │ │HistoryMgr │ │
318
- │ │(RBAC Auth) │ │(Multi-Chnl) │ │(SQLite TSDB)│ │
319
- │ └─────────────┘ └─────────────┘ └─────────────┘
335
+ │ ┌─────────────┐ ┌─────────────┐ │
336
+ │ │AuthManager │ │HistoryMgr │ │
337
+ │ │(RBAC Auth) │ │(SQLite TSDB)│ │
338
+ │ └─────────────┘ └─────────────┘ │
320
339
  │ ┌─────────────────────────────────────────────┐ │
321
340
  │ │ LifecycleProtocol (11-Phase Engine) │ │
322
341
  │ │ UnifiedGateEngine + CheckpointManager │ │
@@ -409,7 +428,7 @@ CLI View Layer (6 commands) Core Engine (11 phases)
409
428
  ## 📦 Installation
410
429
 
411
430
  ### Prerequisites
412
- - **Python 3.9+** (3.9, 3.10, 3.11, 3.12 supported)
431
+ - **Python 3.10+** (3.10, 3.11 supported, tested in CI)
413
432
  - **pip** or **pipenv** for package management
414
433
 
415
434
  ### Option A: PyPI Install (Recommended)
@@ -424,7 +443,7 @@ pip install "devsquad[all]" # All optional features
424
443
 
425
444
  ### Option B: Git Clone + Local Install
426
445
  ```bash
427
- git clone https://github.com/weiransoft/devsquad.git
446
+ git clone https://github.com/lulin70/DevSquad.git
428
447
  cd DevSquad
429
448
 
430
449
  # Install core package (minimal dependencies)
@@ -438,11 +457,11 @@ devsquad dispatch -t "Design user authentication system"
438
457
  ```bash
439
458
  # Check version
440
459
  devsquad --version
441
- # Expected: devsquad 3.6.6
460
+ # Expected: devsquad 3.9.2
442
461
 
443
462
  # Run tests
444
463
  pytest tests/ -v --tb=short
445
- # Expected: 1500+ passed
464
+ # Expected: 2857+ passed
446
465
  ```
447
466
 
448
467
  ---
@@ -458,7 +477,7 @@ quality_control:
458
477
  min_quality_score: 85
459
478
 
460
479
  llm:
461
- backend: openai
480
+ backend: auto
462
481
  base_url: "" # Set via DEVSQUAD_OPENAI_BASE_URL env var
463
482
  model: "" # Set via DEVSQUAD_OPENAI_MODEL env var
464
483
  timeout: 120
@@ -467,7 +486,8 @@ llm:
467
486
  Or use environment variables (higher priority):
468
487
 
469
488
  ```bash
470
- export DEVSQUAD_LLM_BACKEND=openai
489
+ # Default: auto tries real backends first, then falls back to mock
490
+ export DEVSQUAD_LLM_BACKEND=auto
471
491
  export DEVSQUAD_OPENAI_BASE_URL=https://api.openai.com/v1
472
492
  export DEVSQUAD_OPENAI_MODEL=gpt-4
473
493
  export DEVSQUAD_OPENAI_API_KEY=sk-...
@@ -477,7 +497,7 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
477
497
 
478
498
  | Variable | Purpose | Default |
479
499
  |----------|---------|---------|
480
- | `DEVSQUAD_LLM_BACKEND` | Default backend type (mock\|trae\|openai\|anthropic\|fallback) | `mock` |
500
+ | `DEVSQUAD_LLM_BACKEND` | Default backend type (auto\|mock\|trae\|openai\|anthropic\|fallback) | `auto` |
481
501
  | `DEVSQUAD_OPENAI_API_KEY` | OpenAI/MOKA AI API key | None |
482
502
  | `DEVSQUAD_OPENAI_BASE_URL` | OpenAI-compatible base URL | None |
483
503
  | `DEVSQUAD_OPENAI_MODEL` | OpenAI model name | `gpt-4` |
@@ -492,14 +512,14 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
492
512
 
493
513
  ### Quick Smoke Test (< 30 seconds)
494
514
  ```bash
495
- python3 scripts/cli.py --version # Expected: DevSquad 3.6.6
515
+ python3 scripts/cli.py --version # Expected: DevSquad 3.9.2
496
516
  python3 scripts/cli.py status # Expected: System ready
497
517
  python3 scripts/cli.py roles # Expected: 7 core roles listed
498
518
  ```
499
519
 
500
520
  ### Full Test Suite
501
521
  ```bash
502
- # Run all tests (1855 tests passing)
522
+ # Run all tests (2857+ tests passing)
503
523
  python3 -m pytest tests/ -q --tb=line
504
524
 
505
525
  # With coverage report
@@ -516,7 +536,7 @@ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
516
536
  | **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
517
537
  | **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
518
538
 
519
- **Total: 1855 tests**
539
+ **Total: 2857+ tests (2864 collected)**
520
540
 
521
541
  Run by priority:
522
542
  ```bash
@@ -537,13 +557,13 @@ python3 -m pytest tests/ -q --tb=line
537
557
  | Document | Description | Language |
538
558
  |----------|-------------|----------|
539
559
  | [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
540
- | [SKILL.md](SKILL.md) | 完整技能手册 + 70+ 模块参考 | EN/CN/JP |
560
+ | [SKILL.md](SKILL.md) | 完整技能手册 + 149+ 模块参考 | EN/CN/JP |
541
561
  | [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
542
562
  | [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
543
563
  | [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
544
564
  | [CHANGELOG.md](CHANGELOG.md) | 版本历史记录 | EN |
545
- | [docs/i18n/README_CN.md](docs/i18n/README_CN.md) | 中文说明 | 中文 |
546
- | [docs/i18n/README_JP.md](docs/i18n/README_JP.md) | 日本語説明 | 日本語 |
565
+ | [README-CN.md](README-CN.md) | 中文说明 | 中文 |
566
+ | [README-JP.md](README-JP.md) | 日本語説明 | 日本語 |
547
567
  | [docs/PRD.md](docs/PRD.md) | 产品需求文档 | 中文 |
548
568
  | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 技术架构文档 | 中文 |
549
569
 
@@ -580,6 +600,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
580
600
 
581
601
  ---
582
602
 
583
- *Last updated: 2026-06-07 | Version: V3.6.7*
603
+ *Last updated: 2026-06-26 | Version: V3.9.2*
584
604
 
585
605
  </details>