claude-mpm 4.25.10__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 +12 -0
- claude_mpm/agents/PM_INSTRUCTIONS.md +1055 -2230
- claude_mpm/agents/PM_INSTRUCTIONS_TEACH.md +1322 -0
- claude_mpm/agents/WORKFLOW.md +4 -4
- claude_mpm/agents/__init__.py +6 -0
- claude_mpm/agents/agent_loader.py +1 -4
- claude_mpm/agents/base_agent_loader.py +10 -35
- claude_mpm/agents/templates/{circuit_breakers.md → circuit-breakers.md} +576 -66
- claude_mpm/agents/templates/context-management-examples.md +544 -0
- 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 +28 -3
- 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/auto_configure.py +537 -239
- claude_mpm/cli/commands/config.py +7 -4
- claude_mpm/cli/commands/configure.py +924 -45
- claude_mpm/cli/commands/configure_navigation.py +63 -46
- claude_mpm/cli/commands/doctor.py +10 -2
- claude_mpm/cli/commands/local_deploy.py +1 -4
- claude_mpm/cli/commands/postmortem.py +401 -0
- claude_mpm/cli/commands/run.py +1 -39
- claude_mpm/cli/commands/skill_source.py +694 -0
- claude_mpm/cli/commands/skills.py +322 -19
- claude_mpm/cli/executor.py +22 -3
- claude_mpm/cli/interactive/agent_wizard.py +1028 -43
- 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 +25 -0
- claude_mpm/cli/parsers/config_parser.py +96 -43
- claude_mpm/cli/parsers/skill_source_parser.py +169 -0
- claude_mpm/cli/parsers/skills_parser.py +7 -0
- claude_mpm/cli/parsers/source_parser.py +138 -0
- claude_mpm/cli/startup.py +456 -103
- claude_mpm/cli/startup_display.py +4 -4
- 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 +14 -2
- claude_mpm/commands/mpm-init.md +9 -0
- claude_mpm/commands/mpm-monitor.md +9 -0
- claude_mpm/commands/mpm-postmortem.md +123 -0
- claude_mpm/commands/{mpm-resume.md → mpm-session-resume.md} +9 -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 +10 -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 +1 -0
- claude_mpm/core/claude_runner.py +5 -34
- claude_mpm/core/config.py +16 -0
- 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/interactive_session.py +83 -7
- claude_mpm/core/oneshot_session.py +71 -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/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/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/models/git_repository.py +198 -0
- 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_lifecycle_manager.py +1 -5
- 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/multi_source_deployment_service.py +115 -15
- 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 +1 -4
- claude_mpm/services/agents/local_template_manager.py +47 -9
- 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/command_deployment_service.py +200 -6
- claude_mpm/services/core/base.py +7 -2
- claude_mpm/services/core/interfaces/__init__.py +1 -3
- claude_mpm/services/core/interfaces/health.py +1 -4
- claude_mpm/services/core/models/__init__.py +2 -11
- claude_mpm/services/diagnostics/checks/__init__.py +4 -0
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +7 -15
- 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 +34 -6
- 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/instructions/__init__.py +9 -0
- claude_mpm/services/instructions/instruction_cache_service.py +374 -0
- claude_mpm/services/local_ops/__init__.py +3 -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/mcp_config_manager.py +75 -145
- claude_mpm/services/mcp_gateway/core/process_pool.py +22 -16
- claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
- claude_mpm/services/mcp_service_verifier.py +6 -3
- claude_mpm/services/monitor/daemon.py +28 -8
- claude_mpm/services/monitor/daemon_manager.py +96 -19
- claude_mpm/services/pr/__init__.py +14 -0
- claude_mpm/services/pr/pr_template_service.py +329 -0
- claude_mpm/services/project/project_organizer.py +4 -0
- claude_mpm/services/runner_configuration_service.py +16 -3
- 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/socketio/server/core.py +1 -4
- claude_mpm/services/socketio/server/main.py +1 -3
- claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
- claude_mpm/services/unified/unified_deployment.py +1 -5
- claude_mpm/services/visualization/__init__.py +1 -5
- claude_mpm/templates/questions/__init__.py +2 -7
- claude_mpm/templates/questions/pr_strategy.py +1 -4
- claude_mpm/templates/questions/project_init.py +1 -4
- claude_mpm/templates/questions/ticket_mgmt.py +1 -4
- claude_mpm/utils/agent_dependency_loader.py +77 -10
- claude_mpm/utils/agent_filters.py +288 -0
- claude_mpm/utils/gitignore.py +3 -0
- claude_mpm/utils/migration.py +372 -0
- claude_mpm/utils/progress.py +387 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/METADATA +356 -112
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/RECORD +188 -439
- 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 -183
- 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 -238
- 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/javascript_engineer_agent.json +0 -380
- claude_mpm/agents/templates/local_ops_agent.json +0 -1840
- 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 -287
- claude_mpm/agents/templates/product_owner.json +0 -338
- claude_mpm/agents/templates/project_organizer.json +0 -144
- 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 -243
- claude_mpm/agents/templates/react_engineer.json +0 -239
- claude_mpm/agents/templates/refactoring_engineer.json +0 -276
- claude_mpm/agents/templates/research.json +0 -258
- 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/tauri_engineer.json +0 -274
- claude_mpm/agents/templates/ticketing.json +0 -181
- 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 -159
- claude_mpm/agents/templates/web_qa.json +0 -400
- claude_mpm/agents/templates/web_ui.json +0 -189
- claude_mpm/cli/README.md +0 -253
- claude_mpm/cli/commands/mcp_install_commands.py.backup +0 -284
- claude_mpm/cli/commands/mpm_init/README.md +0 -365
- claude_mpm/cli_module/refactoring_guide.md +0 -253
- claude_mpm/commands/mpm-tickets.md +0 -151
- claude_mpm/config/agent_capabilities.yaml +0 -658
- claude_mpm/config/async_logging_config.yaml +0 -145
- claude_mpm/core/.claude-mpm/logs/hooks_20250730.log +0 -34
- claude_mpm/d2/.gitignore +0 -22
- claude_mpm/d2/ARCHITECTURE_COMPARISON.md +0 -273
- claude_mpm/d2/FLASK_INTEGRATION.md +0 -156
- claude_mpm/d2/IMPLEMENTATION_SUMMARY.md +0 -452
- claude_mpm/d2/QUICKSTART.md +0 -186
- claude_mpm/d2/README.md +0 -232
- claude_mpm/d2/STORE_FIX_SUMMARY.md +0 -167
- claude_mpm/d2/SVELTE5_STORES_GUIDE.md +0 -180
- claude_mpm/d2/TESTING.md +0 -288
- claude_mpm/d2/index.html +0 -118
- claude_mpm/d2/package.json +0 -19
- claude_mpm/d2/src/App.svelte +0 -110
- claude_mpm/d2/src/components/Header.svelte +0 -153
- claude_mpm/d2/src/components/MainContent.svelte +0 -74
- claude_mpm/d2/src/components/Sidebar.svelte +0 -85
- claude_mpm/d2/src/components/tabs/EventsTab.svelte +0 -326
- claude_mpm/d2/src/lib/socketio.js +0 -144
- claude_mpm/d2/src/main.js +0 -7
- claude_mpm/d2/src/stores/events.js +0 -114
- claude_mpm/d2/src/stores/socket.js +0 -108
- claude_mpm/d2/src/stores/theme.js +0 -65
- claude_mpm/d2/svelte.config.js +0 -12
- claude_mpm/d2/vite.config.js +0 -15
- claude_mpm/dashboard/.claude-mpm/memories/README.md +0 -36
- claude_mpm/dashboard/BUILD_NUMBER +0 -1
- claude_mpm/dashboard/README.md +0 -121
- claude_mpm/dashboard/VERSION +0 -1
- claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
- claude_mpm/dashboard/react/components/DataInspector/DataInspector.tsx +0 -273
- claude_mpm/dashboard/react/components/ErrorBoundary.tsx +0 -75
- claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
- claude_mpm/dashboard/react/components/EventViewer/EventViewer.tsx +0 -141
- claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
- claude_mpm/dashboard/react/components/shared/ConnectionStatus.tsx +0 -36
- claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
- claude_mpm/dashboard/react/components/shared/FilterBar.tsx +0 -89
- claude_mpm/dashboard/react/contexts/DashboardContext.tsx +0 -215
- claude_mpm/dashboard/react/entries/events.tsx +0 -165
- claude_mpm/dashboard/react/hooks/useEvents.ts +0 -191
- claude_mpm/dashboard/react/hooks/useSocket.ts +0 -225
- claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
- claude_mpm/dashboard/static/built/REFACTORING_SUMMARY.md +0 -170
- 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/activity-tree.js.map +0 -1
- 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/agent-inference.js.map +0 -1
- 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-tree.js.map +0 -1
- claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/code-viewer.js.map +0 -1
- 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-processor.js.map +0 -1
- claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/event-viewer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/export-manager.js.map +0 -1
- 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-tool-tracker.js.map +0 -1
- claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/file-viewer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-library-loader.js.map +0 -1
- claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-visualizer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/module-viewer.js.map +0 -1
- 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/session-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/socket-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/ui-state-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/unified-data-viewer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
- claude_mpm/dashboard/static/built/components/working-directory.js.map +0 -1
- claude_mpm/dashboard/static/built/connection-manager.js +0 -536
- claude_mpm/dashboard/static/built/dashboard.js +0 -2
- claude_mpm/dashboard/static/built/dashboard.js.map +0 -1
- 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/react/events.js.map +0 -1
- 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/socket-client.js.map +0 -1
- claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
- claude_mpm/dashboard/static/events.html +0 -607
- claude_mpm/dashboard/static/index.html +0 -635
- claude_mpm/dashboard/static/js/REFACTORING_SUMMARY.md +0 -170
- 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/navigation-test-results.md +0 -118
- 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/templates/.claude-mpm/memories/README.md +0 -36
- claude_mpm/dashboard/templates/.claude-mpm/memories/engineer_agent.md +0 -39
- claude_mpm/dashboard/templates/.claude-mpm/memories/version_control_agent.md +0 -38
- claude_mpm/hooks/README.md +0 -143
- claude_mpm/hooks/templates/README.md +0 -180
- claude_mpm/hooks/templates/settings.json.example +0 -147
- claude_mpm/schemas/agent_schema.json +0 -596
- claude_mpm/schemas/frontmatter_schema.json +0 -165
- claude_mpm/services/event_bus/README.md +0 -244
- claude_mpm/services/events/README.md +0 -303
- claude_mpm/services/framework_claude_md_generator/README.md +0 -119
- claude_mpm/services/mcp_gateway/README.md +0 -185
- claude_mpm/services/socketio/handlers/connection.py.backup +0 -217
- claude_mpm/services/socketio/handlers/hook.py.backup +0 -154
- claude_mpm/services/static/.gitkeep +0 -2
- claude_mpm/services/version_control/VERSION +0 -1
- claude_mpm/skills/bundled/.gitkeep +0 -2
- claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -79
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -178
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +0 -577
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +0 -467
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +0 -537
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +0 -730
- claude_mpm/skills/bundled/collaboration/git-worktrees.md +0 -317
- claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -112
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +0 -146
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +0 -412
- claude_mpm/skills/bundled/collaboration/stacked-prs.md +0 -251
- claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -81
- claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +0 -362
- claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +0 -312
- claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -152
- claude_mpm/skills/bundled/debugging/root-cause-tracing/find-polluter.sh +0 -63
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +0 -668
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +0 -587
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +0 -438
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +0 -391
- 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 -131
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -325
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +0 -490
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +0 -425
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -499
- claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +0 -611
- claude_mpm/skills/bundled/infrastructure/env-manager/README.md +0 -596
- claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +0 -260
- claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +0 -315
- claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +0 -436
- claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +0 -433
- claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +0 -452
- claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +0 -404
- claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +0 -420
- claude_mpm/skills/bundled/main/artifacts-builder/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -86
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/bundle-artifact.sh +0 -54
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/init-artifact.sh +0 -322
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- claude_mpm/skills/bundled/main/internal-comms/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -43
- 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/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -160
- claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +0 -412
- 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/mcp-builder/reference/workflow.md +0 -1237
- claude_mpm/skills/bundled/main/mcp-builder/scripts/example_evaluation.xml +0 -22
- claude_mpm/skills/bundled/main/mcp-builder/scripts/requirements.txt +0 -2
- claude_mpm/skills/bundled/main/skill-creator/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -189
- claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +0 -500
- claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +0 -464
- claude_mpm/skills/bundled/main/skill-creator/references/examples.md +0 -619
- claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +0 -437
- claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +0 -231
- claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +0 -170
- claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +0 -602
- claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +0 -821
- claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +0 -742
- claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +0 -726
- claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +0 -764
- claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +0 -831
- claude_mpm/skills/bundled/react/flexlayout-react.md +0 -742
- claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +0 -226
- claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +0 -901
- claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +0 -901
- claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +0 -775
- claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +0 -937
- claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +0 -770
- claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +0 -961
- claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +0 -495
- claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +0 -599
- claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +0 -535
- claude_mpm/skills/bundled/tauri/tauri-error-handling.md +0 -613
- claude_mpm/skills/bundled/tauri/tauri-event-system.md +0 -648
- claude_mpm/skills/bundled/tauri/tauri-file-system.md +0 -673
- claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +0 -767
- claude_mpm/skills/bundled/tauri/tauri-performance.md +0 -669
- claude_mpm/skills/bundled/tauri/tauri-state-management.md +0 -573
- claude_mpm/skills/bundled/tauri/tauri-testing.md +0 -384
- claude_mpm/skills/bundled/tauri/tauri-window-management.md +0 -628
- claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -119
- claude_mpm/skills/bundled/testing/condition-based-waiting/example.ts +0 -158
- claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +0 -253
- 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/test-quality-inspector/SKILL.md +0 -458
- claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +0 -411
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +0 -317
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +0 -270
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +0 -436
- claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -140
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +0 -572
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +0 -411
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +0 -569
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +0 -695
- claude_mpm/skills/bundled/testing/webapp-testing/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -184
- claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +0 -459
- claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +0 -479
- claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +0 -687
- claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +0 -758
- claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +0 -868
- claude_mpm/templates/questions/EXAMPLES.md +0 -501
- claude_mpm/tools/README_SOCKETIO_DEBUG.md +0 -224
- claude_mpm/tools/code_tree_analyzer/README.md +0 -64
- /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/{pm_red_flags.md → pm-red-flags.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.25.10.dist-info → claude_mpm-5.1.8.dist-info}/WHEEL +0 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/top_level.txt +0 -0
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Event Debug Monitor</title>
|
|
7
|
-
<script src="/static/socket.io.min.js"></script>
|
|
8
|
-
<style>
|
|
9
|
-
body {
|
|
10
|
-
font-family: monospace;
|
|
11
|
-
background: #1e1e1e;
|
|
12
|
-
color: #00ff00;
|
|
13
|
-
padding: 20px;
|
|
14
|
-
}
|
|
15
|
-
.event {
|
|
16
|
-
border: 1px solid #00ff00;
|
|
17
|
-
margin: 10px 0;
|
|
18
|
-
padding: 10px;
|
|
19
|
-
background: rgba(0, 255, 0, 0.1);
|
|
20
|
-
}
|
|
21
|
-
.event-type {
|
|
22
|
-
color: #ffff00;
|
|
23
|
-
font-weight: bold;
|
|
24
|
-
}
|
|
25
|
-
.event-data {
|
|
26
|
-
margin-top: 5px;
|
|
27
|
-
white-space: pre-wrap;
|
|
28
|
-
}
|
|
29
|
-
h1 {
|
|
30
|
-
color: #00ff00;
|
|
31
|
-
}
|
|
32
|
-
.status {
|
|
33
|
-
padding: 10px;
|
|
34
|
-
margin: 10px 0;
|
|
35
|
-
border: 1px solid #00ff00;
|
|
36
|
-
}
|
|
37
|
-
.connected {
|
|
38
|
-
background: rgba(0, 255, 0, 0.2);
|
|
39
|
-
}
|
|
40
|
-
.disconnected {
|
|
41
|
-
background: rgba(255, 0, 0, 0.2);
|
|
42
|
-
}
|
|
43
|
-
</style>
|
|
44
|
-
</head>
|
|
45
|
-
<body>
|
|
46
|
-
<h1>🔍 Event Debug Monitor</h1>
|
|
47
|
-
<div id="status" class="status disconnected">Disconnected</div>
|
|
48
|
-
<button onclick="sendTestEvents()">Send Test Events</button>
|
|
49
|
-
<button onclick="clearEvents()">Clear</button>
|
|
50
|
-
<div id="events"></div>
|
|
51
|
-
|
|
52
|
-
<script>
|
|
53
|
-
const socket = io('http://localhost:8765', {
|
|
54
|
-
transports: ['polling', 'websocket'],
|
|
55
|
-
reconnection: true
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
let eventCount = 0;
|
|
59
|
-
|
|
60
|
-
socket.on('connect', () => {
|
|
61
|
-
console.log('Connected!');
|
|
62
|
-
document.getElementById('status').className = 'status connected';
|
|
63
|
-
document.getElementById('status').textContent = 'Connected to Socket.IO';
|
|
64
|
-
addEvent('SYSTEM', { message: 'Connected to server' });
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
socket.on('disconnect', () => {
|
|
68
|
-
console.log('Disconnected!');
|
|
69
|
-
document.getElementById('status').className = 'status disconnected';
|
|
70
|
-
document.getElementById('status').textContent = 'Disconnected';
|
|
71
|
-
addEvent('SYSTEM', { message: 'Disconnected from server' });
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
// Listen to ALL events
|
|
75
|
-
socket.onAny((eventName, data) => {
|
|
76
|
-
console.log(`Event: ${eventName}`, data);
|
|
77
|
-
addEvent(eventName, data);
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
function addEvent(type, data) {
|
|
81
|
-
eventCount++;
|
|
82
|
-
const eventsDiv = document.getElementById('events');
|
|
83
|
-
const eventDiv = document.createElement('div');
|
|
84
|
-
eventDiv.className = 'event';
|
|
85
|
-
eventDiv.innerHTML = `
|
|
86
|
-
<div class="event-type">#${eventCount} Event: ${type}</div>
|
|
87
|
-
<div class="event-data">${JSON.stringify(data, null, 2)}</div>
|
|
88
|
-
`;
|
|
89
|
-
eventsDiv.insertBefore(eventDiv, eventsDiv.firstChild);
|
|
90
|
-
|
|
91
|
-
// Keep only last 50 events
|
|
92
|
-
while (eventsDiv.children.length > 50) {
|
|
93
|
-
eventsDiv.removeChild(eventsDiv.lastChild);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
function sendTestEvents() {
|
|
98
|
-
// Send various test events
|
|
99
|
-
const testEvents = [
|
|
100
|
-
// Agent events
|
|
101
|
-
{
|
|
102
|
-
type: 'SubagentStart',
|
|
103
|
-
agent_id: 'test_agent_' + Date.now(),
|
|
104
|
-
agent_name: 'Test Agent',
|
|
105
|
-
task: 'Testing event system',
|
|
106
|
-
timestamp: new Date().toISOString()
|
|
107
|
-
},
|
|
108
|
-
// Tool events
|
|
109
|
-
{
|
|
110
|
-
type: 'ToolCall',
|
|
111
|
-
tool_name: 'TestTool',
|
|
112
|
-
agent_name: 'Test Agent',
|
|
113
|
-
parameters: { test: true },
|
|
114
|
-
timestamp: new Date().toISOString()
|
|
115
|
-
},
|
|
116
|
-
// File events
|
|
117
|
-
{
|
|
118
|
-
type: 'file_read',
|
|
119
|
-
file_path: '/test/file.txt',
|
|
120
|
-
operation: 'read',
|
|
121
|
-
timestamp: new Date().toISOString()
|
|
122
|
-
}
|
|
123
|
-
];
|
|
124
|
-
|
|
125
|
-
testEvents.forEach((event, index) => {
|
|
126
|
-
setTimeout(() => {
|
|
127
|
-
console.log('Sending test event:', event);
|
|
128
|
-
socket.emit('claude_event', event);
|
|
129
|
-
addEvent('SENT: claude_event', event);
|
|
130
|
-
}, index * 500);
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
function clearEvents() {
|
|
135
|
-
document.getElementById('events').innerHTML = '';
|
|
136
|
-
eventCount = 0;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
// Request history on connect
|
|
140
|
-
socket.on('connect', () => {
|
|
141
|
-
setTimeout(() => {
|
|
142
|
-
socket.emit('get_history', { type: 'all', limit: 10 });
|
|
143
|
-
}, 1000);
|
|
144
|
-
});
|
|
145
|
-
</script>
|
|
146
|
-
</body>
|
|
147
|
-
</html>
|
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Navigation Test - Claude MPM</title>
|
|
7
|
-
<style>
|
|
8
|
-
* {
|
|
9
|
-
margin: 0;
|
|
10
|
-
padding: 0;
|
|
11
|
-
box-sizing: border-box;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
body {
|
|
15
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
16
|
-
background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
|
|
17
|
-
color: #e0e0e0;
|
|
18
|
-
min-height: 100vh;
|
|
19
|
-
padding: 20px;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.container {
|
|
23
|
-
max-width: 1400px;
|
|
24
|
-
margin: 0 auto;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
h1 {
|
|
28
|
-
margin: 20px 0;
|
|
29
|
-
font-size: 28px;
|
|
30
|
-
background: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);
|
|
31
|
-
-webkit-background-clip: text;
|
|
32
|
-
-webkit-text-fill-color: transparent;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.test-section {
|
|
36
|
-
background: rgba(255, 255, 255, 0.05);
|
|
37
|
-
backdrop-filter: blur(10px);
|
|
38
|
-
border-radius: 12px;
|
|
39
|
-
padding: 20px;
|
|
40
|
-
margin: 20px 0;
|
|
41
|
-
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.test-title {
|
|
45
|
-
font-size: 18px;
|
|
46
|
-
margin-bottom: 15px;
|
|
47
|
-
color: #10b981;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.iframe-container {
|
|
51
|
-
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
52
|
-
border-radius: 8px;
|
|
53
|
-
overflow: hidden;
|
|
54
|
-
margin: 10px 0;
|
|
55
|
-
height: 150px;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
iframe {
|
|
59
|
-
width: 100%;
|
|
60
|
-
height: 100%;
|
|
61
|
-
border: none;
|
|
62
|
-
background: transparent;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.page-label {
|
|
66
|
-
font-size: 14px;
|
|
67
|
-
color: #94a3b8;
|
|
68
|
-
margin: 5px 0;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.status {
|
|
72
|
-
display: inline-block;
|
|
73
|
-
padding: 4px 12px;
|
|
74
|
-
border-radius: 15px;
|
|
75
|
-
font-size: 12px;
|
|
76
|
-
font-weight: 600;
|
|
77
|
-
margin-left: 10px;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.status.pass {
|
|
81
|
-
background: rgba(16, 185, 129, 0.2);
|
|
82
|
-
color: #4ade80;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
.status.fail {
|
|
86
|
-
background: rgba(239, 68, 68, 0.2);
|
|
87
|
-
color: #f87171;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.summary {
|
|
91
|
-
background: rgba(16, 185, 129, 0.1);
|
|
92
|
-
border: 1px solid rgba(16, 185, 129, 0.3);
|
|
93
|
-
border-radius: 8px;
|
|
94
|
-
padding: 15px;
|
|
95
|
-
margin-top: 20px;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.summary-title {
|
|
99
|
-
font-size: 16px;
|
|
100
|
-
font-weight: 600;
|
|
101
|
-
margin-bottom: 10px;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.summary-item {
|
|
105
|
-
margin: 5px 0;
|
|
106
|
-
font-size: 14px;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
.check-icon {
|
|
110
|
-
color: #4ade80;
|
|
111
|
-
margin-right: 8px;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
.cross-icon {
|
|
115
|
-
color: #f87171;
|
|
116
|
-
margin-right: 8px;
|
|
117
|
-
}
|
|
118
|
-
</style>
|
|
119
|
-
</head>
|
|
120
|
-
<body>
|
|
121
|
-
<div class="container">
|
|
122
|
-
<h1>🧪 Navigation Consistency Test</h1>
|
|
123
|
-
|
|
124
|
-
<div class="test-section">
|
|
125
|
-
<div class="test-title">Navigation Bar Component Test</div>
|
|
126
|
-
<div id="test-navigation"></div>
|
|
127
|
-
</div>
|
|
128
|
-
|
|
129
|
-
<div class="test-section">
|
|
130
|
-
<div class="test-title">Dashboard Pages Navigation Preview</div>
|
|
131
|
-
|
|
132
|
-
<div class="page-label">
|
|
133
|
-
Activity Dashboard (activity.html)
|
|
134
|
-
<span class="status pass" id="activity-status">Loading...</span>
|
|
135
|
-
</div>
|
|
136
|
-
<div class="iframe-container">
|
|
137
|
-
<iframe src="/static/activity.html" id="activity-frame"></iframe>
|
|
138
|
-
</div>
|
|
139
|
-
|
|
140
|
-
<div class="page-label">
|
|
141
|
-
Events Monitor (events.html)
|
|
142
|
-
<span class="status pass" id="events-status">Loading...</span>
|
|
143
|
-
</div>
|
|
144
|
-
<div class="iframe-container">
|
|
145
|
-
<iframe src="/static/events.html" id="events-frame"></iframe>
|
|
146
|
-
</div>
|
|
147
|
-
|
|
148
|
-
<div class="page-label">
|
|
149
|
-
Agents Monitor (agents.html)
|
|
150
|
-
<span class="status pass" id="agents-status">Loading...</span>
|
|
151
|
-
</div>
|
|
152
|
-
<div class="iframe-container">
|
|
153
|
-
<iframe src="/static/agents.html" id="agents-frame"></iframe>
|
|
154
|
-
</div>
|
|
155
|
-
|
|
156
|
-
<div class="page-label">
|
|
157
|
-
Tools Monitor (tools.html)
|
|
158
|
-
<span class="status pass" id="tools-status">Loading...</span>
|
|
159
|
-
</div>
|
|
160
|
-
<div class="iframe-container">
|
|
161
|
-
<iframe src="/static/tools.html" id="tools-frame"></iframe>
|
|
162
|
-
</div>
|
|
163
|
-
|
|
164
|
-
<div class="page-label">
|
|
165
|
-
Files Monitor (files.html)
|
|
166
|
-
<span class="status pass" id="files-status">Loading...</span>
|
|
167
|
-
</div>
|
|
168
|
-
<div class="iframe-container">
|
|
169
|
-
<iframe src="/static/files.html" id="files-frame"></iframe>
|
|
170
|
-
</div>
|
|
171
|
-
</div>
|
|
172
|
-
|
|
173
|
-
<div class="test-section summary">
|
|
174
|
-
<div class="summary-title">✅ Test Summary</div>
|
|
175
|
-
<div id="test-results">
|
|
176
|
-
<div class="summary-item">Checking navigation consistency...</div>
|
|
177
|
-
</div>
|
|
178
|
-
</div>
|
|
179
|
-
</div>
|
|
180
|
-
|
|
181
|
-
<script type="module">
|
|
182
|
-
import { NavBar } from '/static/built/components/nav-bar.js';
|
|
183
|
-
|
|
184
|
-
// Test navigation component
|
|
185
|
-
const navBar = new NavBar();
|
|
186
|
-
navBar.initialize('test-navigation');
|
|
187
|
-
|
|
188
|
-
// Function to check navigation in iframe
|
|
189
|
-
function checkNavigation(frameId, statusId, pageName) {
|
|
190
|
-
const frame = document.getElementById(frameId);
|
|
191
|
-
const status = document.getElementById(statusId);
|
|
192
|
-
|
|
193
|
-
frame.onload = () => {
|
|
194
|
-
try {
|
|
195
|
-
const navContainer = frame.contentDocument.getElementById('navigation-container');
|
|
196
|
-
if (navContainer && navContainer.children.length > 0) {
|
|
197
|
-
status.textContent = 'Navigation Loaded';
|
|
198
|
-
status.className = 'status pass';
|
|
199
|
-
return true;
|
|
200
|
-
} else {
|
|
201
|
-
status.textContent = 'Navigation Missing';
|
|
202
|
-
status.className = 'status fail';
|
|
203
|
-
return false;
|
|
204
|
-
}
|
|
205
|
-
} catch (e) {
|
|
206
|
-
status.textContent = 'Error';
|
|
207
|
-
status.className = 'status fail';
|
|
208
|
-
return false;
|
|
209
|
-
}
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
// Check each page
|
|
214
|
-
const pages = [
|
|
215
|
-
{ frame: 'activity-frame', status: 'activity-status', name: 'Activity' },
|
|
216
|
-
{ frame: 'events-frame', status: 'events-status', name: 'Events' },
|
|
217
|
-
{ frame: 'agents-frame', status: 'agents-status', name: 'Agents' },
|
|
218
|
-
{ frame: 'tools-frame', status: 'tools-status', name: 'Tools' },
|
|
219
|
-
{ frame: 'files-frame', status: 'files-status', name: 'Files' }
|
|
220
|
-
];
|
|
221
|
-
|
|
222
|
-
pages.forEach(page => {
|
|
223
|
-
checkNavigation(page.frame, page.status, page.name);
|
|
224
|
-
});
|
|
225
|
-
|
|
226
|
-
// Update summary after a delay
|
|
227
|
-
setTimeout(() => {
|
|
228
|
-
const results = document.getElementById('test-results');
|
|
229
|
-
const passCount = document.querySelectorAll('.status.pass').length;
|
|
230
|
-
const totalCount = pages.length;
|
|
231
|
-
|
|
232
|
-
results.innerHTML = `
|
|
233
|
-
<div class="summary-item">
|
|
234
|
-
<span class="check-icon">✓</span>
|
|
235
|
-
Navigation component loaded successfully
|
|
236
|
-
</div>
|
|
237
|
-
<div class="summary-item">
|
|
238
|
-
<span class="check-icon">✓</span>
|
|
239
|
-
All 5 dashboard views have navigation containers
|
|
240
|
-
</div>
|
|
241
|
-
<div class="summary-item">
|
|
242
|
-
<span class="check-icon">✓</span>
|
|
243
|
-
Navigation tabs are consistent across all pages
|
|
244
|
-
</div>
|
|
245
|
-
<div class="summary-item">
|
|
246
|
-
<span class="check-icon">✓</span>
|
|
247
|
-
Active tab highlighting works correctly
|
|
248
|
-
</div>
|
|
249
|
-
<div class="summary-item">
|
|
250
|
-
<strong>Result: ${passCount}/${totalCount} pages passed navigation test</strong>
|
|
251
|
-
</div>
|
|
252
|
-
`;
|
|
253
|
-
}, 3000);
|
|
254
|
-
</script>
|
|
255
|
-
</body>
|
|
256
|
-
</html>
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>React Export Test</title>
|
|
7
|
-
<style>
|
|
8
|
-
body {
|
|
9
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
10
|
-
max-width: 800px;
|
|
11
|
-
margin: 50px auto;
|
|
12
|
-
padding: 20px;
|
|
13
|
-
background: #1e1e1e;
|
|
14
|
-
color: #d4d4d4;
|
|
15
|
-
}
|
|
16
|
-
h1 {
|
|
17
|
-
color: #4fc3f7;
|
|
18
|
-
}
|
|
19
|
-
.test-section {
|
|
20
|
-
background: #2d2d2d;
|
|
21
|
-
border: 1px solid #3e3e3e;
|
|
22
|
-
border-radius: 8px;
|
|
23
|
-
padding: 20px;
|
|
24
|
-
margin: 20px 0;
|
|
25
|
-
}
|
|
26
|
-
.test-result {
|
|
27
|
-
font-family: 'Courier New', monospace;
|
|
28
|
-
background: #1e1e1e;
|
|
29
|
-
padding: 10px;
|
|
30
|
-
border-radius: 4px;
|
|
31
|
-
margin: 10px 0;
|
|
32
|
-
}
|
|
33
|
-
.success {
|
|
34
|
-
color: #4ade80;
|
|
35
|
-
}
|
|
36
|
-
.error {
|
|
37
|
-
color: #f87171;
|
|
38
|
-
}
|
|
39
|
-
.pending {
|
|
40
|
-
color: #fbbf24;
|
|
41
|
-
}
|
|
42
|
-
button {
|
|
43
|
-
background: #4fc3f7;
|
|
44
|
-
color: white;
|
|
45
|
-
border: none;
|
|
46
|
-
padding: 10px 20px;
|
|
47
|
-
border-radius: 4px;
|
|
48
|
-
cursor: pointer;
|
|
49
|
-
margin: 5px;
|
|
50
|
-
}
|
|
51
|
-
button:hover {
|
|
52
|
-
background: #29b6f6;
|
|
53
|
-
}
|
|
54
|
-
#react-events-root {
|
|
55
|
-
min-height: 100px;
|
|
56
|
-
border: 2px dashed #3e3e3e;
|
|
57
|
-
padding: 20px;
|
|
58
|
-
margin: 20px 0;
|
|
59
|
-
border-radius: 8px;
|
|
60
|
-
}
|
|
61
|
-
</style>
|
|
62
|
-
</head>
|
|
63
|
-
<body>
|
|
64
|
-
<h1>React Export Test Page</h1>
|
|
65
|
-
|
|
66
|
-
<div class="test-section">
|
|
67
|
-
<h2>Test Results</h2>
|
|
68
|
-
<div id="test-results"></div>
|
|
69
|
-
</div>
|
|
70
|
-
|
|
71
|
-
<div class="test-section">
|
|
72
|
-
<h2>Actions</h2>
|
|
73
|
-
<button onclick="runAllTests()">Run All Tests</button>
|
|
74
|
-
<button onclick="initializeReact()">Initialize React Component</button>
|
|
75
|
-
<button onclick="checkConsole()">Check Console Output</button>
|
|
76
|
-
</div>
|
|
77
|
-
|
|
78
|
-
<div class="test-section">
|
|
79
|
-
<h2>React Component Container</h2>
|
|
80
|
-
<div id="react-events-root">
|
|
81
|
-
<p class="pending">React component will be rendered here...</p>
|
|
82
|
-
</div>
|
|
83
|
-
</div>
|
|
84
|
-
|
|
85
|
-
<!-- Load React and ReactDOM from CDN -->
|
|
86
|
-
<script crossorigin src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
|
|
87
|
-
<script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script>
|
|
88
|
-
|
|
89
|
-
<!-- Load the React events component -->
|
|
90
|
-
<script type="module">
|
|
91
|
-
import('/static/dist/react/events.js').then(module => {
|
|
92
|
-
console.log('React events module loaded:', module);
|
|
93
|
-
window.reactEventsModule = module;
|
|
94
|
-
}).catch(error => {
|
|
95
|
-
console.error('Failed to load React events module:', error);
|
|
96
|
-
});
|
|
97
|
-
</script>
|
|
98
|
-
|
|
99
|
-
<script>
|
|
100
|
-
const results = document.getElementById('test-results');
|
|
101
|
-
|
|
102
|
-
function addResult(test, result, success) {
|
|
103
|
-
const div = document.createElement('div');
|
|
104
|
-
div.className = `test-result ${success ? 'success' : 'error'}`;
|
|
105
|
-
div.textContent = `${success ? '✓' : '✗'} ${test}: ${result}`;
|
|
106
|
-
results.appendChild(div);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
function clearResults() {
|
|
110
|
-
results.innerHTML = '';
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
function runAllTests() {
|
|
114
|
-
clearResults();
|
|
115
|
-
console.log('Running all tests...');
|
|
116
|
-
|
|
117
|
-
// Test 1: Check if window.initializeReactEvents exists
|
|
118
|
-
const test1 = typeof window.initializeReactEvents;
|
|
119
|
-
addResult('window.initializeReactEvents type', test1, test1 === 'function');
|
|
120
|
-
|
|
121
|
-
// Test 2: Check if window.ClaudeMPMReact exists
|
|
122
|
-
const test2 = typeof window.ClaudeMPMReact;
|
|
123
|
-
addResult('window.ClaudeMPMReact type', test2, test2 === 'object');
|
|
124
|
-
|
|
125
|
-
// Test 3: Check if function exists in namespace
|
|
126
|
-
const test3 = window.ClaudeMPMReact ? typeof window.ClaudeMPMReact.initializeReactEvents : 'namespace not found';
|
|
127
|
-
addResult('ClaudeMPMReact.initializeReactEvents type', test3, test3 === 'function');
|
|
128
|
-
|
|
129
|
-
// Test 4: Check if React root element exists
|
|
130
|
-
const test4 = document.getElementById('react-events-root') !== null;
|
|
131
|
-
addResult('React root element exists', test4, test4);
|
|
132
|
-
|
|
133
|
-
// Test 5: Check if React module was imported
|
|
134
|
-
const test5 = typeof window.reactEventsModule;
|
|
135
|
-
addResult('React events module loaded', test5, test5 === 'object');
|
|
136
|
-
|
|
137
|
-
// Test 6: Check if React is available globally
|
|
138
|
-
const test6 = typeof window.React;
|
|
139
|
-
addResult('React library available', test6, test6 === 'object');
|
|
140
|
-
|
|
141
|
-
// Test 7: Check if ReactDOM is available globally
|
|
142
|
-
const test7 = typeof window.ReactDOM;
|
|
143
|
-
addResult('ReactDOM library available', test7, test7 === 'object');
|
|
144
|
-
|
|
145
|
-
console.log('All tests completed. Check results above.');
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
function initializeReact() {
|
|
149
|
-
console.log('Attempting to initialize React component...');
|
|
150
|
-
|
|
151
|
-
if (typeof window.initializeReactEvents === 'function') {
|
|
152
|
-
const result = window.initializeReactEvents();
|
|
153
|
-
addResult('React initialization', `Returned: ${result}`, result === true);
|
|
154
|
-
console.log('React initialization result:', result);
|
|
155
|
-
} else {
|
|
156
|
-
addResult('React initialization', 'Function not found', false);
|
|
157
|
-
console.error('initializeReactEvents function not found on window');
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
function checkConsole() {
|
|
162
|
-
console.log('Console output check:');
|
|
163
|
-
console.log('- window.initializeReactEvents:', window.initializeReactEvents);
|
|
164
|
-
console.log('- window.ClaudeMPMReact:', window.ClaudeMPMReact);
|
|
165
|
-
console.log('- window.reactEventsModule:', window.reactEventsModule);
|
|
166
|
-
console.log('- React root element:', document.getElementById('react-events-root'));
|
|
167
|
-
|
|
168
|
-
addResult('Console check', 'Check browser console for output', true);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
// Auto-run tests after page loads
|
|
172
|
-
window.addEventListener('load', () => {
|
|
173
|
-
setTimeout(() => {
|
|
174
|
-
console.log('Page loaded, running initial tests...');
|
|
175
|
-
runAllTests();
|
|
176
|
-
}, 1000); // Give time for modules to load
|
|
177
|
-
});
|
|
178
|
-
</script>
|
|
179
|
-
</body>
|
|
180
|
-
</html>
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# Agent Memory System
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Each agent maintains project-specific knowledge in these files. Agents read their memory file before tasks and update it when they learn something new.
|
|
5
|
-
|
|
6
|
-
## Manual Editing
|
|
7
|
-
Feel free to edit these files to:
|
|
8
|
-
- Add project-specific guidelines
|
|
9
|
-
- Remove outdated information
|
|
10
|
-
- Reorganize for better clarity
|
|
11
|
-
- Add domain-specific knowledge
|
|
12
|
-
|
|
13
|
-
## Memory Limits
|
|
14
|
-
- Max file size: 8KB (~2000 tokens)
|
|
15
|
-
- Max sections: 10
|
|
16
|
-
- Max items per section: 15
|
|
17
|
-
- Files auto-truncate when limits exceeded
|
|
18
|
-
|
|
19
|
-
## File Format
|
|
20
|
-
Standard markdown with structured sections. Agents expect:
|
|
21
|
-
- Project Architecture
|
|
22
|
-
- Implementation Guidelines
|
|
23
|
-
- Common Mistakes to Avoid
|
|
24
|
-
- Current Technical Context
|
|
25
|
-
|
|
26
|
-
## How It Works
|
|
27
|
-
1. Agents read their memory file before starting tasks
|
|
28
|
-
2. Agents add learnings during or after task completion
|
|
29
|
-
3. Files automatically enforce size limits
|
|
30
|
-
4. Developers can manually edit for accuracy
|
|
31
|
-
|
|
32
|
-
## Memory File Lifecycle
|
|
33
|
-
- Created automatically when agent first runs
|
|
34
|
-
- Updated through hook system after delegations
|
|
35
|
-
- Manually editable by developers
|
|
36
|
-
- Version controlled with project
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# Engineer Agent Memory - templates
|
|
2
|
-
|
|
3
|
-
<!-- MEMORY LIMITS: 8KB max | 10 sections max | 15 items per section -->
|
|
4
|
-
<!-- Last Updated: 2025-08-07 18:26:34 | Auto-updated by: engineer -->
|
|
5
|
-
|
|
6
|
-
## Project Context
|
|
7
|
-
templates: mixed standard application
|
|
8
|
-
|
|
9
|
-
## Project Architecture
|
|
10
|
-
- Standard Application with mixed implementation
|
|
11
|
-
|
|
12
|
-
## Coding Patterns Learned
|
|
13
|
-
<!-- Items will be added as knowledge accumulates -->
|
|
14
|
-
|
|
15
|
-
## Implementation Guidelines
|
|
16
|
-
<!-- Items will be added as knowledge accumulates -->
|
|
17
|
-
|
|
18
|
-
## Domain-Specific Knowledge
|
|
19
|
-
<!-- Agent-specific knowledge for templates domain -->
|
|
20
|
-
- Key project terms: templates
|
|
21
|
-
- Focus on implementation patterns, coding standards, and best practices
|
|
22
|
-
|
|
23
|
-
## Effective Strategies
|
|
24
|
-
<!-- Successful approaches discovered through experience -->
|
|
25
|
-
|
|
26
|
-
## Common Mistakes to Avoid
|
|
27
|
-
<!-- Items will be added as knowledge accumulates -->
|
|
28
|
-
|
|
29
|
-
## Integration Points
|
|
30
|
-
<!-- Items will be added as knowledge accumulates -->
|
|
31
|
-
|
|
32
|
-
## Performance Considerations
|
|
33
|
-
<!-- Items will be added as knowledge accumulates -->
|
|
34
|
-
|
|
35
|
-
## Current Technical Context
|
|
36
|
-
<!-- Items will be added as knowledge accumulates -->
|
|
37
|
-
|
|
38
|
-
## Recent Learnings
|
|
39
|
-
<!-- Most recent discoveries and insights -->
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# Version Control Agent Memory - templates
|
|
2
|
-
|
|
3
|
-
<!-- MEMORY LIMITS: 8KB max | 10 sections max | 15 items per section -->
|
|
4
|
-
<!-- Last Updated: 2025-08-07 18:28:51 | Auto-updated by: version_control -->
|
|
5
|
-
|
|
6
|
-
## Project Context
|
|
7
|
-
templates: mixed standard application
|
|
8
|
-
|
|
9
|
-
## Project Architecture
|
|
10
|
-
- Standard Application with mixed implementation
|
|
11
|
-
|
|
12
|
-
## Coding Patterns Learned
|
|
13
|
-
<!-- Items will be added as knowledge accumulates -->
|
|
14
|
-
|
|
15
|
-
## Implementation Guidelines
|
|
16
|
-
<!-- Items will be added as knowledge accumulates -->
|
|
17
|
-
|
|
18
|
-
## Domain-Specific Knowledge
|
|
19
|
-
<!-- Agent-specific knowledge for templates domain -->
|
|
20
|
-
- Key project terms: templates
|
|
21
|
-
|
|
22
|
-
## Effective Strategies
|
|
23
|
-
<!-- Successful approaches discovered through experience -->
|
|
24
|
-
|
|
25
|
-
## Common Mistakes to Avoid
|
|
26
|
-
<!-- Items will be added as knowledge accumulates -->
|
|
27
|
-
|
|
28
|
-
## Integration Points
|
|
29
|
-
<!-- Items will be added as knowledge accumulates -->
|
|
30
|
-
|
|
31
|
-
## Performance Considerations
|
|
32
|
-
<!-- Items will be added as knowledge accumulates -->
|
|
33
|
-
|
|
34
|
-
## Current Technical Context
|
|
35
|
-
<!-- Items will be added as knowledge accumulates -->
|
|
36
|
-
|
|
37
|
-
## Recent Learnings
|
|
38
|
-
<!-- Most recent discoveries and insights -->
|