devsquad 4.0.0__tar.gz → 4.3.0__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.
- {devsquad-4.0.0 → devsquad-4.3.0}/PKG-INFO +96 -23
- {devsquad-4.0.0 → devsquad-4.3.0}/README.md +87 -22
- {devsquad-4.0.0 → devsquad-4.3.0}/devsquad.egg-info/PKG-INFO +96 -23
- {devsquad-4.0.0 → devsquad-4.3.0}/devsquad.egg-info/SOURCES.txt +99 -9
- {devsquad-4.0.0 → devsquad-4.3.0}/devsquad.egg-info/requires.txt +8 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/pyproject.toml +47 -3
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/api/routes/metrics_gates.py +3 -2
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/api_server.py +45 -17
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/benchmark_real_llm.py +26 -12
- devsquad-4.3.0/scripts/check_async_coverage.py +392 -0
- devsquad-4.3.0/scripts/check_config_consistency.py +436 -0
- devsquad-4.3.0/scripts/check_constructor_params.py +200 -0
- devsquad-4.3.0/scripts/check_dependency_lock.py +376 -0
- devsquad-4.3.0/scripts/check_dependency_sync.py +95 -0
- devsquad-4.3.0/scripts/check_hidden_content.py +424 -0
- devsquad-4.3.0/scripts/check_test_pyramid.py +327 -0
- devsquad-4.3.0/scripts/check_test_quality.py +183 -0
- devsquad-4.3.0/scripts/check_version_consistency.py +462 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/cli/cli_visual.py +2 -2
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/cli.py +88 -50
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/cli_dispatch.py +91 -48
- devsquad-4.3.0/scripts/cli_lifecycle.py +265 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/cli_utils.py +30 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/__init__.py +2 -0
- devsquad-4.3.0/scripts/collaboration/_version.py +1 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/anti_rationalization.py +7 -3
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/async_adapter.py +3 -3
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/async_coordinator.py +63 -94
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/autonomous/loop_controller.py +4 -1
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/autonomous/run_state.py +2 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/batch_scheduler.py +2 -1
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/cache_interface.py +75 -64
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/checkpoint_manager.py +170 -11
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/ci_feedback_adapter.py +3 -2
- devsquad-4.3.0/scripts/collaboration/cli_command_classifier.py +343 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/code_map_generator.py +52 -31
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/concern_pack_loader.py +2 -2
- devsquad-4.3.0/scripts/collaboration/config_manager.py +555 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/consensus.py +120 -2
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/content_cache.py +13 -5
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/context_compressor.py +25 -10
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/coordinator.py +26 -7
- devsquad-4.3.0/scripts/collaboration/dashboard_live_mode.py +715 -0
- devsquad-4.3.0/scripts/collaboration/debt_collector.py +192 -0
- devsquad-4.3.0/scripts/collaboration/dependency_hallucination_checker.py +891 -0
- devsquad-4.3.0/scripts/collaboration/deployment_compliance_checker.py +410 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatch_audit.py +316 -11
- devsquad-4.3.0/scripts/collaboration/dispatch_hooks.py +313 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatch_models.py +190 -121
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatch_pre_steps.py +74 -41
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatch_result_assembler.py +3 -2
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatch_services.py +18 -9
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatch_steps.py +299 -5
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatch_steps_base.py +3 -1
- devsquad-4.3.0/scripts/collaboration/dispatch_steps_consensus_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/dispatch_steps_feedback_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/dispatch_steps_mixins.py +710 -0
- devsquad-4.3.0/scripts/collaboration/dispatch_steps_quality_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/dispatch_steps_services_mixin.py +9 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatcher.py +223 -104
- devsquad-4.3.0/scripts/collaboration/dispatcher_async_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/dispatcher_audit_mixin.py +9 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatcher_base.py +34 -4
- devsquad-4.3.0/scripts/collaboration/dispatcher_config.py +200 -0
- devsquad-4.3.0/scripts/collaboration/dispatcher_error_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/dispatcher_lifecycle_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/dispatcher_mixins.py +569 -0
- devsquad-4.3.0/scripts/collaboration/dispatcher_status_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/dispatcher_utils_mixin.py +15 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/enhanced_worker.py +86 -62
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/enterprise_feature.py +34 -23
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/execution_guard.py +110 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/feedback_control_loop.py +84 -57
- devsquad-4.3.0/scripts/collaboration/five_axis_consensus.py +706 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/input_validator.py +53 -1
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/intent_workflow_mapper.py +53 -3
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/judge_agent.py +1 -1
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/lifecycle_protocol.py +93 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/lifecycle_shortcut_adapter.py +7 -3
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/lifecycle_shortcut_helpers.py +11 -8
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/llm_backend.py +17 -4
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/llm_cache.py +135 -98
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/loop_engineering/__init__.py +3 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/loop_engineering/kernel.py +102 -8
- devsquad-4.3.0/scripts/collaboration/loop_engineering/loop_scheduler.py +119 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/loop_engineering/models.py +5 -1
- devsquad-4.3.0/scripts/collaboration/loop_engineering/rollback_strategy.py +139 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/mce_adapter.py +1 -1
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/memory_bridge.py +3 -3
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/memory_index.py +3 -2
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/memory_query.py +33 -6
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/memory_serializer.py +93 -69
- devsquad-4.3.0/scripts/collaboration/meta_skill_layering.py +469 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/micro_task_planner.py +69 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/models_base.py +5 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/multi_tenant.py +13 -19
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/operation_classifier.py +202 -0
- devsquad-4.3.0/scripts/collaboration/output_validator.py +419 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/performance_monitor.py +12 -6
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/permission_guard.py +243 -97
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/plugins/hot_loader.py +7 -1
- devsquad-4.3.0/scripts/collaboration/ponytail_rule_injector.py +300 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/prometheus_metrics.py +16 -11
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/prompt_assembler.py +79 -1
- devsquad-4.3.0/scripts/collaboration/prompt_assembler_formatting_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/prompt_assembler_mixins.py +951 -0
- devsquad-4.3.0/scripts/collaboration/prompt_assembler_substitution_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/prompt_assembler_template_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/prompt_assembler_validation_mixin.py +9 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/protocols.py +8 -3
- devsquad-4.3.0/scripts/collaboration/redesign_auditor.py +472 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/redis_cache.py +126 -43
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/report_formatter.py +139 -129
- devsquad-4.3.0/scripts/collaboration/requirement_tracer.py +215 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/retrospective.py +1 -1
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/review_checkers.py +64 -50
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/role_skill_loader.py +34 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/rule_collector.py +349 -4
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/scratchpad.py +6 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/severity_router.py +91 -45
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/similar_task_recommender.py +3 -3
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/skill_extractor.py +1 -1
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/skillifier.py +81 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/standardized_role_template.py +219 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/task_completion_checker.py +4 -4
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/tech_debt_manager.py +116 -20
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/test_quality_guard.py +337 -14
- devsquad-4.3.0/scripts/collaboration/todo_drift_monitor.py +346 -0
- devsquad-4.3.0/scripts/collaboration/ue_test_accessibility_mixin.py +9 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/ue_test_framework_base.py +76 -49
- devsquad-4.3.0/scripts/collaboration/ue_test_heuristic_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/ue_test_journey_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/ue_test_mixins.py +524 -0
- devsquad-4.3.0/scripts/collaboration/ue_test_persona_mixin.py +9 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/unified_gate_engine.py +229 -6
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/verification_gate.py +166 -3
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/worker.py +2 -2
- devsquad-4.3.0/scripts/collaboration/workflow_engine_lifecycle_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/workflow_engine_mixins.py +580 -0
- devsquad-4.3.0/scripts/collaboration/workflow_engine_persistence_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/workflow_engine_state_mixin.py +9 -0
- devsquad-4.3.0/scripts/collaboration/workflow_engine_transition_mixin.py +9 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/yagni_checker.py +173 -2
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/dashboard/auth_views.py +2 -2
- devsquad-4.3.0/scripts/dashboard/components.py +1203 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/dashboard/dag_views.py +172 -5
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/dashboard/dispatch_views.py +164 -8
- devsquad-4.3.0/scripts/dashboard/i18n.py +155 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/dashboard/metrics_views.py +111 -0
- devsquad-4.3.0/scripts/dashboard/v43_panels.py +149 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/history_manager.py +1 -1
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/mcp_server.py +368 -10
- devsquad-4.3.0/scripts/qa/deterministic_rule_engine.py +1576 -0
- devsquad-4.3.0/scripts/qa/taste_dials.py +231 -0
- devsquad-4.3.0/scripts/qa/uiux_analyzer.py +1079 -0
- devsquad-4.3.0/scripts/qa/uiux_subitems.py +123 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/qa/visual_regression.py +2 -1
- devsquad-4.3.0/scripts/scan_pickle_payloads.py +253 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/utils/_find_missing_hints.py +2 -2
- {devsquad-4.0.0 → devsquad-4.3.0}/skills/__init__.py +3 -3
- devsquad-4.3.0/skills/_version.py +13 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/skills/dispatch/handler.py +0 -1
- {devsquad-4.0.0 → devsquad-4.3.0}/skills/intent/handler.py +1 -2
- devsquad-4.3.0/skills/prototype/handler.py +535 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/skills/registry.py +8 -3
- {devsquad-4.0.0 → devsquad-4.3.0}/skills/retrospective/handler.py +1 -2
- {devsquad-4.0.0 → devsquad-4.3.0}/skills/review/handler.py +0 -2
- {devsquad-4.0.0 → devsquad-4.3.0}/skills/security/handler.py +83 -5
- devsquad-4.3.0/skills/teach/handler.py +1178 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/skills/test/handler.py +0 -1
- devsquad-4.3.0/tests/test_4pt_grid.py +155 -0
- devsquad-4.3.0/tests/test_adaptive_role_selector.py +387 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_agent_briefing.py +0 -17
- devsquad-4.3.0/tests/test_antipattern_bans.py +225 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_api_budget_status_endpoint.py +5 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_api_security.py +2 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_api_server_v362.py +40 -0
- devsquad-4.3.0/tests/test_async_coordinator.py +952 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_audit_logger.py +5 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_auth_phase5.py +2 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_autonomous.py +101 -4
- devsquad-4.3.0/tests/test_cache_interface.py +490 -0
- devsquad-4.3.0/tests/test_check_async_coverage.py +270 -0
- devsquad-4.3.0/tests/test_check_config_consistency.py +358 -0
- devsquad-4.3.0/tests/test_check_constructor_params.py +188 -0
- devsquad-4.3.0/tests/test_check_dependency_lock.py +348 -0
- devsquad-4.3.0/tests/test_check_hidden_content.py +571 -0
- devsquad-4.3.0/tests/test_check_test_pyramid.py +463 -0
- devsquad-4.3.0/tests/test_check_test_quality.py +270 -0
- devsquad-4.3.0/tests/test_check_version_consistency.py +360 -0
- devsquad-4.3.0/tests/test_cli_command_classifier.py +384 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_cli_deep_v362.py +3 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_cli_lifecycle.py +3 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_cli_phase5.py +2 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_context_compressor_test.py +5 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_core_test.py +3 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_dispatcher_test.py +3 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_llm_cache_test.py +3 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_llm_retry_test.py +3 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_memory_bridge_test.py +5 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_prompt_optimization_test.py +18 -1
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_role_mapping_test.py +5 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_skillifier_test.py +4 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_test_quality_guard_test.py +2 -2
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_upstream_test.py +5 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_warmup_manager_test.py +34 -7
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_confidence_score.py +3 -0
- devsquad-4.3.0/tests/test_consensus_dissent.py +151 -0
- devsquad-4.3.0/tests/test_consensus_fatigue.py +189 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_content_cache.py +5 -0
- devsquad-4.3.0/tests/test_dashboard_live_mode.py +379 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_dashboard_ui_e2e.py +82 -7
- devsquad-4.3.0/tests/test_dashboard_v43_panels.py +298 -0
- devsquad-4.3.0/tests/test_debt_collector.py +247 -0
- devsquad-4.3.0/tests/test_deep_shallow.py +380 -0
- devsquad-4.3.0/tests/test_deletion_test.py +357 -0
- devsquad-4.3.0/tests/test_dependency_hallucination_checker.py +561 -0
- devsquad-4.3.0/tests/test_deployment_compliance_checker.py +401 -0
- devsquad-4.3.0/tests/test_deterministic_rule_engine.py +730 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_dispatch_audit.py +152 -0
- devsquad-4.3.0/tests/test_dispatch_performance.py +355 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_dispatch_rbac.py +5 -0
- devsquad-4.3.0/tests/test_dispatch_steps.py +847 -0
- devsquad-4.3.0/tests/test_dispatcher_mixins.py +733 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_dispatcher_phase5_core.py +3 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_docker_deployment.py +9 -13
- devsquad-4.3.0/tests/test_dual_layer_context.py +365 -0
- devsquad-4.3.0/tests/test_enhanced_worker.py +681 -0
- devsquad-4.3.0/tests/test_feedback_control_loop.py +446 -0
- devsquad-4.3.0/tests/test_flow_standalone.py +159 -0
- devsquad-4.3.0/tests/test_git_guardrails.py +283 -0
- devsquad-4.3.0/tests/test_glossary_loader.py +157 -0
- devsquad-4.3.0/tests/test_grilling_mode.py +591 -0
- devsquad-4.3.0/tests/test_handoff_redaction.py +240 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_input_validator_phase5.py +3 -0
- devsquad-4.3.0/tests/test_input_validator_sensitive.py +359 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_llm_auto_fallback.py +5 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_llm_cache_protocol.py +3 -0
- devsquad-4.3.0/tests/test_loop_engineering_rollback.py +316 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_mcp_server_v362.py +14 -3
- devsquad-4.3.0/tests/test_meta_skill_layering.py +297 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_multi_tenant.py +3 -0
- devsquad-4.3.0/tests/test_multi_tenant_isolation_e2e.py +441 -0
- devsquad-4.3.0/tests/test_no_op_test.py +303 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_null_providers.py +3 -0
- devsquad-4.3.0/tests/test_oklch_color.py +171 -0
- devsquad-4.3.0/tests/test_output_validator_prompt_injection.py +230 -0
- devsquad-4.3.0/tests/test_permission_guard_human_gate.py +170 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_permission_guard_phase5.py +3 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_ponytail_rule_injector.py +219 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_production_features.py +2 -2
- devsquad-4.3.0/tests/test_prometheus_metrics.py +354 -0
- devsquad-4.3.0/tests/test_prototype_skill.py +370 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_qa_uiux_visual_regression.py +6 -3
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_rate_limit.py +3 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_rbac_engine.py +3 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_rbac_fail_closed.py +5 -0
- devsquad-4.3.0/tests/test_red_capable_gate.py +284 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_redesign_auditor.py +3 -3
- devsquad-4.3.0/tests/test_redis_cache.py +510 -0
- devsquad-4.3.0/tests/test_requirement_tracer.py +277 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_retry_jitter_strategies.py +3 -0
- devsquad-4.3.0/tests/test_role_skill_loader.py +666 -0
- devsquad-4.3.0/tests/test_rule_collector.py +1052 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_rule_injection_security.py +5 -0
- devsquad-4.3.0/tests/test_secret_patterns.py +233 -0
- devsquad-4.3.0/tests/test_similar_task_recommender.py +251 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_skill_security.py +5 -0
- devsquad-4.3.0/tests/test_task_completion_checker.py +360 -0
- devsquad-4.3.0/tests/test_taste_dials.py +511 -0
- devsquad-4.3.0/tests/test_tautological_seams.py +374 -0
- devsquad-4.3.0/tests/test_teach_skill.py +663 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_tech_debt_manager.py +136 -0
- devsquad-4.3.0/tests/test_todo_drift_monitor.py +479 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_token_budget_compressed_scratchpad.py +5 -0
- devsquad-4.3.0/tests/test_triage_label.py +201 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_two_stage_review_gate.py +1 -1
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_ue_test_framework.py +74 -0
- devsquad-4.3.0/tests/test_uiux_subitems.py +285 -0
- devsquad-4.3.0/tests/test_v411_security_hardening.py +770 -0
- devsquad-4.3.0/tests/test_vertical_slice.py +220 -0
- devsquad-4.3.0/tests/test_workflow_engine.py +100 -0
- devsquad-4.3.0/tests/test_workflow_engine_base.py +470 -0
- devsquad-4.3.0/tests/test_workflow_engine_lifecycle.py +397 -0
- devsquad-4.3.0/tests/test_workflow_engine_state.py +375 -0
- devsquad-4.3.0/tests/test_workflow_engine_transition.py +443 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_workflow_persistence_coverage.py +4 -0
- devsquad-4.0.0/scripts/check_version_consistency.py +0 -267
- devsquad-4.0.0/scripts/cli_lifecycle.py +0 -209
- devsquad-4.0.0/scripts/collaboration/_version.py +0 -1
- devsquad-4.0.0/scripts/collaboration/dispatch_hooks.py +0 -156
- devsquad-4.0.0/scripts/collaboration/dispatch_steps_consensus_mixin.py +0 -144
- devsquad-4.0.0/scripts/collaboration/dispatch_steps_feedback_mixin.py +0 -281
- devsquad-4.0.0/scripts/collaboration/dispatch_steps_quality_mixin.py +0 -228
- devsquad-4.0.0/scripts/collaboration/dispatch_steps_services_mixin.py +0 -69
- devsquad-4.0.0/scripts/collaboration/dispatcher_async_mixin.py +0 -154
- devsquad-4.0.0/scripts/collaboration/dispatcher_audit_mixin.py +0 -68
- devsquad-4.0.0/scripts/collaboration/dispatcher_error_mixin.py +0 -68
- devsquad-4.0.0/scripts/collaboration/dispatcher_lifecycle_mixin.py +0 -54
- devsquad-4.0.0/scripts/collaboration/dispatcher_status_mixin.py +0 -118
- devsquad-4.0.0/scripts/collaboration/dispatcher_utils_mixin.py +0 -161
- devsquad-4.0.0/scripts/collaboration/five_axis_consensus.py +0 -377
- devsquad-4.0.0/scripts/collaboration/loop_engineering/loop_scheduler.py +0 -62
- devsquad-4.0.0/scripts/collaboration/ponytail_rule_injector.py +0 -108
- devsquad-4.0.0/scripts/collaboration/prompt_assembler_formatting_mixin.py +0 -329
- devsquad-4.0.0/scripts/collaboration/prompt_assembler_substitution_mixin.py +0 -219
- devsquad-4.0.0/scripts/collaboration/prompt_assembler_template_mixin.py +0 -152
- devsquad-4.0.0/scripts/collaboration/prompt_assembler_validation_mixin.py +0 -213
- devsquad-4.0.0/scripts/collaboration/redesign_auditor.py +0 -229
- devsquad-4.0.0/scripts/collaboration/ue_test_accessibility_mixin.py +0 -53
- devsquad-4.0.0/scripts/collaboration/ue_test_heuristic_mixin.py +0 -236
- devsquad-4.0.0/scripts/collaboration/ue_test_journey_mixin.py +0 -186
- devsquad-4.0.0/scripts/collaboration/ue_test_persona_mixin.py +0 -89
- devsquad-4.0.0/scripts/collaboration/workflow_engine_lifecycle_mixin.py +0 -282
- devsquad-4.0.0/scripts/collaboration/workflow_engine_persistence_mixin.py +0 -122
- devsquad-4.0.0/scripts/collaboration/workflow_engine_state_mixin.py +0 -156
- devsquad-4.0.0/scripts/collaboration/workflow_engine_transition_mixin.py +0 -145
- devsquad-4.0.0/scripts/dashboard/components.py +0 -368
- devsquad-4.0.0/scripts/qa/uiux_analyzer.py +0 -530
- devsquad-4.0.0/tests/test_ccr_marker_integration.py +0 -203
- devsquad-4.0.0/tests/test_comprehensive_integration.py +0 -637
- devsquad-4.0.0/tests/test_coordinator_budget_ccr_integration.py +0 -328
- devsquad-4.0.0/tests/test_extended_integration.py +0 -640
- devsquad-4.0.0/tests/test_final_integration.py +0 -661
- devsquad-4.0.0/tests/test_qa_integration.py +0 -111
- devsquad-4.0.0/tests/test_role_skill_loader.py +0 -272
- devsquad-4.0.0/tests/test_v38_integration.py +0 -391
- devsquad-4.0.0/tests/test_v39_integration.py +0 -702
- devsquad-4.0.0/tests/test_v4_integration.py +0 -177
- {devsquad-4.0.0 → devsquad-4.3.0}/LICENSE +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/devsquad.egg-info/dependency_links.txt +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/devsquad.egg-info/entry_points.txt +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/devsquad.egg-info/top_level.txt +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/__init__.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/api/__init__.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/api/models.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/api/rate_limit.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/api/routes/__init__.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/api/routes/dispatch.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/api/routes/lifecycle.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/api/routes/metrics.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/api/security.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/auth.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/benchmark_async_dispatch.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/benchmark_ponytail_smart.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/cli/__init__.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/adaptive_role_selector.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/adversarial_verify.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/agent_briefing.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/ai_semantic_matcher.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/anchor_checker.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/async_llm_backend.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/audit_logger.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/autonomous/__init__.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/autonomous/git_driver.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/autonomous/notes_memory.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/autonomous/sleep_guard.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/autonomous/smart_confirmation.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/ccr_store.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/code_graph_query.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/code_graph_storage.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/code_knowledge_graph.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/confidence_score.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/consensus_gate.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/constants.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/content_crusher.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatch_component_factory.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatch_lifecycle.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatch_performance.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatch_rbac.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dispatcher_factory.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/dual_layer_context.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/event_bus.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/feature_usage_tracker.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/language_parsers.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/learned_rule_store.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/lifecycle_gate.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/lifecycle_templates.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/llm_cache_async.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/llm_cache_base.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/llm_retry.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/llm_retry_async.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/llm_retry_base.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/loop_engineering/discovery_probe.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/loop_engineering/handoff_adapter.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/loop_engineering/independent_evaluator.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/loop_engineering/protocols.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/loop_engineering/unified_memory.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/memory_claw_source.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/memory_forgetting.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/memory_types.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/models.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/models_dispatch.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/models_lifecycle.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/multi_host_adapter.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/multi_level_cache.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/null_providers.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/output_slicer.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/performance_fingerprint.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/plugins/__init__.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/prompt_assembler_base.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/prompt_dials.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/rbac_engine.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/redesign_checkers.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/role_matcher.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/secret_patterns.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/skill_registry.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/skill_storage.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/two_stage_review_gate.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/ue_test_framework.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/usage_tracker.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/user_friendly_error.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/warmup_manager.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/workflow_engine.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/collaboration/workflow_engine_base.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/dashboard/__init__.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/dashboard/app.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/dashboard/lifecycle_views.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/dashboard/state.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/dashboard.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/generate_benchmark_report.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/qa/__init__.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/qa/models.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/scripts/utils/__init__.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/setup.cfg +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/skills/retrospective/__init__.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/skills/test/__init__.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_adversarial_verify.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_anchor_retrospective.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_anti_rationalization.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_async_modules.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_benchmark_ponytail_smart.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_ccr_store.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_ci_feedback_adapter.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_code_knowledge_graph.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_claw_integration_test.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_dispatcher_ux_test.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_e2e_test.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_enhanced_e2e_test.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_mce_adapter_test.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_performance_monitor_test.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_permission_guard_test.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_collaboration_test_quality_guard.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_config_injection.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_consensus_gate.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_content_crusher.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_coordinator_smart_compression.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_dag_views.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_dashboard_split.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_data_backup.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_dependency_lock.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_five_axis_consensus.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_full_lifecycle_adapter.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_history_manager_v362.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_intent_workflow_mapper.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_judge_agent.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_learned_rule_phase4.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_lifecycle_protocol.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_loop_engineering.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_memory_benchmarks.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_micro_task_planner.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_multi_host_adapter.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_node_type_separation.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_operation_classifier.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_output_slicer.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_performance_benchmarks.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_performance_fingerprint.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_performance_monitor_protocol.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_phase4_ghost_feature_defense.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_pipeline_step19_20.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_plan_c_unified_architecture.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_plugins_hot_loader.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_prompt_dials.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_protocols.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_quick_bonus.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_severity_router.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_skill_registry_coverage.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_sleep_guard.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_standardized_role_template.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_start_script.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_step_node_types.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_suggested_next_steps.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_usage_tracker_coverage.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_v39_e2e.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_v39_performance.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_verification_gate.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_version.py +0 -0
- {devsquad-4.0.0 → devsquad-4.3.0}/tests/test_yagni_checker.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devsquad
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.3.0
|
|
4
4
|
Summary: Production-Ready Multi-Role AI Task Orchestrator
|
|
5
5
|
Author-email: DevSquad Team <devsquad@example.com>
|
|
6
6
|
License: MIT
|
|
@@ -59,6 +59,11 @@ Requires-Dist: mypy>=1.0; extra == "dev"
|
|
|
59
59
|
Requires-Dist: black>=23.0; extra == "dev"
|
|
60
60
|
Requires-Dist: flake8>=6.0; extra == "dev"
|
|
61
61
|
Requires-Dist: httpx2>=2.5.0; extra == "dev"
|
|
62
|
+
Requires-Dist: streamlit>=1.28.0; extra == "dev"
|
|
63
|
+
Requires-Dist: Pillow>=10.0.0; extra == "dev"
|
|
64
|
+
Requires-Dist: fakeredis>=2.30; extra == "dev"
|
|
65
|
+
Requires-Dist: redis>=5.0; extra == "dev"
|
|
66
|
+
Requires-Dist: hypothesis>=6.0; extra == "dev"
|
|
62
67
|
Provides-Extra: all
|
|
63
68
|
Requires-Dist: openai>=1.0; extra == "all"
|
|
64
69
|
Requires-Dist: anthropic>=0.18; extra == "all"
|
|
@@ -81,6 +86,9 @@ Requires-Dist: mypy>=1.0; extra == "all"
|
|
|
81
86
|
Requires-Dist: black>=23.0; extra == "all"
|
|
82
87
|
Requires-Dist: flake8>=6.0; extra == "all"
|
|
83
88
|
Requires-Dist: httpx2>=2.5.0; extra == "all"
|
|
89
|
+
Requires-Dist: fakeredis>=2.30; extra == "all"
|
|
90
|
+
Requires-Dist: redis>=5.0; extra == "all"
|
|
91
|
+
Requires-Dist: hypothesis>=6.0; extra == "all"
|
|
84
92
|
Dynamic: license-file
|
|
85
93
|
|
|
86
94
|
# DevSquad — Multi-Role AI Task Orchestrator
|
|
@@ -88,14 +96,14 @@ Dynamic: license-file
|
|
|
88
96
|
<p align="center">
|
|
89
97
|
<strong>🎯 把「单个 AI 助手」升级成「7 人 AI 专业团队」</strong>
|
|
90
98
|
<br>
|
|
91
|
-
<em>One task → Multi-role AI collaboration → One conclusion | V4.0.0
|
|
99
|
+
<em>One task → Multi-role AI collaboration → One conclusion | V4.3.0 Pre-release (V4.3.0 candidate — pending user approval)</em>
|
|
92
100
|
</p>
|
|
93
101
|
|
|
94
102
|
<p align="center">
|
|
95
103
|
<img alt="Python" src="https://img.shields.io/badge/Python-3.10+-blue?logo=python&logoColor=white" />
|
|
96
104
|
<img alt="License" src="https://img.shields.io/badge/License-MIT-green" />
|
|
97
|
-
<img alt="Tests" src="https://img.shields.io/badge/Tests-
|
|
98
|
-
<img alt="Version" src="https://img.shields.io/badge/V4.
|
|
105
|
+
<img alt="Tests" src="https://img.shields.io/badge/Tests-7681%20passing-brightgreen" />
|
|
106
|
+
<img alt="Version" src="https://img.shields.io/badge/V4.3.0-success" />
|
|
99
107
|
<img alt="CI" src="https://img.shields.io/badge/CI-GitHub_Actions-blue?logo=githubactions" />
|
|
100
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" />
|
|
101
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" />
|
|
@@ -149,24 +157,52 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
|
|
|
149
157
|
| 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
|
|
150
158
|
| 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
|
|
151
159
|
|
|
152
|
-
📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [
|
|
160
|
+
📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [185+ 模块详细参考](SKILL.md)
|
|
153
161
|
|
|
154
162
|
---
|
|
155
163
|
|
|
156
164
|
<details>
|
|
157
165
|
<summary>🔍 点击展开:完整功能介绍与架构详解</summary>
|
|
158
166
|
|
|
159
|
-
## 🚀 V4.0.0:
|
|
167
|
+
## 🚀 V4.3.0 (V4.3.0 candidate): 安全债清理 + 上游精细化升级 + 测试金字塔达标
|
|
160
168
|
|
|
161
|
-
**DevSquad V4.
|
|
162
|
-
- **P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling 五步闭环
|
|
163
|
-
- **P1-2 UI/UX 巡检**: 4 维度审计(a11y/interaction/layout/ux)+ PIL 像素 diff 视觉回归
|
|
164
|
-
- **P2-1 Adversarial 验证**: 红队攻击 + 蓝队防御 + 裁判仲裁三阶段对抗验证
|
|
165
|
-
- **P2-2 DAG 可视化**: Mermaid / JSON / DOT 三种格式依赖图可视化
|
|
166
|
-
- **P3-1 Autonomous**: plan → dev → verify → fix 4 阶段自主迭代,复用 LoopKernel,不绕过共识门
|
|
167
|
-
- **P3-2 插件热加载**: 三种加载路径 + 路径穿越三层防护 + reload 回滚 + 审计日志
|
|
169
|
+
**DevSquad V4.3.0** 是 V4.3.0 的预发布候选版本,整合技术债跟踪、pickle→JSON 迁移、上游 TraeMultiAgentSkill v2.6-v2.8 精细化启发三方面输入,按 7-Role 共识推进:
|
|
168
170
|
|
|
169
|
-
|
|
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 测试)
|
|
196
|
+
|
|
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 回滚
|
|
204
|
+
|
|
205
|
+
7681 tests passing。
|
|
170
206
|
|
|
171
207
|
---
|
|
172
208
|
|
|
@@ -236,7 +272,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
|
|
|
236
272
|
./scripts/start.sh --help
|
|
237
273
|
```
|
|
238
274
|
|
|
239
|
-
`start.sh` is the unified entry point introduced in V3.9.2 (P0-2). It validates the environment, initializes the database, builds the frontend, and starts the service in one command. Use `requirements.lock` alongside it for reproducible builds (`pip install -r requirements.lock`). V4.
|
|
275
|
+
`start.sh` is the unified entry point introduced in V3.9.2 (P0-2). It validates the environment, initializes the database, builds the frontend, and starts the service in one command. Use `requirements.lock` alongside it for reproducible builds (`pip install -r requirements.lock`). V4.1.0 adds Loop Engineering, UI/UX 巡检, Adversarial 验证, DAG 可视化, Autonomous, and 插件热加载.
|
|
240
276
|
|
|
241
277
|
---
|
|
242
278
|
|
|
@@ -258,7 +294,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
|
|
|
258
294
|
|
|
259
295
|
## 🏗️ Five Capability Domains (Architecture Overview)
|
|
260
296
|
|
|
261
|
-
DevSquad's
|
|
297
|
+
DevSquad's 235 modules are organized into **5 capability domains**, each solving a specific problem:
|
|
262
298
|
|
|
263
299
|
### 🎯 Domain 1: Task Orchestration Engine (Core)
|
|
264
300
|
|
|
@@ -550,11 +586,11 @@ devsquad dispatch -t "Design user authentication system"
|
|
|
550
586
|
```bash
|
|
551
587
|
# Check version
|
|
552
588
|
devsquad --version
|
|
553
|
-
# Expected: devsquad 4.
|
|
589
|
+
# Expected: devsquad 4.3.0
|
|
554
590
|
|
|
555
591
|
# Run tests
|
|
556
592
|
pytest tests/ -v --tb=short
|
|
557
|
-
# Expected:
|
|
593
|
+
# Expected: 7681 passed
|
|
558
594
|
```
|
|
559
595
|
|
|
560
596
|
---
|
|
@@ -605,14 +641,14 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
|
|
|
605
641
|
|
|
606
642
|
### Quick Smoke Test (< 30 seconds)
|
|
607
643
|
```bash
|
|
608
|
-
python3 scripts/cli.py --version # Expected: DevSquad 4.
|
|
644
|
+
python3 scripts/cli.py --version # Expected: DevSquad 4.1.0
|
|
609
645
|
python3 scripts/cli.py status # Expected: System ready
|
|
610
646
|
python3 scripts/cli.py roles # Expected: 7 core roles listed
|
|
611
647
|
```
|
|
612
648
|
|
|
613
649
|
### Full Test Suite
|
|
614
650
|
```bash
|
|
615
|
-
# Run all tests (
|
|
651
|
+
# Run all tests (7681 tests passing)
|
|
616
652
|
python3 -m pytest tests/ -q --tb=line
|
|
617
653
|
|
|
618
654
|
# With coverage report
|
|
@@ -629,7 +665,7 @@ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
|
|
|
629
665
|
| **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
|
|
630
666
|
| **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
|
|
631
667
|
|
|
632
|
-
**Total:
|
|
668
|
+
**Total: 7681 CI tests / 266 e2e (7681 collected)**
|
|
633
669
|
|
|
634
670
|
Run by priority:
|
|
635
671
|
```bash
|
|
@@ -650,7 +686,7 @@ python3 -m pytest tests/ -q --tb=line
|
|
|
650
686
|
| Document | Description | Language |
|
|
651
687
|
|----------|-------------|----------|
|
|
652
688
|
| [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
|
|
653
|
-
| [SKILL.md](SKILL.md) | 完整技能手册 +
|
|
689
|
+
| [SKILL.md](SKILL.md) | 完整技能手册 + 185+ 模块参考 | EN/CN/JP |
|
|
654
690
|
| [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
|
|
655
691
|
| [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
|
|
656
692
|
| [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
|
|
@@ -659,6 +695,43 @@ python3 -m pytest tests/ -q --tb=line
|
|
|
659
695
|
| [README-JP.md](README-JP.md) | 日本語説明 | 日本語 |
|
|
660
696
|
| [docs/PRD.md](docs/PRD.md) | 产品需求文档 | 中文 |
|
|
661
697
|
| [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 技术架构文档 | 中文 |
|
|
698
|
+
| [docs/planning/V43_ROADMAP_PROPOSAL.md](docs/planning/V43_ROADMAP_PROPOSAL.md) | V4.3 统一推进方案 v1.2(7-Role 共识达成) | 中文 |
|
|
699
|
+
| [docs/prd/V4.3.0_PRD.md](docs/prd/V4.3.0_PRD.md) | V4.3.0 PRD(需求/用户故事/验收标准) | 中文 |
|
|
700
|
+
| [docs/architecture/V4.3.0_ARCHITECTURE.md](docs/architecture/V4.3.0_ARCHITECTURE.md) | V4.3.0 架构设计(模块边界/接口契约/依赖图) | 中文 |
|
|
701
|
+
| [docs/testing/V4.3.0_TEST_PLAN.md](docs/testing/V4.3.0_TEST_PLAN.md) | V4.3.0 测试方案(测试金字塔/E2E/真实用户模拟) | 中文 |
|
|
702
|
+
|
|
703
|
+
---
|
|
704
|
+
|
|
705
|
+
## 🗺️ Roadmap
|
|
706
|
+
|
|
707
|
+
### V4.3.0(进行中 — 7-Role 共识达成,文档先行)
|
|
708
|
+
|
|
709
|
+
**版本策略**: V4.3.0 预发布(全部代码+文档+E2E 验证)→ 用户确认 → V4.3.0 正式版
|
|
710
|
+
|
|
711
|
+
**整合三方面输入**:
|
|
712
|
+
1. 技术债持续治理(`todo_drift_monitor` + CI 阻塞)
|
|
713
|
+
2. pickle→JSON 迁移(dead code 删除 + fallback 安全收紧 + 移除)
|
|
714
|
+
3. 上游 TraeMultiAgentSkill v2.6-v2.8 精细化启发(Ponytail 双模式 / LoopKernel 回退 / UIUX 审计 / Dashboard 可视化)
|
|
715
|
+
|
|
716
|
+
**V4.3.0 范围(9 项)**:
|
|
717
|
+
|
|
718
|
+
| ID | 名称 | 优先级 |
|
|
719
|
+
|----|------|--------|
|
|
720
|
+
| P0-1 | pickle dead code 删除 + fallback 安全收紧 | P0 |
|
|
721
|
+
| P0-2 | `todo_drift_monitor.py` + CI 阻塞 + PR template | P0 |
|
|
722
|
+
| P1-1 | Ponytail lite/full 双模式 + DebtCollector + RequirementTracer | P1 |
|
|
723
|
+
| P1-4 | LoopKernel RollbackStrategy + 独立硬上限 | P1 |
|
|
724
|
+
| P1-5 | UIUXAnalyzer 子项审计 + 按需补全 | P1 |
|
|
725
|
+
| P1-6 | Dashboard 状态可视化 | P1 |
|
|
726
|
+
| P2-1 | pickle fallback 移除 | P2 |
|
|
727
|
+
| P2-2 | Autonomous SmartConfirmation 文档补全 | P2 |
|
|
728
|
+
| P2-4 | V4.3.0 发布文档同步 | P2 |
|
|
729
|
+
|
|
730
|
+
**7-Role 共识**: 7/7 APPROVE_WITH_CONCERNS,按 10 项调整修订后达成共识。详见 [V43_ROADMAP_PROPOSAL.md](docs/planning/V43_ROADMAP_PROPOSAL.md) v1.2。
|
|
731
|
+
|
|
732
|
+
**项目生命周期**: 按 11-Phase 模型推进(P1 需求 → P2 架构 → P3 技术设计 → P7 测试计划 → P8 实施 → P9 测试执行 → P10 部署发布)
|
|
733
|
+
|
|
734
|
+
**测试金字塔保障**: unit ≥60% / integration 15-25% / e2e ≤10% / contract 5-10% / smoke ≤5%
|
|
662
735
|
|
|
663
736
|
---
|
|
664
737
|
|
|
@@ -693,6 +766,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
693
766
|
|
|
694
767
|
---
|
|
695
768
|
|
|
696
|
-
*Last updated: 2026-07-
|
|
769
|
+
*Last updated: 2026-07-24 | Version: V4.2.1 (V4.3.0 in progress — see [Roadmap](#-roadmap))*
|
|
697
770
|
|
|
698
771
|
</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.0.0
|
|
6
|
+
<em>One task → Multi-role AI collaboration → One conclusion | V4.3.0 Pre-release (V4.3.0 candidate — pending user approval)</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-
|
|
13
|
-
<img alt="Version" src="https://img.shields.io/badge/V4.
|
|
12
|
+
<img alt="Tests" src="https://img.shields.io/badge/Tests-7681%20passing-brightgreen" />
|
|
13
|
+
<img alt="Version" src="https://img.shields.io/badge/V4.3.0-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,24 +64,52 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
|
|
|
64
64
|
| 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
|
|
65
65
|
| 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
|
|
66
66
|
|
|
67
|
-
📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [
|
|
67
|
+
📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [185+ 模块详细参考](SKILL.md)
|
|
68
68
|
|
|
69
69
|
---
|
|
70
70
|
|
|
71
71
|
<details>
|
|
72
72
|
<summary>🔍 点击展开:完整功能介绍与架构详解</summary>
|
|
73
73
|
|
|
74
|
-
## 🚀 V4.0.0:
|
|
74
|
+
## 🚀 V4.3.0 (V4.3.0 candidate): 安全债清理 + 上游精细化升级 + 测试金字塔达标
|
|
75
75
|
|
|
76
|
-
**DevSquad V4.
|
|
77
|
-
- **P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling 五步闭环
|
|
78
|
-
- **P1-2 UI/UX 巡检**: 4 维度审计(a11y/interaction/layout/ux)+ PIL 像素 diff 视觉回归
|
|
79
|
-
- **P2-1 Adversarial 验证**: 红队攻击 + 蓝队防御 + 裁判仲裁三阶段对抗验证
|
|
80
|
-
- **P2-2 DAG 可视化**: Mermaid / JSON / DOT 三种格式依赖图可视化
|
|
81
|
-
- **P3-1 Autonomous**: plan → dev → verify → fix 4 阶段自主迭代,复用 LoopKernel,不绕过共识门
|
|
82
|
-
- **P3-2 插件热加载**: 三种加载路径 + 路径穿越三层防护 + reload 回滚 + 审计日志
|
|
76
|
+
**DevSquad V4.3.0** 是 V4.3.0 的预发布候选版本,整合技术债跟踪、pickle→JSON 迁移、上游 TraeMultiAgentSkill v2.6-v2.8 精细化启发三方面输入,按 7-Role 共识推进:
|
|
83
77
|
|
|
84
|
-
|
|
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 测试)
|
|
103
|
+
|
|
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 回滚
|
|
111
|
+
|
|
112
|
+
7681 tests passing。
|
|
85
113
|
|
|
86
114
|
---
|
|
87
115
|
|
|
@@ -151,7 +179,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
|
|
|
151
179
|
./scripts/start.sh --help
|
|
152
180
|
```
|
|
153
181
|
|
|
154
|
-
`start.sh` is the unified entry point introduced in V3.9.2 (P0-2). It validates the environment, initializes the database, builds the frontend, and starts the service in one command. Use `requirements.lock` alongside it for reproducible builds (`pip install -r requirements.lock`). V4.
|
|
182
|
+
`start.sh` is the unified entry point introduced in V3.9.2 (P0-2). It validates the environment, initializes the database, builds the frontend, and starts the service in one command. Use `requirements.lock` alongside it for reproducible builds (`pip install -r requirements.lock`). V4.1.0 adds Loop Engineering, UI/UX 巡检, Adversarial 验证, DAG 可视化, Autonomous, and 插件热加载.
|
|
155
183
|
|
|
156
184
|
---
|
|
157
185
|
|
|
@@ -173,7 +201,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
|
|
|
173
201
|
|
|
174
202
|
## 🏗️ Five Capability Domains (Architecture Overview)
|
|
175
203
|
|
|
176
|
-
DevSquad's
|
|
204
|
+
DevSquad's 235 modules are organized into **5 capability domains**, each solving a specific problem:
|
|
177
205
|
|
|
178
206
|
### 🎯 Domain 1: Task Orchestration Engine (Core)
|
|
179
207
|
|
|
@@ -465,11 +493,11 @@ devsquad dispatch -t "Design user authentication system"
|
|
|
465
493
|
```bash
|
|
466
494
|
# Check version
|
|
467
495
|
devsquad --version
|
|
468
|
-
# Expected: devsquad 4.
|
|
496
|
+
# Expected: devsquad 4.3.0
|
|
469
497
|
|
|
470
498
|
# Run tests
|
|
471
499
|
pytest tests/ -v --tb=short
|
|
472
|
-
# Expected:
|
|
500
|
+
# Expected: 7681 passed
|
|
473
501
|
```
|
|
474
502
|
|
|
475
503
|
---
|
|
@@ -520,14 +548,14 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
|
|
|
520
548
|
|
|
521
549
|
### Quick Smoke Test (< 30 seconds)
|
|
522
550
|
```bash
|
|
523
|
-
python3 scripts/cli.py --version # Expected: DevSquad 4.
|
|
551
|
+
python3 scripts/cli.py --version # Expected: DevSquad 4.1.0
|
|
524
552
|
python3 scripts/cli.py status # Expected: System ready
|
|
525
553
|
python3 scripts/cli.py roles # Expected: 7 core roles listed
|
|
526
554
|
```
|
|
527
555
|
|
|
528
556
|
### Full Test Suite
|
|
529
557
|
```bash
|
|
530
|
-
# Run all tests (
|
|
558
|
+
# Run all tests (7681 tests passing)
|
|
531
559
|
python3 -m pytest tests/ -q --tb=line
|
|
532
560
|
|
|
533
561
|
# With coverage report
|
|
@@ -544,7 +572,7 @@ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
|
|
|
544
572
|
| **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
|
|
545
573
|
| **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
|
|
546
574
|
|
|
547
|
-
**Total:
|
|
575
|
+
**Total: 7681 CI tests / 266 e2e (7681 collected)**
|
|
548
576
|
|
|
549
577
|
Run by priority:
|
|
550
578
|
```bash
|
|
@@ -565,7 +593,7 @@ python3 -m pytest tests/ -q --tb=line
|
|
|
565
593
|
| Document | Description | Language |
|
|
566
594
|
|----------|-------------|----------|
|
|
567
595
|
| [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
|
|
568
|
-
| [SKILL.md](SKILL.md) | 完整技能手册 +
|
|
596
|
+
| [SKILL.md](SKILL.md) | 完整技能手册 + 185+ 模块参考 | EN/CN/JP |
|
|
569
597
|
| [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
|
|
570
598
|
| [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
|
|
571
599
|
| [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
|
|
@@ -574,6 +602,43 @@ python3 -m pytest tests/ -q --tb=line
|
|
|
574
602
|
| [README-JP.md](README-JP.md) | 日本語説明 | 日本語 |
|
|
575
603
|
| [docs/PRD.md](docs/PRD.md) | 产品需求文档 | 中文 |
|
|
576
604
|
| [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 技术架构文档 | 中文 |
|
|
605
|
+
| [docs/planning/V43_ROADMAP_PROPOSAL.md](docs/planning/V43_ROADMAP_PROPOSAL.md) | V4.3 统一推进方案 v1.2(7-Role 共识达成) | 中文 |
|
|
606
|
+
| [docs/prd/V4.3.0_PRD.md](docs/prd/V4.3.0_PRD.md) | V4.3.0 PRD(需求/用户故事/验收标准) | 中文 |
|
|
607
|
+
| [docs/architecture/V4.3.0_ARCHITECTURE.md](docs/architecture/V4.3.0_ARCHITECTURE.md) | V4.3.0 架构设计(模块边界/接口契约/依赖图) | 中文 |
|
|
608
|
+
| [docs/testing/V4.3.0_TEST_PLAN.md](docs/testing/V4.3.0_TEST_PLAN.md) | V4.3.0 测试方案(测试金字塔/E2E/真实用户模拟) | 中文 |
|
|
609
|
+
|
|
610
|
+
---
|
|
611
|
+
|
|
612
|
+
## 🗺️ Roadmap
|
|
613
|
+
|
|
614
|
+
### V4.3.0(进行中 — 7-Role 共识达成,文档先行)
|
|
615
|
+
|
|
616
|
+
**版本策略**: V4.3.0 预发布(全部代码+文档+E2E 验证)→ 用户确认 → V4.3.0 正式版
|
|
617
|
+
|
|
618
|
+
**整合三方面输入**:
|
|
619
|
+
1. 技术债持续治理(`todo_drift_monitor` + CI 阻塞)
|
|
620
|
+
2. pickle→JSON 迁移(dead code 删除 + fallback 安全收紧 + 移除)
|
|
621
|
+
3. 上游 TraeMultiAgentSkill v2.6-v2.8 精细化启发(Ponytail 双模式 / LoopKernel 回退 / UIUX 审计 / Dashboard 可视化)
|
|
622
|
+
|
|
623
|
+
**V4.3.0 范围(9 项)**:
|
|
624
|
+
|
|
625
|
+
| ID | 名称 | 优先级 |
|
|
626
|
+
|----|------|--------|
|
|
627
|
+
| P0-1 | pickle dead code 删除 + fallback 安全收紧 | P0 |
|
|
628
|
+
| P0-2 | `todo_drift_monitor.py` + CI 阻塞 + PR template | P0 |
|
|
629
|
+
| P1-1 | Ponytail lite/full 双模式 + DebtCollector + RequirementTracer | P1 |
|
|
630
|
+
| P1-4 | LoopKernel RollbackStrategy + 独立硬上限 | P1 |
|
|
631
|
+
| P1-5 | UIUXAnalyzer 子项审计 + 按需补全 | P1 |
|
|
632
|
+
| P1-6 | Dashboard 状态可视化 | P1 |
|
|
633
|
+
| P2-1 | pickle fallback 移除 | P2 |
|
|
634
|
+
| P2-2 | Autonomous SmartConfirmation 文档补全 | P2 |
|
|
635
|
+
| P2-4 | V4.3.0 发布文档同步 | P2 |
|
|
636
|
+
|
|
637
|
+
**7-Role 共识**: 7/7 APPROVE_WITH_CONCERNS,按 10 项调整修订后达成共识。详见 [V43_ROADMAP_PROPOSAL.md](docs/planning/V43_ROADMAP_PROPOSAL.md) v1.2。
|
|
638
|
+
|
|
639
|
+
**项目生命周期**: 按 11-Phase 模型推进(P1 需求 → P2 架构 → P3 技术设计 → P7 测试计划 → P8 实施 → P9 测试执行 → P10 部署发布)
|
|
640
|
+
|
|
641
|
+
**测试金字塔保障**: unit ≥60% / integration 15-25% / e2e ≤10% / contract 5-10% / smoke ≤5%
|
|
577
642
|
|
|
578
643
|
---
|
|
579
644
|
|
|
@@ -608,6 +673,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
608
673
|
|
|
609
674
|
---
|
|
610
675
|
|
|
611
|
-
*Last updated: 2026-07-
|
|
676
|
+
*Last updated: 2026-07-24 | Version: V4.2.1 (V4.3.0 in progress — see [Roadmap](#-roadmap))*
|
|
612
677
|
|
|
613
678
|
</details>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devsquad
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.3.0
|
|
4
4
|
Summary: Production-Ready Multi-Role AI Task Orchestrator
|
|
5
5
|
Author-email: DevSquad Team <devsquad@example.com>
|
|
6
6
|
License: MIT
|
|
@@ -59,6 +59,11 @@ Requires-Dist: mypy>=1.0; extra == "dev"
|
|
|
59
59
|
Requires-Dist: black>=23.0; extra == "dev"
|
|
60
60
|
Requires-Dist: flake8>=6.0; extra == "dev"
|
|
61
61
|
Requires-Dist: httpx2>=2.5.0; extra == "dev"
|
|
62
|
+
Requires-Dist: streamlit>=1.28.0; extra == "dev"
|
|
63
|
+
Requires-Dist: Pillow>=10.0.0; extra == "dev"
|
|
64
|
+
Requires-Dist: fakeredis>=2.30; extra == "dev"
|
|
65
|
+
Requires-Dist: redis>=5.0; extra == "dev"
|
|
66
|
+
Requires-Dist: hypothesis>=6.0; extra == "dev"
|
|
62
67
|
Provides-Extra: all
|
|
63
68
|
Requires-Dist: openai>=1.0; extra == "all"
|
|
64
69
|
Requires-Dist: anthropic>=0.18; extra == "all"
|
|
@@ -81,6 +86,9 @@ Requires-Dist: mypy>=1.0; extra == "all"
|
|
|
81
86
|
Requires-Dist: black>=23.0; extra == "all"
|
|
82
87
|
Requires-Dist: flake8>=6.0; extra == "all"
|
|
83
88
|
Requires-Dist: httpx2>=2.5.0; extra == "all"
|
|
89
|
+
Requires-Dist: fakeredis>=2.30; extra == "all"
|
|
90
|
+
Requires-Dist: redis>=5.0; extra == "all"
|
|
91
|
+
Requires-Dist: hypothesis>=6.0; extra == "all"
|
|
84
92
|
Dynamic: license-file
|
|
85
93
|
|
|
86
94
|
# DevSquad — Multi-Role AI Task Orchestrator
|
|
@@ -88,14 +96,14 @@ Dynamic: license-file
|
|
|
88
96
|
<p align="center">
|
|
89
97
|
<strong>🎯 把「单个 AI 助手」升级成「7 人 AI 专业团队」</strong>
|
|
90
98
|
<br>
|
|
91
|
-
<em>One task → Multi-role AI collaboration → One conclusion | V4.0.0
|
|
99
|
+
<em>One task → Multi-role AI collaboration → One conclusion | V4.3.0 Pre-release (V4.3.0 candidate — pending user approval)</em>
|
|
92
100
|
</p>
|
|
93
101
|
|
|
94
102
|
<p align="center">
|
|
95
103
|
<img alt="Python" src="https://img.shields.io/badge/Python-3.10+-blue?logo=python&logoColor=white" />
|
|
96
104
|
<img alt="License" src="https://img.shields.io/badge/License-MIT-green" />
|
|
97
|
-
<img alt="Tests" src="https://img.shields.io/badge/Tests-
|
|
98
|
-
<img alt="Version" src="https://img.shields.io/badge/V4.
|
|
105
|
+
<img alt="Tests" src="https://img.shields.io/badge/Tests-7681%20passing-brightgreen" />
|
|
106
|
+
<img alt="Version" src="https://img.shields.io/badge/V4.3.0-success" />
|
|
99
107
|
<img alt="CI" src="https://img.shields.io/badge/CI-GitHub_Actions-blue?logo=githubactions" />
|
|
100
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" />
|
|
101
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" />
|
|
@@ -149,24 +157,52 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
|
|
|
149
157
|
| 复杂系统设计(需要多视角) | **DevSquad 多角色协作** 🎯 |
|
|
150
158
|
| 生产环境自动化流程 | **DevSquad + REST API + Dashboard** 🎯 |
|
|
151
159
|
|
|
152
|
-
📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [
|
|
160
|
+
📚 **想深入了解?** → [完整快速入门指南](QUICKSTART.md) | [185+ 模块详细参考](SKILL.md)
|
|
153
161
|
|
|
154
162
|
---
|
|
155
163
|
|
|
156
164
|
<details>
|
|
157
165
|
<summary>🔍 点击展开:完整功能介绍与架构详解</summary>
|
|
158
166
|
|
|
159
|
-
## 🚀 V4.0.0:
|
|
167
|
+
## 🚀 V4.3.0 (V4.3.0 candidate): 安全债清理 + 上游精细化升级 + 测试金字塔达标
|
|
160
168
|
|
|
161
|
-
**DevSquad V4.
|
|
162
|
-
- **P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling 五步闭环
|
|
163
|
-
- **P1-2 UI/UX 巡检**: 4 维度审计(a11y/interaction/layout/ux)+ PIL 像素 diff 视觉回归
|
|
164
|
-
- **P2-1 Adversarial 验证**: 红队攻击 + 蓝队防御 + 裁判仲裁三阶段对抗验证
|
|
165
|
-
- **P2-2 DAG 可视化**: Mermaid / JSON / DOT 三种格式依赖图可视化
|
|
166
|
-
- **P3-1 Autonomous**: plan → dev → verify → fix 4 阶段自主迭代,复用 LoopKernel,不绕过共识门
|
|
167
|
-
- **P3-2 插件热加载**: 三种加载路径 + 路径穿越三层防护 + reload 回滚 + 审计日志
|
|
169
|
+
**DevSquad V4.3.0** 是 V4.3.0 的预发布候选版本,整合技术债跟踪、pickle→JSON 迁移、上游 TraeMultiAgentSkill v2.6-v2.8 精细化启发三方面输入,按 7-Role 共识推进:
|
|
168
170
|
|
|
169
|
-
|
|
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 测试)
|
|
196
|
+
|
|
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 回滚
|
|
204
|
+
|
|
205
|
+
7681 tests passing。
|
|
170
206
|
|
|
171
207
|
---
|
|
172
208
|
|
|
@@ -236,7 +272,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
|
|
|
236
272
|
./scripts/start.sh --help
|
|
237
273
|
```
|
|
238
274
|
|
|
239
|
-
`start.sh` is the unified entry point introduced in V3.9.2 (P0-2). It validates the environment, initializes the database, builds the frontend, and starts the service in one command. Use `requirements.lock` alongside it for reproducible builds (`pip install -r requirements.lock`). V4.
|
|
275
|
+
`start.sh` is the unified entry point introduced in V3.9.2 (P0-2). It validates the environment, initializes the database, builds the frontend, and starts the service in one command. Use `requirements.lock` alongside it for reproducible builds (`pip install -r requirements.lock`). V4.1.0 adds Loop Engineering, UI/UX 巡检, Adversarial 验证, DAG 可视化, Autonomous, and 插件热加载.
|
|
240
276
|
|
|
241
277
|
---
|
|
242
278
|
|
|
@@ -258,7 +294,7 @@ DEVSQUAD_API_PORT=9000 ./scripts/start.sh
|
|
|
258
294
|
|
|
259
295
|
## 🏗️ Five Capability Domains (Architecture Overview)
|
|
260
296
|
|
|
261
|
-
DevSquad's
|
|
297
|
+
DevSquad's 235 modules are organized into **5 capability domains**, each solving a specific problem:
|
|
262
298
|
|
|
263
299
|
### 🎯 Domain 1: Task Orchestration Engine (Core)
|
|
264
300
|
|
|
@@ -550,11 +586,11 @@ devsquad dispatch -t "Design user authentication system"
|
|
|
550
586
|
```bash
|
|
551
587
|
# Check version
|
|
552
588
|
devsquad --version
|
|
553
|
-
# Expected: devsquad 4.
|
|
589
|
+
# Expected: devsquad 4.3.0
|
|
554
590
|
|
|
555
591
|
# Run tests
|
|
556
592
|
pytest tests/ -v --tb=short
|
|
557
|
-
# Expected:
|
|
593
|
+
# Expected: 7681 passed
|
|
558
594
|
```
|
|
559
595
|
|
|
560
596
|
---
|
|
@@ -605,14 +641,14 @@ export DEVSQUAD_OPENAI_API_KEY=sk-...
|
|
|
605
641
|
|
|
606
642
|
### Quick Smoke Test (< 30 seconds)
|
|
607
643
|
```bash
|
|
608
|
-
python3 scripts/cli.py --version # Expected: DevSquad 4.
|
|
644
|
+
python3 scripts/cli.py --version # Expected: DevSquad 4.1.0
|
|
609
645
|
python3 scripts/cli.py status # Expected: System ready
|
|
610
646
|
python3 scripts/cli.py roles # Expected: 7 core roles listed
|
|
611
647
|
```
|
|
612
648
|
|
|
613
649
|
### Full Test Suite
|
|
614
650
|
```bash
|
|
615
|
-
# Run all tests (
|
|
651
|
+
# Run all tests (7681 tests passing)
|
|
616
652
|
python3 -m pytest tests/ -q --tb=line
|
|
617
653
|
|
|
618
654
|
# With coverage report
|
|
@@ -629,7 +665,7 @@ python3 -m pytest tests/ --cov=scripts --cov-report=term-missing
|
|
|
629
665
|
| **P2** | Integration & E2E | Full lifecycle dispatch, cross-module integration | ~200 |
|
|
630
666
|
| **P3** | Unit per Module | Core dispatcher, RoleMapping, MCEAdapter, LLM backends | ~400+ |
|
|
631
667
|
|
|
632
|
-
**Total:
|
|
668
|
+
**Total: 7681 CI tests / 266 e2e (7681 collected)**
|
|
633
669
|
|
|
634
670
|
Run by priority:
|
|
635
671
|
```bash
|
|
@@ -650,7 +686,7 @@ python3 -m pytest tests/ -q --tb=line
|
|
|
650
686
|
| Document | Description | Language |
|
|
651
687
|
|----------|-------------|----------|
|
|
652
688
|
| [**QUICKSTART.md**](QUICKSTART.md) | **⭐ 30 秒快速入门指南(推荐新用户)** | 中文 |
|
|
653
|
-
| [SKILL.md](SKILL.md) | 完整技能手册 +
|
|
689
|
+
| [SKILL.md](SKILL.md) | 完整技能手册 + 185+ 模块参考 | EN/CN/JP |
|
|
654
690
|
| [GUIDE.md](GUIDE.md) | 完全用户指南 | 中文 |
|
|
655
691
|
| [INSTALL.md](INSTALL.md) | 安装指南 (Unix + Windows) | EN/CN |
|
|
656
692
|
| [EXAMPLES.md](EXAMPLES.md) | 实际使用示例 | EN |
|
|
@@ -659,6 +695,43 @@ python3 -m pytest tests/ -q --tb=line
|
|
|
659
695
|
| [README-JP.md](README-JP.md) | 日本語説明 | 日本語 |
|
|
660
696
|
| [docs/PRD.md](docs/PRD.md) | 产品需求文档 | 中文 |
|
|
661
697
|
| [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | 技术架构文档 | 中文 |
|
|
698
|
+
| [docs/planning/V43_ROADMAP_PROPOSAL.md](docs/planning/V43_ROADMAP_PROPOSAL.md) | V4.3 统一推进方案 v1.2(7-Role 共识达成) | 中文 |
|
|
699
|
+
| [docs/prd/V4.3.0_PRD.md](docs/prd/V4.3.0_PRD.md) | V4.3.0 PRD(需求/用户故事/验收标准) | 中文 |
|
|
700
|
+
| [docs/architecture/V4.3.0_ARCHITECTURE.md](docs/architecture/V4.3.0_ARCHITECTURE.md) | V4.3.0 架构设计(模块边界/接口契约/依赖图) | 中文 |
|
|
701
|
+
| [docs/testing/V4.3.0_TEST_PLAN.md](docs/testing/V4.3.0_TEST_PLAN.md) | V4.3.0 测试方案(测试金字塔/E2E/真实用户模拟) | 中文 |
|
|
702
|
+
|
|
703
|
+
---
|
|
704
|
+
|
|
705
|
+
## 🗺️ Roadmap
|
|
706
|
+
|
|
707
|
+
### V4.3.0(进行中 — 7-Role 共识达成,文档先行)
|
|
708
|
+
|
|
709
|
+
**版本策略**: V4.3.0 预发布(全部代码+文档+E2E 验证)→ 用户确认 → V4.3.0 正式版
|
|
710
|
+
|
|
711
|
+
**整合三方面输入**:
|
|
712
|
+
1. 技术债持续治理(`todo_drift_monitor` + CI 阻塞)
|
|
713
|
+
2. pickle→JSON 迁移(dead code 删除 + fallback 安全收紧 + 移除)
|
|
714
|
+
3. 上游 TraeMultiAgentSkill v2.6-v2.8 精细化启发(Ponytail 双模式 / LoopKernel 回退 / UIUX 审计 / Dashboard 可视化)
|
|
715
|
+
|
|
716
|
+
**V4.3.0 范围(9 项)**:
|
|
717
|
+
|
|
718
|
+
| ID | 名称 | 优先级 |
|
|
719
|
+
|----|------|--------|
|
|
720
|
+
| P0-1 | pickle dead code 删除 + fallback 安全收紧 | P0 |
|
|
721
|
+
| P0-2 | `todo_drift_monitor.py` + CI 阻塞 + PR template | P0 |
|
|
722
|
+
| P1-1 | Ponytail lite/full 双模式 + DebtCollector + RequirementTracer | P1 |
|
|
723
|
+
| P1-4 | LoopKernel RollbackStrategy + 独立硬上限 | P1 |
|
|
724
|
+
| P1-5 | UIUXAnalyzer 子项审计 + 按需补全 | P1 |
|
|
725
|
+
| P1-6 | Dashboard 状态可视化 | P1 |
|
|
726
|
+
| P2-1 | pickle fallback 移除 | P2 |
|
|
727
|
+
| P2-2 | Autonomous SmartConfirmation 文档补全 | P2 |
|
|
728
|
+
| P2-4 | V4.3.0 发布文档同步 | P2 |
|
|
729
|
+
|
|
730
|
+
**7-Role 共识**: 7/7 APPROVE_WITH_CONCERNS,按 10 项调整修订后达成共识。详见 [V43_ROADMAP_PROPOSAL.md](docs/planning/V43_ROADMAP_PROPOSAL.md) v1.2。
|
|
731
|
+
|
|
732
|
+
**项目生命周期**: 按 11-Phase 模型推进(P1 需求 → P2 架构 → P3 技术设计 → P7 测试计划 → P8 实施 → P9 测试执行 → P10 部署发布)
|
|
733
|
+
|
|
734
|
+
**测试金字塔保障**: unit ≥60% / integration 15-25% / e2e ≤10% / contract 5-10% / smoke ≤5%
|
|
662
735
|
|
|
663
736
|
---
|
|
664
737
|
|
|
@@ -693,6 +766,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
693
766
|
|
|
694
767
|
---
|
|
695
768
|
|
|
696
|
-
*Last updated: 2026-07-
|
|
769
|
+
*Last updated: 2026-07-24 | Version: V4.2.1 (V4.3.0 in progress — see [Roadmap](#-roadmap))*
|
|
697
770
|
|
|
698
771
|
</details>
|