claude-mpm 4.20.3__py3-none-any.whl → 5.1.8__py3-none-any.whl
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.
Potentially problematic release.
This version of claude-mpm might be problematic. Click here for more details.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/BASE_PM.md +35 -6
- claude_mpm/agents/OUTPUT_STYLE.md +3 -48
- claude_mpm/agents/PM_INSTRUCTIONS.md +1241 -667
- claude_mpm/agents/PM_INSTRUCTIONS_TEACH.md +1322 -0
- claude_mpm/agents/WORKFLOW.md +75 -2
- claude_mpm/agents/__init__.py +6 -0
- claude_mpm/agents/agent_loader.py +1 -4
- claude_mpm/agents/base_agent.json +6 -3
- claude_mpm/agents/base_agent_loader.py +10 -35
- claude_mpm/agents/frontmatter_validator.py +1 -1
- claude_mpm/agents/templates/circuit-breakers.md +1254 -0
- claude_mpm/agents/templates/context-management-examples.md +544 -0
- claude_mpm/agents/templates/{pm_red_flags.md → pm-red-flags.md} +89 -19
- claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
- claude_mpm/agents/templates/research-gate-examples.md +669 -0
- claude_mpm/agents/templates/structured-questions-examples.md +615 -0
- claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
- claude_mpm/agents/templates/ticketing-examples.md +277 -0
- claude_mpm/cli/__init__.py +37 -2
- claude_mpm/cli/commands/__init__.py +2 -0
- claude_mpm/cli/commands/agent_source.py +774 -0
- claude_mpm/cli/commands/agent_state_manager.py +188 -30
- claude_mpm/cli/commands/agents.py +959 -36
- claude_mpm/cli/commands/agents_cleanup.py +210 -0
- claude_mpm/cli/commands/agents_discover.py +338 -0
- claude_mpm/cli/commands/aggregate.py +1 -1
- claude_mpm/cli/commands/analyze.py +3 -3
- claude_mpm/cli/commands/auto_configure.py +537 -239
- claude_mpm/cli/commands/cleanup.py +1 -1
- claude_mpm/cli/commands/config.py +7 -4
- claude_mpm/cli/commands/configure.py +924 -45
- claude_mpm/cli/commands/configure_agent_display.py +4 -4
- claude_mpm/cli/commands/configure_navigation.py +63 -46
- claude_mpm/cli/commands/debug.py +12 -12
- claude_mpm/cli/commands/doctor.py +10 -2
- claude_mpm/cli/commands/hook_errors.py +277 -0
- claude_mpm/cli/commands/local_deploy.py +1 -4
- claude_mpm/cli/commands/mcp_install_commands.py +1 -1
- claude_mpm/cli/commands/mpm_init/__init__.py +73 -0
- claude_mpm/cli/commands/mpm_init/core.py +573 -0
- claude_mpm/cli/commands/mpm_init/display.py +341 -0
- claude_mpm/cli/commands/mpm_init/git_activity.py +427 -0
- claude_mpm/cli/commands/mpm_init/modes.py +397 -0
- claude_mpm/cli/commands/mpm_init/prompts.py +442 -0
- claude_mpm/cli/commands/mpm_init_cli.py +396 -0
- claude_mpm/cli/commands/mpm_init_handler.py +67 -1
- claude_mpm/cli/commands/postmortem.py +401 -0
- claude_mpm/cli/commands/run.py +125 -167
- claude_mpm/cli/commands/skill_source.py +694 -0
- claude_mpm/cli/commands/skills.py +835 -44
- claude_mpm/cli/executor.py +78 -3
- claude_mpm/cli/interactive/agent_wizard.py +1032 -47
- claude_mpm/cli/parsers/agent_source_parser.py +171 -0
- claude_mpm/cli/parsers/agents_parser.py +256 -4
- claude_mpm/cli/parsers/auto_configure_parser.py +13 -0
- claude_mpm/cli/parsers/base_parser.py +53 -0
- claude_mpm/cli/parsers/config_parser.py +96 -43
- claude_mpm/cli/parsers/mpm_init_parser.py +42 -0
- claude_mpm/cli/parsers/skill_source_parser.py +169 -0
- claude_mpm/cli/parsers/skills_parser.py +145 -0
- claude_mpm/cli/parsers/source_parser.py +138 -0
- claude_mpm/cli/startup.py +564 -108
- claude_mpm/cli/startup_display.py +480 -0
- claude_mpm/cli/utils.py +1 -1
- claude_mpm/cli_module/commands.py +1 -1
- claude_mpm/commands/{mpm-auto-configure.md → mpm-agents-auto-configure.md} +9 -0
- claude_mpm/commands/mpm-agents-detect.md +9 -0
- claude_mpm/commands/{mpm-agents.md → mpm-agents-list.md} +9 -0
- claude_mpm/commands/mpm-agents-recommend.md +9 -0
- claude_mpm/commands/{mpm-config.md → mpm-config-view.md} +9 -0
- claude_mpm/commands/mpm-doctor.md +9 -0
- claude_mpm/commands/mpm-help.md +17 -2
- claude_mpm/commands/mpm-init.md +28 -3
- claude_mpm/commands/mpm-monitor.md +9 -0
- claude_mpm/commands/mpm-postmortem.md +123 -0
- claude_mpm/commands/mpm-session-resume.md +381 -0
- claude_mpm/commands/mpm-status.md +9 -0
- claude_mpm/commands/{mpm-organize.md → mpm-ticket-organize.md} +9 -0
- claude_mpm/commands/mpm-ticket-view.md +552 -0
- claude_mpm/commands/mpm-version.md +9 -0
- claude_mpm/commands/mpm.md +11 -0
- claude_mpm/config/agent_presets.py +488 -0
- claude_mpm/config/agent_sources.py +325 -0
- claude_mpm/config/skill_presets.py +392 -0
- claude_mpm/config/skill_sources.py +590 -0
- claude_mpm/constants.py +13 -0
- claude_mpm/core/api_validator.py +1 -1
- claude_mpm/core/claude_runner.py +19 -35
- claude_mpm/core/config.py +24 -0
- claude_mpm/core/constants.py +1 -1
- claude_mpm/core/framework/__init__.py +3 -16
- claude_mpm/core/framework/loaders/file_loader.py +54 -101
- claude_mpm/core/framework/loaders/instruction_loader.py +25 -5
- claude_mpm/core/framework/processors/metadata_processor.py +1 -1
- claude_mpm/core/hook_error_memory.py +381 -0
- claude_mpm/core/hook_manager.py +41 -2
- claude_mpm/core/interactive_session.py +131 -10
- claude_mpm/core/interfaces.py +56 -1
- claude_mpm/core/logger.py +3 -1
- claude_mpm/core/oneshot_session.py +110 -8
- claude_mpm/core/protocols/__init__.py +23 -0
- claude_mpm/core/protocols/runner_protocol.py +103 -0
- claude_mpm/core/protocols/session_protocol.py +131 -0
- claude_mpm/core/shared/singleton_manager.py +11 -4
- claude_mpm/core/system_context.py +38 -0
- claude_mpm/core/unified_config.py +22 -0
- claude_mpm/dashboard/static/css/activity.css +69 -69
- claude_mpm/dashboard/static/css/connection-status.css +10 -10
- claude_mpm/dashboard/static/css/dashboard.css +15 -15
- claude_mpm/dashboard/static/js/components/activity-tree.js +178 -178
- claude_mpm/dashboard/static/js/components/agent-hierarchy.js +101 -101
- claude_mpm/dashboard/static/js/components/agent-inference.js +31 -31
- claude_mpm/dashboard/static/js/components/build-tracker.js +59 -59
- claude_mpm/dashboard/static/js/components/code-simple.js +107 -107
- claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
- claude_mpm/dashboard/static/js/components/diff-viewer.js +113 -113
- claude_mpm/dashboard/static/js/components/event-viewer.js +12 -12
- claude_mpm/dashboard/static/js/components/file-change-tracker.js +57 -57
- claude_mpm/dashboard/static/js/components/file-change-viewer.js +74 -74
- claude_mpm/dashboard/static/js/components/file-tool-tracker.js +6 -6
- claude_mpm/dashboard/static/js/components/file-viewer.js +42 -42
- claude_mpm/dashboard/static/js/components/module-viewer.js +27 -27
- claude_mpm/dashboard/static/js/components/session-manager.js +14 -14
- claude_mpm/dashboard/static/js/components/socket-manager.js +1 -1
- claude_mpm/dashboard/static/js/components/ui-state-manager.js +14 -14
- claude_mpm/dashboard/static/js/components/unified-data-viewer.js +110 -110
- claude_mpm/dashboard/static/js/components/working-directory.js +8 -8
- claude_mpm/dashboard/static/js/connection-manager.js +76 -76
- claude_mpm/dashboard/static/js/dashboard.js +76 -58
- claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
- claude_mpm/dashboard/static/js/socket-client.js +138 -121
- claude_mpm/dashboard/templates/code_simple.html +23 -23
- claude_mpm/dashboard/templates/index.html +18 -18
- claude_mpm/experimental/cli_enhancements.py +1 -5
- claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/event_handlers.py +3 -1
- claude_mpm/hooks/claude_hooks/hook_handler.py +24 -7
- claude_mpm/hooks/claude_hooks/installer.py +45 -0
- claude_mpm/hooks/claude_hooks/memory_integration.py +12 -1
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-313.pyc +0 -0
- claude_mpm/hooks/failure_learning/__init__.py +2 -8
- claude_mpm/hooks/failure_learning/failure_detection_hook.py +1 -6
- claude_mpm/hooks/failure_learning/fix_detection_hook.py +1 -6
- claude_mpm/hooks/failure_learning/learning_extraction_hook.py +1 -6
- claude_mpm/hooks/kuzu_response_hook.py +1 -5
- claude_mpm/hooks/templates/pre_tool_use_simple.py +78 -0
- claude_mpm/hooks/templates/pre_tool_use_template.py +323 -0
- claude_mpm/models/git_repository.py +198 -0
- claude_mpm/scripts/claude-hook-handler.sh +3 -3
- claude_mpm/scripts/start_activity_logging.py +3 -1
- claude_mpm/services/agents/agent_builder.py +45 -9
- claude_mpm/services/agents/agent_preset_service.py +238 -0
- claude_mpm/services/agents/agent_selection_service.py +484 -0
- claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
- claude_mpm/services/agents/cache_git_manager.py +621 -0
- claude_mpm/services/agents/deployment/agent_deployment.py +126 -2
- claude_mpm/services/agents/deployment/agent_discovery_service.py +105 -73
- claude_mpm/services/agents/deployment/agent_format_converter.py +1 -1
- claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +1 -5
- claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
- claude_mpm/services/agents/deployment/agent_restore_handler.py +1 -4
- claude_mpm/services/agents/deployment/agent_template_builder.py +236 -15
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +101 -15
- claude_mpm/services/agents/deployment/async_agent_deployment.py +2 -1
- claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +115 -15
- claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
- claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +1 -4
- claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +363 -0
- claude_mpm/services/agents/deployment/single_agent_deployer.py +2 -2
- claude_mpm/services/agents/deployment/system_instructions_deployer.py +168 -46
- claude_mpm/services/agents/deployment/validation/deployment_validator.py +2 -2
- claude_mpm/services/agents/git_source_manager.py +629 -0
- claude_mpm/services/agents/loading/framework_agent_loader.py +9 -12
- claude_mpm/services/agents/local_template_manager.py +50 -10
- claude_mpm/services/agents/single_tier_deployment_service.py +696 -0
- claude_mpm/services/agents/sources/__init__.py +13 -0
- claude_mpm/services/agents/sources/agent_sync_state.py +516 -0
- claude_mpm/services/agents/sources/git_source_sync_service.py +1087 -0
- claude_mpm/services/agents/startup_sync.py +239 -0
- claude_mpm/services/agents/toolchain_detector.py +474 -0
- claude_mpm/services/analysis/__init__.py +25 -0
- claude_mpm/services/analysis/postmortem_reporter.py +474 -0
- claude_mpm/services/analysis/postmortem_service.py +765 -0
- claude_mpm/services/cli/session_pause_manager.py +504 -0
- claude_mpm/services/cli/session_resume_helper.py +36 -16
- claude_mpm/services/cli/unified_dashboard_manager.py +1 -1
- claude_mpm/services/command_deployment_service.py +200 -6
- claude_mpm/services/core/base.py +31 -11
- claude_mpm/services/core/interfaces/__init__.py +1 -3
- claude_mpm/services/core/interfaces/health.py +1 -4
- claude_mpm/services/core/interfaces.py +56 -1
- claude_mpm/services/core/models/__init__.py +2 -11
- claude_mpm/services/core/models/agent_config.py +3 -0
- claude_mpm/services/core/models/process.py +4 -0
- claude_mpm/services/diagnostics/checks/__init__.py +4 -0
- claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
- claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
- claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +7 -15
- claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
- claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
- claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
- claude_mpm/services/diagnostics/doctor_reporter.py +40 -10
- claude_mpm/services/diagnostics/models.py +21 -0
- claude_mpm/services/event_bus/direct_relay.py +3 -3
- claude_mpm/services/event_bus/event_bus.py +36 -3
- claude_mpm/services/event_bus/relay.py +23 -7
- claude_mpm/services/events/consumers/logging.py +1 -2
- claude_mpm/services/git/__init__.py +21 -0
- claude_mpm/services/git/git_operations_service.py +494 -0
- claude_mpm/services/github/__init__.py +21 -0
- claude_mpm/services/github/github_cli_service.py +397 -0
- claude_mpm/services/infrastructure/monitoring/__init__.py +1 -5
- claude_mpm/services/infrastructure/monitoring/aggregator.py +1 -6
- claude_mpm/services/infrastructure/monitoring/resources.py +1 -1
- claude_mpm/services/instructions/__init__.py +9 -0
- claude_mpm/services/instructions/instruction_cache_service.py +374 -0
- claude_mpm/services/local_ops/__init__.py +5 -13
- claude_mpm/services/local_ops/health_checks/__init__.py +1 -3
- claude_mpm/services/local_ops/health_manager.py +1 -4
- claude_mpm/services/local_ops/process_manager.py +1 -1
- claude_mpm/services/local_ops/resource_monitor.py +2 -2
- claude_mpm/services/mcp_config_manager.py +75 -145
- claude_mpm/services/mcp_gateway/auto_configure.py +31 -25
- claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
- claude_mpm/services/mcp_gateway/core/process_pool.py +41 -26
- claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
- claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
- claude_mpm/services/mcp_gateway/tools/document_summarizer.py +1 -1
- claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +26 -21
- claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
- claude_mpm/services/mcp_service_verifier.py +6 -3
- claude_mpm/services/memory/failure_tracker.py +19 -4
- claude_mpm/services/memory/optimizer.py +1 -1
- claude_mpm/services/model/model_router.py +8 -9
- claude_mpm/services/monitor/daemon.py +29 -9
- claude_mpm/services/monitor/daemon_manager.py +96 -19
- claude_mpm/services/monitor/server.py +2 -2
- claude_mpm/services/native_agent_converter.py +356 -0
- claude_mpm/services/port_manager.py +1 -1
- claude_mpm/services/pr/__init__.py +14 -0
- claude_mpm/services/pr/pr_template_service.py +329 -0
- claude_mpm/services/project/documentation_manager.py +2 -1
- claude_mpm/services/project/project_organizer.py +4 -0
- claude_mpm/services/project/toolchain_analyzer.py +3 -1
- claude_mpm/services/runner_configuration_service.py +17 -3
- claude_mpm/services/self_upgrade_service.py +165 -7
- claude_mpm/services/session_management_service.py +16 -4
- claude_mpm/services/skills/__init__.py +18 -0
- claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
- claude_mpm/services/skills/skill_discovery_service.py +568 -0
- claude_mpm/services/skills_config.py +547 -0
- claude_mpm/services/skills_deployer.py +955 -0
- claude_mpm/services/socketio/handlers/connection.py +1 -1
- claude_mpm/services/socketio/handlers/git.py +2 -2
- claude_mpm/services/socketio/server/core.py +1 -4
- claude_mpm/services/socketio/server/main.py +1 -3
- claude_mpm/services/system_instructions_service.py +1 -3
- claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
- claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
- claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +1 -1
- claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
- claude_mpm/services/unified/unified_deployment.py +1 -5
- claude_mpm/services/version_control/conflict_resolution.py +6 -4
- claude_mpm/services/visualization/__init__.py +1 -5
- claude_mpm/services/visualization/mermaid_generator.py +2 -3
- claude_mpm/skills/__init__.py +3 -3
- claude_mpm/skills/agent_skills_injector.py +42 -49
- claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/connections.py +17 -10
- claude_mpm/skills/bundled/main/mcp-builder/scripts/evaluation.py +92 -39
- claude_mpm/skills/bundled/main/skill-creator/scripts/init_skill.py +13 -12
- claude_mpm/skills/bundled/main/skill-creator/scripts/package_skill.py +5 -3
- claude_mpm/skills/bundled/main/skill-creator/scripts/quick_validate.py +19 -12
- claude_mpm/skills/bundled/performance-profiling.md +6 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/console_logging.py +6 -6
- claude_mpm/skills/bundled/testing/webapp-testing/examples/element_discovery.py +13 -9
- claude_mpm/skills/bundled/testing/webapp-testing/examples/static_html_automation.py +8 -8
- claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +37 -15
- claude_mpm/skills/skills_registry.py +44 -48
- claude_mpm/skills/skills_service.py +117 -108
- claude_mpm/templates/questions/__init__.py +38 -0
- claude_mpm/templates/questions/base.py +193 -0
- claude_mpm/templates/questions/pr_strategy.py +311 -0
- claude_mpm/templates/questions/project_init.py +385 -0
- claude_mpm/templates/questions/ticket_mgmt.py +394 -0
- claude_mpm/tools/__main__.py +8 -8
- claude_mpm/tools/code_tree_analyzer/__init__.py +45 -0
- claude_mpm/tools/code_tree_analyzer/analysis.py +299 -0
- claude_mpm/tools/code_tree_analyzer/cache.py +131 -0
- claude_mpm/tools/code_tree_analyzer/core.py +380 -0
- claude_mpm/tools/code_tree_analyzer/discovery.py +403 -0
- claude_mpm/tools/code_tree_analyzer/events.py +168 -0
- claude_mpm/tools/code_tree_analyzer/gitignore.py +308 -0
- claude_mpm/tools/code_tree_analyzer/models.py +39 -0
- claude_mpm/tools/code_tree_analyzer/multilang_analyzer.py +224 -0
- claude_mpm/tools/code_tree_analyzer/python_analyzer.py +284 -0
- claude_mpm/utils/agent_dependency_loader.py +80 -13
- claude_mpm/utils/agent_filters.py +288 -0
- claude_mpm/utils/dependency_cache.py +3 -1
- claude_mpm/utils/gitignore.py +244 -0
- claude_mpm/utils/log_cleanup.py +3 -3
- claude_mpm/utils/migration.py +372 -0
- claude_mpm/utils/progress.py +387 -0
- claude_mpm/utils/robust_installer.py +3 -5
- claude_mpm/utils/structured_questions.py +619 -0
- {claude_mpm-4.20.3.dist-info → claude_mpm-5.1.8.dist-info}/METADATA +496 -65
- {claude_mpm-4.20.3.dist-info → claude_mpm-5.1.8.dist-info}/RECORD +328 -416
- claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
- claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
- claude_mpm/agents/templates/agent-manager.json +0 -273
- claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -248
- claude_mpm/agents/templates/api_qa.json +0 -180
- claude_mpm/agents/templates/circuit_breakers.md +0 -638
- claude_mpm/agents/templates/clerk-ops.json +0 -235
- claude_mpm/agents/templates/code_analyzer.json +0 -101
- claude_mpm/agents/templates/content-agent.json +0 -358
- claude_mpm/agents/templates/dart_engineer.json +0 -307
- claude_mpm/agents/templates/data_engineer.json +0 -225
- claude_mpm/agents/templates/documentation.json +0 -211
- claude_mpm/agents/templates/engineer.json +0 -210
- claude_mpm/agents/templates/gcp_ops_agent.json +0 -253
- claude_mpm/agents/templates/golang_engineer.json +0 -270
- claude_mpm/agents/templates/imagemagick.json +0 -264
- claude_mpm/agents/templates/java_engineer.json +0 -346
- claude_mpm/agents/templates/local_ops_agent.json +0 -1840
- claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
- claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
- claude_mpm/agents/templates/memory_manager.json +0 -158
- claude_mpm/agents/templates/nextjs_engineer.json +0 -285
- claude_mpm/agents/templates/ops.json +0 -185
- claude_mpm/agents/templates/php-engineer.json +0 -281
- claude_mpm/agents/templates/product_owner.json +0 -338
- claude_mpm/agents/templates/project_organizer.json +0 -140
- claude_mpm/agents/templates/prompt-engineer.json +0 -737
- claude_mpm/agents/templates/python_engineer.json +0 -387
- claude_mpm/agents/templates/qa.json +0 -242
- claude_mpm/agents/templates/react_engineer.json +0 -238
- claude_mpm/agents/templates/refactoring_engineer.json +0 -276
- claude_mpm/agents/templates/research.json +0 -188
- claude_mpm/agents/templates/ruby-engineer.json +0 -280
- claude_mpm/agents/templates/rust_engineer.json +0 -275
- claude_mpm/agents/templates/security.json +0 -202
- claude_mpm/agents/templates/svelte-engineer.json +0 -225
- claude_mpm/agents/templates/ticketing.json +0 -177
- claude_mpm/agents/templates/typescript_engineer.json +0 -285
- claude_mpm/agents/templates/vercel_ops_agent.json +0 -412
- claude_mpm/agents/templates/version_control.json +0 -157
- claude_mpm/agents/templates/web_qa.json +0 -399
- claude_mpm/agents/templates/web_ui.json +0 -189
- claude_mpm/cli/commands/mpm_init.py +0 -2093
- claude_mpm/commands/mpm-tickets.md +0 -102
- claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
- claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
- claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
- claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
- claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
- claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
- claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
- claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
- claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
- claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
- claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
- claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
- claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
- claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
- claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
- claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
- claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
- claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
- claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
- claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
- claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -1
- claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
- claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -777
- claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
- claude_mpm/dashboard/static/built/components/build-tracker.js +0 -333
- claude_mpm/dashboard/static/built/components/code-simple.js +0 -857
- claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -353
- claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -235
- claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -409
- claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -435
- claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
- claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/connection-debug.js +0 -654
- claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -891
- claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
- claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -443
- claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -690
- claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
- claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
- claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/nav-bar.js +0 -145
- claude_mpm/dashboard/static/built/components/page-structure.js +0 -429
- claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
- claude_mpm/dashboard/static/built/connection-manager.js +0 -536
- claude_mpm/dashboard/static/built/dashboard.js +0 -2
- claude_mpm/dashboard/static/built/extension-error-handler.js +0 -164
- claude_mpm/dashboard/static/built/react/events.js +0 -30
- claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -396
- claude_mpm/dashboard/static/built/shared/event-bus.js +0 -330
- claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -540
- claude_mpm/dashboard/static/built/shared/logger.js +0 -385
- claude_mpm/dashboard/static/built/shared/page-structure.js +0 -249
- claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -253
- claude_mpm/dashboard/static/built/socket-client.js +0 -2
- claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
- claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
- claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
- claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
- claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
- claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
- claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
- claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
- claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
- claude_mpm/dashboard/static/dist/dashboard.js +0 -2
- claude_mpm/dashboard/static/dist/react/events.js +0 -30
- claude_mpm/dashboard/static/dist/socket-client.js +0 -2
- claude_mpm/dashboard/static/events.html +0 -607
- claude_mpm/dashboard/static/index.html +0 -635
- claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -396
- claude_mpm/dashboard/static/js/shared/event-bus.js +0 -330
- claude_mpm/dashboard/static/js/shared/logger.js +0 -385
- claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -253
- claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
- claude_mpm/dashboard/static/legacy/activity.html +0 -736
- claude_mpm/dashboard/static/legacy/agents.html +0 -786
- claude_mpm/dashboard/static/legacy/files.html +0 -747
- claude_mpm/dashboard/static/legacy/tools.html +0 -831
- claude_mpm/dashboard/static/monitors.html +0 -431
- claude_mpm/dashboard/static/production/events.html +0 -659
- claude_mpm/dashboard/static/production/main.html +0 -698
- claude_mpm/dashboard/static/production/monitors.html +0 -483
- claude_mpm/dashboard/static/test-archive/dashboard.html +0 -635
- claude_mpm/dashboard/static/test-archive/debug-events.html +0 -147
- claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -256
- claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -180
- claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
- claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -75
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -184
- claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -107
- claude_mpm/skills/bundled/collaboration/requesting-code-review/code-reviewer.md +0 -146
- claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -118
- claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -177
- claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +0 -119
- claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +0 -148
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +0 -483
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +0 -452
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +0 -449
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +0 -411
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +0 -14
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +0 -58
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +0 -68
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +0 -69
- claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +0 -175
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/common-failures.md +0 -213
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -314
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -227
- claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -74
- claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -32
- claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +0 -47
- claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +0 -65
- claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +0 -30
- claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +0 -16
- claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -328
- claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +0 -602
- claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +0 -915
- claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +0 -916
- claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +0 -752
- claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -209
- claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -123
- claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +0 -145
- claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +0 -543
- claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +0 -741
- claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +0 -470
- claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +0 -458
- claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +0 -639
- claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -304
- claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -96
- claude_mpm/tools/code_tree_analyzer.py +0 -1825
- /claude_mpm/agents/templates/{git_file_tracking.md → git-file-tracking.md} +0 -0
- /claude_mpm/agents/templates/{pm_examples.md → pm-examples.md} +0 -0
- /claude_mpm/agents/templates/{response_format.md → response-format.md} +0 -0
- /claude_mpm/agents/templates/{validation_templates.md → validation-templates.md} +0 -0
- {claude_mpm-4.20.3.dist-info → claude_mpm-5.1.8.dist-info}/WHEEL +0 -0
- {claude_mpm-4.20.3.dist-info → claude_mpm-5.1.8.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.20.3.dist-info → claude_mpm-5.1.8.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.20.3.dist-info → claude_mpm-5.1.8.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,544 @@
|
|
|
1
|
+
# Context Management Examples
|
|
2
|
+
|
|
3
|
+
**Purpose**: Comprehensive examples of PM context management and scope validation workflows
|
|
4
|
+
**Usage**: Reference for PM when managing token budgets and scope boundaries
|
|
5
|
+
**Related**: validation-templates.md, pm-examples.md
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 70% Context Alert Examples
|
|
10
|
+
|
|
11
|
+
### Threshold Detection and User Prompt
|
|
12
|
+
|
|
13
|
+
**Trigger**: Token usage reaches 70% of context window (140K/200K tokens)
|
|
14
|
+
|
|
15
|
+
**PM Detection**:
|
|
16
|
+
```json
|
|
17
|
+
{
|
|
18
|
+
"context_monitoring": {
|
|
19
|
+
"current_tokens": 140000,
|
|
20
|
+
"max_tokens": 200000,
|
|
21
|
+
"usage_percentage": 70,
|
|
22
|
+
"alert_level": "warning"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**PM Action - Mandatory Pause Prompt**:
|
|
28
|
+
```
|
|
29
|
+
⚠️ CONTEXT ALERT: Token usage at 70% (140K/200K tokens)
|
|
30
|
+
|
|
31
|
+
Current work summary:
|
|
32
|
+
- Active tickets: PROJ-123, PROJ-124, PROJ-125
|
|
33
|
+
- Agents involved: research, engineer, ticketing
|
|
34
|
+
- Key decisions: [brief summary of major decisions]
|
|
35
|
+
|
|
36
|
+
Recommendations:
|
|
37
|
+
Option A: Continue with reduced verbosity (PM will compress responses)
|
|
38
|
+
Option B: Create session resume file and start fresh context
|
|
39
|
+
Option C: Complete current ticket only, then pause
|
|
40
|
+
|
|
41
|
+
Please choose how to proceed:
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Example User Workflow**:
|
|
45
|
+
```
|
|
46
|
+
User chooses Option B → PM creates session resume
|
|
47
|
+
|
|
48
|
+
PM creates: .claude-mpm/sessions/session-2025-12-01-1430.md
|
|
49
|
+
Content:
|
|
50
|
+
---
|
|
51
|
+
Session Resume: 2025-12-01 14:30
|
|
52
|
+
Context: 70% threshold reached
|
|
53
|
+
|
|
54
|
+
Active Work:
|
|
55
|
+
- PROJ-123: OAuth2 implementation (80% complete)
|
|
56
|
+
- Status: Frontend done, backend in progress
|
|
57
|
+
- Next: Complete token refresh logic
|
|
58
|
+
- Blockers: None
|
|
59
|
+
|
|
60
|
+
- PROJ-124: Database migration (pending)
|
|
61
|
+
- Status: Not started
|
|
62
|
+
- Dependencies: PROJ-123 completion
|
|
63
|
+
|
|
64
|
+
- PROJ-125: UI improvements (on hold)
|
|
65
|
+
- Status: Research phase
|
|
66
|
+
- Dependencies: Design mockups needed
|
|
67
|
+
|
|
68
|
+
Decisions Made:
|
|
69
|
+
1. OAuth2 with JWT tokens (vs session-based)
|
|
70
|
+
2. Redis for token storage (vs database)
|
|
71
|
+
3. 15-minute token expiry (vs 1-hour)
|
|
72
|
+
|
|
73
|
+
Next Session Actions:
|
|
74
|
+
1. Complete PROJ-123 token refresh logic
|
|
75
|
+
2. Test OAuth2 flow end-to-end
|
|
76
|
+
3. Create PR for PROJ-123
|
|
77
|
+
4. Start PROJ-124 database migration
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
PM: "Session resume file created. Starting fresh context..."
|
|
81
|
+
[New conversation begins, user shares resume file]
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 85% Context Escalation Examples
|
|
87
|
+
|
|
88
|
+
### Critical Warning and Automatic Pause
|
|
89
|
+
|
|
90
|
+
**Trigger**: Token usage reaches 85% of context window (170K/200K tokens)
|
|
91
|
+
|
|
92
|
+
**PM Detection**:
|
|
93
|
+
```json
|
|
94
|
+
{
|
|
95
|
+
"context_monitoring": {
|
|
96
|
+
"current_tokens": 170000,
|
|
97
|
+
"max_tokens": 200000,
|
|
98
|
+
"usage_percentage": 85,
|
|
99
|
+
"alert_level": "critical"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**PM Action - Automatic Session Resume Creation**:
|
|
105
|
+
```
|
|
106
|
+
🚨 CRITICAL CONTEXT ALERT: Token usage at 85% (170K/200K tokens)
|
|
107
|
+
|
|
108
|
+
Automatically creating session resume file for continuity...
|
|
109
|
+
|
|
110
|
+
Session resume file: .claude-mpm/sessions/session-2025-12-01-1500.md
|
|
111
|
+
Git commit created: "session: pause at 85% context threshold"
|
|
112
|
+
|
|
113
|
+
Current state preserved:
|
|
114
|
+
✅ Active tickets and their status
|
|
115
|
+
✅ Agent delegation history
|
|
116
|
+
✅ Key decisions and rationale
|
|
117
|
+
✅ Next actions and priorities
|
|
118
|
+
✅ Blockers and dependencies
|
|
119
|
+
|
|
120
|
+
Recommendation: START NEW CONVERSATION and reference resume file.
|
|
121
|
+
|
|
122
|
+
To resume:
|
|
123
|
+
1. Start new Claude conversation
|
|
124
|
+
2. Share: "Resume from session-2025-12-01-1500.md"
|
|
125
|
+
3. PM will load context and continue work
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Automatic Git Workflow**:
|
|
129
|
+
```bash
|
|
130
|
+
# PM automatically executes these commands
|
|
131
|
+
git add .claude-mpm/sessions/session-2025-12-01-1500.md
|
|
132
|
+
git commit -m "session: pause at 85% context threshold (PROJ-123, PROJ-124, PROJ-125)"
|
|
133
|
+
git push origin main
|
|
134
|
+
|
|
135
|
+
# Resume file preserved in git history
|
|
136
|
+
# Other team members can reference if needed
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 95% Emergency Stop Examples
|
|
142
|
+
|
|
143
|
+
### Context Limit Enforcement
|
|
144
|
+
|
|
145
|
+
**Trigger**: Token usage reaches 95% of context window (190K/200K tokens)
|
|
146
|
+
|
|
147
|
+
**PM Detection**:
|
|
148
|
+
```json
|
|
149
|
+
{
|
|
150
|
+
"context_monitoring": {
|
|
151
|
+
"current_tokens": 190000,
|
|
152
|
+
"max_tokens": 200000,
|
|
153
|
+
"usage_percentage": 95,
|
|
154
|
+
"alert_level": "emergency"
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**PM Action - Mandatory Stop**:
|
|
160
|
+
```
|
|
161
|
+
🛑 EMERGENCY CONTEXT LIMIT: Token usage at 95% (190K/200K tokens)
|
|
162
|
+
|
|
163
|
+
STOPPING ALL WORK IMMEDIATELY
|
|
164
|
+
|
|
165
|
+
Session resume file created: .claude-mpm/sessions/emergency-2025-12-01-1530.md
|
|
166
|
+
Git commit created: "session: emergency stop at 95% context threshold"
|
|
167
|
+
|
|
168
|
+
⚠️ YOU MUST START A NEW CONVERSATION NOW ⚠️
|
|
169
|
+
|
|
170
|
+
This conversation cannot continue safely. Next response may be truncated or fail.
|
|
171
|
+
|
|
172
|
+
To resume work:
|
|
173
|
+
1. Start new Claude conversation immediately
|
|
174
|
+
2. Share: "Emergency resume from emergency-2025-12-01-1530.md"
|
|
175
|
+
3. PM will load context and resume from safe state
|
|
176
|
+
|
|
177
|
+
DO NOT continue in this conversation. Context overflow risk.
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**Emergency Resume File Content**:
|
|
181
|
+
```markdown
|
|
182
|
+
---
|
|
183
|
+
EMERGENCY SESSION RESUME: 2025-12-01 15:30
|
|
184
|
+
Context: 95% threshold - EMERGENCY STOP
|
|
185
|
+
|
|
186
|
+
Critical State:
|
|
187
|
+
- Work stopped mid-task to prevent context overflow
|
|
188
|
+
- Last action: Engineer implementing PROJ-123 token refresh
|
|
189
|
+
- Conversation unsafe, must switch to new context
|
|
190
|
+
|
|
191
|
+
Active Work (CRITICAL):
|
|
192
|
+
- PROJ-123: OAuth2 implementation
|
|
193
|
+
- Status: 85% complete, token refresh in progress
|
|
194
|
+
- Last code change: src/auth/refresh.js (partially complete)
|
|
195
|
+
- IMPORTANT: Function refreshToken() needs completion
|
|
196
|
+
- Test status: 12/15 passing, 3 pending completion
|
|
197
|
+
|
|
198
|
+
Immediate Next Steps:
|
|
199
|
+
1. Complete refreshToken() function in src/auth/refresh.js
|
|
200
|
+
2. Fix 3 failing tests in tests/auth/refresh.test.js
|
|
201
|
+
3. Run full test suite: npm test
|
|
202
|
+
4. Create PR if all tests pass
|
|
203
|
+
|
|
204
|
+
Blockers: None
|
|
205
|
+
Dependencies: None
|
|
206
|
+
Estimated completion: 30 minutes
|
|
207
|
+
|
|
208
|
+
⚠️ RESUME PRIORITY: HIGH - work was mid-function
|
|
209
|
+
---
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Scope Validation Template Examples
|
|
215
|
+
|
|
216
|
+
### Complete OAuth2 Scenario
|
|
217
|
+
|
|
218
|
+
**Scenario**: Research Agent discovers 10 optimization opportunities during OAuth2 implementation
|
|
219
|
+
|
|
220
|
+
**Step 1: User Request**
|
|
221
|
+
```
|
|
222
|
+
User: "Implement TICKET-123: Add OAuth2 authentication"
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Step 2: PM Delegates to Research**
|
|
226
|
+
```
|
|
227
|
+
PM → Research: "Research OAuth2 implementation requirements for TICKET-123"
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Step 3: Research Returns Findings + Discoveries**
|
|
231
|
+
```
|
|
232
|
+
Research → PM: "OAuth2 research complete.
|
|
233
|
+
|
|
234
|
+
Core Requirements (In-Scope):
|
|
235
|
+
1. Google OAuth2 integration
|
|
236
|
+
2. Token refresh mechanism
|
|
237
|
+
3. User profile sync
|
|
238
|
+
|
|
239
|
+
Discoveries (10 items):
|
|
240
|
+
1. Token storage strategy needed (Redis vs DB)
|
|
241
|
+
2. Session management approach (cookies vs localStorage)
|
|
242
|
+
3. Error handling for expired tokens
|
|
243
|
+
4. Logout flow implementation
|
|
244
|
+
5. Token revocation endpoint
|
|
245
|
+
6. Profile update sync frequency
|
|
246
|
+
7. Database schema for user tokens
|
|
247
|
+
8. Rate limiting for auth endpoints
|
|
248
|
+
9. Monitoring for auth failures
|
|
249
|
+
10. Documentation for auth flow
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**Step 4: PM Classifies Discoveries**
|
|
253
|
+
```
|
|
254
|
+
PM Analysis:
|
|
255
|
+
|
|
256
|
+
In-Scope (2 items - directly related to TICKET-123):
|
|
257
|
+
- Item 1: Token storage strategy (required for OAuth2)
|
|
258
|
+
- Item 3: Error handling for expired tokens (part of token refresh)
|
|
259
|
+
|
|
260
|
+
Scope-Adjacent (3 items - related but separate concerns):
|
|
261
|
+
- Item 2: Session management (auth-adjacent)
|
|
262
|
+
- Item 4: Logout flow (auth-adjacent)
|
|
263
|
+
- Item 7: Database schema for tokens (infrastructure)
|
|
264
|
+
|
|
265
|
+
Out-of-Scope (5 items - different domains):
|
|
266
|
+
- Item 6: Profile sync frequency (separate feature)
|
|
267
|
+
- Item 8: Rate limiting (infrastructure/security)
|
|
268
|
+
- Item 9: Monitoring (ops/observability)
|
|
269
|
+
- Item 10: Documentation (separate task)
|
|
270
|
+
- Item 5: Token revocation (security enhancement)
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
**Step 5: PM Uses ScopeValidationTemplate**
|
|
274
|
+
```python
|
|
275
|
+
ScopeValidationTemplate(
|
|
276
|
+
originating_ticket="TICKET-123",
|
|
277
|
+
ticket_title="Add OAuth2 authentication",
|
|
278
|
+
in_scope_items=[
|
|
279
|
+
"Token storage strategy (Redis vs DB)",
|
|
280
|
+
"Error handling for expired tokens"
|
|
281
|
+
],
|
|
282
|
+
scope_adjacent_items=[
|
|
283
|
+
"Session management approach",
|
|
284
|
+
"Logout flow implementation",
|
|
285
|
+
"Database schema for user tokens"
|
|
286
|
+
],
|
|
287
|
+
out_of_scope_items=[
|
|
288
|
+
"Profile update sync frequency",
|
|
289
|
+
"Rate limiting for auth endpoints",
|
|
290
|
+
"Monitoring for auth failures",
|
|
291
|
+
"Documentation for auth flow",
|
|
292
|
+
"Token revocation endpoint"
|
|
293
|
+
]
|
|
294
|
+
)
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
**Step 6: PM Presents Options to User**
|
|
298
|
+
```
|
|
299
|
+
🎯 SCOPE VALIDATION: Research discovered 10 items during TICKET-123 work
|
|
300
|
+
|
|
301
|
+
Original ticket: TICKET-123 - Add OAuth2 authentication
|
|
302
|
+
|
|
303
|
+
Classification:
|
|
304
|
+
✅ In-Scope (2): Core OAuth2 requirements
|
|
305
|
+
⚠️ Scope-Adjacent (3): Related auth concerns
|
|
306
|
+
❌ Out-of-Scope (5): Different domains (ops, docs, security)
|
|
307
|
+
|
|
308
|
+
How should we handle these discoveries?
|
|
309
|
+
|
|
310
|
+
Option A: Include all 10 items in TICKET-123 scope
|
|
311
|
+
- Expands current ticket significantly
|
|
312
|
+
- Delays completion (estimate: +3 days)
|
|
313
|
+
- Single large PR with multiple concerns
|
|
314
|
+
|
|
315
|
+
Option B: Create 2 subtasks under TICKET-123, defer 8 to backlog
|
|
316
|
+
- Subtasks: "Token storage strategy", "Error handling"
|
|
317
|
+
- Deferred: 8 items added to backlog for future work
|
|
318
|
+
- Focused PR on core OAuth2 functionality
|
|
319
|
+
|
|
320
|
+
Option C: Create 2 subtasks + separate epic for 8 items
|
|
321
|
+
- Subtasks: Same as Option B
|
|
322
|
+
- New epic: "Auth Infrastructure" (3 items)
|
|
323
|
+
- New epic: "System Observability" (5 items)
|
|
324
|
+
- Clear organization, proper prioritization
|
|
325
|
+
|
|
326
|
+
Please select an option:
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
**Step 7: User Chooses Option C**
|
|
330
|
+
```
|
|
331
|
+
User: "Option C - create subtasks and separate epics"
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
**Step 8: PM Delegates to Ticketing**
|
|
335
|
+
```
|
|
336
|
+
PM → Ticketing: "Based on TICKET-123 scope validation:
|
|
337
|
+
|
|
338
|
+
1. Create 2 subtasks under TICKET-123:
|
|
339
|
+
- TICKET-123-1: Implement token storage strategy (Redis vs DB)
|
|
340
|
+
- TICKET-123-2: Add error handling for expired tokens
|
|
341
|
+
|
|
342
|
+
2. Create new epic: AUTH-INFRA - Auth Infrastructure
|
|
343
|
+
- AUTH-INFRA-1: Session management approach
|
|
344
|
+
- AUTH-INFRA-2: Logout flow implementation
|
|
345
|
+
- AUTH-INFRA-3: Database schema for user tokens
|
|
346
|
+
|
|
347
|
+
3. Create new epic: OBS-001 - System Observability
|
|
348
|
+
- OBS-001-1: Profile update sync frequency
|
|
349
|
+
- OBS-001-2: Rate limiting for auth endpoints
|
|
350
|
+
- OBS-001-3: Monitoring for auth failures
|
|
351
|
+
- OBS-001-4: Documentation for auth flow
|
|
352
|
+
- OBS-001-5: Token revocation endpoint"
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
**Step 9: Ticketing Executes**
|
|
356
|
+
```
|
|
357
|
+
Ticketing → PM: "Tickets created:
|
|
358
|
+
- TICKET-123-1: Token storage strategy (subtask)
|
|
359
|
+
- TICKET-123-2: Error handling (subtask)
|
|
360
|
+
- Epic AUTH-INFRA created with 3 tickets
|
|
361
|
+
- Epic OBS-001 created with 5 tickets
|
|
362
|
+
|
|
363
|
+
Original TICKET-123 now has clear scope boundaries."
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
**Step 10: PM Delegates Implementation**
|
|
367
|
+
```
|
|
368
|
+
PM → Engineer: "Implement TICKET-123 (OAuth2 authentication)
|
|
369
|
+
|
|
370
|
+
🎫 TICKET CONTEXT:
|
|
371
|
+
- Ticket ID: TICKET-123
|
|
372
|
+
- Scope: Core OAuth2 flow (Google integration, token refresh, profile sync)
|
|
373
|
+
- Subtasks: TICKET-123-1 (storage), TICKET-123-2 (error handling)
|
|
374
|
+
|
|
375
|
+
✅ IN-SCOPE:
|
|
376
|
+
- Implement Google OAuth2 integration
|
|
377
|
+
- Implement token refresh mechanism
|
|
378
|
+
- Sync user profile from Google
|
|
379
|
+
- Complete TICKET-123-1 (token storage decision)
|
|
380
|
+
- Complete TICKET-123-2 (error handling)
|
|
381
|
+
|
|
382
|
+
❌ OUT-OF-SCOPE (tracked separately):
|
|
383
|
+
- Session management (AUTH-INFRA-1)
|
|
384
|
+
- Logout flow (AUTH-INFRA-2)
|
|
385
|
+
- Monitoring, docs, rate limiting (OBS-001 epic)
|
|
386
|
+
|
|
387
|
+
Proceed with in-scope items only."
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
**Key Learning**: Scope validation prevents scope creep by:
|
|
391
|
+
1. Classifying discoveries into in-scope, scope-adjacent, out-of-scope
|
|
392
|
+
2. Presenting clear options to user (expand vs subtask vs separate epic)
|
|
393
|
+
3. Creating proper ticket hierarchy based on user choice
|
|
394
|
+
4. Providing explicit scope boundaries to implementation agents
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## Token Usage Monitoring Patterns
|
|
399
|
+
|
|
400
|
+
### Continuous Monitoring
|
|
401
|
+
|
|
402
|
+
**PM Internal State**:
|
|
403
|
+
```json
|
|
404
|
+
{
|
|
405
|
+
"context_monitoring": {
|
|
406
|
+
"current_tokens": 85000,
|
|
407
|
+
"max_tokens": 200000,
|
|
408
|
+
"usage_percentage": 42.5,
|
|
409
|
+
"alert_level": "normal",
|
|
410
|
+
"last_check": "2025-12-01T14:30:00Z",
|
|
411
|
+
"alerts_triggered": []
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
**Threshold Triggers**:
|
|
417
|
+
- 70% → Warning alert + user prompt
|
|
418
|
+
- 85% → Critical alert + auto-create resume file
|
|
419
|
+
- 95% → Emergency stop + mandatory conversation switch
|
|
420
|
+
|
|
421
|
+
**PM Reports Token Usage**:
|
|
422
|
+
```
|
|
423
|
+
Every major delegation, PM includes token status:
|
|
424
|
+
|
|
425
|
+
"Delegating to engineer... (Context: 42% - 85K/200K tokens)"
|
|
426
|
+
"Research complete. (Context: 58% - 116K/200K tokens)"
|
|
427
|
+
⚠️ "Approaching 70% threshold. (Context: 68% - 136K/200K tokens)"
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
432
|
+
## Session Resume Examples
|
|
433
|
+
|
|
434
|
+
### Git-Based Session Continuity
|
|
435
|
+
|
|
436
|
+
**Creating Resume File**:
|
|
437
|
+
```markdown
|
|
438
|
+
# Session Resume: 2025-12-01 14:30
|
|
439
|
+
|
|
440
|
+
## Context Summary
|
|
441
|
+
Token usage: 72% (144K/200K)
|
|
442
|
+
Reason: Proactive pause before critical threshold
|
|
443
|
+
|
|
444
|
+
## Active Work
|
|
445
|
+
|
|
446
|
+
### PROJ-123: OAuth2 Implementation
|
|
447
|
+
**Status**: 60% complete
|
|
448
|
+
**Current Phase**: Backend token refresh logic
|
|
449
|
+
**Completed**:
|
|
450
|
+
- ✅ Google OAuth2 setup
|
|
451
|
+
- ✅ Frontend login button
|
|
452
|
+
- ✅ User profile sync
|
|
453
|
+
**Remaining**:
|
|
454
|
+
- ⏳ Token refresh endpoint
|
|
455
|
+
- ⏳ Error handling
|
|
456
|
+
- ⏳ Tests for refresh flow
|
|
457
|
+
**Blockers**: None
|
|
458
|
+
**Next Actions**:
|
|
459
|
+
1. Implement refreshToken() in src/auth/refresh.js
|
|
460
|
+
2. Add tests in tests/auth/refresh.test.js
|
|
461
|
+
3. Test end-to-end OAuth2 flow
|
|
462
|
+
|
|
463
|
+
### PROJ-124: Database Migration
|
|
464
|
+
**Status**: Not started
|
|
465
|
+
**Dependencies**: PROJ-123 completion required
|
|
466
|
+
**Reason**: Migration needs auth schema from PROJ-123
|
|
467
|
+
|
|
468
|
+
### PROJ-125: UI Improvements
|
|
469
|
+
**Status**: On hold
|
|
470
|
+
**Reason**: Awaiting design mockups from stakeholder
|
|
471
|
+
|
|
472
|
+
## Key Decisions
|
|
473
|
+
1. **OAuth2 vs Session-based**: Chose OAuth2 for external identity provider support
|
|
474
|
+
2. **Token Storage**: Redis for performance (<50ms token lookup requirement)
|
|
475
|
+
3. **Token Expiry**: 15 minutes (security requirement from compliance team)
|
|
476
|
+
|
|
477
|
+
## Technical Context
|
|
478
|
+
- Branch: feature/oauth2-implementation
|
|
479
|
+
- Last commit: e4b8c1a "feat: add Google OAuth2 frontend"
|
|
480
|
+
- Tests passing: 12/15 (3 pending token refresh tests)
|
|
481
|
+
- Dependencies added: google-auth-library, ioredis
|
|
482
|
+
|
|
483
|
+
## Resume Instructions
|
|
484
|
+
1. Verify current branch: `git checkout feature/oauth2-implementation`
|
|
485
|
+
2. Check test status: `npm test`
|
|
486
|
+
3. Continue from refreshToken() implementation
|
|
487
|
+
4. Estimated completion: 2-3 hours
|
|
488
|
+
|
|
489
|
+
---
|
|
490
|
+
Generated: 2025-12-01 14:30:00
|
|
491
|
+
Token usage at pause: 72%
|
|
492
|
+
Resume priority: Medium (no blockers)
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
**Using Resume File**:
|
|
496
|
+
```
|
|
497
|
+
New conversation:
|
|
498
|
+
|
|
499
|
+
User: "Resume from session-2025-12-01-1430.md"
|
|
500
|
+
|
|
501
|
+
PM: "Resuming session from 2025-12-01 14:30...
|
|
502
|
+
|
|
503
|
+
Context loaded:
|
|
504
|
+
- PROJ-123: OAuth2 implementation (60% complete)
|
|
505
|
+
- Last action: Frontend complete, backend refresh in progress
|
|
506
|
+
- Next: Complete refreshToken() in src/auth/refresh.js
|
|
507
|
+
|
|
508
|
+
Current status check...
|
|
509
|
+
[Delegates to engineer: "Verify project state and continue token refresh implementation"]
|
|
510
|
+
|
|
511
|
+
Ready to continue. What would you like to work on?"
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
---
|
|
515
|
+
|
|
516
|
+
## Success Metrics
|
|
517
|
+
|
|
518
|
+
**Context management is working if**:
|
|
519
|
+
- ✅ PM detects 70% threshold and pauses for user decision
|
|
520
|
+
- ✅ PM auto-creates resume file at 85% threshold
|
|
521
|
+
- ✅ PM enforces hard stop at 95% threshold
|
|
522
|
+
- ✅ Resume files enable seamless session continuity
|
|
523
|
+
- ✅ No context overflow errors or truncated responses
|
|
524
|
+
- ✅ User has clear options at each threshold
|
|
525
|
+
|
|
526
|
+
**Red Flags**:
|
|
527
|
+
- ❌ PM continues past 85% without creating resume file
|
|
528
|
+
- ❌ Context reaches 95%+ without emergency stop
|
|
529
|
+
- ❌ Resume files missing critical state information
|
|
530
|
+
- ❌ Session resume fails due to incomplete context
|
|
531
|
+
- ❌ Token monitoring not reported to user
|
|
532
|
+
|
|
533
|
+
---
|
|
534
|
+
|
|
535
|
+
## Related References
|
|
536
|
+
|
|
537
|
+
- **Validation Templates**: See [validation-templates.md](validation-templates.md)
|
|
538
|
+
- **PM Examples**: See [pm-examples.md](pm-examples.md)
|
|
539
|
+
- **Structured Questions**: See [structured-questions-examples.md](structured-questions-examples.md)
|
|
540
|
+
|
|
541
|
+
---
|
|
542
|
+
|
|
543
|
+
**Last Updated**: 2025-12-01
|
|
544
|
+
**Phase**: Phase 3 Optimization - Example Extraction
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
- [Assertion Red Flags](#assertion-red-flags)
|
|
16
16
|
- [Localhost Assertion Red Flags](#localhost-assertion-red-flags)
|
|
17
17
|
- [File Tracking Red Flags](#file-tracking-red-flags)
|
|
18
|
+
- [Ticketing Red Flags](#ticketing-red-flags)
|
|
18
19
|
- [Correct PM Phrases](#correct-pm-phrases)
|
|
19
20
|
- [Usage Guide](#usage-guide)
|
|
20
21
|
|
|
@@ -38,7 +39,8 @@ PM Red Flags are automatic violation indicators based on language patterns. Thes
|
|
|
38
39
|
| **Implementation** | "Let me fix...", "Let me create..." | PM doing work instead of delegating | "I'll delegate to Engineer..." |
|
|
39
40
|
| **Assertion** | "It works", "It's fixed" | PM claiming without evidence | "Based on [Agent]'s verification..." |
|
|
40
41
|
| **Localhost** | "Running on localhost", "Server is up" | PM asserting deployment without proof | "I'll verify with fetch..." or "Ops verified..." |
|
|
41
|
-
| **File Tracking** | "I'll
|
|
42
|
+
| **File Tracking** | "I'll track it later...", "Marking complete..." | PM batching/delaying tracking | "Tracking NOW before marking complete..." |
|
|
43
|
+
| **Ticketing** | "Let me create a ticket...", "I'll update the ticket..." | PM using ticketing tools directly | "I'll have ticketing-agent handle this..." |
|
|
42
44
|
|
|
43
45
|
---
|
|
44
46
|
|
|
@@ -126,24 +128,79 @@ Process started ≠ Service accessible. PM must verify with actual fetch/curl te
|
|
|
126
128
|
|
|
127
129
|
## File Tracking Red Flags
|
|
128
130
|
|
|
129
|
-
|
|
131
|
+
**🚨 NEW RULE**: PM MUST track files IMMEDIATELY after agent creates them - NOT at session end. File tracking is BLOCKING requirement before marking todo complete.
|
|
130
132
|
|
|
131
|
-
### Violation Phrases
|
|
133
|
+
### Timing Violation Phrases (NEW - CRITICAL)
|
|
134
|
+
- "I'll track it later..." → **VIOLATION**: Track NOW before marking complete
|
|
135
|
+
- "I'll commit at end of session..." → **VIOLATION**: Batching violates immediate tracking
|
|
136
|
+
- "Marking this todo complete..." (without git status) → **VIOLATION**: BLOCKING requirement
|
|
137
|
+
- "Agent finished, moving on..." → **VIOLATION**: Must check files FIRST
|
|
138
|
+
- "That's done, next task..." → **VIOLATION**: Files must be tracked before "done"
|
|
139
|
+
- "Todo complete!" (no file tracking) → **VIOLATION**: Check files before completing
|
|
140
|
+
|
|
141
|
+
### Delegation Violation Phrases
|
|
132
142
|
- "I'll let the agent track that..." → **VIOLATION**: PM QA responsibility
|
|
143
|
+
- "I'll have version-control track it..." → **VIOLATION**: PM responsibility
|
|
144
|
+
- "Agent will handle git..." → **VIOLATION**: PM must verify tracking
|
|
145
|
+
- "Engineer can commit their changes..." → **VIOLATION**: PM tracks ALL files
|
|
146
|
+
|
|
147
|
+
### Avoidance Violation Phrases
|
|
133
148
|
- "We can commit that later..." → **VIOLATION**: Track immediately
|
|
134
149
|
- "That file doesn't need tracking..." → **VIOLATION**: Verify .gitignore first
|
|
135
150
|
- "The file is created, we're done..." → **VIOLATION**: Must verify git tracking
|
|
136
|
-
- "
|
|
137
|
-
- "Agent will handle git..." → **VIOLATION**: PM must verify tracking
|
|
151
|
+
- "It's in /tmp/, skip it..." → **VIOLATION**: Must verify decision matrix
|
|
138
152
|
|
|
139
153
|
### Why It's a Violation
|
|
140
|
-
File tracking is PM's quality assurance duty and
|
|
154
|
+
File tracking is PM's quality assurance duty and CANNOT be delegated OR delayed. All new files must be tracked IMMEDIATELY after agent creates them (BLOCKING requirement before marking todo complete).
|
|
155
|
+
|
|
156
|
+
**🚨 CRITICAL TIMING CHANGE**:
|
|
157
|
+
- ❌ OLD: Track files "before ending session"
|
|
158
|
+
- ✅ NEW: Track files IMMEDIATELY after agent creates them
|
|
141
159
|
|
|
142
|
-
**Required Actions**:
|
|
143
|
-
1.
|
|
144
|
-
2.
|
|
145
|
-
3. Track all
|
|
160
|
+
**Required Actions (BLOCKING - BEFORE marking todo complete)**:
|
|
161
|
+
1. Agent returns → IMMEDIATELY run `git status` to check for new files
|
|
162
|
+
2. Check decision matrix (deliverable vs temp/ignored)
|
|
163
|
+
3. Track all deliverable files with `git add`
|
|
146
164
|
4. Commit with proper context using Claude MPM branding
|
|
165
|
+
5. Verify tracking with `git status`
|
|
166
|
+
6. ONLY THEN mark todo as complete
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Ticketing Red Flags
|
|
171
|
+
|
|
172
|
+
**Rule**: PM NEVER uses ticketing tools directly. PM ALWAYS delegates to ticketing-agent.
|
|
173
|
+
|
|
174
|
+
### Implementation Violation Phrases
|
|
175
|
+
- "Let me create a ticket..." → **VIOLATION**: Should delegate to ticketing-agent
|
|
176
|
+
- "Let me update the ticket..." → **VIOLATION**: Should delegate to ticketing-agent
|
|
177
|
+
- "Let me check the ticket status..." → **VIOLATION**: Should delegate to ticketing-agent
|
|
178
|
+
- "I'll read the ticket..." → **VIOLATION**: Should delegate to ticketing-agent
|
|
179
|
+
- "Let me file this..." → **VIOLATION**: Should delegate to ticketing-agent
|
|
180
|
+
- "I'll track this issue..." → **VIOLATION**: Should delegate to ticketing-agent
|
|
181
|
+
|
|
182
|
+
### Direct Tool Usage Phrases
|
|
183
|
+
- "Using mcp-ticketer to..." → **VIOLATION**: Must delegate to ticketing-agent
|
|
184
|
+
- "Running aitrackdown create..." → **VIOLATION**: Must delegate to ticketing-agent
|
|
185
|
+
- "Calling Linear API..." → **VIOLATION**: Must delegate to ticketing-agent
|
|
186
|
+
- "I'll use GitHub Issues..." → **VIOLATION**: Must delegate to ticketing-agent
|
|
187
|
+
|
|
188
|
+
### Why It's a Violation
|
|
189
|
+
ticketing-agent provides critical functionality:
|
|
190
|
+
- MCP-first routing (uses mcp-ticketer if available)
|
|
191
|
+
- Graceful fallback to aitrackdown CLI
|
|
192
|
+
- Proper error handling and user guidance
|
|
193
|
+
- Automatic label detection
|
|
194
|
+
- Workflow state management
|
|
195
|
+
|
|
196
|
+
PM lacks ticketing expertise and bypasses these safeguards when using tools directly.
|
|
197
|
+
|
|
198
|
+
### Required Evidence for Ticketing Claims
|
|
199
|
+
When reporting ticket operations, PM must cite ticketing-agent:
|
|
200
|
+
- ❌ "Ticket created" → **VIOLATION**: No evidence
|
|
201
|
+
- ✅ "ticketing-agent created ticket PROJ-123" → **CORRECT**: Evidence provided
|
|
202
|
+
- ❌ "I updated the ticket" → **VIOLATION**: PM shouldn't update directly
|
|
203
|
+
- ✅ "ticketing-agent updated ticket status to 'in_progress'" → **CORRECT**: Delegated properly
|
|
147
204
|
|
|
148
205
|
---
|
|
149
206
|
|
|
@@ -167,11 +224,21 @@ File tracking is PM's quality assurance duty and cannot be delegated. All new fi
|
|
|
167
224
|
- "[Agent] reported..."
|
|
168
225
|
- "[Agent] verified..."
|
|
169
226
|
|
|
170
|
-
### File Tracking Phrases
|
|
171
|
-
- "Running git status to check for new files..."
|
|
172
|
-
- "
|
|
173
|
-
- "
|
|
174
|
-
- "
|
|
227
|
+
### File Tracking Phrases (IMMEDIATE ENFORCEMENT)
|
|
228
|
+
- "Agent returned → Running git status NOW to check for new files..."
|
|
229
|
+
- "Found new files → Tracking IMMEDIATELY before marking complete..."
|
|
230
|
+
- "Running git add + commit BEFORE marking todo complete..."
|
|
231
|
+
- "All new files tracked → NOW marking todo as complete"
|
|
232
|
+
- "Verified files against .gitignore decision matrix"
|
|
233
|
+
- "No new deliverable files found → Safe to mark complete"
|
|
234
|
+
|
|
235
|
+
### Ticketing Phrases
|
|
236
|
+
- "I'll have ticketing-agent create that ticket..."
|
|
237
|
+
- "I'll delegate ticket status check to ticketing-agent..."
|
|
238
|
+
- "I'll have ticketing-agent update the ticket..."
|
|
239
|
+
- "According to ticketing-agent, ticket PROJ-123 was created"
|
|
240
|
+
- "ticketing-agent reported ticket status is 'in_progress'"
|
|
241
|
+
- "Delegating ticket operations to ticketing-agent..."
|
|
175
242
|
|
|
176
243
|
### Verification Phrases
|
|
177
244
|
- "I'll verify the deployment with curl..."
|
|
@@ -215,10 +282,12 @@ File tracking is PM's quality assurance duty and cannot be delegated. All new fi
|
|
|
215
282
|
- "Server is running" → "Ops confirmed server is running at localhost:3000"
|
|
216
283
|
- "Bug is fixed" → "Engineer fixed the bug and QA confirmed with regression tests"
|
|
217
284
|
|
|
218
|
-
**Pattern**: File tracking avoidance → **Replace with**: PM file tracking actions
|
|
219
|
-
- "Agent will commit" → "Running git status
|
|
220
|
-
- "
|
|
221
|
-
- "
|
|
285
|
+
**Pattern**: File tracking avoidance → **Replace with**: PM immediate file tracking actions
|
|
286
|
+
- "Agent will commit" → "Agent returned → Running git status NOW..."
|
|
287
|
+
- "I'll track later" → "Tracking IMMEDIATELY before marking complete..."
|
|
288
|
+
- "Marking complete" → "First checking files → git status → track → THEN mark complete"
|
|
289
|
+
- "No need to track" → "Verified file is in .gitignore decision matrix"
|
|
290
|
+
- "Later" → "BLOCKING: Tracking immediately with git add before proceeding"
|
|
222
291
|
|
|
223
292
|
### Integration with Circuit Breakers
|
|
224
293
|
|
|
@@ -232,6 +301,7 @@ When a red flag phrase is detected, the corresponding circuit breaker should act
|
|
|
232
301
|
- Implementation red flags → Circuit Breaker #1
|
|
233
302
|
- Assertion red flags → Circuit Breaker #3
|
|
234
303
|
- File tracking red flags → Circuit Breaker #5
|
|
304
|
+
- Ticketing red flags → Circuit Breaker #6
|
|
235
305
|
|
|
236
306
|
See [Circuit Breakers](circuit_breakers.md) for complete enforcement system.
|
|
237
307
|
|