devsquad 4.4.0__tar.gz → 4.5.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.4.0 → devsquad-4.5.0}/PKG-INFO +94 -56
- {devsquad-4.4.0 → devsquad-4.5.0}/README.md +90 -52
- {devsquad-4.4.0 → devsquad-4.5.0}/devsquad.egg-info/PKG-INFO +94 -56
- {devsquad-4.4.0 → devsquad-4.5.0}/devsquad.egg-info/SOURCES.txt +7 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/devsquad.egg-info/requires.txt +3 -3
- {devsquad-4.4.0 → devsquad-4.5.0}/pyproject.toml +4 -4
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/benchmark_real_llm.py +25 -50
- devsquad-4.5.0/scripts/check_doc_consistency.py +165 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/check_version_consistency.py +0 -6
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/cli.py +25 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/cli_dispatch.py +19 -1
- devsquad-4.5.0/scripts/cli_sessions.py +136 -0
- devsquad-4.5.0/scripts/collaboration/_version.py +1 -0
- devsquad-4.5.0/scripts/collaboration/agent_identity.py +122 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/benchmark_regression_checker.py +2 -2
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/checkpoint_manager.py +145 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/coordinator.py +27 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dependency_hallucination_checker.py +2 -2
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/deployment_compliance_checker.py +1 -1
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_component_factory.py +6 -1
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_hooks.py +2 -2
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_models.py +64 -2
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_pre_steps.py +14 -5
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatcher.py +154 -1
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatcher_base.py +1 -1
- devsquad-4.5.0/scripts/collaboration/file_bundler.py +266 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/models.py +3 -0
- devsquad-4.5.0/scripts/collaboration/models_dispatch.py +659 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/prompt_dials.py +18 -1
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/protocols.py +42 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/quality_calibration_gate.py +1 -1
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/report_formatter.py +117 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/risk_register.py +1 -1
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/scratchpad.py +15 -1
- devsquad-4.5.0/scripts/collaboration/scratchpad_history_store.py +277 -0
- devsquad-4.5.0/scripts/collaboration/skill_provider_builtin.py +155 -0
- devsquad-4.5.0/scripts/collaboration/skill_provider_mcp.py +164 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/skill_registry.py +57 -2
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/test_quality_guard.py +75 -79
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/worker.py +21 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/dashboard/dispatch_views.py +114 -5
- {devsquad-4.4.0 → devsquad-4.5.0}/skills/__init__.py +1 -1
- {devsquad-4.4.0 → devsquad-4.5.0}/skills/security/handler.py +1 -1
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_test_quality_guard_test.py +26 -0
- devsquad-4.4.0/scripts/collaboration/_version.py +0 -1
- devsquad-4.4.0/scripts/collaboration/models_dispatch.py +0 -331
- {devsquad-4.4.0 → devsquad-4.5.0}/LICENSE +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/devsquad.egg-info/dependency_links.txt +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/devsquad.egg-info/entry_points.txt +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/devsquad.egg-info/top_level.txt +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/__init__.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/api/__init__.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/api/models.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/api/rate_limit.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/api/routes/__init__.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/api/routes/dispatch.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/api/routes/lifecycle.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/api/routes/metrics.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/api/routes/metrics_gates.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/api/security.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/api_server.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/auth.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/benchmark_async_dispatch.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/benchmark_ponytail_smart.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/check_async_coverage.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/check_config_consistency.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/check_constructor_params.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/check_dependency_lock.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/check_dependency_sync.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/check_hidden_content.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/check_test_pyramid.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/check_test_quality.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/cli/__init__.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/cli/cli_visual.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/cli_lifecycle.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/cli_utils.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/__init__.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/adaptive_role_selector.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/adversarial_verify.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/agent_briefing.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/ai_semantic_matcher.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/anchor_checker.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/anti_rationalization.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/async_adapter.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/async_coordinator.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/async_llm_backend.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/audit_logger.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/autonomous/__init__.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/autonomous/git_driver.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/autonomous/loop_controller.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/autonomous/notes_memory.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/autonomous/run_state.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/autonomous/sleep_guard.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/autonomous/smart_confirmation.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/batch_scheduler.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/cache_interface.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/ccr_store.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/ci_feedback_adapter.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/cli_command_classifier.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/code_graph_query.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/code_graph_storage.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/code_knowledge_graph.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/code_map_generator.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/concern_pack_loader.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/confidence_score.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/config_manager.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/consensus.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/consensus_gate.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/constants.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/content_cache.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/content_crusher.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/context_compressor.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dashboard_live_mode.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/debt_collector.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_audit.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_lifecycle.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_performance.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_rbac.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_result_assembler.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_services.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_steps.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_steps_base.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_steps_consensus_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_steps_feedback_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_steps_mixins.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_steps_quality_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatch_steps_services_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatcher_async_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatcher_audit_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatcher_config.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatcher_error_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatcher_factory.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatcher_lifecycle_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatcher_mixins.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatcher_status_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dispatcher_utils_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dora_metrics_collector.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/dual_layer_context.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/enhanced_worker.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/enterprise_feature.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/error_budget_tracker.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/event_bus.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/execution_guard.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/feature_usage_tracker.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/feedback_control_loop.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/five_axis_consensus.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/gap_analyzer.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/input_validator.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/intent_workflow_mapper.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/judge_agent.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/language_parsers.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/learned_rule_store.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/lifecycle_gate.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/lifecycle_protocol.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/lifecycle_shortcut_adapter.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/lifecycle_shortcut_helpers.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/lifecycle_templates.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/llm_backend.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/llm_cache.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/llm_cache_async.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/llm_cache_base.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/llm_retry.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/llm_retry_async.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/llm_retry_base.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/loop_engineering/__init__.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/loop_engineering/discovery_probe.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/loop_engineering/handoff_adapter.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/loop_engineering/independent_evaluator.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/loop_engineering/kernel.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/loop_engineering/loop_scheduler.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/loop_engineering/models.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/loop_engineering/protocols.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/loop_engineering/rollback_strategy.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/loop_engineering/unified_memory.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/mce_adapter.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/memory_bridge.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/memory_claw_source.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/memory_forgetting.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/memory_index.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/memory_query.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/memory_serializer.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/memory_types.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/meta_skill_layering.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/micro_task_planner.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/models_base.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/models_lifecycle.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/multi_host_adapter.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/multi_level_cache.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/multi_tenant.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/null_providers.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/operation_classifier.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/output_slicer.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/output_validator.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/performance_fingerprint.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/performance_monitor.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/permission_guard.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/plugins/__init__.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/plugins/hot_loader.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/ponytail_rule_injector.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/prometheus_metrics.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/prompt_assembler.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/prompt_assembler_base.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/prompt_assembler_formatting_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/prompt_assembler_mixins.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/prompt_assembler_substitution_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/prompt_assembler_template_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/prompt_assembler_validation_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/quality_probe_slice.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/rbac_engine.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/redesign_auditor.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/redesign_checkers.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/redis_cache.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/requirement_tracer.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/retrospective.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/review_checkers.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/role_matcher.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/role_skill_loader.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/role_specific_mock_backend.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/rule_collector.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/secret_patterns.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/severity_router.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/similar_task_recommender.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/skill_extractor.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/skill_storage.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/skillifier.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/standardized_role_template.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/task_completion_checker.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/tech_debt_manager.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/todo_drift_monitor.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/two_stage_review_gate.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/ue_test_accessibility_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/ue_test_framework.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/ue_test_framework_base.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/ue_test_heuristic_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/ue_test_journey_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/ue_test_mixins.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/ue_test_persona_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/unified_gate_engine.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/usage_tracker.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/user_friendly_error.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/verification_gate.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/viewpoint_registry.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/warmup_manager.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/workflow_engine.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/workflow_engine_base.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/workflow_engine_lifecycle_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/workflow_engine_mixins.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/workflow_engine_persistence_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/workflow_engine_state_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/workflow_engine_transition_mixin.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/collaboration/yagni_checker.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/dashboard/__init__.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/dashboard/app.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/dashboard/auth_views.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/dashboard/components.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/dashboard/dag_views.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/dashboard/i18n.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/dashboard/lifecycle_views.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/dashboard/metrics_views.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/dashboard/state.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/dashboard/v43_panels.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/dashboard.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/generate_benchmark_report.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/generate_quality_decision_report.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/history_manager.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/mcp_server.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/qa/__init__.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/qa/deterministic_rule_engine.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/qa/models.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/qa/taste_dials.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/qa/uiux_analyzer.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/qa/uiux_subitems.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/qa/visual_regression.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/scan_pickle_payloads.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/utils/__init__.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/scripts/utils/_find_missing_hints.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/setup.cfg +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/skills/_version.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/skills/dispatch/handler.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/skills/intent/handler.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/skills/prototype/handler.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/skills/registry.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/skills/retrospective/__init__.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/skills/retrospective/handler.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/skills/review/handler.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/skills/teach/handler.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/skills/test/__init__.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/skills/test/handler.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_4pt_grid.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_adaptive_role_selector.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_adversarial_verify.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_agent_briefing.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_anchor_retrospective.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_anti_rationalization.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_antipattern_bans.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_api_budget_status_endpoint.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_api_security.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_api_server_v362.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_async_coordinator.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_async_modules.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_audit_logger.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_auth_phase5.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_autonomous.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_benchmark_ponytail_smart.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_cache_interface.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_ccr_store.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_check_async_coverage.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_check_config_consistency.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_check_constructor_params.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_check_dependency_lock.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_check_hidden_content.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_check_test_pyramid.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_check_test_quality.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_check_version_consistency.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_ci_feedback_adapter.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_cli_command_classifier.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_cli_deep_v362.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_cli_lifecycle.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_cli_phase5.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_code_knowledge_graph.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_claw_integration_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_context_compressor_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_core_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_dispatcher_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_dispatcher_ux_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_e2e_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_enhanced_e2e_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_llm_cache_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_llm_retry_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_mce_adapter_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_memory_bridge_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_performance_monitor_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_permission_guard_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_prompt_optimization_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_role_mapping_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_skillifier_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_test_quality_guard.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_upstream_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_collaboration_warmup_manager_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_confidence_score.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_config_injection.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_consensus_dissent.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_consensus_fatigue.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_consensus_gate.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_content_cache.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_content_crusher.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_coordinator_smart_compression.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dag_views.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dashboard_live_mode.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dashboard_split.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dashboard_ui_e2e.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dashboard_v43_panels.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_data_backup.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_debt_collector.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_deep_shallow.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_deletion_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dependency_hallucination_checker.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dependency_lock.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_deployment_compliance_checker.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_deterministic_rule_engine.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dispatch_audit.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dispatch_performance.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dispatch_rbac.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dispatch_steps.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dispatcher_mixins.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dispatcher_phase5_core.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_docker_deployment.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_dual_layer_context.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_enhanced_worker.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_feedback_control_loop.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_five_axis_consensus.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_flow_standalone.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_full_lifecycle_adapter.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_git_guardrails.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_glossary_loader.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_grilling_mode.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_handoff_redaction.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_history_manager_v362.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_input_validator_phase5.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_input_validator_sensitive.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_intent_workflow_mapper.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_judge_agent.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_learned_rule_phase4.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_lifecycle_protocol.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_llm_auto_fallback.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_llm_cache_protocol.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_loop_engineering.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_loop_engineering_rollback.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_mcp_server_v362.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_memory_benchmarks.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_meta_skill_layering.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_micro_task_planner.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_multi_host_adapter.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_multi_tenant.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_multi_tenant_isolation_e2e.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_no_op_test.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_node_type_separation.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_null_providers.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_oklch_color.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_operation_classifier.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_output_slicer.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_output_validator_prompt_injection.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_performance_benchmarks.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_performance_fingerprint.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_performance_monitor_protocol.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_permission_guard_human_gate.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_permission_guard_phase5.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_phase4_ghost_feature_defense.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_pipeline_step19_20.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_plan_c_unified_architecture.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_plugins_hot_loader.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_ponytail_rule_injector.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_production_features.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_prometheus_metrics.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_prompt_dials.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_protocols.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_prototype_skill.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_qa_uiux_visual_regression.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_quick_bonus.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_rate_limit.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_rbac_engine.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_rbac_fail_closed.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_red_capable_gate.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_redesign_auditor.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_redis_cache.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_requirement_tracer.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_retry_jitter_strategies.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_role_skill_loader.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_rule_collector.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_rule_injection_security.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_secret_patterns.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_severity_router.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_similar_task_recommender.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_skill_registry_coverage.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_skill_security.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_sleep_guard.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_standardized_role_template.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_start_script.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_step_node_types.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_suggested_next_steps.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_task_completion_checker.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_taste_dials.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_tautological_seams.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_teach_skill.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_tech_debt_manager.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_todo_drift_monitor.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_token_budget_compressed_scratchpad.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_triage_label.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_two_stage_review_gate.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_ue_test_framework.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_uiux_subitems.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_usage_tracker_coverage.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_v39_e2e.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_v39_performance.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_v411_security_hardening.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_verification_gate.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_version.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_vertical_slice.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_workflow_engine.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_workflow_engine_base.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_workflow_engine_lifecycle.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_workflow_engine_state.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_workflow_engine_transition.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.0}/tests/test_workflow_persistence_coverage.py +0 -0
- {devsquad-4.4.0 → devsquad-4.5.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.5.0
|
|
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
|
|
58
|
-
Requires-Dist: mypy
|
|
59
|
-
Requires-Dist: black
|
|
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
|
|
99
|
+
<em>One task → Multi-role AI collaboration → One conclusion | V4.5.0 (cross-session continuity + protocol-native skills + action-first reports) | 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-
|
|
106
|
-
<img alt="Version" src="https://img.shields.io/badge/V4.
|
|
105
|
+
<img alt="Tests" src="https://img.shields.io/badge/Tests-8260%2B%20passing-brightgreen" />
|
|
106
|
+
<img alt="Version" src="https://img.shields.io/badge/V4.5.0-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" />
|
|
@@ -164,51 +164,77 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
|
|
|
164
164
|
<details>
|
|
165
165
|
<summary>🔍 点击展开:完整功能介绍与架构详解</summary>
|
|
166
166
|
|
|
167
|
-
## 🚀 V4.
|
|
167
|
+
## 🚀 V4.5.0: Cross-Session Continuity + Protocol-Native Skills + Action-First Reports
|
|
168
|
+
|
|
169
|
+
**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.
|
|
170
|
+
|
|
171
|
+
### V4.5.0 — 10 New Features
|
|
172
|
+
- **ScratchpadHistoryStore**: SQLite-backed cross-session Scratchpad search
|
|
173
|
+
- **AgentIdentity**: Deterministic agent ID for cross-session tracking
|
|
174
|
+
- **WorkflowTrace**: Transparent workflow trace in dispatch reports
|
|
175
|
+
- **GitContext**: Git branch/commit context injection into dispatch
|
|
176
|
+
- **SkillProvider Protocol**: Protocol-native skill architecture (Builtin + MCP providers)
|
|
177
|
+
- **OutputStyle**: Action-first report format (from i-have-adhd insights)
|
|
178
|
+
- **SessionResume CLI**: `devsquad sessions list` + `dispatch --resume`
|
|
179
|
+
- **FileBundler**: Deterministic file bundling for review mode (from open-code-review)
|
|
180
|
+
- **SKILL.md Modular Split**: 1216→282 lines + 3 reference docs (MODULE_REFERENCE / SUB_SKILLS / VERSION_HISTORY)
|
|
181
|
+
- **VISION Documents**: docs/VISION.md + VISION_ORCHESTRATION.md + VISION_AGENT_COLLABORATION.md
|
|
182
|
+
|
|
183
|
+
### V4.4.0 — P0-P3 Enhancement Modules (5 new modules)
|
|
184
|
+
- **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)
|
|
185
|
+
- **P0-2 ViewpointRegistry**: TOGAF architecture viewpoints with 7-role bound formal viewpoints + `is_orthogonal()` orthogonality check + `check_consistency()` conflict detection
|
|
186
|
+
- **P1-1 ErrorBudgetTracker**: SRE error budget with SLO 99.9% default + `GateType.ERROR_BUDGET` P10 gate (budget exhaustion blocks deployment) + `burn_rate()` consumption rate
|
|
187
|
+
- **P1-2 GapAnalyzer**: TOGAF gap analysis with `analyze(current, target)` + `prioritize()` + `generate_roadmap()` + `suggest_scheduler_decision()` driving LoopScheduler
|
|
188
|
+
- **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
|
|
189
|
+
|
|
190
|
+
### V4.4.1 — External Docs Restructure
|
|
191
|
+
- Archived orphan i18n docs (docs/i18n/ → docs/_archive/i18n/)
|
|
192
|
+
- Retired CHANGELOG-CN.md (CHANGELOG.md is now SSOT for all languages)
|
|
193
|
+
- Consolidated admin credentials to INSTALL.md only (single source of truth)
|
|
194
|
+
- Renumbered INSTALL.md methods to continuous 1-7
|
|
195
|
+
- Synced version numbers across all external docs (README/SKILL/INSTALL/CLAUDE)
|
|
196
|
+
|
|
197
|
+
### V4.4.2 — Multilingual + Dashboard Enhancement
|
|
198
|
+
- Multilingual role prompts (EN/CN/JP) for all 7 roles
|
|
199
|
+
- Dashboard 6-tab visibility (Overview/Dispatch/Lifecycle/Metrics/Audit/Settings)
|
|
200
|
+
- P2 Kanban evaluation (work-in-progress limits + cycle time tracking)
|
|
201
|
+
- P3 ITSM evaluation (incident management + change advisory board simulation)
|
|
202
|
+
- 13 E2E tests xpass + anti-ghost counters
|
|
203
|
+
|
|
204
|
+
### Anti-Ghost Feature Guarantee
|
|
205
|
+
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.
|
|
206
|
+
|
|
207
|
+
### Test Pyramid Achieved
|
|
208
|
+
- **Contract tests**: 5.2% (target ≥5% ✅)
|
|
209
|
+
- **Integration tests**: 15.1% (target ≥15% ✅)
|
|
210
|
+
- **Total tests**: 8260+ (CI authoritative)
|
|
211
|
+
- **E2E coverage**: 107 e2e + 1244 integration + 13 V4.4.0 anti-ghost
|
|
212
|
+
|
|
213
|
+
### Historical Features (V4.0.0-V4.3.3)
|
|
214
|
+
- **V4.3.3**: P0-P3 enhancement E2E skeletons (xfail TDD for V4.4.0)
|
|
215
|
+
- **V4.3.2**: LLM vs Mock quality gap measurement (calibration gate + thin-slice probe)
|
|
216
|
+
- **V4.3.0 Phase 3**: Quality hardening + user simulation E2E (NPS 9/10)
|
|
217
|
+
- **V4.3.0 Phase 2**: OutputValidator full integration (LLM output safety detection)
|
|
218
|
+
- **V4.3.0 Phase 1**: DependencyHallucinationChecker (anti-slopsquatting supply chain attack)
|
|
219
|
+
- **V4.3.0 Phase 0**: DeploymentComplianceChecker (anti-violation deployment backstop)
|
|
220
|
+
- **V4.0.0 P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling
|
|
221
|
+
- **V4.0.0 P1-2 UI/UX Patrol**: 4-dimension audit + PIL pixel diff visual regression
|
|
222
|
+
- **V4.0.0 P2-1 Adversarial Verification**: red team attack + blue team defense + judge arbitration
|
|
223
|
+
- **V4.0.0 P2-2 DAG Visualization**: Mermaid / JSON / DOT three formats
|
|
224
|
+
- **V4.0.0 P3-1 Autonomous**: plan → dev → verify → fix 4-stage autonomous iteration
|
|
225
|
+
- **V4.0.0 P3-2 Plugin Hot-Loading**: 3 loading paths + path traversal 3-layer protection + reload rollback
|
|
226
|
+
|
|
227
|
+
8260+ tests passing (CI authoritative).
|
|
168
228
|
|
|
169
|
-
|
|
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 测试)
|
|
229
|
+
---
|
|
196
230
|
|
|
197
|
-
|
|
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 回滚
|
|
231
|
+
## ⚡ Quick Start (7 Ways to Invoke DevSquad)
|
|
204
232
|
|
|
205
|
-
|
|
233
|
+
### Method 1: TRAE Skill (Recommended — you're already here)
|
|
206
234
|
|
|
207
|
-
|
|
235
|
+
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
236
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
### Method 1: CLI (Recommended for Beginners)
|
|
237
|
+
### Method 2: CLI (Recommended for Terminal Users)
|
|
212
238
|
|
|
213
239
|
```bash
|
|
214
240
|
# Interactive setup wizard (1-2 minutes)
|
|
@@ -218,18 +244,28 @@ python scripts/cli.py init
|
|
|
218
244
|
devsquad dispatch -t "your task description"
|
|
219
245
|
```
|
|
220
246
|
|
|
221
|
-
### Method
|
|
247
|
+
### Method 3: MCP Server (For IDE / Tool Integration)
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
# Start MCP server with stdio transport (for IDE integration)
|
|
251
|
+
python3 scripts/mcp_server.py
|
|
252
|
+
|
|
253
|
+
# Or SSE transport (for remote access)
|
|
254
|
+
python3 scripts/mcp_server.py --port 8080
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### Method 4: Web Dashboard (Recommended for Teams)
|
|
222
258
|
|
|
223
259
|
```bash
|
|
224
260
|
# Start Streamlit dashboard with authentication
|
|
225
261
|
streamlit run scripts/dashboard.py
|
|
226
262
|
|
|
227
263
|
# Open http://localhost:8501
|
|
228
|
-
# Login with default
|
|
229
|
-
#
|
|
264
|
+
# Login with default dev credentials (see INSTALL.md "Default credentials" section).
|
|
265
|
+
# Change all defaults in production.
|
|
230
266
|
```
|
|
231
267
|
|
|
232
|
-
### Method
|
|
268
|
+
### Method 5: REST API (Recommended for Integration)
|
|
233
269
|
|
|
234
270
|
```bash
|
|
235
271
|
# Install dependencies
|
|
@@ -242,7 +278,7 @@ uvicorn scripts.api_server:app --host 0.0.0.0 --port 8000 --reload
|
|
|
242
278
|
# Access ReDoc: http://localhost:8000/redoc
|
|
243
279
|
```
|
|
244
280
|
|
|
245
|
-
### Method
|
|
281
|
+
### Method 6: Python API (Recommended for Developers)
|
|
246
282
|
|
|
247
283
|
```python
|
|
248
284
|
from scripts.collaboration.dispatcher import MultiAgentDispatcher
|
|
@@ -256,7 +292,7 @@ print(result.report)
|
|
|
256
292
|
print(result.consensus)
|
|
257
293
|
```
|
|
258
294
|
|
|
259
|
-
### Method
|
|
295
|
+
### Method 7: One-Click Startup Script (V3.9.2+)
|
|
260
296
|
|
|
261
297
|
```bash
|
|
262
298
|
# One-click startup — 4 phases: env check → DB init → frontend build → service start
|
|
@@ -485,7 +521,7 @@ All modules are **optional switches** — DevSquad works perfectly without them.
|
|
|
485
521
|
|
|
486
522
|
## 🧩 Layered Sub-Skill Architecture (V3.6.0)
|
|
487
523
|
|
|
488
|
-
> DevSquad provides **
|
|
524
|
+
> DevSquad provides **8 atomic sub-skills** that can be used independently or together.
|
|
489
525
|
> Each sub-skill is a thin wrapper (~50 lines) importing existing core modules — no duplicated logic.
|
|
490
526
|
|
|
491
527
|
```
|
|
@@ -495,7 +531,9 @@ skills/
|
|
|
495
531
|
├── review/ → ReviewSkill — FiveAxisConsensusEngine (5-axis code review)
|
|
496
532
|
├── security/ → SecuritySkill — InputValidator + OperationClassifier + PermissionGuard
|
|
497
533
|
├── test/ → TestSkill — TestQualityGuard + test strategy generation
|
|
498
|
-
|
|
534
|
+
├── retrospective/ → RetroSkill — RetrospectiveEngine + pattern extraction
|
|
535
|
+
├── prototype/ → PrototypeSkill — Rapid prototype scaffolding (V4.5.0)
|
|
536
|
+
└── teach/ → TeachSkill — Knowledge transfer & onboarding (V4.5.0)
|
|
499
537
|
```
|
|
500
538
|
|
|
501
539
|
### Sub-Skill Quick Reference
|
|
@@ -766,6 +804,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
766
804
|
|
|
767
805
|
---
|
|
768
806
|
|
|
769
|
-
*Last updated: 2026-
|
|
807
|
+
*Last updated: 2026-08-03 | Version: 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
808
|
|
|
771
809
|
</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
|
|
6
|
+
<em>One task → Multi-role AI collaboration → One conclusion | V4.5.0 (cross-session continuity + protocol-native skills + action-first reports) | 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-
|
|
13
|
-
<img alt="Version" src="https://img.shields.io/badge/V4.
|
|
12
|
+
<img alt="Tests" src="https://img.shields.io/badge/Tests-8260%2B%20passing-brightgreen" />
|
|
13
|
+
<img alt="Version" src="https://img.shields.io/badge/V4.5.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" />
|
|
@@ -71,51 +71,77 @@ devsquad run "设计一个安全的用户认证系统" --roles architect,securit
|
|
|
71
71
|
<details>
|
|
72
72
|
<summary>🔍 点击展开:完整功能介绍与架构详解</summary>
|
|
73
73
|
|
|
74
|
-
## 🚀 V4.
|
|
74
|
+
## 🚀 V4.5.0: Cross-Session Continuity + Protocol-Native Skills + Action-First Reports
|
|
75
|
+
|
|
76
|
+
**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.
|
|
77
|
+
|
|
78
|
+
### V4.5.0 — 10 New Features
|
|
79
|
+
- **ScratchpadHistoryStore**: SQLite-backed cross-session Scratchpad search
|
|
80
|
+
- **AgentIdentity**: Deterministic agent ID for cross-session tracking
|
|
81
|
+
- **WorkflowTrace**: Transparent workflow trace in dispatch reports
|
|
82
|
+
- **GitContext**: Git branch/commit context injection into dispatch
|
|
83
|
+
- **SkillProvider Protocol**: Protocol-native skill architecture (Builtin + MCP providers)
|
|
84
|
+
- **OutputStyle**: Action-first report format (from i-have-adhd insights)
|
|
85
|
+
- **SessionResume CLI**: `devsquad sessions list` + `dispatch --resume`
|
|
86
|
+
- **FileBundler**: Deterministic file bundling for review mode (from open-code-review)
|
|
87
|
+
- **SKILL.md Modular Split**: 1216→282 lines + 3 reference docs (MODULE_REFERENCE / SUB_SKILLS / VERSION_HISTORY)
|
|
88
|
+
- **VISION Documents**: docs/VISION.md + VISION_ORCHESTRATION.md + VISION_AGENT_COLLABORATION.md
|
|
89
|
+
|
|
90
|
+
### V4.4.0 — P0-P3 Enhancement Modules (5 new modules)
|
|
91
|
+
- **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)
|
|
92
|
+
- **P0-2 ViewpointRegistry**: TOGAF architecture viewpoints with 7-role bound formal viewpoints + `is_orthogonal()` orthogonality check + `check_consistency()` conflict detection
|
|
93
|
+
- **P1-1 ErrorBudgetTracker**: SRE error budget with SLO 99.9% default + `GateType.ERROR_BUDGET` P10 gate (budget exhaustion blocks deployment) + `burn_rate()` consumption rate
|
|
94
|
+
- **P1-2 GapAnalyzer**: TOGAF gap analysis with `analyze(current, target)` + `prioritize()` + `generate_roadmap()` + `suggest_scheduler_decision()` driving LoopScheduler
|
|
95
|
+
- **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
|
|
96
|
+
|
|
97
|
+
### V4.4.1 — External Docs Restructure
|
|
98
|
+
- Archived orphan i18n docs (docs/i18n/ → docs/_archive/i18n/)
|
|
99
|
+
- Retired CHANGELOG-CN.md (CHANGELOG.md is now SSOT for all languages)
|
|
100
|
+
- Consolidated admin credentials to INSTALL.md only (single source of truth)
|
|
101
|
+
- Renumbered INSTALL.md methods to continuous 1-7
|
|
102
|
+
- Synced version numbers across all external docs (README/SKILL/INSTALL/CLAUDE)
|
|
103
|
+
|
|
104
|
+
### V4.4.2 — Multilingual + Dashboard Enhancement
|
|
105
|
+
- Multilingual role prompts (EN/CN/JP) for all 7 roles
|
|
106
|
+
- Dashboard 6-tab visibility (Overview/Dispatch/Lifecycle/Metrics/Audit/Settings)
|
|
107
|
+
- P2 Kanban evaluation (work-in-progress limits + cycle time tracking)
|
|
108
|
+
- P3 ITSM evaluation (incident management + change advisory board simulation)
|
|
109
|
+
- 13 E2E tests xpass + anti-ghost counters
|
|
110
|
+
|
|
111
|
+
### Anti-Ghost Feature Guarantee
|
|
112
|
+
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.
|
|
113
|
+
|
|
114
|
+
### Test Pyramid Achieved
|
|
115
|
+
- **Contract tests**: 5.2% (target ≥5% ✅)
|
|
116
|
+
- **Integration tests**: 15.1% (target ≥15% ✅)
|
|
117
|
+
- **Total tests**: 8260+ (CI authoritative)
|
|
118
|
+
- **E2E coverage**: 107 e2e + 1244 integration + 13 V4.4.0 anti-ghost
|
|
119
|
+
|
|
120
|
+
### Historical Features (V4.0.0-V4.3.3)
|
|
121
|
+
- **V4.3.3**: P0-P3 enhancement E2E skeletons (xfail TDD for V4.4.0)
|
|
122
|
+
- **V4.3.2**: LLM vs Mock quality gap measurement (calibration gate + thin-slice probe)
|
|
123
|
+
- **V4.3.0 Phase 3**: Quality hardening + user simulation E2E (NPS 9/10)
|
|
124
|
+
- **V4.3.0 Phase 2**: OutputValidator full integration (LLM output safety detection)
|
|
125
|
+
- **V4.3.0 Phase 1**: DependencyHallucinationChecker (anti-slopsquatting supply chain attack)
|
|
126
|
+
- **V4.3.0 Phase 0**: DeploymentComplianceChecker (anti-violation deployment backstop)
|
|
127
|
+
- **V4.0.0 P1-1 Loop Engineering**: Discovery → Handoff → Verification → Persistence → Scheduling
|
|
128
|
+
- **V4.0.0 P1-2 UI/UX Patrol**: 4-dimension audit + PIL pixel diff visual regression
|
|
129
|
+
- **V4.0.0 P2-1 Adversarial Verification**: red team attack + blue team defense + judge arbitration
|
|
130
|
+
- **V4.0.0 P2-2 DAG Visualization**: Mermaid / JSON / DOT three formats
|
|
131
|
+
- **V4.0.0 P3-1 Autonomous**: plan → dev → verify → fix 4-stage autonomous iteration
|
|
132
|
+
- **V4.0.0 P3-2 Plugin Hot-Loading**: 3 loading paths + path traversal 3-layer protection + reload rollback
|
|
133
|
+
|
|
134
|
+
8260+ tests passing (CI authoritative).
|
|
75
135
|
|
|
76
|
-
|
|
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 测试)
|
|
136
|
+
---
|
|
103
137
|
|
|
104
|
-
|
|
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 回滚
|
|
138
|
+
## ⚡ Quick Start (7 Ways to Invoke DevSquad)
|
|
111
139
|
|
|
112
|
-
|
|
140
|
+
### Method 1: TRAE Skill (Recommended — you're already here)
|
|
113
141
|
|
|
114
|
-
|
|
142
|
+
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
143
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
### Method 1: CLI (Recommended for Beginners)
|
|
144
|
+
### Method 2: CLI (Recommended for Terminal Users)
|
|
119
145
|
|
|
120
146
|
```bash
|
|
121
147
|
# Interactive setup wizard (1-2 minutes)
|
|
@@ -125,18 +151,28 @@ python scripts/cli.py init
|
|
|
125
151
|
devsquad dispatch -t "your task description"
|
|
126
152
|
```
|
|
127
153
|
|
|
128
|
-
### Method
|
|
154
|
+
### Method 3: MCP Server (For IDE / Tool Integration)
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# Start MCP server with stdio transport (for IDE integration)
|
|
158
|
+
python3 scripts/mcp_server.py
|
|
159
|
+
|
|
160
|
+
# Or SSE transport (for remote access)
|
|
161
|
+
python3 scripts/mcp_server.py --port 8080
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Method 4: Web Dashboard (Recommended for Teams)
|
|
129
165
|
|
|
130
166
|
```bash
|
|
131
167
|
# Start Streamlit dashboard with authentication
|
|
132
168
|
streamlit run scripts/dashboard.py
|
|
133
169
|
|
|
134
170
|
# Open http://localhost:8501
|
|
135
|
-
# Login with default
|
|
136
|
-
#
|
|
171
|
+
# Login with default dev credentials (see INSTALL.md "Default credentials" section).
|
|
172
|
+
# Change all defaults in production.
|
|
137
173
|
```
|
|
138
174
|
|
|
139
|
-
### Method
|
|
175
|
+
### Method 5: REST API (Recommended for Integration)
|
|
140
176
|
|
|
141
177
|
```bash
|
|
142
178
|
# Install dependencies
|
|
@@ -149,7 +185,7 @@ uvicorn scripts.api_server:app --host 0.0.0.0 --port 8000 --reload
|
|
|
149
185
|
# Access ReDoc: http://localhost:8000/redoc
|
|
150
186
|
```
|
|
151
187
|
|
|
152
|
-
### Method
|
|
188
|
+
### Method 6: Python API (Recommended for Developers)
|
|
153
189
|
|
|
154
190
|
```python
|
|
155
191
|
from scripts.collaboration.dispatcher import MultiAgentDispatcher
|
|
@@ -163,7 +199,7 @@ print(result.report)
|
|
|
163
199
|
print(result.consensus)
|
|
164
200
|
```
|
|
165
201
|
|
|
166
|
-
### Method
|
|
202
|
+
### Method 7: One-Click Startup Script (V3.9.2+)
|
|
167
203
|
|
|
168
204
|
```bash
|
|
169
205
|
# One-click startup — 4 phases: env check → DB init → frontend build → service start
|
|
@@ -392,7 +428,7 @@ All modules are **optional switches** — DevSquad works perfectly without them.
|
|
|
392
428
|
|
|
393
429
|
## 🧩 Layered Sub-Skill Architecture (V3.6.0)
|
|
394
430
|
|
|
395
|
-
> DevSquad provides **
|
|
431
|
+
> DevSquad provides **8 atomic sub-skills** that can be used independently or together.
|
|
396
432
|
> Each sub-skill is a thin wrapper (~50 lines) importing existing core modules — no duplicated logic.
|
|
397
433
|
|
|
398
434
|
```
|
|
@@ -402,7 +438,9 @@ skills/
|
|
|
402
438
|
├── review/ → ReviewSkill — FiveAxisConsensusEngine (5-axis code review)
|
|
403
439
|
├── security/ → SecuritySkill — InputValidator + OperationClassifier + PermissionGuard
|
|
404
440
|
├── test/ → TestSkill — TestQualityGuard + test strategy generation
|
|
405
|
-
|
|
441
|
+
├── retrospective/ → RetroSkill — RetrospectiveEngine + pattern extraction
|
|
442
|
+
├── prototype/ → PrototypeSkill — Rapid prototype scaffolding (V4.5.0)
|
|
443
|
+
└── teach/ → TeachSkill — Knowledge transfer & onboarding (V4.5.0)
|
|
406
444
|
```
|
|
407
445
|
|
|
408
446
|
### Sub-Skill Quick Reference
|
|
@@ -673,6 +711,6 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
|
673
711
|
|
|
674
712
|
---
|
|
675
713
|
|
|
676
|
-
*Last updated: 2026-
|
|
714
|
+
*Last updated: 2026-08-03 | Version: 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
715
|
|
|
678
716
|
</details>
|