devsquad 4.4.0__tar.gz → 4.5.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. {devsquad-4.4.0 → devsquad-4.5.2}/PKG-INFO +107 -58
  2. {devsquad-4.4.0 → devsquad-4.5.2}/README.md +103 -54
  3. {devsquad-4.4.0 → devsquad-4.5.2}/devsquad.egg-info/PKG-INFO +107 -58
  4. {devsquad-4.4.0 → devsquad-4.5.2}/devsquad.egg-info/SOURCES.txt +35 -0
  5. {devsquad-4.4.0 → devsquad-4.5.2}/devsquad.egg-info/requires.txt +3 -3
  6. {devsquad-4.4.0 → devsquad-4.5.2}/pyproject.toml +8 -4
  7. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/api/routes/dispatch.py +16 -3
  8. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/benchmark_real_llm.py +25 -50
  9. devsquad-4.5.2/scripts/check_doc_consistency.py +165 -0
  10. devsquad-4.5.2/scripts/check_module_activation.py +150 -0
  11. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/check_version_consistency.py +0 -6
  12. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/cli.py +73 -0
  13. devsquad-4.5.2/scripts/cli_backend.py +111 -0
  14. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/cli_dispatch.py +19 -1
  15. devsquad-4.5.2/scripts/cli_doctor.py +273 -0
  16. devsquad-4.5.2/scripts/cli_metrics.py +181 -0
  17. devsquad-4.5.2/scripts/cli_sessions.py +136 -0
  18. devsquad-4.5.2/scripts/collaboration/_version.py +1 -0
  19. devsquad-4.5.2/scripts/collaboration/agent_identity.py +122 -0
  20. devsquad-4.5.2/scripts/collaboration/approval_gate.py +197 -0
  21. devsquad-4.5.2/scripts/collaboration/backend_config.py +237 -0
  22. devsquad-4.5.2/scripts/collaboration/backend_paths.py +195 -0
  23. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/benchmark_regression_checker.py +2 -2
  24. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/checkpoint_manager.py +145 -0
  25. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/cli_command_classifier.py +5 -0
  26. devsquad-4.5.2/scripts/collaboration/connector_framework.py +341 -0
  27. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/coordinator.py +27 -0
  28. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dependency_hallucination_checker.py +2 -2
  29. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/deployment_compliance_checker.py +1 -1
  30. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_component_factory.py +6 -1
  31. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_hooks.py +2 -2
  32. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_models.py +114 -2
  33. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_pre_steps.py +88 -9
  34. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatcher.py +233 -1
  35. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatcher_base.py +1 -1
  36. devsquad-4.5.2/scripts/collaboration/file_bundler.py +266 -0
  37. devsquad-4.5.2/scripts/collaboration/gitlab_connector.py +366 -0
  38. devsquad-4.5.2/scripts/collaboration/host_llm_bridge.py +454 -0
  39. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/llm_backend.py +336 -75
  40. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/models.py +3 -0
  41. devsquad-4.5.2/scripts/collaboration/models_dispatch.py +669 -0
  42. devsquad-4.5.2/scripts/collaboration/moka_backend.py +177 -0
  43. devsquad-4.5.2/scripts/collaboration/order_chain_detector.py +262 -0
  44. devsquad-4.5.2/scripts/collaboration/perf_baseline.py +393 -0
  45. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/prometheus_metrics.py +139 -0
  46. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/prompt_dials.py +18 -1
  47. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/protocols.py +42 -0
  48. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/quality_calibration_gate.py +1 -1
  49. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/report_formatter.py +117 -0
  50. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/risk_register.py +1 -1
  51. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/scratchpad.py +14 -1
  52. devsquad-4.5.2/scripts/collaboration/scratchpad_history_store.py +276 -0
  53. devsquad-4.5.2/scripts/collaboration/skill_provider_builtin.py +155 -0
  54. devsquad-4.5.2/scripts/collaboration/skill_provider_mcp.py +164 -0
  55. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/skill_registry.py +57 -2
  56. devsquad-4.5.2/scripts/collaboration/task_scale_gate.py +312 -0
  57. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/test_quality_guard.py +75 -79
  58. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/worker.py +21 -0
  59. devsquad-4.5.2/scripts/collect_baseline.py +160 -0
  60. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/dashboard/dispatch_views.py +114 -5
  61. {devsquad-4.4.0 → devsquad-4.5.2}/skills/__init__.py +1 -1
  62. {devsquad-4.4.0 → devsquad-4.5.2}/skills/security/handler.py +1 -1
  63. devsquad-4.5.2/tests/test_approval_gate.py +398 -0
  64. devsquad-4.5.2/tests/test_backend_config.py +239 -0
  65. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_cli_command_classifier.py +3 -4
  66. devsquad-4.5.2/tests/test_cli_doctor.py +226 -0
  67. devsquad-4.5.2/tests/test_cli_metrics.py +151 -0
  68. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_dispatcher_ux_test.py +5 -1
  69. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_test_quality_guard_test.py +26 -0
  70. devsquad-4.5.2/tests/test_fallback_fuse.py +214 -0
  71. devsquad-4.5.2/tests/test_gitlab_connector.py +295 -0
  72. devsquad-4.5.2/tests/test_host_bridge_unit.py +354 -0
  73. devsquad-4.5.2/tests/test_llm_backend_resolve.py +370 -0
  74. devsquad-4.5.2/tests/test_moka_backend.py +306 -0
  75. devsquad-4.5.2/tests/test_order_chain_detector.py +242 -0
  76. devsquad-4.5.2/tests/test_perf_baseline.py +341 -0
  77. devsquad-4.5.2/tests/test_perf_baseline_ci_gate.py +257 -0
  78. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_prometheus_metrics.py +158 -7
  79. devsquad-4.5.2/tests/test_task_scale_gate.py +247 -0
  80. devsquad-4.4.0/scripts/collaboration/_version.py +0 -1
  81. devsquad-4.4.0/scripts/collaboration/models_dispatch.py +0 -331
  82. {devsquad-4.4.0 → devsquad-4.5.2}/LICENSE +0 -0
  83. {devsquad-4.4.0 → devsquad-4.5.2}/devsquad.egg-info/dependency_links.txt +0 -0
  84. {devsquad-4.4.0 → devsquad-4.5.2}/devsquad.egg-info/entry_points.txt +0 -0
  85. {devsquad-4.4.0 → devsquad-4.5.2}/devsquad.egg-info/top_level.txt +0 -0
  86. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/__init__.py +0 -0
  87. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/api/__init__.py +0 -0
  88. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/api/models.py +0 -0
  89. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/api/rate_limit.py +0 -0
  90. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/api/routes/__init__.py +0 -0
  91. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/api/routes/lifecycle.py +0 -0
  92. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/api/routes/metrics.py +0 -0
  93. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/api/routes/metrics_gates.py +0 -0
  94. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/api/security.py +0 -0
  95. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/api_server.py +0 -0
  96. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/auth.py +0 -0
  97. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/benchmark_async_dispatch.py +0 -0
  98. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/benchmark_ponytail_smart.py +0 -0
  99. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/check_async_coverage.py +0 -0
  100. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/check_config_consistency.py +0 -0
  101. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/check_constructor_params.py +0 -0
  102. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/check_dependency_lock.py +0 -0
  103. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/check_dependency_sync.py +0 -0
  104. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/check_hidden_content.py +0 -0
  105. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/check_test_pyramid.py +0 -0
  106. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/check_test_quality.py +0 -0
  107. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/cli/__init__.py +0 -0
  108. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/cli/cli_visual.py +0 -0
  109. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/cli_lifecycle.py +0 -0
  110. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/cli_utils.py +0 -0
  111. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/__init__.py +0 -0
  112. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/adaptive_role_selector.py +0 -0
  113. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/adversarial_verify.py +0 -0
  114. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/agent_briefing.py +0 -0
  115. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/ai_semantic_matcher.py +0 -0
  116. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/anchor_checker.py +0 -0
  117. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/anti_rationalization.py +0 -0
  118. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/async_adapter.py +0 -0
  119. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/async_coordinator.py +0 -0
  120. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/async_llm_backend.py +0 -0
  121. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/audit_logger.py +0 -0
  122. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/autonomous/__init__.py +0 -0
  123. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/autonomous/git_driver.py +0 -0
  124. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/autonomous/loop_controller.py +0 -0
  125. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/autonomous/notes_memory.py +0 -0
  126. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/autonomous/run_state.py +0 -0
  127. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/autonomous/sleep_guard.py +0 -0
  128. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/autonomous/smart_confirmation.py +0 -0
  129. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/batch_scheduler.py +0 -0
  130. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/cache_interface.py +0 -0
  131. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/ccr_store.py +0 -0
  132. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/ci_feedback_adapter.py +0 -0
  133. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/code_graph_query.py +0 -0
  134. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/code_graph_storage.py +0 -0
  135. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/code_knowledge_graph.py +0 -0
  136. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/code_map_generator.py +0 -0
  137. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/concern_pack_loader.py +0 -0
  138. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/confidence_score.py +0 -0
  139. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/config_manager.py +0 -0
  140. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/consensus.py +0 -0
  141. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/consensus_gate.py +0 -0
  142. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/constants.py +0 -0
  143. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/content_cache.py +0 -0
  144. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/content_crusher.py +0 -0
  145. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/context_compressor.py +0 -0
  146. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dashboard_live_mode.py +0 -0
  147. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/debt_collector.py +0 -0
  148. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_audit.py +0 -0
  149. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_lifecycle.py +0 -0
  150. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_performance.py +0 -0
  151. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_rbac.py +0 -0
  152. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_result_assembler.py +0 -0
  153. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_services.py +0 -0
  154. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_steps.py +0 -0
  155. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_steps_base.py +0 -0
  156. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_steps_consensus_mixin.py +0 -0
  157. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_steps_feedback_mixin.py +0 -0
  158. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_steps_mixins.py +0 -0
  159. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_steps_quality_mixin.py +0 -0
  160. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatch_steps_services_mixin.py +0 -0
  161. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatcher_async_mixin.py +0 -0
  162. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatcher_audit_mixin.py +0 -0
  163. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatcher_config.py +0 -0
  164. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatcher_error_mixin.py +0 -0
  165. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatcher_factory.py +0 -0
  166. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatcher_lifecycle_mixin.py +0 -0
  167. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatcher_mixins.py +0 -0
  168. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatcher_status_mixin.py +0 -0
  169. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dispatcher_utils_mixin.py +0 -0
  170. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dora_metrics_collector.py +0 -0
  171. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/dual_layer_context.py +0 -0
  172. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/enhanced_worker.py +0 -0
  173. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/enterprise_feature.py +0 -0
  174. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/error_budget_tracker.py +0 -0
  175. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/event_bus.py +0 -0
  176. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/execution_guard.py +0 -0
  177. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/feature_usage_tracker.py +0 -0
  178. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/feedback_control_loop.py +0 -0
  179. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/five_axis_consensus.py +0 -0
  180. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/gap_analyzer.py +0 -0
  181. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/input_validator.py +0 -0
  182. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/intent_workflow_mapper.py +0 -0
  183. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/judge_agent.py +0 -0
  184. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/language_parsers.py +0 -0
  185. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/learned_rule_store.py +0 -0
  186. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/lifecycle_gate.py +0 -0
  187. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/lifecycle_protocol.py +0 -0
  188. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/lifecycle_shortcut_adapter.py +0 -0
  189. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/lifecycle_shortcut_helpers.py +0 -0
  190. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/lifecycle_templates.py +0 -0
  191. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/llm_cache.py +0 -0
  192. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/llm_cache_async.py +0 -0
  193. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/llm_cache_base.py +0 -0
  194. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/llm_retry.py +0 -0
  195. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/llm_retry_async.py +0 -0
  196. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/llm_retry_base.py +0 -0
  197. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/loop_engineering/__init__.py +0 -0
  198. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/loop_engineering/discovery_probe.py +0 -0
  199. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/loop_engineering/handoff_adapter.py +0 -0
  200. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/loop_engineering/independent_evaluator.py +0 -0
  201. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/loop_engineering/kernel.py +0 -0
  202. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/loop_engineering/loop_scheduler.py +0 -0
  203. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/loop_engineering/models.py +0 -0
  204. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/loop_engineering/protocols.py +0 -0
  205. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/loop_engineering/rollback_strategy.py +0 -0
  206. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/loop_engineering/unified_memory.py +0 -0
  207. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/mce_adapter.py +0 -0
  208. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/memory_bridge.py +0 -0
  209. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/memory_claw_source.py +0 -0
  210. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/memory_forgetting.py +0 -0
  211. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/memory_index.py +0 -0
  212. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/memory_query.py +0 -0
  213. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/memory_serializer.py +0 -0
  214. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/memory_types.py +0 -0
  215. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/meta_skill_layering.py +0 -0
  216. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/micro_task_planner.py +0 -0
  217. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/models_base.py +0 -0
  218. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/models_lifecycle.py +0 -0
  219. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/multi_host_adapter.py +0 -0
  220. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/multi_level_cache.py +0 -0
  221. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/multi_tenant.py +0 -0
  222. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/null_providers.py +0 -0
  223. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/operation_classifier.py +0 -0
  224. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/output_slicer.py +0 -0
  225. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/output_validator.py +0 -0
  226. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/performance_fingerprint.py +0 -0
  227. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/performance_monitor.py +0 -0
  228. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/permission_guard.py +0 -0
  229. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/plugins/__init__.py +0 -0
  230. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/plugins/hot_loader.py +0 -0
  231. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/ponytail_rule_injector.py +0 -0
  232. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/prompt_assembler.py +0 -0
  233. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/prompt_assembler_base.py +0 -0
  234. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/prompt_assembler_formatting_mixin.py +0 -0
  235. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/prompt_assembler_mixins.py +0 -0
  236. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/prompt_assembler_substitution_mixin.py +0 -0
  237. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/prompt_assembler_template_mixin.py +0 -0
  238. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/prompt_assembler_validation_mixin.py +0 -0
  239. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/quality_probe_slice.py +0 -0
  240. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/rbac_engine.py +0 -0
  241. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/redesign_auditor.py +0 -0
  242. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/redesign_checkers.py +0 -0
  243. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/redis_cache.py +0 -0
  244. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/requirement_tracer.py +0 -0
  245. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/retrospective.py +0 -0
  246. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/review_checkers.py +0 -0
  247. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/role_matcher.py +0 -0
  248. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/role_skill_loader.py +0 -0
  249. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/role_specific_mock_backend.py +0 -0
  250. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/rule_collector.py +0 -0
  251. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/secret_patterns.py +0 -0
  252. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/severity_router.py +0 -0
  253. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/similar_task_recommender.py +0 -0
  254. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/skill_extractor.py +0 -0
  255. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/skill_storage.py +0 -0
  256. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/skillifier.py +0 -0
  257. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/standardized_role_template.py +0 -0
  258. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/task_completion_checker.py +0 -0
  259. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/tech_debt_manager.py +0 -0
  260. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/todo_drift_monitor.py +0 -0
  261. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/two_stage_review_gate.py +0 -0
  262. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/ue_test_accessibility_mixin.py +0 -0
  263. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/ue_test_framework.py +0 -0
  264. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/ue_test_framework_base.py +0 -0
  265. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/ue_test_heuristic_mixin.py +0 -0
  266. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/ue_test_journey_mixin.py +0 -0
  267. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/ue_test_mixins.py +0 -0
  268. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/ue_test_persona_mixin.py +0 -0
  269. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/unified_gate_engine.py +0 -0
  270. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/usage_tracker.py +0 -0
  271. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/user_friendly_error.py +0 -0
  272. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/verification_gate.py +0 -0
  273. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/viewpoint_registry.py +0 -0
  274. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/warmup_manager.py +0 -0
  275. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/workflow_engine.py +0 -0
  276. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/workflow_engine_base.py +0 -0
  277. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/workflow_engine_lifecycle_mixin.py +0 -0
  278. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/workflow_engine_mixins.py +0 -0
  279. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/workflow_engine_persistence_mixin.py +0 -0
  280. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/workflow_engine_state_mixin.py +0 -0
  281. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/workflow_engine_transition_mixin.py +0 -0
  282. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/collaboration/yagni_checker.py +0 -0
  283. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/dashboard/__init__.py +0 -0
  284. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/dashboard/app.py +0 -0
  285. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/dashboard/auth_views.py +0 -0
  286. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/dashboard/components.py +0 -0
  287. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/dashboard/dag_views.py +0 -0
  288. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/dashboard/i18n.py +0 -0
  289. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/dashboard/lifecycle_views.py +0 -0
  290. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/dashboard/metrics_views.py +0 -0
  291. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/dashboard/state.py +0 -0
  292. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/dashboard/v43_panels.py +0 -0
  293. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/dashboard.py +0 -0
  294. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/generate_benchmark_report.py +0 -0
  295. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/generate_quality_decision_report.py +0 -0
  296. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/history_manager.py +0 -0
  297. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/mcp_server.py +0 -0
  298. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/qa/__init__.py +0 -0
  299. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/qa/deterministic_rule_engine.py +0 -0
  300. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/qa/models.py +0 -0
  301. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/qa/taste_dials.py +0 -0
  302. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/qa/uiux_analyzer.py +0 -0
  303. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/qa/uiux_subitems.py +0 -0
  304. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/qa/visual_regression.py +0 -0
  305. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/scan_pickle_payloads.py +0 -0
  306. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/utils/__init__.py +0 -0
  307. {devsquad-4.4.0 → devsquad-4.5.2}/scripts/utils/_find_missing_hints.py +0 -0
  308. {devsquad-4.4.0 → devsquad-4.5.2}/setup.cfg +0 -0
  309. {devsquad-4.4.0 → devsquad-4.5.2}/skills/_version.py +0 -0
  310. {devsquad-4.4.0 → devsquad-4.5.2}/skills/dispatch/handler.py +0 -0
  311. {devsquad-4.4.0 → devsquad-4.5.2}/skills/intent/handler.py +0 -0
  312. {devsquad-4.4.0 → devsquad-4.5.2}/skills/prototype/handler.py +0 -0
  313. {devsquad-4.4.0 → devsquad-4.5.2}/skills/registry.py +0 -0
  314. {devsquad-4.4.0 → devsquad-4.5.2}/skills/retrospective/__init__.py +0 -0
  315. {devsquad-4.4.0 → devsquad-4.5.2}/skills/retrospective/handler.py +0 -0
  316. {devsquad-4.4.0 → devsquad-4.5.2}/skills/review/handler.py +0 -0
  317. {devsquad-4.4.0 → devsquad-4.5.2}/skills/teach/handler.py +0 -0
  318. {devsquad-4.4.0 → devsquad-4.5.2}/skills/test/__init__.py +0 -0
  319. {devsquad-4.4.0 → devsquad-4.5.2}/skills/test/handler.py +0 -0
  320. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_4pt_grid.py +0 -0
  321. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_adaptive_role_selector.py +0 -0
  322. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_adversarial_verify.py +0 -0
  323. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_agent_briefing.py +0 -0
  324. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_anchor_retrospective.py +0 -0
  325. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_anti_rationalization.py +0 -0
  326. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_antipattern_bans.py +0 -0
  327. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_api_budget_status_endpoint.py +0 -0
  328. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_api_security.py +0 -0
  329. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_api_server_v362.py +0 -0
  330. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_async_coordinator.py +0 -0
  331. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_async_modules.py +0 -0
  332. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_audit_logger.py +0 -0
  333. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_auth_phase5.py +0 -0
  334. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_autonomous.py +0 -0
  335. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_benchmark_ponytail_smart.py +0 -0
  336. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_cache_interface.py +0 -0
  337. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_ccr_store.py +0 -0
  338. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_check_async_coverage.py +0 -0
  339. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_check_config_consistency.py +0 -0
  340. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_check_constructor_params.py +0 -0
  341. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_check_dependency_lock.py +0 -0
  342. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_check_hidden_content.py +0 -0
  343. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_check_test_pyramid.py +0 -0
  344. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_check_test_quality.py +0 -0
  345. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_check_version_consistency.py +0 -0
  346. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_ci_feedback_adapter.py +0 -0
  347. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_cli_deep_v362.py +0 -0
  348. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_cli_lifecycle.py +0 -0
  349. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_cli_phase5.py +0 -0
  350. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_code_knowledge_graph.py +0 -0
  351. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_claw_integration_test.py +0 -0
  352. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_context_compressor_test.py +0 -0
  353. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_core_test.py +0 -0
  354. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_dispatcher_test.py +0 -0
  355. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_e2e_test.py +0 -0
  356. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_enhanced_e2e_test.py +0 -0
  357. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_llm_cache_test.py +0 -0
  358. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_llm_retry_test.py +0 -0
  359. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_mce_adapter_test.py +0 -0
  360. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_memory_bridge_test.py +0 -0
  361. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_performance_monitor_test.py +0 -0
  362. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_permission_guard_test.py +0 -0
  363. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_prompt_optimization_test.py +0 -0
  364. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_role_mapping_test.py +0 -0
  365. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_skillifier_test.py +0 -0
  366. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_test_quality_guard.py +0 -0
  367. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_upstream_test.py +0 -0
  368. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_collaboration_warmup_manager_test.py +0 -0
  369. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_confidence_score.py +0 -0
  370. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_config_injection.py +0 -0
  371. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_consensus_dissent.py +0 -0
  372. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_consensus_fatigue.py +0 -0
  373. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_consensus_gate.py +0 -0
  374. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_content_cache.py +0 -0
  375. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_content_crusher.py +0 -0
  376. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_coordinator_smart_compression.py +0 -0
  377. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dag_views.py +0 -0
  378. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dashboard_live_mode.py +0 -0
  379. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dashboard_split.py +0 -0
  380. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dashboard_ui_e2e.py +0 -0
  381. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dashboard_v43_panels.py +0 -0
  382. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_data_backup.py +0 -0
  383. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_debt_collector.py +0 -0
  384. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_deep_shallow.py +0 -0
  385. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_deletion_test.py +0 -0
  386. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dependency_hallucination_checker.py +0 -0
  387. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dependency_lock.py +0 -0
  388. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_deployment_compliance_checker.py +0 -0
  389. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_deterministic_rule_engine.py +0 -0
  390. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dispatch_audit.py +0 -0
  391. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dispatch_performance.py +0 -0
  392. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dispatch_rbac.py +0 -0
  393. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dispatch_steps.py +0 -0
  394. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dispatcher_mixins.py +0 -0
  395. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dispatcher_phase5_core.py +0 -0
  396. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_docker_deployment.py +0 -0
  397. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_dual_layer_context.py +0 -0
  398. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_enhanced_worker.py +0 -0
  399. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_feedback_control_loop.py +0 -0
  400. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_five_axis_consensus.py +0 -0
  401. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_flow_standalone.py +0 -0
  402. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_full_lifecycle_adapter.py +0 -0
  403. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_git_guardrails.py +0 -0
  404. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_glossary_loader.py +0 -0
  405. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_grilling_mode.py +0 -0
  406. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_handoff_redaction.py +0 -0
  407. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_history_manager_v362.py +0 -0
  408. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_input_validator_phase5.py +0 -0
  409. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_input_validator_sensitive.py +0 -0
  410. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_intent_workflow_mapper.py +0 -0
  411. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_judge_agent.py +0 -0
  412. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_learned_rule_phase4.py +0 -0
  413. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_lifecycle_protocol.py +0 -0
  414. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_llm_auto_fallback.py +0 -0
  415. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_llm_cache_protocol.py +0 -0
  416. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_loop_engineering.py +0 -0
  417. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_loop_engineering_rollback.py +0 -0
  418. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_mcp_server_v362.py +0 -0
  419. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_memory_benchmarks.py +0 -0
  420. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_meta_skill_layering.py +0 -0
  421. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_micro_task_planner.py +0 -0
  422. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_multi_host_adapter.py +0 -0
  423. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_multi_tenant.py +0 -0
  424. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_multi_tenant_isolation_e2e.py +0 -0
  425. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_no_op_test.py +0 -0
  426. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_node_type_separation.py +0 -0
  427. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_null_providers.py +0 -0
  428. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_oklch_color.py +0 -0
  429. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_operation_classifier.py +0 -0
  430. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_output_slicer.py +0 -0
  431. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_output_validator_prompt_injection.py +0 -0
  432. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_performance_benchmarks.py +0 -0
  433. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_performance_fingerprint.py +0 -0
  434. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_performance_monitor_protocol.py +0 -0
  435. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_permission_guard_human_gate.py +0 -0
  436. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_permission_guard_phase5.py +0 -0
  437. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_phase4_ghost_feature_defense.py +0 -0
  438. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_pipeline_step19_20.py +0 -0
  439. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_plan_c_unified_architecture.py +0 -0
  440. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_plugins_hot_loader.py +0 -0
  441. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_ponytail_rule_injector.py +0 -0
  442. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_production_features.py +0 -0
  443. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_prompt_dials.py +0 -0
  444. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_protocols.py +0 -0
  445. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_prototype_skill.py +0 -0
  446. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_qa_uiux_visual_regression.py +0 -0
  447. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_quick_bonus.py +0 -0
  448. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_rate_limit.py +0 -0
  449. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_rbac_engine.py +0 -0
  450. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_rbac_fail_closed.py +0 -0
  451. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_red_capable_gate.py +0 -0
  452. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_redesign_auditor.py +0 -0
  453. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_redis_cache.py +0 -0
  454. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_requirement_tracer.py +0 -0
  455. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_retry_jitter_strategies.py +0 -0
  456. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_role_skill_loader.py +0 -0
  457. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_rule_collector.py +0 -0
  458. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_rule_injection_security.py +0 -0
  459. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_secret_patterns.py +0 -0
  460. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_severity_router.py +0 -0
  461. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_similar_task_recommender.py +0 -0
  462. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_skill_registry_coverage.py +0 -0
  463. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_skill_security.py +0 -0
  464. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_sleep_guard.py +0 -0
  465. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_standardized_role_template.py +0 -0
  466. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_start_script.py +0 -0
  467. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_step_node_types.py +0 -0
  468. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_suggested_next_steps.py +0 -0
  469. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_task_completion_checker.py +0 -0
  470. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_taste_dials.py +0 -0
  471. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_tautological_seams.py +0 -0
  472. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_teach_skill.py +0 -0
  473. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_tech_debt_manager.py +0 -0
  474. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_todo_drift_monitor.py +0 -0
  475. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_token_budget_compressed_scratchpad.py +0 -0
  476. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_triage_label.py +0 -0
  477. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_two_stage_review_gate.py +0 -0
  478. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_ue_test_framework.py +0 -0
  479. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_uiux_subitems.py +0 -0
  480. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_usage_tracker_coverage.py +0 -0
  481. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_v39_e2e.py +0 -0
  482. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_v39_performance.py +0 -0
  483. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_v411_security_hardening.py +0 -0
  484. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_verification_gate.py +0 -0
  485. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_version.py +0 -0
  486. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_vertical_slice.py +0 -0
  487. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_workflow_engine.py +0 -0
  488. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_workflow_engine_base.py +0 -0
  489. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_workflow_engine_lifecycle.py +0 -0
  490. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_workflow_engine_state.py +0 -0
  491. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_workflow_engine_transition.py +0 -0
  492. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_workflow_persistence_coverage.py +0 -0
  493. {devsquad-4.4.0 → devsquad-4.5.2}/tests/test_yagni_checker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devsquad
3
- Version: 4.4.0
3
+ Version: 4.5.2
4
4
  Summary: Production-Ready Multi-Role AI Task Orchestrator
5
5
  Author-email: DevSquad Team <devsquad@example.com>
6
6
  License: MIT
@@ -54,9 +54,9 @@ Provides-Extra: dev
54
54
  Requires-Dist: pytest>=7.0; extra == "dev"
55
55
  Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
56
56
  Requires-Dist: pytest-cov>=4.1; extra == "dev"
57
- Requires-Dist: ruff>=0.4.0; extra == "dev"
58
- Requires-Dist: mypy>=1.0; extra == "dev"
59
- Requires-Dist: black>=23.0; extra == "dev"
57
+ Requires-Dist: ruff==0.15.20; extra == "dev"
58
+ Requires-Dist: mypy==2.2.0; extra == "dev"
59
+ Requires-Dist: black==26.5.1; extra == "dev"
60
60
  Requires-Dist: flake8>=6.0; extra == "dev"
61
61
  Requires-Dist: httpx2>=2.5.0; extra == "dev"
62
62
  Requires-Dist: streamlit>=1.28.0; extra == "dev"
@@ -96,14 +96,14 @@ Dynamic: license-file
96
96
  <p align="center">
97
97
  <strong>🎯 把「单个 AI 助手」升级成「7 人 AI 专业团队」</strong>
98
98
  <br>
99
- <em>One task → Multi-role AI collaboration → One conclusion | V4.4.0 (5 new enhancement modules)</em>
99
+ <em>One task → Multi-role AI collaboration → One conclusion | V4.5.2 (Approval Gate + Connector Framework + anti-ghost E2E) | V4.5.0 (cross-session continuity + protocol-native skills) | V4.4.0 (5 enhancement modules)</em>
100
100
  </p>
101
101
 
102
102
  <p align="center">
103
103
  <img alt="Python" src="https://img.shields.io/badge/Python-3.10+-blue?logo=python&logoColor=white" />
104
104
  <img alt="License" src="https://img.shields.io/badge/License-MIT-green" />
105
- <img alt="Tests" src="https://img.shields.io/badge/Tests-8136%20passing-brightgreen" />
106
- <img alt="Version" src="https://img.shields.io/badge/V4.4.0-success" />
105
+ <img alt="Tests" src="https://img.shields.io/badge/Tests-8392%2B%20passing-brightgreen" />
106
+ <img alt="Version" src="https://img.shields.io/badge/V4.5.2-success" />
107
107
  <img alt="CI" src="https://img.shields.io/badge/CI-GitHub_Actions-blue?logo=githubactions" />
108
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" />
109
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" />
@@ -157,58 +157,95 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
157
157
  | 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
158
158
  | 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
159
159
 
160
- 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [185+ 模块详细参考](SKILL.md)
160
+ 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [187+ 模块详细参考](SKILL.md)
161
161
 
162
162
  ---
163
163
 
164
164
  <details>
165
165
  <summary>🔍 点击展开:完整功能介绍与架构详解</summary>
166
166
 
167
- ## 🚀 V4.3.0 (V4.3.0 candidate): 安全债清理 + 上游精细化升级 + 测试金字塔达标
167
+ ## 🚀 V4.5.2: Approval Gate + Connector Framework + Anti-Ghost E2E
168
+
169
+ **DevSquad V4.5.2** (PATCH release, SemVer compliant) introduces 2 new modules and completes 3 ROADMAP items (V451-1, V451-2, V451-7/8/9). All new modules default to safe, backward-compatible behavior — no API breaking changes. See [docs/release_notes/V4.5.2_RELEASE_NOTES.md](docs/release_notes/V4.5.2_RELEASE_NOTES.md) for full release notes.
170
+
171
+ ### V4.5.2 — 2 New Modules + 3 ROADMAP Items
172
+ - **ApprovalGate**: User-level approval mechanism for external operations. Fail-closed on callback exceptions. Auto-approve fallback when no callback configured (backward compatible).
173
+ - **ConnectorFramework**: Protocol-based interface for external system integration (GitHub first). `Connector` Protocol + `GitHubConnector` (api/cli/simulation modes). `simulation=True` enforced by default in dispatch pipeline.
174
+ - **V451-7 Dashboard browser-level E2E**: 11 AppTest cases (Streamlit AppTest replaces Playwright — avoids heavy browser deps while still being browser-level DOM simulation)
175
+ - **V451-8 REST API end-to-end user journey E2E**: 190 E2E tests covering dispatch→history→roles→quick dispatch→error handling→lifecycle→cross-entry
176
+ - **V451-9 Connector Framework anti-ghost E2E**: 12 E2E tests (AG-1 through AG-8) proving pipeline activation
177
+
178
+ ### V4.5.0 — Cross-Session Continuity + Protocol-Native Skills + Action-First Reports
179
+
180
+ **DevSquad V4.5.0** (merging V4.4.3 + V4.4.4 + V4.5.0 changes) delivers 10 new features for cross-session continuity, protocol-native skill architecture, and action-first reporting. The 7-role AI team orchestrates complex engineering tasks with full audit trails and consensus mechanisms. See [docs/VISION.md](docs/VISION.md) for the project vision.
181
+
182
+ ### V4.5.0 — 10 New Features
183
+ - **ScratchpadHistoryStore**: SQLite-backed cross-session Scratchpad search
184
+ - **AgentIdentity**: Deterministic agent ID for cross-session tracking
185
+ - **WorkflowTrace**: Transparent workflow trace in dispatch reports
186
+ - **GitContext**: Git branch/commit context injection into dispatch
187
+ - **SkillProvider Protocol**: Protocol-native skill architecture (Builtin + MCP providers)
188
+ - **OutputStyle**: Action-first report format (from i-have-adhd insights)
189
+ - **SessionResume CLI**: `devsquad sessions list` + `dispatch --resume`
190
+ - **FileBundler**: Deterministic file bundling for review mode (from open-code-review)
191
+ - **SKILL.md Modular Split**: 1216→282 lines + 3 reference docs (MODULE_REFERENCE / SUB_SKILLS / VERSION_HISTORY)
192
+ - **VISION Documents**: docs/VISION.md + VISION_ORCHESTRATION.md + VISION_AGENT_COLLABORATION.md
193
+
194
+ ### V4.4.0 — P0-P3 Enhancement Modules (5 new modules)
195
+ - **P0-1 RiskRegister**: PMP risk management with 7-role weighted assessment (probability × impact) + 4 response strategies (avoid/transfer/mitigate/accept) + `GateType.RISK_CHECK` gate (exposure ≥ 0.36 blocks)
196
+ - **P0-2 ViewpointRegistry**: TOGAF architecture viewpoints with 7-role bound formal viewpoints + `is_orthogonal()` orthogonality check + `check_consistency()` conflict detection
197
+ - **P1-1 ErrorBudgetTracker**: SRE error budget with SLO 99.9% default + `GateType.ERROR_BUDGET` P10 gate (budget exhaustion blocks deployment) + `burn_rate()` consumption rate
198
+ - **P1-2 GapAnalyzer**: TOGAF gap analysis with `analyze(current, target)` + `prioritize()` + `generate_roadmap()` + `suggest_scheduler_decision()` driving LoopScheduler
199
+ - **P2-1 DoraMetricsCollector**: DORA metrics (Deployment Frequency / Lead Time / Change Failure Rate / MTTR) + `GateType.DORA_CHECK` P11 gate (CFR > 15% triggers architecture review) + Elite/High/Medium/Low rating
200
+
201
+ ### V4.4.1 — External Docs Restructure
202
+ - Archived orphan i18n docs (docs/i18n/ → docs/_archive/i18n/)
203
+ - Retired CHANGELOG-CN.md (CHANGELOG.md is now SSOT for all languages)
204
+ - Consolidated admin credentials to INSTALL.md only (single source of truth)
205
+ - Renumbered INSTALL.md methods to continuous 1-7
206
+ - Synced version numbers across all external docs (README/SKILL/INSTALL/CLAUDE)
207
+
208
+ ### V4.4.2 — Multilingual + Dashboard Enhancement
209
+ - Multilingual role prompts (EN/CN/JP) for all 7 roles
210
+ - Dashboard 6-tab visibility (Overview/Dispatch/Lifecycle/Metrics/Audit/Settings)
211
+ - P2 Kanban evaluation (work-in-progress limits + cycle time tracking)
212
+ - P3 ITSM evaluation (incident management + change advisory board simulation)
213
+ - 13 E2E tests xpass + anti-ghost counters
214
+
215
+ ### Anti-Ghost Feature Guarantee
216
+ Every new module includes `_call_counter` mechanism + E2E anti_ghost test + CI `check_module_activation.py` verification. Modules must be truly integrated into dispatch pipeline (not just instantiated), with Markdown report sections user-visible. V4.5.2 extends this pattern from V4.4.0 (RiskRegister / ViewpointRegistry / ErrorBudgetTracker / GapAnalyzer / DoraMetricsCollector) to V4.5.2 (ApprovalGate / ConnectorFramework).
217
+
218
+ ### Test Pyramid Achieved
219
+ - **Contract tests**: 5.2% (target ≥5% ✅)
220
+ - **Integration tests**: 15.1% (target ≥15% ✅)
221
+ - **Total tests**: 8392+ (CI authoritative)
222
+ - **E2E coverage**: 107 e2e + 1244 integration + 13 V4.4.0 anti-ghost + 12 V4.5.2 anti-ghost
223
+
224
+ ### Historical Features (V4.0.0-V4.3.3)
225
+ - **V4.3.3**: P0-P3 enhancement E2E skeletons (xfail TDD for V4.4.0)
226
+ - **V4.3.2**: LLM vs Mock quality gap measurement (calibration gate + thin-slice probe)
227
+ - **V4.3.0 Phase 3**: Quality hardening + user simulation E2E (NPS 9/10)
228
+ - **V4.3.0 Phase 2**: OutputValidator full integration (LLM output safety detection)
229
+ - **V4.3.0 Phase 1**: DependencyHallucinationChecker (anti-slopsquatting supply chain attack)
230
+ - **V4.3.0 Phase 0**: DeploymentComplianceChecker (anti-violation deployment backstop)
231
+ - **V4.0.0 P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling
232
+ - **V4.0.0 P1-2 UI/UX Patrol**: 4-dimension audit + PIL pixel diff visual regression
233
+ - **V4.0.0 P2-1 Adversarial Verification**: red team attack + blue team defense + judge arbitration
234
+ - **V4.0.0 P2-2 DAG Visualization**: Mermaid / JSON / DOT three formats
235
+ - **V4.0.0 P3-1 Autonomous**: plan → dev → verify → fix 4-stage autonomous iteration
236
+ - **V4.0.0 P3-2 Plugin Hot-Loading**: 3 loading paths + path traversal 3-layer protection + reload rollback
237
+
238
+ 8392+ tests passing (CI authoritative).
168
239
 
169
- **DevSquad V4.3.0** 是 V4.3.0 的预发布候选版本,整合技术债跟踪、pickle→JSON 迁移、上游 TraeMultiAgentSkill v2.6-v2.8 精细化启发三方面输入,按 7-Role 共识推进:
170
-
171
- ### V4.3.0 P0 — 安全债清理(必做)
172
- - **P0-1 pickle→JSON 迁移阶段 1**: 删除 2 处 dead code + fallback 安全收紧(`require_password` 校验)
173
- - **P0-2 技术债持续监控**: `todo_drift_monitor.py` 自动扫描 TODO/FIXME/HACK + pre-commit 阻塞 + CI lint 集成
174
-
175
- ### V4.3.0 P1 — 上游精细化升级(重要)
176
- - **P1-1 Ponytail lite/full 双模式**: 8 核心红线(lite)+ 16 红线(full),`# ponytail:` 债务收集 + `[REQ-XXX]` 需求追踪
177
- - **P1-4 LoopKernel RollbackStrategy**: D1-D6 失败精准回退 + 独立硬上限(默认 3)+ 累计上下文传递
178
- - **P1-5 UIUX 子项审计**: 4 维度 20 子项注册表 + PASS/WARN/FAIL/NOT_IMPLEMENTED 审计
179
- - **P1-6 Dashboard V4.3.0 面板**: Ponytail 模式 / Loop 回退 / Plugin 事件 / 技术债状态可视化
180
-
181
- ### V4.3.0 P2 — 收尾(一般)
182
- - **P2-1 pickle fallback 完全移除**(用户确认从 V4.3.1 并入 V4.3.0): `allow_pickle_fallback` 参数移除,`serialization_format="pickle"` 构造时拒绝
183
-
184
- ### V4.2+ / V4.3+ Roadmap 已落地项
185
- - **P2-1 PrototypeSkill**: 快速原型生成验证假设
186
- - **P2-2 TeachSkill**: 8 主题新用户引导课程
187
- - **P2-4 pre-commit hooks**: 依赖版本锁检查
188
- - **P2-UI-1 CLI 命令词表**: 基于 impeccable 23 命令词表对齐
189
- - **P2-UI-2 Live Browser 模式**: 实时 UI 审查迭代闭环
190
- - **P2-UI-3 Meta-skills 分层**: 8 子技能 6 层架构
191
-
192
- ### 测试金字塔达标
193
- - **Contract 测试**: 3.06% → 5.0%(目标 ≥5% ✅)
194
- - **Integration 测试**: 8.84% → 15.2%(目标 ≥15% ✅)
195
- - **总测试数**: 5250+ → 7681(+2431 测试)
240
+ ---
196
241
 
197
- ### 历史特性(V4.0.0-V4.2.1)
198
- - **V4.0.0 P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling 五步闭环
199
- - **V4.0.0 P1-2 UI/UX 巡检**: 4 维度审计 + PIL 像素 diff 视觉回归
200
- - **V4.0.0 P2-1 Adversarial 验证**: 红队攻击 + 蓝队防御 + 裁判仲裁
201
- - **V4.0.0 P2-2 DAG 可视化**: Mermaid / JSON / DOT 三格式
202
- - **V4.0.0 P3-1 Autonomous**: plan → dev → verify → fix 4 阶段自主迭代
203
- - **V4.0.0 P3-2 插件热加载**: 3 加载路径 + 路径穿越三层防护 + reload 回滚
242
+ ## ⚡ Quick Start (7 Ways to Invoke DevSquad)
204
243
 
205
- 7681 tests passing。
244
+ ### Method 1: TRAE Skill (Recommended — you're already here)
206
245
 
207
- ---
246
+ DevSquad is registered as a TRAE Skill. Simply describe your task in the TRAE IDE chat, and the 7-role team will collaborate automatically. No CLI or API setup needed.
208
247
 
209
- ## Quick Start (5 Ways to Use DevSquad)
210
-
211
- ### Method 1: CLI (Recommended for Beginners)
248
+ ### Method 2: CLI (Recommended for Terminal Users)
212
249
 
213
250
  ```bash
214
251
  # Interactive setup wizard (1-2 minutes)
@@ -218,18 +255,28 @@ python scripts/cli.py init
218
255
  devsquad dispatch -t "your task description"
219
256
  ```
220
257
 
221
- ### Method 2: Web Dashboard (Recommended for Teams)
258
+ ### Method 3: MCP Server (For IDE / Tool Integration)
259
+
260
+ ```bash
261
+ # Start MCP server with stdio transport (for IDE integration)
262
+ python3 scripts/mcp_server.py
263
+
264
+ # Or SSE transport (for remote access)
265
+ python3 scripts/mcp_server.py --port 8080
266
+ ```
267
+
268
+ ### Method 4: Web Dashboard (Recommended for Teams)
222
269
 
223
270
  ```bash
224
271
  # Start Streamlit dashboard with authentication
225
272
  streamlit run scripts/dashboard.py
226
273
 
227
274
  # Open http://localhost:8501
228
- # Login with default account, then change password immediately.
229
- # Username: admin Password: admin123 (change in production)
275
+ # Login with default dev credentials (see INSTALL.md "Default credentials" section).
276
+ # Change all defaults in production.
230
277
  ```
231
278
 
232
- ### Method 3: REST API (Recommended for Integration)
279
+ ### Method 5: REST API (Recommended for Integration)
233
280
 
234
281
  ```bash
235
282
  # Install dependencies
@@ -242,7 +289,7 @@ uvicorn scripts.api_server:app --host 0.0.0.0 --port 8000 --reload
242
289
  # Access ReDoc: http://localhost:8000/redoc
243
290
  ```
244
291
 
245
- ### Method 4: Python API (Recommended for Developers)
292
+ ### Method 6: Python API (Recommended for Developers)
246
293
 
247
294
  ```python
248
295
  from scripts.collaboration.dispatcher import MultiAgentDispatcher
@@ -256,7 +303,7 @@ print(result.report)
256
303
  print(result.consensus)
257
304
  ```
258
305
 
259
- ### Method 5: One-Click Startup Script (V3.9.2+)
306
+ ### Method 7: One-Click Startup Script (V3.9.2+)
260
307
 
261
308
  ```bash
262
309
  # One-click startup — 4 phases: env check → DB init → frontend build → service start
@@ -485,7 +532,7 @@ All modules are **optional switches** — DevSquad works perfectly without them.
485
532
 
486
533
  ## 🧩 Layered Sub-Skill Architecture (V3.6.0)
487
534
 
488
- > DevSquad provides **6 atomic sub-skills** that can be used independently or together.
535
+ > DevSquad provides **8 atomic sub-skills** that can be used independently or together.
489
536
  > Each sub-skill is a thin wrapper (~50 lines) importing existing core modules — no duplicated logic.
490
537
 
491
538
  ```
@@ -495,7 +542,9 @@ skills/
495
542
  ├── review/ → ReviewSkill — FiveAxisConsensusEngine (5-axis code review)
496
543
  ├── security/ → SecuritySkill — InputValidator + OperationClassifier + PermissionGuard
497
544
  ├── test/ → TestSkill — TestQualityGuard + test strategy generation
498
- └── retrospective/ → RetroSkill — RetrospectiveEngine + pattern extraction
545
+ ├── retrospective/ → RetroSkill — RetrospectiveEngine + pattern extraction
546
+ ├── prototype/ → PrototypeSkill — Rapid prototype scaffolding (V4.5.0)
547
+ └── teach/ → TeachSkill — Knowledge transfer & onboarding (V4.5.0)
499
548
  ```
500
549
 
501
550
  ### Sub-Skill Quick Reference
@@ -686,7 +735,7 @@ python3 -m pytest tests/ -q --tb=line
686
735
  | Document | Description | Language |
687
736
  |----------|-------------|----------|
688
737
  | [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
689
- | [SKILL.md](SKILL.md) | 完整技能手册 + 185+ 模块参考 | EN/CN/JP |
738
+ | [SKILL.md](SKILL.md) | 完整技能手册 + 187+ 模块参考 | EN/CN/JP |
690
739
  | [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
691
740
  | [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
692
741
  | [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
@@ -766,6 +815,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
766
815
 
767
816
  ---
768
817
 
769
- *Last updated: 2026-07-24 | Version: V4.2.1 (V4.3.0 in progress — see [Roadmap](#-roadmap))*
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))*
770
819
 
771
820
  </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.4.0 (5 new enhancement modules)</em>
6
+ <em>One task → Multi-role AI collaboration → One conclusion | V4.5.2 (Approval Gate + Connector Framework + anti-ghost E2E) | V4.5.0 (cross-session continuity + protocol-native skills) | V4.4.0 (5 enhancement modules)</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-8136%20passing-brightgreen" />
13
- <img alt="Version" src="https://img.shields.io/badge/V4.4.0-success" />
12
+ <img alt="Tests" src="https://img.shields.io/badge/Tests-8392%2B%20passing-brightgreen" />
13
+ <img alt="Version" src="https://img.shields.io/badge/V4.5.2-success" />
14
14
  <img alt="CI" src="https://img.shields.io/badge/CI-GitHub_Actions-blue?logo=githubactions" />
15
15
  <img alt="Quality" src="https://img.shields.io/badge/Code%20Quality-4.3%2F5%20%E2%98%85%E2%98%85%E2%98%85%E2%98%85%E2%98%86-blue" />
16
16
  <img alt="Security" src="https://img.shields.io/badge/Security-5%2F5%20%E2%98%85%E2%98%85%E2%98%85%E2%98%85%E2%98%85-success" />
@@ -64,58 +64,95 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
64
64
  | 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
65
65
  | 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
66
66
 
67
- 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [185+ 模块详细参考](SKILL.md)
67
+ 📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [187+ 模块详细参考](SKILL.md)
68
68
 
69
69
  ---
70
70
 
71
71
  <details>
72
72
  <summary>🔍 点击展开:完整功能介绍与架构详解</summary>
73
73
 
74
- ## 🚀 V4.3.0 (V4.3.0 candidate): 安全债清理 + 上游精细化升级 + 测试金字塔达标
74
+ ## 🚀 V4.5.2: Approval Gate + Connector Framework + Anti-Ghost E2E
75
+
76
+ **DevSquad V4.5.2** (PATCH release, SemVer compliant) introduces 2 new modules and completes 3 ROADMAP items (V451-1, V451-2, V451-7/8/9). All new modules default to safe, backward-compatible behavior — no API breaking changes. See [docs/release_notes/V4.5.2_RELEASE_NOTES.md](docs/release_notes/V4.5.2_RELEASE_NOTES.md) for full release notes.
77
+
78
+ ### V4.5.2 — 2 New Modules + 3 ROADMAP Items
79
+ - **ApprovalGate**: User-level approval mechanism for external operations. Fail-closed on callback exceptions. Auto-approve fallback when no callback configured (backward compatible).
80
+ - **ConnectorFramework**: Protocol-based interface for external system integration (GitHub first). `Connector` Protocol + `GitHubConnector` (api/cli/simulation modes). `simulation=True` enforced by default in dispatch pipeline.
81
+ - **V451-7 Dashboard browser-level E2E**: 11 AppTest cases (Streamlit AppTest replaces Playwright — avoids heavy browser deps while still being browser-level DOM simulation)
82
+ - **V451-8 REST API end-to-end user journey E2E**: 190 E2E tests covering dispatch→history→roles→quick dispatch→error handling→lifecycle→cross-entry
83
+ - **V451-9 Connector Framework anti-ghost E2E**: 12 E2E tests (AG-1 through AG-8) proving pipeline activation
84
+
85
+ ### V4.5.0 — Cross-Session Continuity + Protocol-Native Skills + Action-First Reports
86
+
87
+ **DevSquad V4.5.0** (merging V4.4.3 + V4.4.4 + V4.5.0 changes) delivers 10 new features for cross-session continuity, protocol-native skill architecture, and action-first reporting. The 7-role AI team orchestrates complex engineering tasks with full audit trails and consensus mechanisms. See [docs/VISION.md](docs/VISION.md) for the project vision.
88
+
89
+ ### V4.5.0 — 10 New Features
90
+ - **ScratchpadHistoryStore**: SQLite-backed cross-session Scratchpad search
91
+ - **AgentIdentity**: Deterministic agent ID for cross-session tracking
92
+ - **WorkflowTrace**: Transparent workflow trace in dispatch reports
93
+ - **GitContext**: Git branch/commit context injection into dispatch
94
+ - **SkillProvider Protocol**: Protocol-native skill architecture (Builtin + MCP providers)
95
+ - **OutputStyle**: Action-first report format (from i-have-adhd insights)
96
+ - **SessionResume CLI**: `devsquad sessions list` + `dispatch --resume`
97
+ - **FileBundler**: Deterministic file bundling for review mode (from open-code-review)
98
+ - **SKILL.md Modular Split**: 1216→282 lines + 3 reference docs (MODULE_REFERENCE / SUB_SKILLS / VERSION_HISTORY)
99
+ - **VISION Documents**: docs/VISION.md + VISION_ORCHESTRATION.md + VISION_AGENT_COLLABORATION.md
100
+
101
+ ### V4.4.0 — P0-P3 Enhancement Modules (5 new modules)
102
+ - **P0-1 RiskRegister**: PMP risk management with 7-role weighted assessment (probability × impact) + 4 response strategies (avoid/transfer/mitigate/accept) + `GateType.RISK_CHECK` gate (exposure ≥ 0.36 blocks)
103
+ - **P0-2 ViewpointRegistry**: TOGAF architecture viewpoints with 7-role bound formal viewpoints + `is_orthogonal()` orthogonality check + `check_consistency()` conflict detection
104
+ - **P1-1 ErrorBudgetTracker**: SRE error budget with SLO 99.9% default + `GateType.ERROR_BUDGET` P10 gate (budget exhaustion blocks deployment) + `burn_rate()` consumption rate
105
+ - **P1-2 GapAnalyzer**: TOGAF gap analysis with `analyze(current, target)` + `prioritize()` + `generate_roadmap()` + `suggest_scheduler_decision()` driving LoopScheduler
106
+ - **P2-1 DoraMetricsCollector**: DORA metrics (Deployment Frequency / Lead Time / Change Failure Rate / MTTR) + `GateType.DORA_CHECK` P11 gate (CFR > 15% triggers architecture review) + Elite/High/Medium/Low rating
107
+
108
+ ### V4.4.1 — External Docs Restructure
109
+ - Archived orphan i18n docs (docs/i18n/ → docs/_archive/i18n/)
110
+ - Retired CHANGELOG-CN.md (CHANGELOG.md is now SSOT for all languages)
111
+ - Consolidated admin credentials to INSTALL.md only (single source of truth)
112
+ - Renumbered INSTALL.md methods to continuous 1-7
113
+ - Synced version numbers across all external docs (README/SKILL/INSTALL/CLAUDE)
114
+
115
+ ### V4.4.2 — Multilingual + Dashboard Enhancement
116
+ - Multilingual role prompts (EN/CN/JP) for all 7 roles
117
+ - Dashboard 6-tab visibility (Overview/Dispatch/Lifecycle/Metrics/Audit/Settings)
118
+ - P2 Kanban evaluation (work-in-progress limits + cycle time tracking)
119
+ - P3 ITSM evaluation (incident management + change advisory board simulation)
120
+ - 13 E2E tests xpass + anti-ghost counters
121
+
122
+ ### Anti-Ghost Feature Guarantee
123
+ Every new module includes `_call_counter` mechanism + E2E anti_ghost test + CI `check_module_activation.py` verification. Modules must be truly integrated into dispatch pipeline (not just instantiated), with Markdown report sections user-visible. V4.5.2 extends this pattern from V4.4.0 (RiskRegister / ViewpointRegistry / ErrorBudgetTracker / GapAnalyzer / DoraMetricsCollector) to V4.5.2 (ApprovalGate / ConnectorFramework).
124
+
125
+ ### Test Pyramid Achieved
126
+ - **Contract tests**: 5.2% (target ≥5% ✅)
127
+ - **Integration tests**: 15.1% (target ≥15% ✅)
128
+ - **Total tests**: 8392+ (CI authoritative)
129
+ - **E2E coverage**: 107 e2e + 1244 integration + 13 V4.4.0 anti-ghost + 12 V4.5.2 anti-ghost
130
+
131
+ ### Historical Features (V4.0.0-V4.3.3)
132
+ - **V4.3.3**: P0-P3 enhancement E2E skeletons (xfail TDD for V4.4.0)
133
+ - **V4.3.2**: LLM vs Mock quality gap measurement (calibration gate + thin-slice probe)
134
+ - **V4.3.0 Phase 3**: Quality hardening + user simulation E2E (NPS 9/10)
135
+ - **V4.3.0 Phase 2**: OutputValidator full integration (LLM output safety detection)
136
+ - **V4.3.0 Phase 1**: DependencyHallucinationChecker (anti-slopsquatting supply chain attack)
137
+ - **V4.3.0 Phase 0**: DeploymentComplianceChecker (anti-violation deployment backstop)
138
+ - **V4.0.0 P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling
139
+ - **V4.0.0 P1-2 UI/UX Patrol**: 4-dimension audit + PIL pixel diff visual regression
140
+ - **V4.0.0 P2-1 Adversarial Verification**: red team attack + blue team defense + judge arbitration
141
+ - **V4.0.0 P2-2 DAG Visualization**: Mermaid / JSON / DOT three formats
142
+ - **V4.0.0 P3-1 Autonomous**: plan → dev → verify → fix 4-stage autonomous iteration
143
+ - **V4.0.0 P3-2 Plugin Hot-Loading**: 3 loading paths + path traversal 3-layer protection + reload rollback
144
+
145
+ 8392+ tests passing (CI authoritative).
75
146
 
76
- **DevSquad V4.3.0** 是 V4.3.0 的预发布候选版本,整合技术债跟踪、pickle→JSON 迁移、上游 TraeMultiAgentSkill v2.6-v2.8 精细化启发三方面输入,按 7-Role 共识推进:
77
-
78
- ### V4.3.0 P0 — 安全债清理(必做)
79
- - **P0-1 pickle→JSON 迁移阶段 1**: 删除 2 处 dead code + fallback 安全收紧(`require_password` 校验)
80
- - **P0-2 技术债持续监控**: `todo_drift_monitor.py` 自动扫描 TODO/FIXME/HACK + pre-commit 阻塞 + CI lint 集成
81
-
82
- ### V4.3.0 P1 — 上游精细化升级(重要)
83
- - **P1-1 Ponytail lite/full 双模式**: 8 核心红线(lite)+ 16 红线(full),`# ponytail:` 债务收集 + `[REQ-XXX]` 需求追踪
84
- - **P1-4 LoopKernel RollbackStrategy**: D1-D6 失败精准回退 + 独立硬上限(默认 3)+ 累计上下文传递
85
- - **P1-5 UIUX 子项审计**: 4 维度 20 子项注册表 + PASS/WARN/FAIL/NOT_IMPLEMENTED 审计
86
- - **P1-6 Dashboard V4.3.0 面板**: Ponytail 模式 / Loop 回退 / Plugin 事件 / 技术债状态可视化
87
-
88
- ### V4.3.0 P2 — 收尾(一般)
89
- - **P2-1 pickle fallback 完全移除**(用户确认从 V4.3.1 并入 V4.3.0): `allow_pickle_fallback` 参数移除,`serialization_format="pickle"` 构造时拒绝
90
-
91
- ### V4.2+ / V4.3+ Roadmap 已落地项
92
- - **P2-1 PrototypeSkill**: 快速原型生成验证假设
93
- - **P2-2 TeachSkill**: 8 主题新用户引导课程
94
- - **P2-4 pre-commit hooks**: 依赖版本锁检查
95
- - **P2-UI-1 CLI 命令词表**: 基于 impeccable 23 命令词表对齐
96
- - **P2-UI-2 Live Browser 模式**: 实时 UI 审查迭代闭环
97
- - **P2-UI-3 Meta-skills 分层**: 8 子技能 6 层架构
98
-
99
- ### 测试金字塔达标
100
- - **Contract 测试**: 3.06% → 5.0%(目标 ≥5% ✅)
101
- - **Integration 测试**: 8.84% → 15.2%(目标 ≥15% ✅)
102
- - **总测试数**: 5250+ → 7681(+2431 测试)
147
+ ---
103
148
 
104
- ### 历史特性(V4.0.0-V4.2.1)
105
- - **V4.0.0 P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling 五步闭环
106
- - **V4.0.0 P1-2 UI/UX 巡检**: 4 维度审计 + PIL 像素 diff 视觉回归
107
- - **V4.0.0 P2-1 Adversarial 验证**: 红队攻击 + 蓝队防御 + 裁判仲裁
108
- - **V4.0.0 P2-2 DAG 可视化**: Mermaid / JSON / DOT 三格式
109
- - **V4.0.0 P3-1 Autonomous**: plan → dev → verify → fix 4 阶段自主迭代
110
- - **V4.0.0 P3-2 插件热加载**: 3 加载路径 + 路径穿越三层防护 + reload 回滚
149
+ ## ⚡ Quick Start (7 Ways to Invoke DevSquad)
111
150
 
112
- 7681 tests passing。
151
+ ### Method 1: TRAE Skill (Recommended — you're already here)
113
152
 
114
- ---
153
+ DevSquad is registered as a TRAE Skill. Simply describe your task in the TRAE IDE chat, and the 7-role team will collaborate automatically. No CLI or API setup needed.
115
154
 
116
- ## Quick Start (5 Ways to Use DevSquad)
117
-
118
- ### Method 1: CLI (Recommended for Beginners)
155
+ ### Method 2: CLI (Recommended for Terminal Users)
119
156
 
120
157
  ```bash
121
158
  # Interactive setup wizard (1-2 minutes)
@@ -125,18 +162,28 @@ python scripts/cli.py init
125
162
  devsquad dispatch -t "your task description"
126
163
  ```
127
164
 
128
- ### Method 2: Web Dashboard (Recommended for Teams)
165
+ ### Method 3: MCP Server (For IDE / Tool Integration)
166
+
167
+ ```bash
168
+ # Start MCP server with stdio transport (for IDE integration)
169
+ python3 scripts/mcp_server.py
170
+
171
+ # Or SSE transport (for remote access)
172
+ python3 scripts/mcp_server.py --port 8080
173
+ ```
174
+
175
+ ### Method 4: Web Dashboard (Recommended for Teams)
129
176
 
130
177
  ```bash
131
178
  # Start Streamlit dashboard with authentication
132
179
  streamlit run scripts/dashboard.py
133
180
 
134
181
  # Open http://localhost:8501
135
- # Login with default account, then change password immediately.
136
- # Username: admin Password: admin123 (change in production)
182
+ # Login with default dev credentials (see INSTALL.md "Default credentials" section).
183
+ # Change all defaults in production.
137
184
  ```
138
185
 
139
- ### Method 3: REST API (Recommended for Integration)
186
+ ### Method 5: REST API (Recommended for Integration)
140
187
 
141
188
  ```bash
142
189
  # Install dependencies
@@ -149,7 +196,7 @@ uvicorn scripts.api_server:app --host 0.0.0.0 --port 8000 --reload
149
196
  # Access ReDoc: http://localhost:8000/redoc
150
197
  ```
151
198
 
152
- ### Method 4: Python API (Recommended for Developers)
199
+ ### Method 6: Python API (Recommended for Developers)
153
200
 
154
201
  ```python
155
202
  from scripts.collaboration.dispatcher import MultiAgentDispatcher
@@ -163,7 +210,7 @@ print(result.report)
163
210
  print(result.consensus)
164
211
  ```
165
212
 
166
- ### Method 5: One-Click Startup Script (V3.9.2+)
213
+ ### Method 7: One-Click Startup Script (V3.9.2+)
167
214
 
168
215
  ```bash
169
216
  # One-click startup — 4 phases: env check → DB init → frontend build → service start
@@ -392,7 +439,7 @@ All modules are **optional switches** — DevSquad works perfectly without them.
392
439
 
393
440
  ## 🧩 Layered Sub-Skill Architecture (V3.6.0)
394
441
 
395
- > DevSquad provides **6 atomic sub-skills** that can be used independently or together.
442
+ > DevSquad provides **8 atomic sub-skills** that can be used independently or together.
396
443
  > Each sub-skill is a thin wrapper (~50 lines) importing existing core modules — no duplicated logic.
397
444
 
398
445
  ```
@@ -402,7 +449,9 @@ skills/
402
449
  ├── review/ → ReviewSkill — FiveAxisConsensusEngine (5-axis code review)
403
450
  ├── security/ → SecuritySkill — InputValidator + OperationClassifier + PermissionGuard
404
451
  ├── test/ → TestSkill — TestQualityGuard + test strategy generation
405
- └── retrospective/ → RetroSkill — RetrospectiveEngine + pattern extraction
452
+ ├── retrospective/ → RetroSkill — RetrospectiveEngine + pattern extraction
453
+ ├── prototype/ → PrototypeSkill — Rapid prototype scaffolding (V4.5.0)
454
+ └── teach/ → TeachSkill — Knowledge transfer & onboarding (V4.5.0)
406
455
  ```
407
456
 
408
457
  ### Sub-Skill Quick Reference
@@ -593,7 +642,7 @@ python3 -m pytest tests/ -q --tb=line
593
642
  | Document | Description | Language |
594
643
  |----------|-------------|----------|
595
644
  | [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
596
- | [SKILL.md](SKILL.md) | 完整技能手册 + 185+ 模块参考 | EN/CN/JP |
645
+ | [SKILL.md](SKILL.md) | 完整技能手册 + 187+ 模块参考 | EN/CN/JP |
597
646
  | [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
598
647
  | [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
599
648
  | [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
@@ -673,6 +722,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
673
722
 
674
723
  ---
675
724
 
676
- *Last updated: 2026-07-24 | Version: V4.2.1 (V4.3.0 in progress — see [Roadmap](#-roadmap))*
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))*
677
726
 
678
727
  </details>