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
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Verification Before Completion
|
|
3
|
-
description: Run verification commands and confirm output before claiming success
|
|
4
|
-
version: 2.0.0
|
|
5
|
-
category: debugging
|
|
6
|
-
author: Jesse Vincent
|
|
7
|
-
license: MIT
|
|
8
|
-
source: https://github.com/obra/superpowers-skills/tree/main/skills/debugging/verification-before-completion
|
|
9
|
-
progressive_disclosure:
|
|
10
|
-
entry_point:
|
|
11
|
-
summary: "Evidence before claims: mandatory verification before ANY completion claim"
|
|
12
|
-
when_to_use: "When about to claim work is complete, fixed, passing, or ready. ESPECIALLY before commits, PRs, or task completion."
|
|
13
|
-
quick_start: "1. Identify verification command 2. Run FULL command 3. Read complete output 4. Verify results 5. THEN claim with evidence"
|
|
14
|
-
references:
|
|
15
|
-
- gate-function.md
|
|
16
|
-
- verification-patterns.md
|
|
17
|
-
- common-failures.md
|
|
18
|
-
context_limit: 800
|
|
19
|
-
tags:
|
|
20
|
-
- verification
|
|
21
|
-
- quality-assurance
|
|
22
|
-
- honesty
|
|
23
|
-
- evidence
|
|
24
|
-
requires_tools: []
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
# Verification Before Completion
|
|
28
|
-
|
|
29
|
-
## Overview
|
|
30
|
-
|
|
31
|
-
Claiming work is complete without verification is dishonesty, not efficiency.
|
|
32
|
-
|
|
33
|
-
**Core principle:** Evidence before claims, always.
|
|
34
|
-
|
|
35
|
-
**Violating the letter of this rule is violating the spirit of this rule.**
|
|
36
|
-
|
|
37
|
-
This skill enforces mandatory verification before ANY completion claim, preventing false positives, broken builds, and trust violations.
|
|
38
|
-
|
|
39
|
-
## When to Use This Skill
|
|
40
|
-
|
|
41
|
-
Activate ALWAYS before:
|
|
42
|
-
- ANY variation of success/completion claims
|
|
43
|
-
- ANY expression of satisfaction ("Great!", "Done!", "Perfect!")
|
|
44
|
-
- ANY positive statement about work state
|
|
45
|
-
- Committing, pushing, creating PRs
|
|
46
|
-
- Moving to next task
|
|
47
|
-
- Marking tasks complete
|
|
48
|
-
- Delegating to agents
|
|
49
|
-
- Reporting status to users
|
|
50
|
-
|
|
51
|
-
**Use this ESPECIALLY when:**
|
|
52
|
-
- Under time pressure (makes skipping tempting)
|
|
53
|
-
- Tired and wanting work over
|
|
54
|
-
- "Quick fix" seems obvious
|
|
55
|
-
- Confident in the solution
|
|
56
|
-
- Agent reports success
|
|
57
|
-
- Tests "should" pass
|
|
58
|
-
|
|
59
|
-
## The Iron Law
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
If you haven't run the verification command in this message, you cannot claim it passes.
|
|
66
|
-
|
|
67
|
-
## Core Principles
|
|
68
|
-
|
|
69
|
-
1. **Evidence Required**: Every claim needs supporting evidence
|
|
70
|
-
2. **Fresh Verification**: Must verify now, not rely on previous runs
|
|
71
|
-
3. **Complete Verification**: Full command, not partial checks
|
|
72
|
-
4. **Honest Reporting**: Report actual state, not hoped-for state
|
|
73
|
-
|
|
74
|
-
## Quick Start
|
|
75
|
-
|
|
76
|
-
The five-step gate function:
|
|
77
|
-
|
|
78
|
-
1. **IDENTIFY**: What command proves this claim?
|
|
79
|
-
2. **RUN**: Execute the FULL command (fresh, complete)
|
|
80
|
-
3. **READ**: Full output, check exit code, count failures
|
|
81
|
-
4. **VERIFY**: Does output confirm the claim?
|
|
82
|
-
- If NO: State actual status with evidence
|
|
83
|
-
- If YES: State claim WITH evidence
|
|
84
|
-
5. **ONLY THEN**: Make the claim
|
|
85
|
-
|
|
86
|
-
Skip any step = lying, not verifying.
|
|
87
|
-
|
|
88
|
-
## Common Failure Modes
|
|
89
|
-
|
|
90
|
-
| Claim | Requires | Not Sufficient |
|
|
91
|
-
|-------|----------|----------------|
|
|
92
|
-
| Tests pass | Test command output: 0 failures | Previous run, "should pass" |
|
|
93
|
-
| Linter clean | Linter output: 0 errors | Partial check, extrapolation |
|
|
94
|
-
| Build succeeds | Build command: exit 0 | Linter passing, logs look good |
|
|
95
|
-
| Bug fixed | Test original symptom: passes | Code changed, assumed fixed |
|
|
96
|
-
| Requirements met | Line-by-line checklist | Tests passing |
|
|
97
|
-
|
|
98
|
-
## Red Flags - STOP Immediately
|
|
99
|
-
|
|
100
|
-
If you catch yourself:
|
|
101
|
-
- Using "should", "probably", "seems to"
|
|
102
|
-
- Expressing satisfaction before verification
|
|
103
|
-
- About to commit/push/PR without verification
|
|
104
|
-
- Trusting agent success reports
|
|
105
|
-
- Relying on partial verification
|
|
106
|
-
- Thinking "just this once"
|
|
107
|
-
- Tired and wanting work over
|
|
108
|
-
|
|
109
|
-
**ALL of these mean: STOP. Run verification first.**
|
|
110
|
-
|
|
111
|
-
## Key Patterns
|
|
112
|
-
|
|
113
|
-
**Correct Pattern:**
|
|
114
|
-
```
|
|
115
|
-
✅ [Run pytest] [Output: 34/34 passed] "All tests pass"
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
**Incorrect Patterns:**
|
|
119
|
-
```
|
|
120
|
-
❌ "Should pass now"
|
|
121
|
-
❌ "Looks correct"
|
|
122
|
-
❌ "Tests were passing"
|
|
123
|
-
❌ "I'm confident it works"
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## Navigation
|
|
127
|
-
|
|
128
|
-
For detailed information:
|
|
129
|
-
- **[Gate Function](references/gate-function.md)**: Complete five-step verification process with decision trees
|
|
130
|
-
- **[Verification Patterns](references/verification-patterns.md)**: Correct verification patterns for tests, builds, deployments, and more
|
|
131
|
-
- **[Common Failures](references/common-failures.md)**: Red flags, rationalizations, and real-world failure examples
|
|
132
|
-
|
|
133
|
-
## Why This Matters
|
|
134
|
-
|
|
135
|
-
From real-world failures:
|
|
136
|
-
- "I don't believe you" - trust broken with user
|
|
137
|
-
- Undefined functions shipped - would crash in production
|
|
138
|
-
- Missing requirements - incomplete features delivered
|
|
139
|
-
- Time wasted on false completion → redirect → rework
|
|
140
|
-
- Violates core value: "If you lie, you'll be replaced"
|
|
141
|
-
|
|
142
|
-
**Statistics from 24 failure memories:**
|
|
143
|
-
- Systematic verification: 15-30 minutes to confirm
|
|
144
|
-
- Skipped verification: 2-3 hours debugging afterwards
|
|
145
|
-
- Verification cost: 2 minutes
|
|
146
|
-
- Recovery cost: 120+ minutes (60x more expensive)
|
|
147
|
-
|
|
148
|
-
## Integration with Other Skills
|
|
149
|
-
|
|
150
|
-
- **systematic-debugging**: Verify fix works before claiming bug fixed
|
|
151
|
-
- **test-driven-development**: Verify red-green cycle before claiming test complete
|
|
152
|
-
- **condition-based-waiting**: Verify conditions met before claiming ready
|
|
153
|
-
- **root-cause-tracing**: Verify root cause identified before proposing fixes
|
|
154
|
-
|
|
155
|
-
## Real-World Impact
|
|
156
|
-
|
|
157
|
-
**Before this skill:**
|
|
158
|
-
- 40% of "complete" claims required rework
|
|
159
|
-
- Average 2-3 hours debugging false completions
|
|
160
|
-
- Trust issues with stakeholders
|
|
161
|
-
- Broken CI/CD pipelines
|
|
162
|
-
|
|
163
|
-
**After this skill:**
|
|
164
|
-
- 95% of completions verified accurate
|
|
165
|
-
- Average 2 minutes verification time
|
|
166
|
-
- High confidence in status reports
|
|
167
|
-
- Clean CI/CD pipelines
|
|
168
|
-
|
|
169
|
-
## The Bottom Line
|
|
170
|
-
|
|
171
|
-
**No shortcuts for verification.**
|
|
172
|
-
|
|
173
|
-
Run the command. Read the output. THEN claim the result.
|
|
174
|
-
|
|
175
|
-
This is non-negotiable.
|
claude_mpm/skills/bundled/debugging/verification-before-completion/references/common-failures.md
DELETED
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
# Common Failures and Red Flags
|
|
2
|
-
|
|
3
|
-
Understanding failure modes helps recognize when verification is being skipped.
|
|
4
|
-
|
|
5
|
-
## Common Failure Table
|
|
6
|
-
|
|
7
|
-
| Claim | Requires | Not Sufficient |
|
|
8
|
-
|-------|----------|----------------|
|
|
9
|
-
| Tests pass | Test command output: 0 failures | Previous run, "should pass" |
|
|
10
|
-
| Linter clean | Linter output: 0 errors | Partial check, extrapolation |
|
|
11
|
-
| Build succeeds | Build command: exit 0 | Linter passing, logs look good |
|
|
12
|
-
| Bug fixed | Test original symptom: passes | Code changed, assumed fixed |
|
|
13
|
-
| Regression test works | Red-green cycle verified | Test passes once |
|
|
14
|
-
| Agent completed | VCS diff shows changes | Agent reports "success" |
|
|
15
|
-
| Requirements met | Line-by-line checklist | Tests passing |
|
|
16
|
-
| Performance improved | Benchmark measurements | "Feels faster" |
|
|
17
|
-
| Security enhanced | Security scan results | "Looks secure" |
|
|
18
|
-
| Documentation complete | Fresh user successful | "Clear to me" |
|
|
19
|
-
|
|
20
|
-
## Red Flags - STOP Immediately
|
|
21
|
-
|
|
22
|
-
### Language Red Flags
|
|
23
|
-
|
|
24
|
-
If you catch yourself using:
|
|
25
|
-
- **"Should"** - "Should work now", "Should pass", "Should be fixed"
|
|
26
|
-
- **"Probably"** - "Probably works", "Probably passes"
|
|
27
|
-
- **"Seems to"** - "Seems to work", "Seems correct"
|
|
28
|
-
- **"Looks like"** - "Looks good", "Looks correct"
|
|
29
|
-
- **"I think"** - "I think it's fixed", "I think tests pass"
|
|
30
|
-
- **"Appears to"** - "Appears working", "Appears correct"
|
|
31
|
-
|
|
32
|
-
**ALL of these = NO VERIFICATION OCCURRED**
|
|
33
|
-
|
|
34
|
-
### Premature Satisfaction
|
|
35
|
-
|
|
36
|
-
Expressing satisfaction BEFORE verification:
|
|
37
|
-
- "Great!" before running tests
|
|
38
|
-
- "Perfect!" before checking build
|
|
39
|
-
- "Done!" before verifying completion
|
|
40
|
-
- "Excellent!" before confirming results
|
|
41
|
-
- "Success!" before reading output
|
|
42
|
-
- "Fixed!" before testing reproduction
|
|
43
|
-
|
|
44
|
-
**Satisfaction ONLY AFTER verification evidence**
|
|
45
|
-
|
|
46
|
-
### Process Red Flags
|
|
47
|
-
|
|
48
|
-
- About to commit without running tests
|
|
49
|
-
- About to push without verification
|
|
50
|
-
- About to create PR without checking
|
|
51
|
-
- Moving to next task without confirming current
|
|
52
|
-
- Trusting agent reports without checking
|
|
53
|
-
- Relying on partial verification ("just linter")
|
|
54
|
-
- Thinking "just this once" (no exceptions)
|
|
55
|
-
- Tired and wanting work to be over
|
|
56
|
-
- Time pressure making verification "optional"
|
|
57
|
-
|
|
58
|
-
## Rationalization Prevention
|
|
59
|
-
|
|
60
|
-
Common excuses and their realities:
|
|
61
|
-
|
|
62
|
-
| Excuse | Reality | Response |
|
|
63
|
-
|--------|---------|----------|
|
|
64
|
-
| "Should work now" | Speculation, not evidence | RUN the verification command |
|
|
65
|
-
| "I'm confident" | Confidence ≠ evidence | Evidence required regardless |
|
|
66
|
-
| "Just this once" | Creates bad precedent | No exceptions, ever |
|
|
67
|
-
| "Linter passed" | Linter ≠ compiler ≠ tests | Each verification separate |
|
|
68
|
-
| "Agent said success" | Agents can be wrong | Verify independently always |
|
|
69
|
-
| "I'm tired" | Fatigue ≠ excuse | Verification is non-negotiable |
|
|
70
|
-
| "Partial check enough" | Partial proves nothing | Full verification required |
|
|
71
|
-
| "Different wording" | Spirit over letter | Rule applies to all variants |
|
|
72
|
-
| "Time pressure" | Shortcuts create more work | Verification saves time |
|
|
73
|
-
| "Low risk change" | All changes need verification | Risk level irrelevant |
|
|
74
|
-
| "I tested locally" | Local ≠ CI ≠ production | Each environment separate |
|
|
75
|
-
| "Same as before" | Code changes, verify again | No assumptions |
|
|
76
|
-
|
|
77
|
-
## Why These Excuses Fail
|
|
78
|
-
|
|
79
|
-
### "Should work now"
|
|
80
|
-
- Software doesn't work on should
|
|
81
|
-
- Should = guess, not fact
|
|
82
|
-
- Run the command, get the fact
|
|
83
|
-
|
|
84
|
-
### "I'm confident"
|
|
85
|
-
- Confidence is feeling, not evidence
|
|
86
|
-
- Most confident when most wrong
|
|
87
|
-
- Evidence trumps confidence
|
|
88
|
-
|
|
89
|
-
### "Just this once"
|
|
90
|
-
- Once becomes habit
|
|
91
|
-
- Standards erode gradually
|
|
92
|
-
- No exceptions maintains discipline
|
|
93
|
-
|
|
94
|
-
### "Linter passed so build should work"
|
|
95
|
-
- Linter checks style, not compilation
|
|
96
|
-
- Build checks compilation, not runtime
|
|
97
|
-
- Tests check runtime, not requirements
|
|
98
|
-
- Each layer separate verification
|
|
99
|
-
|
|
100
|
-
### "Agent said success"
|
|
101
|
-
- Agents report what they believe
|
|
102
|
-
- Agents can misinterpret results
|
|
103
|
-
- Agents don't have full context
|
|
104
|
-
- Independent verification required
|
|
105
|
-
|
|
106
|
-
### "I'm tired"
|
|
107
|
-
- Fatigue increases error rate
|
|
108
|
-
- Makes verification MORE important
|
|
109
|
-
- Shortcutting when tired = guaranteed bugs
|
|
110
|
-
- Better to stop than skip verification
|
|
111
|
-
|
|
112
|
-
### "Partial verification enough"
|
|
113
|
-
- Partial verification = no verification
|
|
114
|
-
- Untested parts always break
|
|
115
|
-
- "Just the important parts" misjudges importance
|
|
116
|
-
- Full verification or none
|
|
117
|
-
|
|
118
|
-
## Real-World Failure Examples
|
|
119
|
-
|
|
120
|
-
From actual debugging sessions where verification was skipped:
|
|
121
|
-
|
|
122
|
-
### Example 1: "Tests should pass"
|
|
123
|
-
**What happened:**
|
|
124
|
-
- Claimed tests pass without running
|
|
125
|
-
- 4 tests actually failing
|
|
126
|
-
- Pushed to main, broke CI
|
|
127
|
-
- 2 hours debugging why CI fails
|
|
128
|
-
|
|
129
|
-
**Lesson:** "Should" ≠ "Do". Always run.
|
|
130
|
-
|
|
131
|
-
### Example 2: "Linter clean, so build works"
|
|
132
|
-
**What happened:**
|
|
133
|
-
- Linter passed (style check)
|
|
134
|
-
- Build failed (TypeScript errors)
|
|
135
|
-
- Assumed linter = build verification
|
|
136
|
-
- Deployment blocked
|
|
137
|
-
|
|
138
|
-
**Lesson:** Each verification layer separate.
|
|
139
|
-
|
|
140
|
-
### Example 3: Trusted agent report
|
|
141
|
-
**What happened:**
|
|
142
|
-
- Agent reported "tests passing"
|
|
143
|
-
- Didn't check git diff
|
|
144
|
-
- Agent introduced syntax error
|
|
145
|
-
- Tests couldn't even run
|
|
146
|
-
|
|
147
|
-
**Lesson:** Always verify agent work independently.
|
|
148
|
-
|
|
149
|
-
### Example 4: "I'm confident this fixes it"
|
|
150
|
-
**What happened:**
|
|
151
|
-
- Confident in fix logic
|
|
152
|
-
- Didn't test reproduction case
|
|
153
|
-
- Bug still present, different symptom
|
|
154
|
-
- Customer reported immediately
|
|
155
|
-
|
|
156
|
-
**Lesson:** Confidence ≠ evidence.
|
|
157
|
-
|
|
158
|
-
### Example 5: "Just one quick fix before verification"
|
|
159
|
-
**What happened:**
|
|
160
|
-
- Made "quick fix" without testing
|
|
161
|
-
- Introduced new bug
|
|
162
|
-
- Now debugging 2 bugs instead of 1
|
|
163
|
-
- Should have verified first fix first
|
|
164
|
-
|
|
165
|
-
**Lesson:** Never "one more fix" without verification.
|
|
166
|
-
|
|
167
|
-
## Pattern Recognition
|
|
168
|
-
|
|
169
|
-
**Healthy Pattern:**
|
|
170
|
-
```
|
|
171
|
-
Implement → Verify → Claim → Next
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
**Unhealthy Pattern:**
|
|
175
|
-
```
|
|
176
|
-
Implement → Implement → Implement → Assume → Claim
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
**Death Spiral Pattern:**
|
|
180
|
-
```
|
|
181
|
-
Implement → Fails → "One more fix" → Fails → "Just needs..." → Fails
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
When you see yourself in "one more fix" mode, STOP:
|
|
185
|
-
1. Return to root cause investigation
|
|
186
|
-
2. Question your understanding
|
|
187
|
-
3. Verify each assumption
|
|
188
|
-
4. Consider architectural issues
|
|
189
|
-
|
|
190
|
-
## Cultural Red Flags
|
|
191
|
-
|
|
192
|
-
Organizational patterns that enable verification skipping:
|
|
193
|
-
|
|
194
|
-
- "Move fast and break things" (without fixing)
|
|
195
|
-
- "We'll catch it in QA" (QA not a safety net)
|
|
196
|
-
- "Trust the developer" (trust + verify)
|
|
197
|
-
- "Time pressure" used as excuse
|
|
198
|
-
- "Good enough for now" acceptance
|
|
199
|
-
- Rewarding speed over correctness
|
|
200
|
-
|
|
201
|
-
**None of these excuse skipping verification.**
|
|
202
|
-
|
|
203
|
-
## The Bottom Line
|
|
204
|
-
|
|
205
|
-
Every excuse is a rationalization for:
|
|
206
|
-
1. Not wanting to verify
|
|
207
|
-
2. Hoping it works
|
|
208
|
-
3. Avoiding accountability
|
|
209
|
-
4. Wishful thinking
|
|
210
|
-
|
|
211
|
-
**Solution:** Run the command. Read the output. Then claim the result.
|
|
212
|
-
|
|
213
|
-
No shortcuts. No exceptions. No rationalizations.
|
claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md
DELETED
|
@@ -1,314 +0,0 @@
|
|
|
1
|
-
# The Gate Function
|
|
2
|
-
|
|
3
|
-
The gate function is the mandatory checkpoint before ANY completion claim.
|
|
4
|
-
|
|
5
|
-
## The Complete Gate Function
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
BEFORE claiming any status or expressing satisfaction:
|
|
9
|
-
|
|
10
|
-
1. IDENTIFY: What command proves this claim?
|
|
11
|
-
2. RUN: Execute the FULL command (fresh, complete)
|
|
12
|
-
3. READ: Full output, check exit code, count failures
|
|
13
|
-
4. VERIFY: Does output confirm the claim?
|
|
14
|
-
- If NO: State actual status with evidence
|
|
15
|
-
- If YES: State claim WITH evidence
|
|
16
|
-
5. ONLY THEN: Make the claim
|
|
17
|
-
|
|
18
|
-
Skip any step = lying, not verifying
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Step-by-Step Breakdown
|
|
22
|
-
|
|
23
|
-
### Step 1: IDENTIFY
|
|
24
|
-
|
|
25
|
-
**What to identify:**
|
|
26
|
-
- The exact command that proves your claim
|
|
27
|
-
- Not a related command
|
|
28
|
-
- Not a partial command
|
|
29
|
-
- The FULL verification command
|
|
30
|
-
|
|
31
|
-
**Examples:**
|
|
32
|
-
|
|
33
|
-
| Claim | Verification Command |
|
|
34
|
-
|-------|---------------------|
|
|
35
|
-
| "Tests pass" | `pytest tests/` (full suite) |
|
|
36
|
-
| "Build succeeds" | `make build` (complete build) |
|
|
37
|
-
| "Linter clean" | `ruff check .` (all files) |
|
|
38
|
-
| "Bug fixed" | Reproduce original bug (full reproduction) |
|
|
39
|
-
| "Requirements met" | Line-by-line checklist (all requirements) |
|
|
40
|
-
|
|
41
|
-
**Common Mistakes:**
|
|
42
|
-
- ❌ Identifying related but insufficient command
|
|
43
|
-
- ❌ Identifying partial verification
|
|
44
|
-
- ❌ Identifying old verification results
|
|
45
|
-
- ❌ Can't identify verification → Claim invalid
|
|
46
|
-
|
|
47
|
-
### Step 2: RUN
|
|
48
|
-
|
|
49
|
-
**How to run:**
|
|
50
|
-
- Execute the COMPLETE command
|
|
51
|
-
- Fresh execution (not cached results)
|
|
52
|
-
- Full scope (not subset)
|
|
53
|
-
- Right here, right now (not "I ran it earlier")
|
|
54
|
-
|
|
55
|
-
**Requirements:**
|
|
56
|
-
- Use exact command identified in Step 1
|
|
57
|
-
- Run in correct environment
|
|
58
|
-
- Include all parameters/flags
|
|
59
|
-
- Wait for complete execution
|
|
60
|
-
|
|
61
|
-
**Common Mistakes:**
|
|
62
|
-
- ❌ Running partial command
|
|
63
|
-
- ❌ Using cached/previous results
|
|
64
|
-
- ❌ Running related but different command
|
|
65
|
-
- ❌ Assuming results without running
|
|
66
|
-
|
|
67
|
-
**Examples:**
|
|
68
|
-
|
|
69
|
-
✅ **Correct:**
|
|
70
|
-
```bash
|
|
71
|
-
# Full test suite, right now
|
|
72
|
-
pytest tests/
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
❌ **Incorrect:**
|
|
76
|
-
```bash
|
|
77
|
-
# Only one test file
|
|
78
|
-
pytest tests/test_auth.py
|
|
79
|
-
|
|
80
|
-
# Previous run (stale)
|
|
81
|
-
"I ran tests 10 minutes ago"
|
|
82
|
-
|
|
83
|
-
# Related but not sufficient
|
|
84
|
-
ruff check . # This is linter, not tests
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### Step 3: READ
|
|
88
|
-
|
|
89
|
-
**What to read:**
|
|
90
|
-
- COMPLETE output, not just summary
|
|
91
|
-
- Exit code (0 = success, non-zero = failure)
|
|
92
|
-
- Count of passes/failures
|
|
93
|
-
- Error messages if any
|
|
94
|
-
- Warnings if any
|
|
95
|
-
|
|
96
|
-
**How to read:**
|
|
97
|
-
- Scroll through entire output
|
|
98
|
-
- Don't skip "boring" parts
|
|
99
|
-
- Check final status line
|
|
100
|
-
- Verify exit code
|
|
101
|
-
- Count specific numbers
|
|
102
|
-
|
|
103
|
-
**Common Mistakes:**
|
|
104
|
-
- ❌ Reading only summary
|
|
105
|
-
- ❌ Skipping error details
|
|
106
|
-
- ❌ Ignoring warnings
|
|
107
|
-
- ❌ Not checking exit code
|
|
108
|
-
- ❌ Assuming from first few lines
|
|
109
|
-
|
|
110
|
-
**Examples:**
|
|
111
|
-
|
|
112
|
-
✅ **Correct Reading:**
|
|
113
|
-
```
|
|
114
|
-
pytest tests/
|
|
115
|
-
...
|
|
116
|
-
[complete output]
|
|
117
|
-
...
|
|
118
|
-
====== 34 passed in 2.45s ======
|
|
119
|
-
Exit code: 0
|
|
120
|
-
|
|
121
|
-
Conclusion: 34 tests, ALL passed, 0 failed
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
❌ **Incorrect Reading:**
|
|
125
|
-
```
|
|
126
|
-
pytest tests/
|
|
127
|
-
[output appears...]
|
|
128
|
-
"Looks like tests are passing" ← Didn't read to end
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### Step 4: VERIFY
|
|
132
|
-
|
|
133
|
-
**Verification questions:**
|
|
134
|
-
1. Does output match claim exactly?
|
|
135
|
-
2. Are there any failures/errors?
|
|
136
|
-
3. Is exit code 0 (success)?
|
|
137
|
-
4. Are counts what expected?
|
|
138
|
-
5. Are there warnings to address?
|
|
139
|
-
|
|
140
|
-
**Decision tree:**
|
|
141
|
-
```
|
|
142
|
-
Output confirms claim?
|
|
143
|
-
├─ YES → Proceed to Step 5 (claim with evidence)
|
|
144
|
-
└─ NO → Report actual status with evidence
|
|
145
|
-
- Don't claim success
|
|
146
|
-
- Report what actually happened
|
|
147
|
-
- Include evidence of actual state
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
**Examples:**
|
|
151
|
-
|
|
152
|
-
✅ **Output Confirms Claim:**
|
|
153
|
-
```
|
|
154
|
-
Claim: "All tests pass"
|
|
155
|
-
Output: "34 passed, 0 failed"
|
|
156
|
-
Exit Code: 0
|
|
157
|
-
Verification: YES → Safe to claim
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
❌ **Output Contradicts Claim:**
|
|
161
|
-
```
|
|
162
|
-
Claim: "All tests pass"
|
|
163
|
-
Output: "31 passed, 3 failed"
|
|
164
|
-
Exit Code: 1
|
|
165
|
-
Verification: NO → Cannot claim
|
|
166
|
-
Correct response: "31/34 tests pass, 3 failing: test_auth, test_db, test_api"
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
### Step 5: CLAIM
|
|
170
|
-
|
|
171
|
-
**Only reach this step if:**
|
|
172
|
-
- ✅ Identified correct verification
|
|
173
|
-
- ✅ Ran complete command
|
|
174
|
-
- ✅ Read full output
|
|
175
|
-
- ✅ Output confirms claim
|
|
176
|
-
|
|
177
|
-
**How to claim:**
|
|
178
|
-
```
|
|
179
|
-
[Evidence] + [Claim]
|
|
180
|
-
|
|
181
|
-
Example: "All 34 tests pass (pytest output: 34/34 passed, exit 0)"
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
**Structure:**
|
|
185
|
-
1. State the evidence first
|
|
186
|
-
2. Then make the claim
|
|
187
|
-
3. Include specific numbers
|
|
188
|
-
4. Reference verification command
|
|
189
|
-
|
|
190
|
-
**Examples:**
|
|
191
|
-
|
|
192
|
-
✅ **Correct Claims:**
|
|
193
|
-
```
|
|
194
|
-
"pytest output: 34/34 passed → All tests pass"
|
|
195
|
-
"make build: exit 0, dist/ created → Build succeeds"
|
|
196
|
-
"ruff check: 0 errors, 0 warnings → Linter clean"
|
|
197
|
-
"curl https://api.example.com: 200 OK → Endpoint accessible"
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
❌ **Incorrect Claims:**
|
|
201
|
-
```
|
|
202
|
-
"Should pass now" ← No evidence
|
|
203
|
-
"Tests pass" ← No evidence shown
|
|
204
|
-
"Looks good" ← Subjective, no evidence
|
|
205
|
-
"Fixed!" ← No verification
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
## Common Gate Function Violations
|
|
209
|
-
|
|
210
|
-
### Violation 1: Skipping IDENTIFY
|
|
211
|
-
**Symptom:** Can't name verification command
|
|
212
|
-
**Fix:** If you can't identify verification, claim is invalid
|
|
213
|
-
|
|
214
|
-
### Violation 2: Skipping RUN
|
|
215
|
-
**Symptom:** Using old results, assuming outcomes
|
|
216
|
-
**Fix:** Fresh execution required, every time
|
|
217
|
-
|
|
218
|
-
### Violation 3: Skipping READ
|
|
219
|
-
**Symptom:** Making claims without reading output
|
|
220
|
-
**Fix:** Read COMPLETE output before claiming
|
|
221
|
-
|
|
222
|
-
### Violation 4: Skipping VERIFY
|
|
223
|
-
**Symptom:** Claiming success despite failures in output
|
|
224
|
-
**Fix:** Match output to claim, report reality
|
|
225
|
-
|
|
226
|
-
### Violation 5: Claiming Despite Failure
|
|
227
|
-
**Symptom:** Tests fail but claim "mostly works"
|
|
228
|
-
**Fix:** Report actual state: "31/34 pass, 3 failing"
|
|
229
|
-
|
|
230
|
-
## Gate Function for Different Contexts
|
|
231
|
-
|
|
232
|
-
### Before Committing
|
|
233
|
-
|
|
234
|
-
```
|
|
235
|
-
GATE CHECK:
|
|
236
|
-
1. IDENTIFY: git diff, test suite, linter
|
|
237
|
-
2. RUN: git diff && pytest && ruff check .
|
|
238
|
-
3. READ: Full output of all three
|
|
239
|
-
4. VERIFY: No uncommitted junk, all tests pass, linter clean
|
|
240
|
-
5. CLAIM: "Ready to commit" OR report issues found
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
### Before Creating PR
|
|
244
|
-
|
|
245
|
-
```
|
|
246
|
-
GATE CHECK:
|
|
247
|
-
1. IDENTIFY: Full test suite, requirements checklist, diff review
|
|
248
|
-
2. RUN: pytest && git diff main...HEAD
|
|
249
|
-
3. READ: Test results + all changes made
|
|
250
|
-
4. VERIFY: Tests pass, changes match requirements
|
|
251
|
-
5. CLAIM: "Ready for PR" OR report gaps
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
### Before Marking Task Complete
|
|
255
|
-
|
|
256
|
-
```
|
|
257
|
-
GATE CHECK:
|
|
258
|
-
1. IDENTIFY: Requirements list, verification commands
|
|
259
|
-
2. RUN: Check each requirement individually
|
|
260
|
-
3. READ: Results of each verification
|
|
261
|
-
4. VERIFY: All requirements met
|
|
262
|
-
5. CLAIM: "Task complete: 5/5 requirements met" OR "4/5 met, missing X"
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
### Before Delegating to Agent
|
|
266
|
-
|
|
267
|
-
```
|
|
268
|
-
GATE CHECK:
|
|
269
|
-
1. IDENTIFY: What agent should accomplish
|
|
270
|
-
2. RUN: Agent execution
|
|
271
|
-
3. READ: Agent report AND git diff
|
|
272
|
-
4. VERIFY: Changes match task, no surprises
|
|
273
|
-
5. CLAIM: "Agent completed X, verified by diff" OR "Agent attempted but Y issue found"
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
## The Iron Law Explained
|
|
277
|
-
|
|
278
|
-
```
|
|
279
|
-
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
**"No completion claims"** = ANY variation:
|
|
283
|
-
- "Done", "Complete", "Finished", "Success"
|
|
284
|
-
- "Fixed", "Working", "Passing", "Clean"
|
|
285
|
-
- "Ready", "Good to go", "All set"
|
|
286
|
-
- ANY paraphrase or synonym
|
|
287
|
-
|
|
288
|
-
**"Without fresh verification"** = Must have:
|
|
289
|
-
- Run command in this session
|
|
290
|
-
- Read complete output
|
|
291
|
-
- Verified results match claim
|
|
292
|
-
- Evidence is current (not stale)
|
|
293
|
-
|
|
294
|
-
**"Evidence"** = Must include:
|
|
295
|
-
- Specific command run
|
|
296
|
-
- Specific output received
|
|
297
|
-
- Specific numbers/counts
|
|
298
|
-
- Exit codes where applicable
|
|
299
|
-
|
|
300
|
-
## Why Every Step Matters
|
|
301
|
-
|
|
302
|
-
**Skip IDENTIFY:** Don't know what to verify → Can't verify → Can't claim
|
|
303
|
-
**Skip RUN:** No current evidence → Claiming based on hope → Lying
|
|
304
|
-
**Skip READ:** Don't know actual results → Assuming → Lying
|
|
305
|
-
**Skip VERIFY:** Results might contradict claim → Claiming anyway → Lying
|
|
306
|
-
**Skip any step:** Broke verification process → Cannot be trusted
|
|
307
|
-
|
|
308
|
-
## The Bottom Line
|
|
309
|
-
|
|
310
|
-
The gate function is non-negotiable. Every completion claim must pass through it.
|
|
311
|
-
|
|
312
|
-
No shortcuts. No exceptions. No assumptions.
|
|
313
|
-
|
|
314
|
-
Run the command. Read the output. Verify the result. Then claim.
|