devsquad 3.9.2__tar.gz → 4.1.6__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 (431) hide show
  1. {devsquad-3.9.2 → devsquad-4.1.6}/PKG-INFO +37 -16
  2. {devsquad-3.9.2 → devsquad-4.1.6}/README.md +23 -15
  3. {devsquad-3.9.2 → devsquad-4.1.6}/devsquad.egg-info/PKG-INFO +37 -16
  4. {devsquad-3.9.2 → devsquad-4.1.6}/devsquad.egg-info/SOURCES.txt +100 -5
  5. {devsquad-3.9.2 → devsquad-4.1.6}/devsquad.egg-info/requires.txt +14 -0
  6. {devsquad-3.9.2 → devsquad-4.1.6}/pyproject.toml +50 -3
  7. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/api/routes/dispatch.py +41 -0
  8. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/api/routes/metrics_gates.py +3 -2
  9. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/api_server.py +45 -17
  10. devsquad-4.1.6/scripts/benchmark_ponytail_smart.py +435 -0
  11. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/benchmark_real_llm.py +26 -12
  12. devsquad-4.1.6/scripts/check_dependency_sync.py +95 -0
  13. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/check_version_consistency.py +15 -0
  14. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/cli/cli_visual.py +2 -2
  15. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/cli.py +88 -50
  16. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/cli_dispatch.py +91 -48
  17. devsquad-4.1.6/scripts/cli_lifecycle.py +265 -0
  18. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/cli_utils.py +30 -0
  19. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/__init__.py +2 -0
  20. devsquad-4.1.6/scripts/collaboration/_version.py +1 -0
  21. devsquad-4.1.6/scripts/collaboration/adversarial_verify.py +374 -0
  22. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/anti_rationalization.py +7 -3
  23. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/async_adapter.py +3 -3
  24. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/async_coordinator.py +63 -94
  25. devsquad-4.1.6/scripts/collaboration/autonomous/__init__.py +39 -0
  26. devsquad-4.1.6/scripts/collaboration/autonomous/git_driver.py +167 -0
  27. devsquad-4.1.6/scripts/collaboration/autonomous/loop_controller.py +538 -0
  28. devsquad-4.1.6/scripts/collaboration/autonomous/notes_memory.py +105 -0
  29. devsquad-4.1.6/scripts/collaboration/autonomous/run_state.py +122 -0
  30. devsquad-4.1.6/scripts/collaboration/autonomous/sleep_guard.py +166 -0
  31. devsquad-4.1.6/scripts/collaboration/autonomous/smart_confirmation.py +179 -0
  32. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/batch_scheduler.py +2 -1
  33. devsquad-4.1.6/scripts/collaboration/ccr_store.py +253 -0
  34. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/checkpoint_manager.py +170 -11
  35. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/ci_feedback_adapter.py +3 -2
  36. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/code_map_generator.py +52 -31
  37. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/concern_pack_loader.py +2 -2
  38. devsquad-4.1.6/scripts/collaboration/config_manager.py +555 -0
  39. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/consensus.py +26 -0
  40. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/content_cache.py +4 -4
  41. devsquad-4.1.6/scripts/collaboration/content_crusher.py +327 -0
  42. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/context_compressor.py +85 -12
  43. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/coordinator.py +241 -6
  44. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatch_audit.py +191 -11
  45. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatch_component_factory.py +102 -1
  46. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatch_hooks.py +12 -0
  47. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatch_models.py +190 -121
  48. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatch_pre_steps.py +74 -41
  49. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatch_result_assembler.py +3 -2
  50. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatch_services.py +18 -9
  51. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatch_steps.py +96 -5
  52. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatch_steps_base.py +4 -1
  53. devsquad-4.1.6/scripts/collaboration/dispatch_steps_consensus_mixin.py +9 -0
  54. devsquad-4.1.6/scripts/collaboration/dispatch_steps_feedback_mixin.py +9 -0
  55. devsquad-4.1.6/scripts/collaboration/dispatch_steps_mixins.py +710 -0
  56. devsquad-4.1.6/scripts/collaboration/dispatch_steps_quality_mixin.py +9 -0
  57. devsquad-4.1.6/scripts/collaboration/dispatch_steps_services_mixin.py +9 -0
  58. devsquad-4.1.6/scripts/collaboration/dispatcher.py +956 -0
  59. devsquad-4.1.6/scripts/collaboration/dispatcher_async_mixin.py +9 -0
  60. devsquad-4.1.6/scripts/collaboration/dispatcher_audit_mixin.py +9 -0
  61. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatcher_base.py +34 -4
  62. devsquad-4.1.6/scripts/collaboration/dispatcher_config.py +200 -0
  63. devsquad-4.1.6/scripts/collaboration/dispatcher_error_mixin.py +9 -0
  64. devsquad-4.1.6/scripts/collaboration/dispatcher_lifecycle_mixin.py +9 -0
  65. devsquad-4.1.6/scripts/collaboration/dispatcher_mixins.py +569 -0
  66. devsquad-4.1.6/scripts/collaboration/dispatcher_status_mixin.py +9 -0
  67. devsquad-4.1.6/scripts/collaboration/dispatcher_utils_mixin.py +15 -0
  68. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/enhanced_worker.py +86 -62
  69. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/enterprise_feature.py +34 -23
  70. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/execution_guard.py +110 -0
  71. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/feedback_control_loop.py +84 -57
  72. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/intent_workflow_mapper.py +53 -3
  73. devsquad-4.1.6/scripts/collaboration/learned_rule_store.py +201 -0
  74. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/lifecycle_protocol.py +93 -0
  75. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/lifecycle_shortcut_adapter.py +7 -3
  76. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/lifecycle_shortcut_helpers.py +11 -8
  77. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/llm_backend.py +17 -4
  78. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/llm_cache.py +135 -98
  79. devsquad-4.1.6/scripts/collaboration/loop_engineering/__init__.py +52 -0
  80. devsquad-4.1.6/scripts/collaboration/loop_engineering/discovery_probe.py +51 -0
  81. devsquad-4.1.6/scripts/collaboration/loop_engineering/handoff_adapter.py +47 -0
  82. devsquad-4.1.6/scripts/collaboration/loop_engineering/independent_evaluator.py +57 -0
  83. devsquad-4.1.6/scripts/collaboration/loop_engineering/kernel.py +215 -0
  84. devsquad-4.1.6/scripts/collaboration/loop_engineering/loop_scheduler.py +62 -0
  85. devsquad-4.1.6/scripts/collaboration/loop_engineering/models.py +123 -0
  86. devsquad-4.1.6/scripts/collaboration/loop_engineering/protocols.py +74 -0
  87. devsquad-4.1.6/scripts/collaboration/loop_engineering/unified_memory.py +59 -0
  88. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/mce_adapter.py +1 -1
  89. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/memory_bridge.py +3 -3
  90. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/memory_query.py +6 -6
  91. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/memory_serializer.py +93 -69
  92. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/micro_task_planner.py +69 -0
  93. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/models.py +3 -0
  94. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/models_base.py +195 -0
  95. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/multi_tenant.py +13 -19
  96. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/operation_classifier.py +202 -0
  97. devsquad-4.1.6/scripts/collaboration/output_validator.py +308 -0
  98. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/performance_monitor.py +12 -6
  99. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/permission_guard.py +85 -17
  100. devsquad-4.1.6/scripts/collaboration/plugins/__init__.py +23 -0
  101. devsquad-4.1.6/scripts/collaboration/plugins/hot_loader.py +509 -0
  102. devsquad-4.1.6/scripts/collaboration/ponytail_rule_injector.py +108 -0
  103. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/prometheus_metrics.py +16 -11
  104. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/prompt_assembler.py +108 -1
  105. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/prompt_assembler_base.py +17 -0
  106. devsquad-4.1.6/scripts/collaboration/prompt_assembler_formatting_mixin.py +9 -0
  107. devsquad-4.1.6/scripts/collaboration/prompt_assembler_mixins.py +951 -0
  108. devsquad-4.1.6/scripts/collaboration/prompt_assembler_substitution_mixin.py +9 -0
  109. devsquad-4.1.6/scripts/collaboration/prompt_assembler_template_mixin.py +9 -0
  110. devsquad-4.1.6/scripts/collaboration/prompt_assembler_validation_mixin.py +9 -0
  111. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/protocols.py +8 -3
  112. devsquad-4.1.6/scripts/collaboration/redesign_auditor.py +472 -0
  113. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/redis_cache.py +84 -42
  114. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/report_formatter.py +139 -129
  115. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/retrospective.py +80 -1
  116. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/review_checkers.py +64 -50
  117. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/role_skill_loader.py +34 -0
  118. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/rule_collector.py +349 -4
  119. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/scratchpad.py +65 -0
  120. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/severity_router.py +91 -45
  121. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/similar_task_recommender.py +3 -3
  122. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/skill_extractor.py +1 -1
  123. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/skillifier.py +81 -0
  124. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/standardized_role_template.py +219 -0
  125. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/task_completion_checker.py +4 -4
  126. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/tech_debt_manager.py +116 -20
  127. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/test_quality_guard.py +337 -14
  128. devsquad-4.1.6/scripts/collaboration/ue_test_accessibility_mixin.py +9 -0
  129. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/ue_test_framework_base.py +76 -49
  130. devsquad-4.1.6/scripts/collaboration/ue_test_heuristic_mixin.py +9 -0
  131. devsquad-4.1.6/scripts/collaboration/ue_test_journey_mixin.py +9 -0
  132. devsquad-4.1.6/scripts/collaboration/ue_test_mixins.py +524 -0
  133. devsquad-4.1.6/scripts/collaboration/ue_test_persona_mixin.py +9 -0
  134. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/unified_gate_engine.py +103 -6
  135. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/verification_gate.py +166 -3
  136. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/worker.py +2 -2
  137. devsquad-4.1.6/scripts/collaboration/workflow_engine_lifecycle_mixin.py +9 -0
  138. devsquad-4.1.6/scripts/collaboration/workflow_engine_mixins.py +580 -0
  139. devsquad-4.1.6/scripts/collaboration/workflow_engine_persistence_mixin.py +9 -0
  140. devsquad-4.1.6/scripts/collaboration/workflow_engine_state_mixin.py +9 -0
  141. devsquad-4.1.6/scripts/collaboration/workflow_engine_transition_mixin.py +9 -0
  142. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/yagni_checker.py +173 -2
  143. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/dashboard/app.py +4 -0
  144. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/dashboard/auth_views.py +2 -2
  145. devsquad-4.1.6/scripts/dashboard/components.py +1203 -0
  146. devsquad-4.1.6/scripts/dashboard/dag_views.py +553 -0
  147. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/dashboard/dispatch_views.py +164 -8
  148. devsquad-4.1.6/scripts/dashboard/i18n.py +155 -0
  149. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/dashboard/metrics_views.py +111 -0
  150. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/mcp_server.py +368 -10
  151. devsquad-4.1.6/scripts/qa/__init__.py +25 -0
  152. devsquad-4.1.6/scripts/qa/deterministic_rule_engine.py +1576 -0
  153. devsquad-4.1.6/scripts/qa/models.py +71 -0
  154. devsquad-4.1.6/scripts/qa/taste_dials.py +231 -0
  155. devsquad-4.1.6/scripts/qa/uiux_analyzer.py +989 -0
  156. devsquad-4.1.6/scripts/qa/visual_regression.py +179 -0
  157. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/utils/_find_missing_hints.py +2 -2
  158. {devsquad-3.9.2 → devsquad-4.1.6}/skills/__init__.py +3 -3
  159. devsquad-4.1.6/skills/_version.py +13 -0
  160. {devsquad-3.9.2 → devsquad-4.1.6}/skills/dispatch/handler.py +0 -1
  161. {devsquad-3.9.2 → devsquad-4.1.6}/skills/intent/handler.py +1 -2
  162. {devsquad-3.9.2 → devsquad-4.1.6}/skills/registry.py +8 -3
  163. {devsquad-3.9.2 → devsquad-4.1.6}/skills/retrospective/handler.py +1 -2
  164. {devsquad-3.9.2 → devsquad-4.1.6}/skills/review/handler.py +0 -2
  165. {devsquad-3.9.2 → devsquad-4.1.6}/skills/security/handler.py +1 -2
  166. {devsquad-3.9.2 → devsquad-4.1.6}/skills/test/handler.py +0 -1
  167. devsquad-4.1.6/tests/test_4pt_grid.py +155 -0
  168. devsquad-4.1.6/tests/test_adaptive_role_selector.py +387 -0
  169. devsquad-4.1.6/tests/test_adversarial_verify.py +416 -0
  170. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_agent_briefing.py +0 -17
  171. devsquad-4.1.6/tests/test_antipattern_bans.py +225 -0
  172. devsquad-4.1.6/tests/test_api_budget_status_endpoint.py +90 -0
  173. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_api_security.py +2 -0
  174. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_api_server_v362.py +40 -0
  175. devsquad-4.1.6/tests/test_async_coordinator.py +952 -0
  176. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_audit_logger.py +5 -0
  177. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_auth_phase5.py +2 -0
  178. devsquad-4.1.6/tests/test_autonomous.py +1551 -0
  179. devsquad-4.1.6/tests/test_benchmark_ponytail_smart.py +164 -0
  180. devsquad-4.1.6/tests/test_ccr_store.py +281 -0
  181. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_cli_deep_v362.py +3 -0
  182. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_cli_lifecycle.py +3 -0
  183. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_cli_phase5.py +2 -0
  184. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_context_compressor_test.py +5 -0
  185. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_core_test.py +3 -0
  186. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_dispatcher_test.py +5 -1
  187. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_llm_cache_test.py +3 -0
  188. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_llm_retry_test.py +3 -0
  189. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_memory_bridge_test.py +5 -0
  190. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_prompt_optimization_test.py +20 -1
  191. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_role_mapping_test.py +5 -0
  192. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_skillifier_test.py +4 -0
  193. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_upstream_test.py +5 -0
  194. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_warmup_manager_test.py +34 -7
  195. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_confidence_score.py +3 -0
  196. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_content_cache.py +5 -0
  197. devsquad-4.1.6/tests/test_content_crusher.py +398 -0
  198. devsquad-4.1.6/tests/test_coordinator_smart_compression.py +331 -0
  199. devsquad-4.1.6/tests/test_dag_views.py +310 -0
  200. devsquad-4.1.6/tests/test_dashboard_ui_e2e.py +442 -0
  201. devsquad-4.1.6/tests/test_deep_shallow.py +380 -0
  202. devsquad-4.1.6/tests/test_deletion_test.py +357 -0
  203. devsquad-4.1.6/tests/test_deterministic_rule_engine.py +730 -0
  204. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_dispatch_audit.py +5 -0
  205. devsquad-4.1.6/tests/test_dispatch_performance.py +355 -0
  206. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_dispatch_rbac.py +5 -0
  207. devsquad-4.1.6/tests/test_dispatch_steps.py +847 -0
  208. devsquad-4.1.6/tests/test_dispatcher_mixins.py +733 -0
  209. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_dispatcher_phase5_core.py +3 -0
  210. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_docker_deployment.py +9 -13
  211. devsquad-4.1.6/tests/test_dual_layer_context.py +365 -0
  212. devsquad-4.1.6/tests/test_enhanced_worker.py +679 -0
  213. devsquad-4.1.6/tests/test_feedback_control_loop.py +446 -0
  214. devsquad-4.1.6/tests/test_flow_standalone.py +159 -0
  215. devsquad-4.1.6/tests/test_git_guardrails.py +283 -0
  216. devsquad-4.1.6/tests/test_glossary_loader.py +157 -0
  217. devsquad-4.1.6/tests/test_grilling_mode.py +591 -0
  218. devsquad-4.1.6/tests/test_handoff_redaction.py +240 -0
  219. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_input_validator_phase5.py +3 -0
  220. devsquad-4.1.6/tests/test_learned_rule_phase4.py +280 -0
  221. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_llm_auto_fallback.py +5 -0
  222. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_llm_cache_protocol.py +3 -0
  223. devsquad-4.1.6/tests/test_loop_engineering.py +346 -0
  224. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_mcp_server_v362.py +14 -3
  225. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_multi_tenant.py +3 -0
  226. devsquad-4.1.6/tests/test_multi_tenant_isolation_e2e.py +441 -0
  227. devsquad-4.1.6/tests/test_no_op_test.py +303 -0
  228. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_null_providers.py +3 -0
  229. devsquad-4.1.6/tests/test_oklch_color.py +171 -0
  230. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_permission_guard_phase5.py +3 -0
  231. devsquad-4.1.6/tests/test_phase4_ghost_feature_defense.py +470 -0
  232. devsquad-4.1.6/tests/test_plugins_hot_loader.py +660 -0
  233. devsquad-4.1.6/tests/test_ponytail_rule_injector.py +267 -0
  234. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_production_features.py +2 -2
  235. devsquad-4.1.6/tests/test_prometheus_metrics.py +354 -0
  236. devsquad-4.1.6/tests/test_qa_uiux_visual_regression.py +577 -0
  237. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_rate_limit.py +4 -1
  238. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_rbac_engine.py +3 -0
  239. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_rbac_fail_closed.py +5 -0
  240. devsquad-4.1.6/tests/test_red_capable_gate.py +284 -0
  241. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_redesign_auditor.py +3 -3
  242. devsquad-4.1.6/tests/test_redis_cache.py +510 -0
  243. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_retry_jitter_strategies.py +3 -0
  244. devsquad-4.1.6/tests/test_role_skill_loader.py +666 -0
  245. devsquad-4.1.6/tests/test_rule_collector.py +1052 -0
  246. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_rule_injection_security.py +5 -0
  247. devsquad-4.1.6/tests/test_secret_patterns.py +233 -0
  248. devsquad-4.1.6/tests/test_similar_task_recommender.py +251 -0
  249. devsquad-4.1.6/tests/test_skill_registry_coverage.py +426 -0
  250. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_skill_security.py +5 -0
  251. devsquad-4.1.6/tests/test_sleep_guard.py +224 -0
  252. devsquad-4.1.6/tests/test_task_completion_checker.py +360 -0
  253. devsquad-4.1.6/tests/test_taste_dials.py +511 -0
  254. devsquad-4.1.6/tests/test_tautological_seams.py +374 -0
  255. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_tech_debt_manager.py +136 -0
  256. devsquad-4.1.6/tests/test_token_budget_compressed_scratchpad.py +328 -0
  257. devsquad-4.1.6/tests/test_triage_label.py +201 -0
  258. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_ue_test_framework.py +74 -0
  259. devsquad-4.1.6/tests/test_usage_tracker_coverage.py +453 -0
  260. devsquad-4.1.6/tests/test_v411_security_hardening.py +770 -0
  261. devsquad-4.1.6/tests/test_vertical_slice.py +220 -0
  262. devsquad-4.1.6/tests/test_workflow_engine.py +100 -0
  263. devsquad-4.1.6/tests/test_workflow_engine_base.py +470 -0
  264. devsquad-4.1.6/tests/test_workflow_engine_lifecycle.py +397 -0
  265. devsquad-4.1.6/tests/test_workflow_engine_state.py +375 -0
  266. devsquad-4.1.6/tests/test_workflow_engine_transition.py +443 -0
  267. devsquad-4.1.6/tests/test_workflow_persistence_coverage.py +331 -0
  268. devsquad-3.9.2/scripts/cli_lifecycle.py +0 -209
  269. devsquad-3.9.2/scripts/collaboration/_version.py +0 -1
  270. devsquad-3.9.2/scripts/collaboration/dispatch_steps_consensus_mixin.py +0 -144
  271. devsquad-3.9.2/scripts/collaboration/dispatch_steps_feedback_mixin.py +0 -281
  272. devsquad-3.9.2/scripts/collaboration/dispatch_steps_quality_mixin.py +0 -188
  273. devsquad-3.9.2/scripts/collaboration/dispatch_steps_services_mixin.py +0 -69
  274. devsquad-3.9.2/scripts/collaboration/dispatcher.py +0 -546
  275. devsquad-3.9.2/scripts/collaboration/dispatcher_async_mixin.py +0 -154
  276. devsquad-3.9.2/scripts/collaboration/dispatcher_audit_mixin.py +0 -68
  277. devsquad-3.9.2/scripts/collaboration/dispatcher_error_mixin.py +0 -68
  278. devsquad-3.9.2/scripts/collaboration/dispatcher_lifecycle_mixin.py +0 -54
  279. devsquad-3.9.2/scripts/collaboration/dispatcher_status_mixin.py +0 -118
  280. devsquad-3.9.2/scripts/collaboration/dispatcher_utils_mixin.py +0 -161
  281. devsquad-3.9.2/scripts/collaboration/prompt_assembler_formatting_mixin.py +0 -297
  282. devsquad-3.9.2/scripts/collaboration/prompt_assembler_substitution_mixin.py +0 -219
  283. devsquad-3.9.2/scripts/collaboration/prompt_assembler_template_mixin.py +0 -152
  284. devsquad-3.9.2/scripts/collaboration/prompt_assembler_validation_mixin.py +0 -213
  285. devsquad-3.9.2/scripts/collaboration/redesign_auditor.py +0 -229
  286. devsquad-3.9.2/scripts/collaboration/ue_test_accessibility_mixin.py +0 -53
  287. devsquad-3.9.2/scripts/collaboration/ue_test_heuristic_mixin.py +0 -236
  288. devsquad-3.9.2/scripts/collaboration/ue_test_journey_mixin.py +0 -186
  289. devsquad-3.9.2/scripts/collaboration/ue_test_persona_mixin.py +0 -89
  290. devsquad-3.9.2/scripts/collaboration/workflow_engine_lifecycle_mixin.py +0 -282
  291. devsquad-3.9.2/scripts/collaboration/workflow_engine_persistence_mixin.py +0 -122
  292. devsquad-3.9.2/scripts/collaboration/workflow_engine_state_mixin.py +0 -156
  293. devsquad-3.9.2/scripts/collaboration/workflow_engine_transition_mixin.py +0 -145
  294. devsquad-3.9.2/scripts/dashboard/components.py +0 -366
  295. devsquad-3.9.2/tests/test_comprehensive_integration.py +0 -637
  296. devsquad-3.9.2/tests/test_extended_integration.py +0 -640
  297. devsquad-3.9.2/tests/test_final_integration.py +0 -661
  298. devsquad-3.9.2/tests/test_role_skill_loader.py +0 -272
  299. devsquad-3.9.2/tests/test_v38_integration.py +0 -391
  300. devsquad-3.9.2/tests/test_v39_integration.py +0 -702
  301. {devsquad-3.9.2 → devsquad-4.1.6}/LICENSE +0 -0
  302. {devsquad-3.9.2 → devsquad-4.1.6}/devsquad.egg-info/dependency_links.txt +0 -0
  303. {devsquad-3.9.2 → devsquad-4.1.6}/devsquad.egg-info/entry_points.txt +0 -0
  304. {devsquad-3.9.2 → devsquad-4.1.6}/devsquad.egg-info/top_level.txt +0 -0
  305. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/__init__.py +0 -0
  306. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/api/__init__.py +0 -0
  307. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/api/models.py +0 -0
  308. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/api/rate_limit.py +0 -0
  309. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/api/routes/__init__.py +0 -0
  310. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/api/routes/lifecycle.py +0 -0
  311. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/api/routes/metrics.py +0 -0
  312. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/api/security.py +0 -0
  313. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/auth.py +0 -0
  314. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/benchmark_async_dispatch.py +0 -0
  315. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/cli/__init__.py +0 -0
  316. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/adaptive_role_selector.py +0 -0
  317. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/agent_briefing.py +0 -0
  318. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/ai_semantic_matcher.py +0 -0
  319. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/anchor_checker.py +0 -0
  320. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/async_llm_backend.py +0 -0
  321. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/audit_logger.py +0 -0
  322. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/cache_interface.py +0 -0
  323. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/code_graph_query.py +0 -0
  324. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/code_graph_storage.py +0 -0
  325. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/code_knowledge_graph.py +0 -0
  326. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/confidence_score.py +0 -0
  327. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/consensus_gate.py +0 -0
  328. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/constants.py +0 -0
  329. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatch_lifecycle.py +0 -0
  330. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatch_performance.py +0 -0
  331. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatch_rbac.py +0 -0
  332. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dispatcher_factory.py +0 -0
  333. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/dual_layer_context.py +0 -0
  334. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/event_bus.py +0 -0
  335. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/feature_usage_tracker.py +0 -0
  336. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/five_axis_consensus.py +0 -0
  337. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/input_validator.py +0 -0
  338. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/judge_agent.py +0 -0
  339. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/language_parsers.py +0 -0
  340. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/lifecycle_gate.py +0 -0
  341. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/lifecycle_templates.py +0 -0
  342. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/llm_cache_async.py +0 -0
  343. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/llm_cache_base.py +0 -0
  344. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/llm_retry.py +0 -0
  345. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/llm_retry_async.py +0 -0
  346. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/llm_retry_base.py +0 -0
  347. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/memory_claw_source.py +0 -0
  348. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/memory_forgetting.py +0 -0
  349. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/memory_index.py +0 -0
  350. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/memory_types.py +0 -0
  351. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/models_dispatch.py +0 -0
  352. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/models_lifecycle.py +0 -0
  353. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/multi_host_adapter.py +0 -0
  354. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/multi_level_cache.py +0 -0
  355. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/null_providers.py +0 -0
  356. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/output_slicer.py +0 -0
  357. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/performance_fingerprint.py +0 -0
  358. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/prompt_dials.py +0 -0
  359. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/rbac_engine.py +0 -0
  360. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/redesign_checkers.py +0 -0
  361. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/role_matcher.py +0 -0
  362. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/secret_patterns.py +0 -0
  363. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/skill_registry.py +0 -0
  364. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/skill_storage.py +0 -0
  365. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/two_stage_review_gate.py +0 -0
  366. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/ue_test_framework.py +0 -0
  367. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/usage_tracker.py +0 -0
  368. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/user_friendly_error.py +0 -0
  369. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/warmup_manager.py +0 -0
  370. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/workflow_engine.py +0 -0
  371. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/collaboration/workflow_engine_base.py +0 -0
  372. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/dashboard/__init__.py +0 -0
  373. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/dashboard/lifecycle_views.py +0 -0
  374. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/dashboard/state.py +0 -0
  375. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/dashboard.py +0 -0
  376. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/generate_benchmark_report.py +0 -0
  377. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/history_manager.py +0 -0
  378. {devsquad-3.9.2 → devsquad-4.1.6}/scripts/utils/__init__.py +0 -0
  379. {devsquad-3.9.2 → devsquad-4.1.6}/setup.cfg +0 -0
  380. {devsquad-3.9.2 → devsquad-4.1.6}/skills/retrospective/__init__.py +0 -0
  381. {devsquad-3.9.2 → devsquad-4.1.6}/skills/test/__init__.py +0 -0
  382. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_anchor_retrospective.py +0 -0
  383. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_anti_rationalization.py +0 -0
  384. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_async_modules.py +0 -0
  385. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_ci_feedback_adapter.py +0 -0
  386. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_code_knowledge_graph.py +0 -0
  387. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_claw_integration_test.py +0 -0
  388. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_dispatcher_ux_test.py +0 -0
  389. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_e2e_test.py +0 -0
  390. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_enhanced_e2e_test.py +0 -0
  391. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_mce_adapter_test.py +0 -0
  392. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_performance_monitor_test.py +0 -0
  393. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_permission_guard_test.py +0 -0
  394. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_test_quality_guard.py +0 -0
  395. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_collaboration_test_quality_guard_test.py +0 -0
  396. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_config_injection.py +0 -0
  397. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_consensus_gate.py +0 -0
  398. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_dashboard_split.py +0 -0
  399. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_data_backup.py +0 -0
  400. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_dependency_lock.py +0 -0
  401. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_five_axis_consensus.py +0 -0
  402. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_full_lifecycle_adapter.py +0 -0
  403. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_history_manager_v362.py +0 -0
  404. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_intent_workflow_mapper.py +0 -0
  405. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_judge_agent.py +0 -0
  406. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_lifecycle_protocol.py +0 -0
  407. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_memory_benchmarks.py +0 -0
  408. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_micro_task_planner.py +0 -0
  409. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_multi_host_adapter.py +0 -0
  410. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_node_type_separation.py +0 -0
  411. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_operation_classifier.py +0 -0
  412. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_output_slicer.py +0 -0
  413. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_performance_benchmarks.py +0 -0
  414. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_performance_fingerprint.py +0 -0
  415. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_performance_monitor_protocol.py +0 -0
  416. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_pipeline_step19_20.py +0 -0
  417. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_plan_c_unified_architecture.py +0 -0
  418. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_prompt_dials.py +0 -0
  419. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_protocols.py +0 -0
  420. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_quick_bonus.py +0 -0
  421. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_severity_router.py +0 -0
  422. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_standardized_role_template.py +0 -0
  423. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_start_script.py +0 -0
  424. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_step_node_types.py +0 -0
  425. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_suggested_next_steps.py +0 -0
  426. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_two_stage_review_gate.py +0 -0
  427. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_v39_e2e.py +0 -0
  428. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_v39_performance.py +0 -0
  429. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_verification_gate.py +0 -0
  430. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_version.py +0 -0
  431. {devsquad-3.9.2 → devsquad-4.1.6}/tests/test_yagni_checker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devsquad
3
- Version: 3.9.2
3
+ Version: 4.1.6
4
4
  Summary: Production-Ready Multi-Role AI Task Orchestrator
5
5
  Author-email: DevSquad Team <devsquad@example.com>
6
6
  License: MIT
@@ -48,6 +48,8 @@ Requires-Dist: streamlit>=1.28.0; extra == "visualization"
48
48
  Requires-Dist: jupyter>=1.0; extra == "visualization"
49
49
  Provides-Extra: alerts
50
50
  Requires-Dist: slack-sdk>=3.21.0; extra == "alerts"
51
+ Provides-Extra: qa
52
+ Requires-Dist: Pillow>=10.0.0; extra == "qa"
51
53
  Provides-Extra: dev
52
54
  Requires-Dist: pytest>=7.0; extra == "dev"
53
55
  Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
@@ -56,6 +58,12 @@ Requires-Dist: ruff>=0.4.0; extra == "dev"
56
58
  Requires-Dist: mypy>=1.0; extra == "dev"
57
59
  Requires-Dist: black>=23.0; extra == "dev"
58
60
  Requires-Dist: flake8>=6.0; extra == "dev"
61
+ Requires-Dist: httpx2>=2.5.0; extra == "dev"
62
+ Requires-Dist: streamlit>=1.28.0; extra == "dev"
63
+ Requires-Dist: Pillow>=10.0.0; extra == "dev"
64
+ Requires-Dist: fakeredis>=2.30; extra == "dev"
65
+ Requires-Dist: redis>=5.0; extra == "dev"
66
+ Requires-Dist: hypothesis>=6.0; extra == "dev"
59
67
  Provides-Extra: all
60
68
  Requires-Dist: openai>=1.0; extra == "all"
61
69
  Requires-Dist: anthropic>=0.18; extra == "all"
@@ -69,6 +77,7 @@ Requires-Dist: pydantic>=2.0; extra == "all"
69
77
  Requires-Dist: streamlit>=1.28.0; extra == "all"
70
78
  Requires-Dist: jupyter>=1.0; extra == "all"
71
79
  Requires-Dist: slack-sdk>=3.21.0; extra == "all"
80
+ Requires-Dist: Pillow>=10.0.0; extra == "all"
72
81
  Requires-Dist: pytest>=7.0; extra == "all"
73
82
  Requires-Dist: pytest-asyncio>=0.21; extra == "all"
74
83
  Requires-Dist: pytest-cov>=4.1; extra == "all"
@@ -76,6 +85,10 @@ Requires-Dist: ruff>=0.4.0; extra == "all"
76
85
  Requires-Dist: mypy>=1.0; extra == "all"
77
86
  Requires-Dist: black>=23.0; extra == "all"
78
87
  Requires-Dist: flake8>=6.0; extra == "all"
88
+ Requires-Dist: httpx2>=2.5.0; extra == "all"
89
+ Requires-Dist: fakeredis>=2.30; extra == "all"
90
+ Requires-Dist: redis>=5.0; extra == "all"
91
+ Requires-Dist: hypothesis>=6.0; extra == "all"
79
92
  Dynamic: license-file
80
93
 
81
94
  # DevSquad — Multi-Role AI Task Orchestrator
@@ -83,14 +96,14 @@ Dynamic: license-file
83
96
  <p align="center">
84
97
  <strong>🎯 把「单个 AI 助手」升级成「7 人 AI 专业团队」</strong>
85
98
  <br>
86
- <em>One task → Multi-role AI collaboration → One conclusion | V3.9.2 Enterprise Ready</em>
99
+ <em>One task → Multi-role AI collaboration → One conclusion | V4.1.6 Enterprise-Ready (RBAC/Audit/Multi-Tenancy in Preview)</em>
87
100
  </p>
88
101
 
89
102
  <p align="center">
90
103
  <img alt="Python" src="https://img.shields.io/badge/Python-3.10+-blue?logo=python&logoColor=white" />
91
104
  <img alt="License" src="https://img.shields.io/badge/License-MIT-green" />
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" />
105
+ <img alt="Tests" src="https://img.shields.io/badge/Tests-5250%2B%20passing-brightgreen" />
106
+ <img alt="Version" src="https://img.shields.io/badge/V4.1.6-success" />
94
107
  <img alt="CI" src="https://img.shields.io/badge/CI-GitHub_Actions-blue?logo=githubactions" />
95
108
  <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
109
  <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,16 +157,24 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
144
157
  | 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
145
158
  | 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
146
159
 
147
- 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [149+ 模块详细参考](SKILL.md)
160
+ 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [185+ 模块详细参考](SKILL.md)
148
161
 
149
162
  ---
150
163
 
151
164
  <details>
152
165
  <summary>🔍 点击展开:完整功能介绍与架构详解</summary>
153
166
 
154
- ## 🚀 V3.9.2: Auto LLM Fallback + Dashboard Split + SQLite Audit Persistence + P3 Cleanup
167
+ ## 🚀 V4.1.0: Loop Engineering + UI/UX 巡检 + Adversarial 验证 + DAG 可视化 + Autonomous + 插件热加载
155
168
 
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.
169
+ **DevSquad V4.1.0** 借鉴上游 TraeMultiAgentSkill v2.7 理念,新增 6 个特性(P1-P3),全面接入 dispatch pipeline,无幽灵功能:
170
+ - **P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling 五步闭环
171
+ - **P1-2 UI/UX 巡检**: 4 维度审计(a11y/interaction/layout/ux)+ PIL 像素 diff 视觉回归
172
+ - **P2-1 Adversarial 验证**: 红队攻击 + 蓝队防御 + 裁判仲裁三阶段对抗验证
173
+ - **P2-2 DAG 可视化**: Mermaid / JSON / DOT 三种格式依赖图可视化
174
+ - **P3-1 Autonomous**: plan → dev → verify → fix 4 阶段自主迭代,复用 LoopKernel,不绕过共识门
175
+ - **P3-2 插件热加载**: 三种加载路径 + 路径穿越三层防护 + reload 回滚 + 审计日志
176
+
177
+ 5250+ tests passing。
157
178
 
158
179
  ---
159
180
 
@@ -223,7 +244,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
223
244
  ./scripts/start.sh --help
224
245
  ```
225
246
 
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`).
247
+ `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`). V4.1.0 adds Loop Engineering, UI/UX 巡检, Adversarial 验证, DAG 可视化, Autonomous, and 插件热加载.
227
248
 
228
249
  ---
229
250
 
@@ -245,7 +266,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
245
266
 
246
267
  ## 🏗️ Five Capability Domains (Architecture Overview)
247
268
 
248
- DevSquad's 149+ modules are organized into **5 capability domains**, each solving a specific problem:
269
+ DevSquad's 185+ modules are organized into **5 capability domains**, each solving a specific problem:
249
270
 
250
271
  ### 🎯 Domain 1: Task Orchestration Engine (Core)
251
272
 
@@ -537,11 +558,11 @@ devsquad dispatch -t "Design user authentication system"
537
558
  ```bash
538
559
  # Check version
539
560
  devsquad --version
540
- # Expected: devsquad 3.9.2
561
+ # Expected: devsquad 4.1.0
541
562
 
542
563
  # Run tests
543
564
  pytest tests/ -v --tb=short
544
- # Expected: 2857+ passed
565
+ # Expected: 5250+ passed
545
566
  ```
546
567
 
547
568
  ---
@@ -592,14 +613,14 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
592
613
 
593
614
  ### Quick Smoke Test (< 30 seconds)
594
615
  ```bash
595
- python3 scripts/cli.py --version # Expected: DevSquad 3.9.2
616
+ python3 scripts/cli.py --version # Expected: DevSquad 4.1.0
596
617
  python3 scripts/cli.py status # Expected: System ready
597
618
  python3 scripts/cli.py roles # Expected: 7 core roles listed
598
619
  ```
599
620
 
600
621
  ### Full Test Suite
601
622
  ```bash
602
- # Run all tests (2857+ tests passing)
623
+ # Run all tests (5250+ tests passing)
603
624
  python3 -m pytest tests/ -q --tb=line
604
625
 
605
626
  # With coverage report
@@ -616,7 +637,7 @@ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
616
637
  | **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
617
638
  | **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
618
639
 
619
- **Total: 2857+ tests (2864 collected)**
640
+ **Total: 5250+ CI tests / 66 e2e (5355 collected)**
620
641
 
621
642
  Run by priority:
622
643
  ```bash
@@ -637,7 +658,7 @@ python3 -m pytest tests/ -q --tb=line
637
658
  | Document | Description | Language |
638
659
  |----------|-------------|----------|
639
660
  | [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
640
- | [SKILL.md](SKILL.md) | 完整技能手册 + 149+ 模块参考 | EN/CN/JP |
661
+ | [SKILL.md](SKILL.md) | 完整技能手册 + 185+ 模块参考 | EN/CN/JP |
641
662
  | [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
642
663
  | [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
643
664
  | [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
@@ -680,6 +701,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
680
701
 
681
702
  ---
682
703
 
683
- *Last updated: 2026-06-26 | Version: V3.9.2*
704
+ *Last updated: 2026-07-20 | Version: V4.1.6*
684
705
 
685
706
  </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.9.2 Enterprise Ready</em>
6
+ <em>One task → Multi-role AI collaboration → One conclusion | V4.1.6 Enterprise-Ready (RBAC/Audit/Multi-Tenancy in Preview)</em>
7
7
  </p>
8
8
 
9
9
  <p align="center">
10
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-2857%2B%20passing-brightgreen" />
13
- <img alt="Version" src="https://img.shields.io/badge/V3.9.2-success" />
12
+ <img alt="Tests" src="https://img.shields.io/badge/Tests-5250%2B%20passing-brightgreen" />
13
+ <img alt="Version" src="https://img.shields.io/badge/V4.1.6-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,16 +64,24 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
64
64
  | 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
65
65
  | 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
66
66
 
67
- 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [149+ 模块详细参考](SKILL.md)
67
+ 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [185+ 模块详细参考](SKILL.md)
68
68
 
69
69
  ---
70
70
 
71
71
  <details>
72
72
  <summary>🔍 点击展开:完整功能介绍与架构详解</summary>
73
73
 
74
- ## 🚀 V3.9.2: Auto LLM Fallback + Dashboard Split + SQLite Audit Persistence + P3 Cleanup
74
+ ## 🚀 V4.1.0: Loop Engineering + UI/UX 巡检 + Adversarial 验证 + DAG 可视化 + Autonomous + 插件热加载
75
75
 
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.
76
+ **DevSquad V4.1.0** 借鉴上游 TraeMultiAgentSkill v2.7 理念,新增 6 个特性(P1-P3),全面接入 dispatch pipeline,无幽灵功能:
77
+ - **P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling 五步闭环
78
+ - **P1-2 UI/UX 巡检**: 4 维度审计(a11y/interaction/layout/ux)+ PIL 像素 diff 视觉回归
79
+ - **P2-1 Adversarial 验证**: 红队攻击 + 蓝队防御 + 裁判仲裁三阶段对抗验证
80
+ - **P2-2 DAG 可视化**: Mermaid / JSON / DOT 三种格式依赖图可视化
81
+ - **P3-1 Autonomous**: plan → dev → verify → fix 4 阶段自主迭代,复用 LoopKernel,不绕过共识门
82
+ - **P3-2 插件热加载**: 三种加载路径 + 路径穿越三层防护 + reload 回滚 + 审计日志
83
+
84
+ 5250+ tests passing。
77
85
 
78
86
  ---
79
87
 
@@ -143,7 +151,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
143
151
  ./scripts/start.sh --help
144
152
  ```
145
153
 
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`).
154
+ `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`). V4.1.0 adds Loop Engineering, UI/UX 巡检, Adversarial 验证, DAG 可视化, Autonomous, and 插件热加载.
147
155
 
148
156
  ---
149
157
 
@@ -165,7 +173,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
165
173
 
166
174
  ## 🏗️ Five Capability Domains (Architecture Overview)
167
175
 
168
- DevSquad's 149+ modules are organized into **5 capability domains**, each solving a specific problem:
176
+ DevSquad's 185+ modules are organized into **5 capability domains**, each solving a specific problem:
169
177
 
170
178
  ### 🎯 Domain 1: Task Orchestration Engine (Core)
171
179
 
@@ -457,11 +465,11 @@ devsquad dispatch -t "Design user authentication system"
457
465
  ```bash
458
466
  # Check version
459
467
  devsquad --version
460
- # Expected: devsquad 3.9.2
468
+ # Expected: devsquad 4.1.0
461
469
 
462
470
  # Run tests
463
471
  pytest tests/ -v --tb=short
464
- # Expected: 2857+ passed
472
+ # Expected: 5250+ passed
465
473
  ```
466
474
 
467
475
  ---
@@ -512,14 +520,14 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
512
520
 
513
521
  ### Quick Smoke Test (< 30 seconds)
514
522
  ```bash
515
- python3 scripts/cli.py --version # Expected: DevSquad 3.9.2
523
+ python3 scripts/cli.py --version # Expected: DevSquad 4.1.0
516
524
  python3 scripts/cli.py status # Expected: System ready
517
525
  python3 scripts/cli.py roles # Expected: 7 core roles listed
518
526
  ```
519
527
 
520
528
  ### Full Test Suite
521
529
  ```bash
522
- # Run all tests (2857+ tests passing)
530
+ # Run all tests (5250+ tests passing)
523
531
  python3 -m pytest tests/ -q --tb=line
524
532
 
525
533
  # With coverage report
@@ -536,7 +544,7 @@ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
536
544
  | **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
537
545
  | **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
538
546
 
539
- **Total: 2857+ tests (2864 collected)**
547
+ **Total: 5250+ CI tests / 66 e2e (5355 collected)**
540
548
 
541
549
  Run by priority:
542
550
  ```bash
@@ -557,7 +565,7 @@ python3 -m pytest tests/ -q --tb=line
557
565
  | Document | Description | Language |
558
566
  |----------|-------------|----------|
559
567
  | [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
560
- | [SKILL.md](SKILL.md) | 完整技能手册 + 149+ 模块参考 | EN/CN/JP |
568
+ | [SKILL.md](SKILL.md) | 完整技能手册 + 185+ 模块参考 | EN/CN/JP |
561
569
  | [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
562
570
  | [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
563
571
  | [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
@@ -600,6 +608,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
600
608
 
601
609
  ---
602
610
 
603
- *Last updated: 2026-06-26 | Version: V3.9.2*
611
+ *Last updated: 2026-07-20 | Version: V4.1.6*
604
612
 
605
613
  </details>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devsquad
3
- Version: 3.9.2
3
+ Version: 4.1.6
4
4
  Summary: Production-Ready Multi-Role AI Task Orchestrator
5
5
  Author-email: DevSquad Team <devsquad@example.com>
6
6
  License: MIT
@@ -48,6 +48,8 @@ Requires-Dist: streamlit>=1.28.0; extra == "visualization"
48
48
  Requires-Dist: jupyter>=1.0; extra == "visualization"
49
49
  Provides-Extra: alerts
50
50
  Requires-Dist: slack-sdk>=3.21.0; extra == "alerts"
51
+ Provides-Extra: qa
52
+ Requires-Dist: Pillow>=10.0.0; extra == "qa"
51
53
  Provides-Extra: dev
52
54
  Requires-Dist: pytest>=7.0; extra == "dev"
53
55
  Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
@@ -56,6 +58,12 @@ Requires-Dist: ruff>=0.4.0; extra == "dev"
56
58
  Requires-Dist: mypy>=1.0; extra == "dev"
57
59
  Requires-Dist: black>=23.0; extra == "dev"
58
60
  Requires-Dist: flake8>=6.0; extra == "dev"
61
+ Requires-Dist: httpx2>=2.5.0; extra == "dev"
62
+ Requires-Dist: streamlit>=1.28.0; extra == "dev"
63
+ Requires-Dist: Pillow>=10.0.0; extra == "dev"
64
+ Requires-Dist: fakeredis>=2.30; extra == "dev"
65
+ Requires-Dist: redis>=5.0; extra == "dev"
66
+ Requires-Dist: hypothesis>=6.0; extra == "dev"
59
67
  Provides-Extra: all
60
68
  Requires-Dist: openai>=1.0; extra == "all"
61
69
  Requires-Dist: anthropic>=0.18; extra == "all"
@@ -69,6 +77,7 @@ Requires-Dist: pydantic>=2.0; extra == "all"
69
77
  Requires-Dist: streamlit>=1.28.0; extra == "all"
70
78
  Requires-Dist: jupyter>=1.0; extra == "all"
71
79
  Requires-Dist: slack-sdk>=3.21.0; extra == "all"
80
+ Requires-Dist: Pillow>=10.0.0; extra == "all"
72
81
  Requires-Dist: pytest>=7.0; extra == "all"
73
82
  Requires-Dist: pytest-asyncio>=0.21; extra == "all"
74
83
  Requires-Dist: pytest-cov>=4.1; extra == "all"
@@ -76,6 +85,10 @@ Requires-Dist: ruff>=0.4.0; extra == "all"
76
85
  Requires-Dist: mypy>=1.0; extra == "all"
77
86
  Requires-Dist: black>=23.0; extra == "all"
78
87
  Requires-Dist: flake8>=6.0; extra == "all"
88
+ Requires-Dist: httpx2>=2.5.0; extra == "all"
89
+ Requires-Dist: fakeredis>=2.30; extra == "all"
90
+ Requires-Dist: redis>=5.0; extra == "all"
91
+ Requires-Dist: hypothesis>=6.0; extra == "all"
79
92
  Dynamic: license-file
80
93
 
81
94
  # DevSquad — Multi-Role AI Task Orchestrator
@@ -83,14 +96,14 @@ Dynamic: license-file
83
96
  <p align="center">
84
97
  <strong>🎯 把「单个 AI 助手」升级成「7 人 AI 专业团队」</strong>
85
98
  <br>
86
- <em>One task → Multi-role AI collaboration → One conclusion | V3.9.2 Enterprise Ready</em>
99
+ <em>One task → Multi-role AI collaboration → One conclusion | V4.1.6 Enterprise-Ready (RBAC/Audit/Multi-Tenancy in Preview)</em>
87
100
  </p>
88
101
 
89
102
  <p align="center">
90
103
  <img alt="Python" src="https://img.shields.io/badge/Python-3.10+-blue?logo=python&logoColor=white" />
91
104
  <img alt="License" src="https://img.shields.io/badge/License-MIT-green" />
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" />
105
+ <img alt="Tests" src="https://img.shields.io/badge/Tests-5250%2B%20passing-brightgreen" />
106
+ <img alt="Version" src="https://img.shields.io/badge/V4.1.6-success" />
94
107
  <img alt="CI" src="https://img.shields.io/badge/CI-GitHub_Actions-blue?logo=githubactions" />
95
108
  <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
109
  <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,16 +157,24 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
144
157
  | 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
145
158
  | 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
146
159
 
147
- 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [149+ 模块详细参考](SKILL.md)
160
+ 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [185+ 模块详细参考](SKILL.md)
148
161
 
149
162
  ---
150
163
 
151
164
  <details>
152
165
  <summary>🔍 点击展开:完整功能介绍与架构详解</summary>
153
166
 
154
- ## 🚀 V3.9.2: Auto LLM Fallback + Dashboard Split + SQLite Audit Persistence + P3 Cleanup
167
+ ## 🚀 V4.1.0: Loop Engineering + UI/UX 巡检 + Adversarial 验证 + DAG 可视化 + Autonomous + 插件热加载
155
168
 
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.
169
+ **DevSquad V4.1.0** 借鉴上游 TraeMultiAgentSkill v2.7 理念,新增 6 个特性(P1-P3),全面接入 dispatch pipeline,无幽灵功能:
170
+ - **P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling 五步闭环
171
+ - **P1-2 UI/UX 巡检**: 4 维度审计(a11y/interaction/layout/ux)+ PIL 像素 diff 视觉回归
172
+ - **P2-1 Adversarial 验证**: 红队攻击 + 蓝队防御 + 裁判仲裁三阶段对抗验证
173
+ - **P2-2 DAG 可视化**: Mermaid / JSON / DOT 三种格式依赖图可视化
174
+ - **P3-1 Autonomous**: plan → dev → verify → fix 4 阶段自主迭代,复用 LoopKernel,不绕过共识门
175
+ - **P3-2 插件热加载**: 三种加载路径 + 路径穿越三层防护 + reload 回滚 + 审计日志
176
+
177
+ 5250+ tests passing。
157
178
 
158
179
  ---
159
180
 
@@ -223,7 +244,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
223
244
  ./scripts/start.sh --help
224
245
  ```
225
246
 
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`).
247
+ `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`). V4.1.0 adds Loop Engineering, UI/UX 巡检, Adversarial 验证, DAG 可视化, Autonomous, and 插件热加载.
227
248
 
228
249
  ---
229
250
 
@@ -245,7 +266,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
245
266
 
246
267
  ## 🏗️ Five Capability Domains (Architecture Overview)
247
268
 
248
- DevSquad's 149+ modules are organized into **5 capability domains**, each solving a specific problem:
269
+ DevSquad's 185+ modules are organized into **5 capability domains**, each solving a specific problem:
249
270
 
250
271
  ### 🎯 Domain 1: Task Orchestration Engine (Core)
251
272
 
@@ -537,11 +558,11 @@ devsquad dispatch -t "Design user authentication system"
537
558
  ```bash
538
559
  # Check version
539
560
  devsquad --version
540
- # Expected: devsquad 3.9.2
561
+ # Expected: devsquad 4.1.0
541
562
 
542
563
  # Run tests
543
564
  pytest tests/ -v --tb=short
544
- # Expected: 2857+ passed
565
+ # Expected: 5250+ passed
545
566
  ```
546
567
 
547
568
  ---
@@ -592,14 +613,14 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
592
613
 
593
614
  ### Quick Smoke Test (< 30 seconds)
594
615
  ```bash
595
- python3 scripts/cli.py --version # Expected: DevSquad 3.9.2
616
+ python3 scripts/cli.py --version # Expected: DevSquad 4.1.0
596
617
  python3 scripts/cli.py status # Expected: System ready
597
618
  python3 scripts/cli.py roles # Expected: 7 core roles listed
598
619
  ```
599
620
 
600
621
  ### Full Test Suite
601
622
  ```bash
602
- # Run all tests (2857+ tests passing)
623
+ # Run all tests (5250+ tests passing)
603
624
  python3 -m pytest tests/ -q --tb=line
604
625
 
605
626
  # With coverage report
@@ -616,7 +637,7 @@ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
616
637
  | **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
617
638
  | **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
618
639
 
619
- **Total: 2857+ tests (2864 collected)**
640
+ **Total: 5250+ CI tests / 66 e2e (5355 collected)**
620
641
 
621
642
  Run by priority:
622
643
  ```bash
@@ -637,7 +658,7 @@ python3 -m pytest tests/ -q --tb=line
637
658
  | Document | Description | Language |
638
659
  |----------|-------------|----------|
639
660
  | [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
640
- | [SKILL.md](SKILL.md) | 完整技能手册 + 149+ 模块参考 | EN/CN/JP |
661
+ | [SKILL.md](SKILL.md) | 完整技能手册 + 185+ 模块参考 | EN/CN/JP |
641
662
  | [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
642
663
  | [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
643
664
  | [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
@@ -680,6 +701,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
680
701
 
681
702
  ---
682
703
 
683
- *Last updated: 2026-06-26 | Version: V3.9.2*
704
+ *Last updated: 2026-07-20 | Version: V4.1.6*
684
705
 
685
706
  </details>