devsquad 4.5.9__tar.gz → 4.5.18__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 (527) hide show
  1. {devsquad-4.5.9 → devsquad-4.5.18}/PKG-INFO +22 -19
  2. {devsquad-4.5.9 → devsquad-4.5.18}/README.md +16 -16
  3. {devsquad-4.5.9 → devsquad-4.5.18}/devsquad.egg-info/PKG-INFO +22 -19
  4. {devsquad-4.5.9 → devsquad-4.5.18}/devsquad.egg-info/SOURCES.txt +8 -0
  5. {devsquad-4.5.9 → devsquad-4.5.18}/devsquad.egg-info/requires.txt +5 -2
  6. {devsquad-4.5.9 → devsquad-4.5.18}/pyproject.toml +10 -4
  7. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/api/routes/dispatch.py +1 -1
  8. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/api/routes/lifecycle.py +2 -2
  9. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/api/routes/metrics_gates.py +1 -1
  10. devsquad-4.5.18/scripts/check_bandit.py +185 -0
  11. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/check_dependency_sync.py +22 -5
  12. devsquad-4.5.18/scripts/check_dispatcher_size.py +198 -0
  13. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/check_doc_consistency.py +20 -1
  14. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/check_hidden_content.py +70 -0
  15. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/check_module_activation.py +304 -17
  16. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/check_test_quality.py +1 -1
  17. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/check_version_consistency.py +174 -5
  18. devsquad-4.5.18/scripts/cli/__init__.py +8 -0
  19. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/cli/cli_visual.py +11 -0
  20. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/cli.py +67 -39
  21. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/cli_dispatch.py +36 -6
  22. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/cli_metrics.py +81 -2
  23. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/cli_risks.py +108 -72
  24. devsquad-4.5.18/scripts/collaboration/_version.py +2 -0
  25. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/artifact_store.py +6 -3
  26. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/async_coeffect_resolver.py +3 -2
  27. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/async_coordinator.py +3 -2
  28. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/ccr_store.py +8 -0
  29. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/code_graph_storage.py +15 -0
  30. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/coeffect.py +13 -9
  31. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/config_manager.py +2 -2
  32. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher_mixins.py +9 -2
  33. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/file_risk_store.py +169 -8
  34. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/host_llm_bridge.py +122 -6
  35. devsquad-4.5.18/scripts/collaboration/host_llm_bridge_v2.py +699 -0
  36. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/llm_backend.py +191 -192
  37. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/module_fiber.py +1 -1
  38. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/order_chain_detector.py +51 -33
  39. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/output_validator.py +2 -2
  40. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/prometheus_metrics.py +60 -4
  41. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/scratchpad_history_store.py +13 -5
  42. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/skill_registry.py +67 -43
  43. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/skillifier.py +1 -1
  44. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/task_scale_gate.py +2 -2
  45. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/worker.py +137 -98
  46. devsquad-4.5.18/scripts/collect_trae_traces.py +351 -0
  47. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/dashboard/components.py +1 -1
  48. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/dashboard/dag_views.py +1 -1
  49. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/dashboard/i18n.py +1 -1
  50. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/history_manager.py +10 -1
  51. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/mcp_server.py +1 -1
  52. devsquad-4.5.18/scripts/perf_baseline.py +89 -0
  53. devsquad-4.5.18/scripts/sync_skill_pack.py +501 -0
  54. devsquad-4.5.18/scripts/verify_prometheus_e2e.py +292 -0
  55. {devsquad-4.5.9 → devsquad-4.5.18}/skills/__init__.py +1 -1
  56. devsquad-4.5.18/tests/test_check_bandit.py +246 -0
  57. devsquad-4.5.18/tests/test_check_dispatcher_size.py +176 -0
  58. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_check_version_consistency.py +59 -0
  59. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_cli_metrics.py +4 -2
  60. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_docker_deployment.py +2 -2
  61. devsquad-4.5.18/tests/test_host_llm_bridge_v2.py +465 -0
  62. devsquad-4.5.9/scripts/cli/__init__.py +0 -1
  63. devsquad-4.5.9/scripts/collaboration/_version.py +0 -1
  64. devsquad-4.5.9/scripts/collaboration/host_llm_bridge_v2.py +0 -502
  65. devsquad-4.5.9/tests/test_host_llm_bridge_v2.py +0 -297
  66. {devsquad-4.5.9 → devsquad-4.5.18}/LICENSE +0 -0
  67. {devsquad-4.5.9 → devsquad-4.5.18}/devsquad.egg-info/dependency_links.txt +0 -0
  68. {devsquad-4.5.9 → devsquad-4.5.18}/devsquad.egg-info/entry_points.txt +0 -0
  69. {devsquad-4.5.9 → devsquad-4.5.18}/devsquad.egg-info/top_level.txt +0 -0
  70. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/__init__.py +0 -0
  71. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/api/__init__.py +0 -0
  72. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/api/models.py +0 -0
  73. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/api/rate_limit.py +0 -0
  74. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/api/routes/__init__.py +0 -0
  75. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/api/routes/metrics.py +0 -0
  76. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/api/security.py +0 -0
  77. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/api_server.py +0 -0
  78. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/auth.py +0 -0
  79. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/benchmark_async_dispatch.py +0 -0
  80. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/benchmark_ponytail_smart.py +0 -0
  81. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/benchmark_real_llm.py +0 -0
  82. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/check_async_coverage.py +0 -0
  83. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/check_config_consistency.py +0 -0
  84. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/check_constructor_params.py +0 -0
  85. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/check_dependency_lock.py +0 -0
  86. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/check_test_pyramid.py +0 -0
  87. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/cli_audit.py +0 -0
  88. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/cli_backend.py +0 -0
  89. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/cli_doctor.py +0 -0
  90. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/cli_lifecycle.py +0 -0
  91. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/cli_modules.py +0 -0
  92. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/cli_sessions.py +0 -0
  93. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/cli_utils.py +0 -0
  94. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/__init__.py +0 -0
  95. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/adaptive_role_selector.py +0 -0
  96. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/adversarial_verify.py +0 -0
  97. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/agent_briefing.py +0 -0
  98. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/agent_identity.py +0 -0
  99. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/ai_semantic_matcher.py +0 -0
  100. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/anchor_checker.py +0 -0
  101. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/anti_rationalization.py +0 -0
  102. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/approval_gate.py +0 -0
  103. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/async_adapter.py +0 -0
  104. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/async_llm_backend.py +0 -0
  105. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/audit_logger.py +0 -0
  106. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/autonomous/__init__.py +0 -0
  107. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/autonomous/git_driver.py +0 -0
  108. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/autonomous/loop_controller.py +0 -0
  109. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/autonomous/notes_memory.py +0 -0
  110. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/autonomous/run_state.py +0 -0
  111. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/autonomous/sleep_guard.py +0 -0
  112. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/autonomous/smart_confirmation.py +0 -0
  113. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/backend_config.py +0 -0
  114. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/backend_paths.py +0 -0
  115. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/batch_scheduler.py +0 -0
  116. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/benchmark_regression_checker.py +0 -0
  117. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/cache_interface.py +0 -0
  118. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/checkpoint_manager.py +0 -0
  119. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/ci_feedback_adapter.py +0 -0
  120. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/cli_command_classifier.py +0 -0
  121. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/code_graph_query.py +0 -0
  122. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/code_knowledge_graph.py +0 -0
  123. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/code_map_generator.py +0 -0
  124. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/concern_pack_loader.py +0 -0
  125. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/confidence_score.py +0 -0
  126. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/connector_framework.py +0 -0
  127. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/consensus.py +0 -0
  128. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/consensus_gate.py +0 -0
  129. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/constants.py +0 -0
  130. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/content_cache.py +0 -0
  131. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/content_crusher.py +0 -0
  132. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/context_compressor.py +0 -0
  133. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/coordinator.py +0 -0
  134. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dashboard_live_mode.py +0 -0
  135. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/debt_collector.py +0 -0
  136. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dependency_hallucination_checker.py +0 -0
  137. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/deployment_compliance_checker.py +0 -0
  138. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_audit.py +0 -0
  139. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_component_factory.py +0 -0
  140. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_effect.py +0 -0
  141. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_hooks.py +0 -0
  142. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_lifecycle.py +0 -0
  143. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_models.py +0 -0
  144. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_performance.py +0 -0
  145. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_pre_steps.py +0 -0
  146. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_rbac.py +0 -0
  147. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_result_assembler.py +0 -0
  148. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_services.py +0 -0
  149. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_steps.py +0 -0
  150. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_steps_base.py +0 -0
  151. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_steps_consensus_mixin.py +0 -0
  152. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_steps_feedback_mixin.py +0 -0
  153. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_steps_mixins.py +0 -0
  154. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_steps_quality_mixin.py +0 -0
  155. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatch_steps_services_mixin.py +0 -0
  156. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher.py +0 -0
  157. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher_async_mixin.py +0 -0
  158. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher_audit_mixin.py +0 -0
  159. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher_base.py +0 -0
  160. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher_config.py +0 -0
  161. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher_error_mixin.py +0 -0
  162. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher_factory.py +0 -0
  163. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher_intent_mapper.py +0 -0
  164. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher_lifecycle_mixin.py +0 -0
  165. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher_loop_controller.py +0 -0
  166. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher_status_mixin.py +0 -0
  167. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher_transaction.py +0 -0
  168. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dispatcher_utils_mixin.py +0 -0
  169. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dora_metrics_collector.py +0 -0
  170. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/dual_layer_context.py +0 -0
  171. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/effect_registry.py +0 -0
  172. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/enhanced_worker.py +0 -0
  173. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/enterprise_feature.py +0 -0
  174. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/error_budget_tracker.py +0 -0
  175. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/event_bus.py +0 -0
  176. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/execution_guard.py +0 -0
  177. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/feature_usage_tracker.py +0 -0
  178. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/feedback_control_loop.py +0 -0
  179. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/file_bundler.py +0 -0
  180. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/five_axis_consensus.py +0 -0
  181. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/gap_analyzer.py +0 -0
  182. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/gather_core.py +0 -0
  183. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/gitlab_connector.py +0 -0
  184. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/input_validator.py +0 -0
  185. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/intent_workflow_mapper.py +0 -0
  186. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/judge_agent.py +0 -0
  187. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/language_parsers.py +0 -0
  188. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/learned_rule_store.py +0 -0
  189. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/lifecycle_gate.py +0 -0
  190. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/lifecycle_protocol.py +0 -0
  191. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/lifecycle_shortcut_adapter.py +0 -0
  192. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/lifecycle_shortcut_helpers.py +0 -0
  193. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/lifecycle_templates.py +0 -0
  194. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/llm_cache.py +0 -0
  195. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/llm_cache_async.py +0 -0
  196. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/llm_cache_base.py +0 -0
  197. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/llm_retry.py +0 -0
  198. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/llm_retry_async.py +0 -0
  199. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/llm_retry_base.py +0 -0
  200. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/loop_engineering/__init__.py +0 -0
  201. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/loop_engineering/discovery_probe.py +0 -0
  202. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/loop_engineering/handoff_adapter.py +0 -0
  203. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/loop_engineering/independent_evaluator.py +0 -0
  204. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/loop_engineering/kernel.py +0 -0
  205. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/loop_engineering/loop_scheduler.py +0 -0
  206. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/loop_engineering/models.py +0 -0
  207. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/loop_engineering/protocols.py +0 -0
  208. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/loop_engineering/rollback_strategy.py +0 -0
  209. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/loop_engineering/unified_memory.py +0 -0
  210. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/mce_adapter.py +0 -0
  211. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/memory_bridge.py +0 -0
  212. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/memory_claw_source.py +0 -0
  213. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/memory_forgetting.py +0 -0
  214. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/memory_index.py +0 -0
  215. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/memory_query.py +0 -0
  216. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/memory_serializer.py +0 -0
  217. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/memory_types.py +0 -0
  218. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/meta_skill_layering.py +0 -0
  219. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/micro_task_planner.py +0 -0
  220. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/models.py +0 -0
  221. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/models_base.py +0 -0
  222. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/models_dispatch.py +0 -0
  223. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/models_lifecycle.py +0 -0
  224. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/moka_backend.py +0 -0
  225. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/multi_host_adapter.py +0 -0
  226. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/multi_level_cache.py +0 -0
  227. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/multi_tenant.py +0 -0
  228. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/null_providers.py +0 -0
  229. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/operation_classifier.py +0 -0
  230. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/output_slicer.py +0 -0
  231. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/perf_baseline.py +0 -0
  232. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/performance_fingerprint.py +0 -0
  233. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/performance_monitor.py +0 -0
  234. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/permission_guard.py +0 -0
  235. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/plugins/__init__.py +0 -0
  236. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/plugins/hot_loader.py +0 -0
  237. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/ponytail_rule_injector.py +0 -0
  238. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/prompt_assembler.py +0 -0
  239. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/prompt_assembler_base.py +0 -0
  240. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/prompt_assembler_formatting_mixin.py +0 -0
  241. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/prompt_assembler_mixins.py +0 -0
  242. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/prompt_assembler_substitution_mixin.py +0 -0
  243. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/prompt_assembler_template_mixin.py +0 -0
  244. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/prompt_assembler_validation_mixin.py +0 -0
  245. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/prompt_dials.py +0 -0
  246. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/protocols.py +0 -0
  247. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/quality_calibration_gate.py +0 -0
  248. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/quality_probe_slice.py +0 -0
  249. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/rbac_engine.py +0 -0
  250. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/redesign_auditor.py +0 -0
  251. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/redesign_checkers.py +0 -0
  252. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/redis_cache.py +0 -0
  253. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/report_formatter.py +0 -0
  254. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/requirement_tracer.py +0 -0
  255. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/retrospective.py +0 -0
  256. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/review_checkers.py +0 -0
  257. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/risk_register.py +0 -0
  258. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/role_matcher.py +0 -0
  259. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/role_skill_loader.py +0 -0
  260. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/role_specific_mock_backend.py +0 -0
  261. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/rule_collector.py +0 -0
  262. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/scratchpad.py +0 -0
  263. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/secret_patterns.py +0 -0
  264. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/severity_router.py +0 -0
  265. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/similar_task_recommender.py +0 -0
  266. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/skill_extractor.py +0 -0
  267. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/skill_provider_builtin.py +0 -0
  268. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/skill_provider_mcp.py +0 -0
  269. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/skill_storage.py +0 -0
  270. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/standardized_role_template.py +0 -0
  271. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/task_completion_checker.py +0 -0
  272. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/tech_debt_manager.py +0 -0
  273. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/test_quality_guard.py +0 -0
  274. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/todo_drift_monitor.py +0 -0
  275. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/two_stage_review_gate.py +0 -0
  276. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/ue_test_accessibility_mixin.py +0 -0
  277. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/ue_test_framework.py +0 -0
  278. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/ue_test_framework_base.py +0 -0
  279. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/ue_test_heuristic_mixin.py +0 -0
  280. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/ue_test_journey_mixin.py +0 -0
  281. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/ue_test_mixins.py +0 -0
  282. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/ue_test_persona_mixin.py +0 -0
  283. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/unified_gate_engine.py +0 -0
  284. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/usage_tracker.py +0 -0
  285. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/user_friendly_error.py +0 -0
  286. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/verification_gate.py +0 -0
  287. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/viewpoint_registry.py +0 -0
  288. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/warmup_manager.py +0 -0
  289. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/workflow_engine.py +0 -0
  290. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/workflow_engine_base.py +0 -0
  291. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/workflow_engine_lifecycle_mixin.py +0 -0
  292. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/workflow_engine_mixins.py +0 -0
  293. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/workflow_engine_persistence_mixin.py +0 -0
  294. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/workflow_engine_state_mixin.py +0 -0
  295. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/workflow_engine_transition_mixin.py +0 -0
  296. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collaboration/yagni_checker.py +0 -0
  297. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/collect_baseline.py +0 -0
  298. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/dashboard/__init__.py +0 -0
  299. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/dashboard/app.py +0 -0
  300. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/dashboard/auth_views.py +0 -0
  301. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/dashboard/dispatch_views.py +0 -0
  302. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/dashboard/lifecycle_views.py +0 -0
  303. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/dashboard/metrics_views.py +0 -0
  304. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/dashboard/state.py +0 -0
  305. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/dashboard/v43_panels.py +0 -0
  306. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/dashboard.py +0 -0
  307. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/generate_benchmark_report.py +0 -0
  308. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/generate_quality_decision_report.py +0 -0
  309. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/qa/__init__.py +0 -0
  310. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/qa/deterministic_rule_engine.py +0 -0
  311. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/qa/models.py +0 -0
  312. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/qa/taste_dials.py +0 -0
  313. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/qa/uiux_analyzer.py +0 -0
  314. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/qa/uiux_subitems.py +0 -0
  315. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/qa/visual_regression.py +0 -0
  316. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/scan_pickle_payloads.py +0 -0
  317. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/utils/__init__.py +0 -0
  318. {devsquad-4.5.9 → devsquad-4.5.18}/scripts/utils/_find_missing_hints.py +0 -0
  319. {devsquad-4.5.9 → devsquad-4.5.18}/setup.cfg +0 -0
  320. {devsquad-4.5.9 → devsquad-4.5.18}/skills/_version.py +0 -0
  321. {devsquad-4.5.9 → devsquad-4.5.18}/skills/dispatch/handler.py +0 -0
  322. {devsquad-4.5.9 → devsquad-4.5.18}/skills/intent/handler.py +0 -0
  323. {devsquad-4.5.9 → devsquad-4.5.18}/skills/prototype/handler.py +0 -0
  324. {devsquad-4.5.9 → devsquad-4.5.18}/skills/registry.py +0 -0
  325. {devsquad-4.5.9 → devsquad-4.5.18}/skills/retrospective/__init__.py +0 -0
  326. {devsquad-4.5.9 → devsquad-4.5.18}/skills/retrospective/handler.py +0 -0
  327. {devsquad-4.5.9 → devsquad-4.5.18}/skills/review/handler.py +0 -0
  328. {devsquad-4.5.9 → devsquad-4.5.18}/skills/security/handler.py +0 -0
  329. {devsquad-4.5.9 → devsquad-4.5.18}/skills/teach/handler.py +0 -0
  330. {devsquad-4.5.9 → devsquad-4.5.18}/skills/test/__init__.py +0 -0
  331. {devsquad-4.5.9 → devsquad-4.5.18}/skills/test/handler.py +0 -0
  332. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_4pt_grid.py +0 -0
  333. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_adaptive_role_selector.py +0 -0
  334. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_adversarial_verify.py +0 -0
  335. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_agent_briefing.py +0 -0
  336. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_anchor_retrospective.py +0 -0
  337. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_anti_rationalization.py +0 -0
  338. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_antipattern_bans.py +0 -0
  339. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_api_budget_status_endpoint.py +0 -0
  340. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_api_security.py +0 -0
  341. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_api_server_v362.py +0 -0
  342. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_approval_gate.py +0 -0
  343. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_artifact_effect_binding.py +0 -0
  344. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_artifact_store.py +0 -0
  345. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_async_coordinator.py +0 -0
  346. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_async_modules.py +0 -0
  347. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_audit_logger.py +0 -0
  348. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_auth_phase5.py +0 -0
  349. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_autonomous.py +0 -0
  350. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_backend_config.py +0 -0
  351. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_benchmark_ponytail_smart.py +0 -0
  352. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_cache_interface.py +0 -0
  353. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_ccr_store.py +0 -0
  354. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_check_async_coverage.py +0 -0
  355. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_check_config_consistency.py +0 -0
  356. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_check_constructor_params.py +0 -0
  357. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_check_dependency_lock.py +0 -0
  358. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_check_hidden_content.py +0 -0
  359. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_check_test_pyramid.py +0 -0
  360. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_check_test_quality.py +0 -0
  361. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_ci_feedback_adapter.py +0 -0
  362. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_cli_audit.py +0 -0
  363. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_cli_command_classifier.py +0 -0
  364. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_cli_deep_v362.py +0 -0
  365. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_cli_doctor.py +0 -0
  366. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_cli_lifecycle.py +0 -0
  367. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_cli_phase5.py +0 -0
  368. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_code_knowledge_graph.py +0 -0
  369. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_claw_integration_test.py +0 -0
  370. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_context_compressor_test.py +0 -0
  371. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_core_test.py +0 -0
  372. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_dispatcher_test.py +0 -0
  373. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_dispatcher_ux_test.py +0 -0
  374. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_e2e_test.py +0 -0
  375. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_enhanced_e2e_test.py +0 -0
  376. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_llm_cache_test.py +0 -0
  377. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_llm_retry_test.py +0 -0
  378. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_mce_adapter_test.py +0 -0
  379. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_memory_bridge_test.py +0 -0
  380. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_performance_monitor_test.py +0 -0
  381. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_permission_guard_test.py +0 -0
  382. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_prompt_optimization_test.py +0 -0
  383. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_role_mapping_test.py +0 -0
  384. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_skillifier_test.py +0 -0
  385. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_test_quality_guard.py +0 -0
  386. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_test_quality_guard_test.py +0 -0
  387. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_upstream_test.py +0 -0
  388. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_collaboration_warmup_manager_test.py +0 -0
  389. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_confidence_score.py +0 -0
  390. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_config_injection.py +0 -0
  391. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_consensus_dissent.py +0 -0
  392. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_consensus_fatigue.py +0 -0
  393. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_consensus_gate.py +0 -0
  394. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_content_cache.py +0 -0
  395. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_content_crusher.py +0 -0
  396. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_coordinator_smart_compression.py +0 -0
  397. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dag_views.py +0 -0
  398. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dashboard_live_mode.py +0 -0
  399. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dashboard_split.py +0 -0
  400. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dashboard_ui_e2e.py +0 -0
  401. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dashboard_v43_panels.py +0 -0
  402. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_data_backup.py +0 -0
  403. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_debt_collector.py +0 -0
  404. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_deep_shallow.py +0 -0
  405. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_deletion_test.py +0 -0
  406. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dependency_hallucination_checker.py +0 -0
  407. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dependency_lock.py +0 -0
  408. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_deployment_compliance_checker.py +0 -0
  409. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_deterministic_rule_engine.py +0 -0
  410. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dispatch_audit.py +0 -0
  411. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dispatch_performance.py +0 -0
  412. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dispatch_rbac.py +0 -0
  413. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dispatch_steps.py +0 -0
  414. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dispatcher_intent_mapper.py +0 -0
  415. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dispatcher_loop_controller.py +0 -0
  416. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dispatcher_mixins.py +0 -0
  417. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dispatcher_phase5_core.py +0 -0
  418. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dispatcher_transaction.py +0 -0
  419. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_dual_layer_context.py +0 -0
  420. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_effect_registry.py +0 -0
  421. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_enhanced_worker.py +0 -0
  422. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_fallback_fuse.py +0 -0
  423. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_feedback_control_loop.py +0 -0
  424. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_five_axis_consensus.py +0 -0
  425. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_flow_standalone.py +0 -0
  426. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_full_lifecycle_adapter.py +0 -0
  427. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_git_guardrails.py +0 -0
  428. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_gitlab_connector.py +0 -0
  429. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_glossary_loader.py +0 -0
  430. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_grilling_mode.py +0 -0
  431. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_handoff_redaction.py +0 -0
  432. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_history_manager_v362.py +0 -0
  433. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_host_bridge_unit.py +0 -0
  434. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_input_validator_phase5.py +0 -0
  435. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_input_validator_sensitive.py +0 -0
  436. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_intent_workflow_mapper.py +0 -0
  437. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_judge_agent.py +0 -0
  438. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_learned_rule_phase4.py +0 -0
  439. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_lifecycle_protocol.py +0 -0
  440. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_llm_auto_fallback.py +0 -0
  441. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_llm_backend_resolve.py +0 -0
  442. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_llm_cache_protocol.py +0 -0
  443. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_loop_engineering.py +0 -0
  444. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_loop_engineering_rollback.py +0 -0
  445. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_mcp_server_v362.py +0 -0
  446. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_memory_benchmarks.py +0 -0
  447. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_meta_skill_layering.py +0 -0
  448. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_micro_task_planner.py +0 -0
  449. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_moka_backend.py +0 -0
  450. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_multi_host_adapter.py +0 -0
  451. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_multi_tenant.py +0 -0
  452. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_multi_tenant_isolation_e2e.py +0 -0
  453. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_no_op_test.py +0 -0
  454. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_node_type_separation.py +0 -0
  455. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_null_providers.py +0 -0
  456. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_oklch_color.py +0 -0
  457. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_operation_classifier.py +0 -0
  458. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_order_chain_detector.py +0 -0
  459. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_output_slicer.py +0 -0
  460. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_output_validator_prompt_injection.py +0 -0
  461. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_perf_baseline.py +0 -0
  462. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_perf_baseline_ci_gate.py +0 -0
  463. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_performance_benchmarks.py +0 -0
  464. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_performance_fingerprint.py +0 -0
  465. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_performance_monitor_protocol.py +0 -0
  466. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_permission_guard_human_gate.py +0 -0
  467. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_permission_guard_phase5.py +0 -0
  468. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_phase4_ghost_feature_defense.py +0 -0
  469. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_pipeline_step19_20.py +0 -0
  470. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_plan_c_unified_architecture.py +0 -0
  471. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_plugins_hot_loader.py +0 -0
  472. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_ponytail_rule_injector.py +0 -0
  473. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_production_features.py +0 -0
  474. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_prometheus_metrics.py +0 -0
  475. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_prompt_dials.py +0 -0
  476. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_protocols.py +0 -0
  477. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_prototype_skill.py +0 -0
  478. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_qa_uiux_visual_regression.py +0 -0
  479. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_quick_bonus.py +0 -0
  480. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_rate_limit.py +0 -0
  481. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_rbac_engine.py +0 -0
  482. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_rbac_fail_closed.py +0 -0
  483. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_red_capable_gate.py +0 -0
  484. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_redesign_auditor.py +0 -0
  485. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_redis_cache.py +0 -0
  486. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_requirement_tracer.py +0 -0
  487. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_retry_jitter_strategies.py +0 -0
  488. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_role_skill_loader.py +0 -0
  489. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_rule_collector.py +0 -0
  490. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_rule_injection_security.py +0 -0
  491. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_secret_patterns.py +0 -0
  492. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_severity_router.py +0 -0
  493. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_similar_task_recommender.py +0 -0
  494. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_skill_registry_coverage.py +0 -0
  495. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_skill_security.py +0 -0
  496. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_sleep_guard.py +0 -0
  497. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_standardized_role_template.py +0 -0
  498. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_start_script.py +0 -0
  499. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_step_node_types.py +0 -0
  500. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_suggested_next_steps.py +0 -0
  501. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_task_completion_checker.py +0 -0
  502. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_task_scale_gate.py +0 -0
  503. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_taste_dials.py +0 -0
  504. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_tautological_seams.py +0 -0
  505. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_teach_skill.py +0 -0
  506. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_tech_debt_manager.py +0 -0
  507. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_todo_drift_monitor.py +0 -0
  508. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_token_budget_compressed_scratchpad.py +0 -0
  509. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_triage_label.py +0 -0
  510. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_two_stage_review_gate.py +0 -0
  511. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_ue_test_framework.py +0 -0
  512. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_uiux_subitems.py +0 -0
  513. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_usage_tracker_coverage.py +0 -0
  514. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_v39_e2e.py +0 -0
  515. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_v39_performance.py +0 -0
  516. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_v411_security_hardening.py +0 -0
  517. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_verification_gate.py +0 -0
  518. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_version.py +0 -0
  519. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_vertical_slice.py +0 -0
  520. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_worker_artifact_integration.py +0 -0
  521. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_workflow_engine.py +0 -0
  522. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_workflow_engine_base.py +0 -0
  523. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_workflow_engine_lifecycle.py +0 -0
  524. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_workflow_engine_state.py +0 -0
  525. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_workflow_engine_transition.py +0 -0
  526. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_workflow_persistence_coverage.py +0 -0
  527. {devsquad-4.5.9 → devsquad-4.5.18}/tests/test_yagni_checker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devsquad
3
- Version: 4.5.9
3
+ Version: 4.5.18
4
4
  Summary: Production-Ready Multi-Role AI Task Orchestrator
5
5
  Author-email: DevSquad Team <devsquad@example.com>
6
6
  License: MIT
@@ -58,12 +58,15 @@ Requires-Dist: ruff==0.15.20; extra == "dev"
58
58
  Requires-Dist: mypy==2.2.0; extra == "dev"
59
59
  Requires-Dist: black==26.5.1; extra == "dev"
60
60
  Requires-Dist: flake8>=6.0; extra == "dev"
61
- Requires-Dist: httpx2>=2.5.0; extra == "dev"
61
+ Requires-Dist: httpx2>=2.12.0; extra == "dev"
62
62
  Requires-Dist: streamlit>=1.28.0; extra == "dev"
63
63
  Requires-Dist: Pillow>=10.0.0; extra == "dev"
64
64
  Requires-Dist: fakeredis>=2.30; extra == "dev"
65
65
  Requires-Dist: redis>=5.0; extra == "dev"
66
66
  Requires-Dist: hypothesis>=6.0; extra == "dev"
67
+ Requires-Dist: bandit[toml]>=1.7; extra == "dev"
68
+ Requires-Dist: pip-audit>=2.7; extra == "dev"
69
+ Requires-Dist: radon>=6.0; extra == "dev"
67
70
  Provides-Extra: all
68
71
  Requires-Dist: openai>=1.0; extra == "all"
69
72
  Requires-Dist: anthropic>=0.18; extra == "all"
@@ -85,7 +88,7 @@ Requires-Dist: ruff>=0.4.0; extra == "all"
85
88
  Requires-Dist: mypy>=1.0; extra == "all"
86
89
  Requires-Dist: black>=23.0; extra == "all"
87
90
  Requires-Dist: flake8>=6.0; extra == "all"
88
- Requires-Dist: httpx2>=2.5.0; extra == "all"
91
+ Requires-Dist: httpx2>=2.12.0; extra == "all"
89
92
  Requires-Dist: fakeredis>=2.30; extra == "all"
90
93
  Requires-Dist: redis>=5.0; extra == "all"
91
94
  Requires-Dist: hypothesis>=6.0; extra == "all"
@@ -96,14 +99,14 @@ Dynamic: license-file
96
99
  <p align="center">
97
100
  <strong>🎯 把「单个 AI 助手」升级成「7 人 AI 专业团队」</strong>
98
101
  <br>
99
- <em>One task → Multi-role AI collaboration → One conclusion | V4.5.9 (Unified Gather Execution Core + Native Async Worker: 执行层统一 gather 化 + Worker 原生异步) | V4.5.8 (FileRiskStore persistence + risks add/assess/mitigate/close + exposure filters) | V4.5.7 (Coeffect Async + Risk Register UX CLI) | V4.5.6 (Module Fiber + Coeffect: 6-state FSM + topological activation + modules CLI) | V4.5.3 (Artifacts + Effect — ArtifactStore + DispatchEffect + EffectRegistry + Audit CLI) | V4.5.2 (Experience polish: MOKA + Metrics + GitLab + Doctor + BackendConfig) | V4.5.0 (cross-session continuity + protocol-native skills)</em>
102
+ <em>One task → Multi-role AI collaboration → One conclusion | V4.5.17 (V4.6.1-cleanup: PR #9 CI repair + e2e portability + release-readiness) | V4.5.16 (Housekeeping + Digital Truth PATCH: 18-file SSOT sync, badge 9400+/204+, date 2026-09-03) | V4.5.15 (Skill registration gate + Prometheus E2E + 3-level TRAE cache sync) | V4.5.10 (HostLLMBridge v2 production wiring + --async CLI: v2 protocol hardening + factory v2 default + v1/v2 isolation) | V4.5.9 (Unified Gather Execution Core + Native Async Worker: 执行层统一 gather 化 + Worker 原生异步) | V4.5.8 (FileRiskStore persistence + risks add/assess/mitigate/close + exposure filters) | V4.5.7 (Coeffect Async + Risk Register UX CLI) | V4.5.6 (Module Fiber + Coeffect: 6-state FSM + topological activation + modules CLI) | V4.5.3 (Artifacts + Effect — ArtifactStore + DispatchEffect + EffectRegistry + Audit CLI) | V4.5.2 (Experience polish: MOKA + Metrics + GitLab + Doctor + BackendConfig) | V4.5.0 (cross-session continuity + protocol-native skills)</em>
100
103
  </p>
101
104
 
102
105
  <p align="center">
103
106
  <img alt="Python" src="https://img.shields.io/badge/Python-3.10+-blue?logo=python&logoColor=white" />
104
107
  <img alt="License" src="https://img.shields.io/badge/License-MIT-green" />
105
- <img alt="Tests" src="https://img.shields.io/badge/Tests-8996%2B%20passing-brightgreen" />
106
- <img alt="Version" src="https://img.shields.io/badge/V4.5.9-success" />
108
+ <img alt="Tests" src="https://img.shields.io/badge/Tests-9400%2B%20passing-brightgreen" />
109
+ <img alt="Version" src="https://img.shields.io/badge/V4.5.18-success" />
107
110
  <img alt="CI" src="https://img.shields.io/badge/CI-GitHub_Actions-blue?logo=githubactions" />
108
111
  <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" />
109
112
  <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" />
@@ -157,7 +160,7 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
157
160
  | 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
158
161
  | 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
159
162
 
160
- 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [193 模块详细参考](SKILL.md)
163
+ 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [204+ 模块详细参考](SKILL.md)
161
164
 
162
165
  ---
163
166
 
@@ -218,7 +221,7 @@ Every new module includes `_call_counter` mechanism + E2E anti_ghost test + CI `
218
221
  ### Test Pyramid Achieved
219
222
  - **Contract tests**: 5.2% (target ≥5% ✅)
220
223
  - **Integration tests**: 15.1% (target ≥15% ✅)
221
- - **Total tests**: 8392+ (CI authoritative)
224
+ - **Total tests**: 9400+ (CI authoritative)
222
225
  - **E2E coverage**: 107 e2e + 1244 integration + 13 V4.4.0 anti-ghost + 12 V4.5.2 anti-ghost
223
226
 
224
227
  ### Historical Features (V4.0.0-V4.3.3)
@@ -235,7 +238,7 @@ Every new module includes `_call_counter` mechanism + E2E anti_ghost test + CI `
235
238
  - **V4.0.0 P3-1 Autonomous**: plan → dev → verify → fix 4-stage autonomous iteration
236
239
  - **V4.0.0 P3-2 Plugin Hot-Loading**: 3 loading paths + path traversal 3-layer protection + reload rollback
237
240
 
238
- 8996+ tests passing (CI authoritative).
241
+ 9400+ tests passing (CI authoritative).
239
242
 
240
243
  ---
241
244
 
@@ -341,7 +344,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
341
344
 
342
345
  ## 🏗️ Five Capability Domains (Architecture Overview)
343
346
 
344
- DevSquad's 235 modules are organized into **5 capability domains**, each solving a specific problem:
347
+ DevSquad's 204+ modules are organized into **5 capability domains**, each solving a specific problem:
345
348
 
346
349
  ### 🎯 Domain 1: Task Orchestration Engine (Core)
347
350
 
@@ -635,11 +638,11 @@ devsquad dispatch -t "Design user authentication system"
635
638
  ```bash
636
639
  # Check version
637
640
  devsquad --version
638
- # Expected: devsquad 4.3.0
641
+ # Expected: devsquad 4.5.18
639
642
 
640
643
  # Run tests
641
644
  pytest tests/ -v --tb=short
642
- # Expected: 7681 passed
645
+ # Expected: 9400+ passed
643
646
  ```
644
647
 
645
648
  ---
@@ -690,14 +693,14 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
690
693
 
691
694
  ### Quick Smoke Test (< 30 seconds)
692
695
  ```bash
693
- python3 scripts/cli.py --version # Expected: DevSquad 4.1.0
696
+ python3 scripts/cli.py --version # Expected: DevSquad 4.5.18
694
697
  python3 scripts/cli.py status # Expected: System ready
695
698
  python3 scripts/cli.py roles # Expected: 7 core roles listed
696
699
  ```
697
700
 
698
701
  ### Full Test Suite
699
702
  ```bash
700
- # Run all tests (7681 tests passing)
703
+ # Run all tests (9400+ tests passing)
701
704
  python3 -m pytest tests/ -q --tb=line
702
705
 
703
706
  # With coverage report
@@ -714,7 +717,7 @@ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
714
717
  | **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
715
718
  | **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
716
719
 
717
- **Total: 7681 CI tests / 266 e2e (7681 collected)**
720
+ **Total: 9400+ CI tests / 266 e2e (9400+ collected)**
718
721
 
719
722
  Run by priority:
720
723
  ```bash
@@ -735,15 +738,15 @@ python3 -m pytest tests/ -q --tb=line
735
738
  | Document | Description | Language |
736
739
  |----------|-------------|----------|
737
740
  | [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
738
- | [SKILL.md](SKILL.md) | 完整技能手册 + 187+ 模块参考 | EN/CN/JP |
741
+ | [SKILL.md](SKILL.md) | 完整技能手册 + 204+ 模块参考 | EN/CN/JP |
739
742
  | [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
740
743
  | [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
741
744
  | [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
742
745
  | [CHANGELOG.md](CHANGELOG.md) | 版本历史记录 | EN |
743
746
  | [README-CN.md](README-CN.md) | 中文说明 | 中文 |
744
747
  | [README-JP.md](README-JP.md) | 日本語説明 | 日本語 |
745
- | [docs/PRD.md](docs/PRD.md) | 产品需求文档 | 中文 |
746
- | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 技术架构文档 | 中文 |
748
+ | [docs/prd/V4.6.1_cleanup_PRD.md](docs/prd/V4.6.1_cleanup_PRD.md) | 产品需求文档 | 中文 |
749
+ | [docs/architecture/ARCHITECTURE_V4.md](docs/architecture/ARCHITECTURE_V4.md) | 技术架构文档 | 中文 |
747
750
  | [docs/planning/V43_ROADMAP_PROPOSAL.md](docs/planning/V43_ROADMAP_PROPOSAL.md) | V4.3 统一推进方案 v1.2(7-Role 共识达成) | 中文 |
748
751
  | [docs/prd/V4.3.0_PRD.md](docs/prd/V4.3.0_PRD.md) | V4.3.0 PRD(需求/用户故事/验收标准) | 中文 |
749
752
  | [docs/architecture/V4.3.0_ARCHITECTURE.md](docs/architecture/V4.3.0_ARCHITECTURE.md) | V4.3.0 架构设计(模块边界/接口契约/依赖图) | 中文 |
@@ -815,6 +818,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
815
818
 
816
819
  ---
817
820
 
818
- *Last updated: 2026-08-05 | Version: V4.5.2 (Approval Gate + Connector Framework + anti-ghost E2E — 2 new modules, 3 ROADMAP items completed) | V4.5.0 (cross-session continuity + protocol-native skills + action-first reports — 10 new features) | V4.4.0 (5 enhancement modules: RiskRegister / ViewpointRegistry / ErrorBudgetTracker / GapAnalyzer / DoraMetricsCollector — see [CHANGELOG.md](CHANGELOG.md))*
821
+ *Last updated: 2026-09-14 | Version: V4.5.17 (V4.6.1-cleanup: PR #9 CI repair + e2e portability + release-readiness) | V4.5.16 (Housekeeping + Digital Truth PATCH: 18-file SSOT sync, badges 9400+/204+, date 2026-09-03) | V4.5.15 (Skill registration gate + Prometheus E2E + 3-level TRAE cache sync) | V4.5.10 (HostLLMBridge v2 production wiring + --async CLI) | V4.5.9 (Unified Gather Execution Core + Native Async Worker) | V4.5.8 (FileRiskStore persistence + risks add/assess/mitigate/close + exposure filters) | V4.5.7 (Coeffect Async + Risk Register UX CLI) | V4.5.6 (Module Fiber + Coeffect: 6-state FSM + topological activation + modules CLI) | V4.5.3 (Artifacts + Effect — ArtifactStore + DispatchEffect + EffectRegistry + Audit CLI) | V4.5.2 (Experience polish: MOKA + Metrics + GitLab + Doctor + BackendConfig) | V4.5.0 (cross-session continuity + protocol-native skills) | V4.4.0 (5 new enhancement modules: RiskRegister / ViewpointRegistry / ErrorBudgetTracker / GapAnalyzer / DoraMetricsCollector — see [CHANGELOG.md](CHANGELOG.md))*
819
822
 
820
823
  </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 | V4.5.9 (Unified Gather Execution Core + Native Async Worker: 执行层统一 gather 化 + Worker 原生异步) | V4.5.8 (FileRiskStore persistence + risks add/assess/mitigate/close + exposure filters) | V4.5.7 (Coeffect Async + Risk Register UX CLI) | V4.5.6 (Module Fiber + Coeffect: 6-state FSM + topological activation + modules CLI) | V4.5.3 (Artifacts + Effect — ArtifactStore + DispatchEffect + EffectRegistry + Audit CLI) | V4.5.2 (Experience polish: MOKA + Metrics + GitLab + Doctor + BackendConfig) | V4.5.0 (cross-session continuity + protocol-native skills)</em>
6
+ <em>One task → Multi-role AI collaboration → One conclusion | V4.5.17 (V4.6.1-cleanup: PR #9 CI repair + e2e portability + release-readiness) | V4.5.16 (Housekeeping + Digital Truth PATCH: 18-file SSOT sync, badge 9400+/204+, date 2026-09-03) | V4.5.15 (Skill registration gate + Prometheus E2E + 3-level TRAE cache sync) | V4.5.10 (HostLLMBridge v2 production wiring + --async CLI: v2 protocol hardening + factory v2 default + v1/v2 isolation) | V4.5.9 (Unified Gather Execution Core + Native Async Worker: 执行层统一 gather 化 + Worker 原生异步) | V4.5.8 (FileRiskStore persistence + risks add/assess/mitigate/close + exposure filters) | V4.5.7 (Coeffect Async + Risk Register UX CLI) | V4.5.6 (Module Fiber + Coeffect: 6-state FSM + topological activation + modules CLI) | V4.5.3 (Artifacts + Effect — ArtifactStore + DispatchEffect + EffectRegistry + Audit CLI) | V4.5.2 (Experience polish: MOKA + Metrics + GitLab + Doctor + BackendConfig) | V4.5.0 (cross-session continuity + protocol-native skills)</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-8996%2B%20passing-brightgreen" />
13
- <img alt="Version" src="https://img.shields.io/badge/V4.5.9-success" />
12
+ <img alt="Tests" src="https://img.shields.io/badge/Tests-9400%2B%20passing-brightgreen" />
13
+ <img alt="Version" src="https://img.shields.io/badge/V4.5.18-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,7 +64,7 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
64
64
  | 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
65
65
  | 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
66
66
 
67
- 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [193 模块详细参考](SKILL.md)
67
+ 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [204+ 模块详细参考](SKILL.md)
68
68
 
69
69
  ---
70
70
 
@@ -125,7 +125,7 @@ Every new module includes `_call_counter` mechanism + E2E anti_ghost test + CI `
125
125
  ### Test Pyramid Achieved
126
126
  - **Contract tests**: 5.2% (target ≥5% ✅)
127
127
  - **Integration tests**: 15.1% (target ≥15% ✅)
128
- - **Total tests**: 8392+ (CI authoritative)
128
+ - **Total tests**: 9400+ (CI authoritative)
129
129
  - **E2E coverage**: 107 e2e + 1244 integration + 13 V4.4.0 anti-ghost + 12 V4.5.2 anti-ghost
130
130
 
131
131
  ### Historical Features (V4.0.0-V4.3.3)
@@ -142,7 +142,7 @@ Every new module includes `_call_counter` mechanism + E2E anti_ghost test + CI `
142
142
  - **V4.0.0 P3-1 Autonomous**: plan → dev → verify → fix 4-stage autonomous iteration
143
143
  - **V4.0.0 P3-2 Plugin Hot-Loading**: 3 loading paths + path traversal 3-layer protection + reload rollback
144
144
 
145
- 8996+ tests passing (CI authoritative).
145
+ 9400+ tests passing (CI authoritative).
146
146
 
147
147
  ---
148
148
 
@@ -248,7 +248,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
248
248
 
249
249
  ## 🏗️ Five Capability Domains (Architecture Overview)
250
250
 
251
- DevSquad's 235 modules are organized into **5 capability domains**, each solving a specific problem:
251
+ DevSquad's 204+ modules are organized into **5 capability domains**, each solving a specific problem:
252
252
 
253
253
  ### 🎯 Domain 1: Task Orchestration Engine (Core)
254
254
 
@@ -542,11 +542,11 @@ devsquad dispatch -t "Design user authentication system"
542
542
  ```bash
543
543
  # Check version
544
544
  devsquad --version
545
- # Expected: devsquad 4.3.0
545
+ # Expected: devsquad 4.5.18
546
546
 
547
547
  # Run tests
548
548
  pytest tests/ -v --tb=short
549
- # Expected: 7681 passed
549
+ # Expected: 9400+ passed
550
550
  ```
551
551
 
552
552
  ---
@@ -597,14 +597,14 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
597
597
 
598
598
  ### Quick Smoke Test (< 30 seconds)
599
599
  ```bash
600
- python3 scripts/cli.py --version # Expected: DevSquad 4.1.0
600
+ python3 scripts/cli.py --version # Expected: DevSquad 4.5.18
601
601
  python3 scripts/cli.py status # Expected: System ready
602
602
  python3 scripts/cli.py roles # Expected: 7 core roles listed
603
603
  ```
604
604
 
605
605
  ### Full Test Suite
606
606
  ```bash
607
- # Run all tests (7681 tests passing)
607
+ # Run all tests (9400+ tests passing)
608
608
  python3 -m pytest tests/ -q --tb=line
609
609
 
610
610
  # With coverage report
@@ -621,7 +621,7 @@ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
621
621
  | **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
622
622
  | **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
623
623
 
624
- **Total: 7681 CI tests / 266 e2e (7681 collected)**
624
+ **Total: 9400+ CI tests / 266 e2e (9400+ collected)**
625
625
 
626
626
  Run by priority:
627
627
  ```bash
@@ -642,15 +642,15 @@ python3 -m pytest tests/ -q --tb=line
642
642
  | Document | Description | Language |
643
643
  |----------|-------------|----------|
644
644
  | [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
645
- | [SKILL.md](SKILL.md) | 完整技能手册 + 187+ 模块参考 | EN/CN/JP |
645
+ | [SKILL.md](SKILL.md) | 完整技能手册 + 204+ 模块参考 | EN/CN/JP |
646
646
  | [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
647
647
  | [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
648
648
  | [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
649
649
  | [CHANGELOG.md](CHANGELOG.md) | 版本历史记录 | EN |
650
650
  | [README-CN.md](README-CN.md) | 中文说明 | 中文 |
651
651
  | [README-JP.md](README-JP.md) | 日本語説明 | 日本語 |
652
- | [docs/PRD.md](docs/PRD.md) | 产品需求文档 | 中文 |
653
- | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 技术架构文档 | 中文 |
652
+ | [docs/prd/V4.6.1_cleanup_PRD.md](docs/prd/V4.6.1_cleanup_PRD.md) | 产品需求文档 | 中文 |
653
+ | [docs/architecture/ARCHITECTURE_V4.md](docs/architecture/ARCHITECTURE_V4.md) | 技术架构文档 | 中文 |
654
654
  | [docs/planning/V43_ROADMAP_PROPOSAL.md](docs/planning/V43_ROADMAP_PROPOSAL.md) | V4.3 统一推进方案 v1.2(7-Role 共识达成) | 中文 |
655
655
  | [docs/prd/V4.3.0_PRD.md](docs/prd/V4.3.0_PRD.md) | V4.3.0 PRD(需求/用户故事/验收标准) | 中文 |
656
656
  | [docs/architecture/V4.3.0_ARCHITECTURE.md](docs/architecture/V4.3.0_ARCHITECTURE.md) | V4.3.0 架构设计(模块边界/接口契约/依赖图) | 中文 |
@@ -722,6 +722,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
722
722
 
723
723
  ---
724
724
 
725
- *Last updated: 2026-08-05 | Version: V4.5.2 (Approval Gate + Connector Framework + anti-ghost E2E — 2 new modules, 3 ROADMAP items completed) | V4.5.0 (cross-session continuity + protocol-native skills + action-first reports — 10 new features) | V4.4.0 (5 enhancement modules: RiskRegister / ViewpointRegistry / ErrorBudgetTracker / GapAnalyzer / DoraMetricsCollector — see [CHANGELOG.md](CHANGELOG.md))*
725
+ *Last updated: 2026-09-14 | Version: V4.5.17 (V4.6.1-cleanup: PR #9 CI repair + e2e portability + release-readiness) | V4.5.16 (Housekeeping + Digital Truth PATCH: 18-file SSOT sync, badges 9400+/204+, date 2026-09-03) | V4.5.15 (Skill registration gate + Prometheus E2E + 3-level TRAE cache sync) | V4.5.10 (HostLLMBridge v2 production wiring + --async CLI) | V4.5.9 (Unified Gather Execution Core + Native Async Worker) | V4.5.8 (FileRiskStore persistence + risks add/assess/mitigate/close + exposure filters) | V4.5.7 (Coeffect Async + Risk Register UX CLI) | V4.5.6 (Module Fiber + Coeffect: 6-state FSM + topological activation + modules CLI) | V4.5.3 (Artifacts + Effect — ArtifactStore + DispatchEffect + EffectRegistry + Audit CLI) | V4.5.2 (Experience polish: MOKA + Metrics + GitLab + Doctor + BackendConfig) | V4.5.0 (cross-session continuity + protocol-native skills) | V4.4.0 (5 new enhancement modules: RiskRegister / ViewpointRegistry / ErrorBudgetTracker / GapAnalyzer / DoraMetricsCollector — see [CHANGELOG.md](CHANGELOG.md))*
726
726
 
727
727
  </details>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devsquad
3
- Version: 4.5.9
3
+ Version: 4.5.18
4
4
  Summary: Production-Ready Multi-Role AI Task Orchestrator
5
5
  Author-email: DevSquad Team <devsquad@example.com>
6
6
  License: MIT
@@ -58,12 +58,15 @@ Requires-Dist: ruff==0.15.20; extra == "dev"
58
58
  Requires-Dist: mypy==2.2.0; extra == "dev"
59
59
  Requires-Dist: black==26.5.1; extra == "dev"
60
60
  Requires-Dist: flake8>=6.0; extra == "dev"
61
- Requires-Dist: httpx2>=2.5.0; extra == "dev"
61
+ Requires-Dist: httpx2>=2.12.0; extra == "dev"
62
62
  Requires-Dist: streamlit>=1.28.0; extra == "dev"
63
63
  Requires-Dist: Pillow>=10.0.0; extra == "dev"
64
64
  Requires-Dist: fakeredis>=2.30; extra == "dev"
65
65
  Requires-Dist: redis>=5.0; extra == "dev"
66
66
  Requires-Dist: hypothesis>=6.0; extra == "dev"
67
+ Requires-Dist: bandit[toml]>=1.7; extra == "dev"
68
+ Requires-Dist: pip-audit>=2.7; extra == "dev"
69
+ Requires-Dist: radon>=6.0; extra == "dev"
67
70
  Provides-Extra: all
68
71
  Requires-Dist: openai>=1.0; extra == "all"
69
72
  Requires-Dist: anthropic>=0.18; extra == "all"
@@ -85,7 +88,7 @@ Requires-Dist: ruff>=0.4.0; extra == "all"
85
88
  Requires-Dist: mypy>=1.0; extra == "all"
86
89
  Requires-Dist: black>=23.0; extra == "all"
87
90
  Requires-Dist: flake8>=6.0; extra == "all"
88
- Requires-Dist: httpx2>=2.5.0; extra == "all"
91
+ Requires-Dist: httpx2>=2.12.0; extra == "all"
89
92
  Requires-Dist: fakeredis>=2.30; extra == "all"
90
93
  Requires-Dist: redis>=5.0; extra == "all"
91
94
  Requires-Dist: hypothesis>=6.0; extra == "all"
@@ -96,14 +99,14 @@ Dynamic: license-file
96
99
  <p align="center">
97
100
  <strong>🎯 把「单个 AI 助手」升级成「7 人 AI 专业团队」</strong>
98
101
  <br>
99
- <em>One task → Multi-role AI collaboration → One conclusion | V4.5.9 (Unified Gather Execution Core + Native Async Worker: 执行层统一 gather 化 + Worker 原生异步) | V4.5.8 (FileRiskStore persistence + risks add/assess/mitigate/close + exposure filters) | V4.5.7 (Coeffect Async + Risk Register UX CLI) | V4.5.6 (Module Fiber + Coeffect: 6-state FSM + topological activation + modules CLI) | V4.5.3 (Artifacts + Effect — ArtifactStore + DispatchEffect + EffectRegistry + Audit CLI) | V4.5.2 (Experience polish: MOKA + Metrics + GitLab + Doctor + BackendConfig) | V4.5.0 (cross-session continuity + protocol-native skills)</em>
102
+ <em>One task → Multi-role AI collaboration → One conclusion | V4.5.17 (V4.6.1-cleanup: PR #9 CI repair + e2e portability + release-readiness) | V4.5.16 (Housekeeping + Digital Truth PATCH: 18-file SSOT sync, badge 9400+/204+, date 2026-09-03) | V4.5.15 (Skill registration gate + Prometheus E2E + 3-level TRAE cache sync) | V4.5.10 (HostLLMBridge v2 production wiring + --async CLI: v2 protocol hardening + factory v2 default + v1/v2 isolation) | V4.5.9 (Unified Gather Execution Core + Native Async Worker: 执行层统一 gather 化 + Worker 原生异步) | V4.5.8 (FileRiskStore persistence + risks add/assess/mitigate/close + exposure filters) | V4.5.7 (Coeffect Async + Risk Register UX CLI) | V4.5.6 (Module Fiber + Coeffect: 6-state FSM + topological activation + modules CLI) | V4.5.3 (Artifacts + Effect — ArtifactStore + DispatchEffect + EffectRegistry + Audit CLI) | V4.5.2 (Experience polish: MOKA + Metrics + GitLab + Doctor + BackendConfig) | V4.5.0 (cross-session continuity + protocol-native skills)</em>
100
103
  </p>
101
104
 
102
105
  <p align="center">
103
106
  <img alt="Python" src="https://img.shields.io/badge/Python-3.10+-blue?logo=python&logoColor=white" />
104
107
  <img alt="License" src="https://img.shields.io/badge/License-MIT-green" />
105
- <img alt="Tests" src="https://img.shields.io/badge/Tests-8996%2B%20passing-brightgreen" />
106
- <img alt="Version" src="https://img.shields.io/badge/V4.5.9-success" />
108
+ <img alt="Tests" src="https://img.shields.io/badge/Tests-9400%2B%20passing-brightgreen" />
109
+ <img alt="Version" src="https://img.shields.io/badge/V4.5.18-success" />
107
110
  <img alt="CI" src="https://img.shields.io/badge/CI-GitHub_Actions-blue?logo=githubactions" />
108
111
  <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" />
109
112
  <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" />
@@ -157,7 +160,7 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
157
160
  | 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
158
161
  | 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
159
162
 
160
- 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [193 模块详细参考](SKILL.md)
163
+ 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [204+ 模块详细参考](SKILL.md)
161
164
 
162
165
  ---
163
166
 
@@ -218,7 +221,7 @@ Every new module includes `_call_counter` mechanism + E2E anti_ghost test + CI `
218
221
  ### Test Pyramid Achieved
219
222
  - **Contract tests**: 5.2% (target ≥5% ✅)
220
223
  - **Integration tests**: 15.1% (target ≥15% ✅)
221
- - **Total tests**: 8392+ (CI authoritative)
224
+ - **Total tests**: 9400+ (CI authoritative)
222
225
  - **E2E coverage**: 107 e2e + 1244 integration + 13 V4.4.0 anti-ghost + 12 V4.5.2 anti-ghost
223
226
 
224
227
  ### Historical Features (V4.0.0-V4.3.3)
@@ -235,7 +238,7 @@ Every new module includes `_call_counter` mechanism + E2E anti_ghost test + CI `
235
238
  - **V4.0.0 P3-1 Autonomous**: plan → dev → verify → fix 4-stage autonomous iteration
236
239
  - **V4.0.0 P3-2 Plugin Hot-Loading**: 3 loading paths + path traversal 3-layer protection + reload rollback
237
240
 
238
- 8996+ tests passing (CI authoritative).
241
+ 9400+ tests passing (CI authoritative).
239
242
 
240
243
  ---
241
244
 
@@ -341,7 +344,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
341
344
 
342
345
  ## 🏗️ Five Capability Domains (Architecture Overview)
343
346
 
344
- DevSquad's 235 modules are organized into **5 capability domains**, each solving a specific problem:
347
+ DevSquad's 204+ modules are organized into **5 capability domains**, each solving a specific problem:
345
348
 
346
349
  ### 🎯 Domain 1: Task Orchestration Engine (Core)
347
350
 
@@ -635,11 +638,11 @@ devsquad dispatch -t "Design user authentication system"
635
638
  ```bash
636
639
  # Check version
637
640
  devsquad --version
638
- # Expected: devsquad 4.3.0
641
+ # Expected: devsquad 4.5.18
639
642
 
640
643
  # Run tests
641
644
  pytest tests/ -v --tb=short
642
- # Expected: 7681 passed
645
+ # Expected: 9400+ passed
643
646
  ```
644
647
 
645
648
  ---
@@ -690,14 +693,14 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
690
693
 
691
694
  ### Quick Smoke Test (< 30 seconds)
692
695
  ```bash
693
- python3 scripts/cli.py --version # Expected: DevSquad 4.1.0
696
+ python3 scripts/cli.py --version # Expected: DevSquad 4.5.18
694
697
  python3 scripts/cli.py status # Expected: System ready
695
698
  python3 scripts/cli.py roles # Expected: 7 core roles listed
696
699
  ```
697
700
 
698
701
  ### Full Test Suite
699
702
  ```bash
700
- # Run all tests (7681 tests passing)
703
+ # Run all tests (9400+ tests passing)
701
704
  python3 -m pytest tests/ -q --tb=line
702
705
 
703
706
  # With coverage report
@@ -714,7 +717,7 @@ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
714
717
  | **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
715
718
  | **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
716
719
 
717
- **Total: 7681 CI tests / 266 e2e (7681 collected)**
720
+ **Total: 9400+ CI tests / 266 e2e (9400+ collected)**
718
721
 
719
722
  Run by priority:
720
723
  ```bash
@@ -735,15 +738,15 @@ python3 -m pytest tests/ -q --tb=line
735
738
  | Document | Description | Language |
736
739
  |----------|-------------|----------|
737
740
  | [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
738
- | [SKILL.md](SKILL.md) | 完整技能手册 + 187+ 模块参考 | EN/CN/JP |
741
+ | [SKILL.md](SKILL.md) | 完整技能手册 + 204+ 模块参考 | EN/CN/JP |
739
742
  | [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
740
743
  | [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
741
744
  | [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
742
745
  | [CHANGELOG.md](CHANGELOG.md) | 版本历史记录 | EN |
743
746
  | [README-CN.md](README-CN.md) | 中文说明 | 中文 |
744
747
  | [README-JP.md](README-JP.md) | 日本語説明 | 日本語 |
745
- | [docs/PRD.md](docs/PRD.md) | 产品需求文档 | 中文 |
746
- | [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 技术架构文档 | 中文 |
748
+ | [docs/prd/V4.6.1_cleanup_PRD.md](docs/prd/V4.6.1_cleanup_PRD.md) | 产品需求文档 | 中文 |
749
+ | [docs/architecture/ARCHITECTURE_V4.md](docs/architecture/ARCHITECTURE_V4.md) | 技术架构文档 | 中文 |
747
750
  | [docs/planning/V43_ROADMAP_PROPOSAL.md](docs/planning/V43_ROADMAP_PROPOSAL.md) | V4.3 统一推进方案 v1.2(7-Role 共识达成) | 中文 |
748
751
  | [docs/prd/V4.3.0_PRD.md](docs/prd/V4.3.0_PRD.md) | V4.3.0 PRD(需求/用户故事/验收标准) | 中文 |
749
752
  | [docs/architecture/V4.3.0_ARCHITECTURE.md](docs/architecture/V4.3.0_ARCHITECTURE.md) | V4.3.0 架构设计(模块边界/接口契约/依赖图) | 中文 |
@@ -815,6 +818,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
815
818
 
816
819
  ---
817
820
 
818
- *Last updated: 2026-08-05 | Version: V4.5.2 (Approval Gate + Connector Framework + anti-ghost E2E — 2 new modules, 3 ROADMAP items completed) | V4.5.0 (cross-session continuity + protocol-native skills + action-first reports — 10 new features) | V4.4.0 (5 enhancement modules: RiskRegister / ViewpointRegistry / ErrorBudgetTracker / GapAnalyzer / DoraMetricsCollector — see [CHANGELOG.md](CHANGELOG.md))*
821
+ *Last updated: 2026-09-14 | Version: V4.5.17 (V4.6.1-cleanup: PR #9 CI repair + e2e portability + release-readiness) | V4.5.16 (Housekeeping + Digital Truth PATCH: 18-file SSOT sync, badges 9400+/204+, date 2026-09-03) | V4.5.15 (Skill registration gate + Prometheus E2E + 3-level TRAE cache sync) | V4.5.10 (HostLLMBridge v2 production wiring + --async CLI) | V4.5.9 (Unified Gather Execution Core + Native Async Worker) | V4.5.8 (FileRiskStore persistence + risks add/assess/mitigate/close + exposure filters) | V4.5.7 (Coeffect Async + Risk Register UX CLI) | V4.5.6 (Module Fiber + Coeffect: 6-state FSM + topological activation + modules CLI) | V4.5.3 (Artifacts + Effect — ArtifactStore + DispatchEffect + EffectRegistry + Audit CLI) | V4.5.2 (Experience polish: MOKA + Metrics + GitLab + Doctor + BackendConfig) | V4.5.0 (cross-session continuity + protocol-native skills) | V4.4.0 (5 new enhancement modules: RiskRegister / ViewpointRegistry / ErrorBudgetTracker / GapAnalyzer / DoraMetricsCollector — see [CHANGELOG.md](CHANGELOG.md))*
819
822
 
820
823
  </details>
@@ -14,10 +14,12 @@ scripts/benchmark_async_dispatch.py
14
14
  scripts/benchmark_ponytail_smart.py
15
15
  scripts/benchmark_real_llm.py
16
16
  scripts/check_async_coverage.py
17
+ scripts/check_bandit.py
17
18
  scripts/check_config_consistency.py
18
19
  scripts/check_constructor_params.py
19
20
  scripts/check_dependency_lock.py
20
21
  scripts/check_dependency_sync.py
22
+ scripts/check_dispatcher_size.py
21
23
  scripts/check_doc_consistency.py
22
24
  scripts/check_hidden_content.py
23
25
  scripts/check_module_activation.py
@@ -36,12 +38,16 @@ scripts/cli_risks.py
36
38
  scripts/cli_sessions.py
37
39
  scripts/cli_utils.py
38
40
  scripts/collect_baseline.py
41
+ scripts/collect_trae_traces.py
39
42
  scripts/dashboard.py
40
43
  scripts/generate_benchmark_report.py
41
44
  scripts/generate_quality_decision_report.py
42
45
  scripts/history_manager.py
43
46
  scripts/mcp_server.py
47
+ scripts/perf_baseline.py
44
48
  scripts/scan_pickle_payloads.py
49
+ scripts/sync_skill_pack.py
50
+ scripts/verify_prometheus_e2e.py
45
51
  scripts/api/__init__.py
46
52
  scripts/api/models.py
47
53
  scripts/api/rate_limit.py
@@ -334,9 +340,11 @@ tests/test_benchmark_ponytail_smart.py
334
340
  tests/test_cache_interface.py
335
341
  tests/test_ccr_store.py
336
342
  tests/test_check_async_coverage.py
343
+ tests/test_check_bandit.py
337
344
  tests/test_check_config_consistency.py
338
345
  tests/test_check_constructor_params.py
339
346
  tests/test_check_dependency_lock.py
347
+ tests/test_check_dispatcher_size.py
340
348
  tests/test_check_hidden_content.py
341
349
  tests/test_check_test_pyramid.py
342
350
  tests/test_check_test_quality.py
@@ -27,7 +27,7 @@ ruff>=0.4.0
27
27
  mypy>=1.0
28
28
  black>=23.0
29
29
  flake8>=6.0
30
- httpx2>=2.5.0
30
+ httpx2>=2.12.0
31
31
  fakeredis>=2.30
32
32
  redis>=5.0
33
33
  hypothesis>=6.0
@@ -51,12 +51,15 @@ ruff==0.15.20
51
51
  mypy==2.2.0
52
52
  black==26.5.1
53
53
  flake8>=6.0
54
- httpx2>=2.5.0
54
+ httpx2>=2.12.0
55
55
  streamlit>=1.28.0
56
56
  Pillow>=10.0.0
57
57
  fakeredis>=2.30
58
58
  redis>=5.0
59
59
  hypothesis>=6.0
60
+ bandit[toml]>=1.7
61
+ pip-audit>=2.7
62
+ radon>=6.0
60
63
 
61
64
  [mcp]
62
65
  mcp>=0.9
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "devsquad"
7
- version = "4.5.9"
7
+ version = "4.5.18"
8
8
  description = "Production-Ready Multi-Role AI Task Orchestrator"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -67,12 +67,15 @@ dev = [
67
67
  "mypy==2.2.0",
68
68
  "black==26.5.1",
69
69
  "flake8>=6.0",
70
- "httpx2>=2.5.0",
70
+ "httpx2>=2.12.0",
71
71
  "streamlit>=1.28.0",
72
72
  "Pillow>=10.0.0",
73
73
  "fakeredis>=2.30",
74
74
  "redis>=5.0",
75
75
  "hypothesis>=6.0",
76
+ "bandit[toml]>=1.7",
77
+ "pip-audit>=2.7",
78
+ "radon>=6.0",
76
79
  ]
77
80
  all = [
78
81
  "openai>=1.0",
@@ -95,7 +98,7 @@ all = [
95
98
  "mypy>=1.0",
96
99
  "black>=23.0",
97
100
  "flake8>=6.0",
98
- "httpx2>=2.5.0",
101
+ "httpx2>=2.12.0",
99
102
  "fakeredis>=2.30",
100
103
  "redis>=5.0",
101
104
  "hypothesis>=6.0",
@@ -182,7 +185,10 @@ files = ["scripts", "skills"]
182
185
  module = "scripts.mcp_server"
183
186
  disallow_untyped_decorators = false
184
187
 
185
- # scripts/api_server.py uses FastAPI decorators (@app.get, @app.exception_handler,
188
+ [[tool.mypy.overrides]]
189
+ module = "scripts.collaboration.config_manager"
190
+ disallow_untyped_decorators = false
191
+
186
192
  # @app.on_event) which return untyped decorators. Same pattern as mcp_server.
187
193
  # Also applies to FastAPI route modules under scripts/api/routes/ and
188
194
  # scripts/dashboard/*_views.py — all use @app.route/@router.* decorators.
@@ -455,7 +455,7 @@ async def list_roles(
455
455
  logger.error("Failed to list roles: %s", e)
456
456
  raise HTTPException(status_code=500, detail=f"Failed to retrieve roles: {str(e)}") from None
457
457
  except Exception as e:
458
- logger.error("Unexpected error listing roles: %s", e, exc_info=True)
458
+ logger.exception("Unexpected error listing roles: %s", e)
459
459
  raise HTTPException(status_code=500, detail=f"Failed to retrieve roles: {str(e)}") from None
460
460
 
461
461
 
@@ -233,7 +233,7 @@ async def get_lifecycle_status(
233
233
  logger.error("Failed to get lifecycle status: %s", e)
234
234
  raise HTTPException(status_code=500, detail=str(e)) from None
235
235
  except Exception as e:
236
- logger.error("Unexpected error getting lifecycle status: %s", e, exc_info=True)
236
+ logger.exception("Unexpected error getting lifecycle status: %s", e)
237
237
  raise HTTPException(status_code=500, detail=str(e)) from None
238
238
 
239
239
 
@@ -395,5 +395,5 @@ async def list_command_mappings(
395
395
  logger.error("Failed to list mappings: %s", e)
396
396
  raise HTTPException(status_code=500, detail=str(e)) from None
397
397
  except Exception as e:
398
- logger.error("Unexpected error listing mappings: %s", e, exc_info=True)
398
+ logger.exception("Unexpected error listing mappings: %s", e)
399
399
  raise HTTPException(status_code=500, detail=str(e)) from None
@@ -329,7 +329,7 @@ async def check_specific_gate(
329
329
  logger.error("Failed to check gate for %s: %s", request.command, e)
330
330
  raise HTTPException(status_code=500, detail=str(e)) from None
331
331
  except Exception as e:
332
- logger.error("Unexpected error checking gate for %s: %s", request.command, e, exc_info=True)
332
+ logger.exception("Unexpected error checking gate for %s: %s", request.command, e)
333
333
  raise HTTPException(status_code=500, detail=str(e)) from None
334
334
 
335
335