#
tokens: 31571/50000 1/625 files (page 43/47)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 43 of 47. Use http://codebase.md/doobidoo/mcp-memory-service?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .claude
│   ├── agents
│   │   ├── amp-bridge.md
│   │   ├── amp-pr-automator.md
│   │   ├── code-quality-guard.md
│   │   ├── gemini-pr-automator.md
│   │   └── github-release-manager.md
│   ├── settings.local.json.backup
│   └── settings.local.json.local
├── .commit-message
├── .dockerignore
├── .env.example
├── .env.sqlite.backup
├── .envnn#
├── .gitattributes
├── .github
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   ├── feature_request.yml
│   │   └── performance_issue.yml
│   ├── pull_request_template.md
│   └── workflows
│       ├── bridge-tests.yml
│       ├── CACHE_FIX.md
│       ├── claude-code-review.yml
│       ├── claude.yml
│       ├── cleanup-images.yml.disabled
│       ├── dev-setup-validation.yml
│       ├── docker-publish.yml
│       ├── LATEST_FIXES.md
│       ├── main-optimized.yml.disabled
│       ├── main.yml
│       ├── publish-and-test.yml
│       ├── README_OPTIMIZATION.md
│       ├── release-tag.yml.disabled
│       ├── release.yml
│       ├── roadmap-review-reminder.yml
│       ├── SECRET_CONDITIONAL_FIX.md
│       └── WORKFLOW_FIXES.md
├── .gitignore
├── .mcp.json.backup
├── .mcp.json.template
├── .pyscn
│   ├── .gitignore
│   └── reports
│       └── analyze_20251123_214224.html
├── AGENTS.md
├── archive
│   ├── deployment
│   │   ├── deploy_fastmcp_fixed.sh
│   │   ├── deploy_http_with_mcp.sh
│   │   └── deploy_mcp_v4.sh
│   ├── deployment-configs
│   │   ├── empty_config.yml
│   │   └── smithery.yaml
│   ├── development
│   │   └── test_fastmcp.py
│   ├── docs-removed-2025-08-23
│   │   ├── authentication.md
│   │   ├── claude_integration.md
│   │   ├── claude-code-compatibility.md
│   │   ├── claude-code-integration.md
│   │   ├── claude-code-quickstart.md
│   │   ├── claude-desktop-setup.md
│   │   ├── complete-setup-guide.md
│   │   ├── database-synchronization.md
│   │   ├── development
│   │   │   ├── autonomous-memory-consolidation.md
│   │   │   ├── CLEANUP_PLAN.md
│   │   │   ├── CLEANUP_README.md
│   │   │   ├── CLEANUP_SUMMARY.md
│   │   │   ├── dream-inspired-memory-consolidation.md
│   │   │   ├── hybrid-slm-memory-consolidation.md
│   │   │   ├── mcp-milestone.md
│   │   │   ├── multi-client-architecture.md
│   │   │   ├── test-results.md
│   │   │   └── TIMESTAMP_FIX_SUMMARY.md
│   │   ├── distributed-sync.md
│   │   ├── invocation_guide.md
│   │   ├── macos-intel.md
│   │   ├── master-guide.md
│   │   ├── mcp-client-configuration.md
│   │   ├── multi-client-server.md
│   │   ├── service-installation.md
│   │   ├── sessions
│   │   │   └── MCP_ENHANCEMENT_SESSION_MEMORY_v4.1.0.md
│   │   ├── UBUNTU_SETUP.md
│   │   ├── ubuntu.md
│   │   ├── windows-setup.md
│   │   └── windows.md
│   ├── docs-root-cleanup-2025-08-23
│   │   ├── AWESOME_LIST_SUBMISSION.md
│   │   ├── CLOUDFLARE_IMPLEMENTATION.md
│   │   ├── DOCUMENTATION_ANALYSIS.md
│   │   ├── DOCUMENTATION_CLEANUP_PLAN.md
│   │   ├── DOCUMENTATION_CONSOLIDATION_COMPLETE.md
│   │   ├── LITESTREAM_SETUP_GUIDE.md
│   │   ├── lm_studio_system_prompt.md
│   │   ├── PYTORCH_DOWNLOAD_FIX.md
│   │   └── README-ORIGINAL-BACKUP.md
│   ├── investigations
│   │   └── MACOS_HOOKS_INVESTIGATION.md
│   ├── litestream-configs-v6.3.0
│   │   ├── install_service.sh
│   │   ├── litestream_master_config_fixed.yml
│   │   ├── litestream_master_config.yml
│   │   ├── litestream_replica_config_fixed.yml
│   │   ├── litestream_replica_config.yml
│   │   ├── litestream_replica_simple.yml
│   │   ├── litestream-http.service
│   │   ├── litestream.service
│   │   └── requirements-cloudflare.txt
│   ├── release-notes
│   │   └── release-notes-v7.1.4.md
│   └── setup-development
│       ├── README.md
│       ├── setup_consolidation_mdns.sh
│       ├── STARTUP_SETUP_GUIDE.md
│       └── test_service.sh
├── CHANGELOG-HISTORIC.md
├── CHANGELOG.md
├── claude_commands
│   ├── memory-context.md
│   ├── memory-health.md
│   ├── memory-ingest-dir.md
│   ├── memory-ingest.md
│   ├── memory-recall.md
│   ├── memory-search.md
│   ├── memory-store.md
│   ├── README.md
│   └── session-start.md
├── claude-hooks
│   ├── config.json
│   ├── config.template.json
│   ├── CONFIGURATION.md
│   ├── core
│   │   ├── memory-retrieval.js
│   │   ├── mid-conversation.js
│   │   ├── session-end.js
│   │   ├── session-start.js
│   │   └── topic-change.js
│   ├── debug-pattern-test.js
│   ├── install_claude_hooks_windows.ps1
│   ├── install_hooks.py
│   ├── memory-mode-controller.js
│   ├── MIGRATION.md
│   ├── README-NATURAL-TRIGGERS.md
│   ├── README-phase2.md
│   ├── README.md
│   ├── simple-test.js
│   ├── statusline.sh
│   ├── test-adaptive-weights.js
│   ├── test-dual-protocol-hook.js
│   ├── test-mcp-hook.js
│   ├── test-natural-triggers.js
│   ├── test-recency-scoring.js
│   ├── tests
│   │   ├── integration-test.js
│   │   ├── phase2-integration-test.js
│   │   ├── test-code-execution.js
│   │   ├── test-cross-session.json
│   │   ├── test-session-tracking.json
│   │   └── test-threading.json
│   ├── utilities
│   │   ├── adaptive-pattern-detector.js
│   │   ├── context-formatter.js
│   │   ├── context-shift-detector.js
│   │   ├── conversation-analyzer.js
│   │   ├── dynamic-context-updater.js
│   │   ├── git-analyzer.js
│   │   ├── mcp-client.js
│   │   ├── memory-client.js
│   │   ├── memory-scorer.js
│   │   ├── performance-manager.js
│   │   ├── project-detector.js
│   │   ├── session-tracker.js
│   │   ├── tiered-conversation-monitor.js
│   │   └── version-checker.js
│   └── WINDOWS-SESSIONSTART-BUG.md
├── CLAUDE.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Development-Sprint-November-2025.md
├── docs
│   ├── amp-cli-bridge.md
│   ├── api
│   │   ├── code-execution-interface.md
│   │   ├── memory-metadata-api.md
│   │   ├── PHASE1_IMPLEMENTATION_SUMMARY.md
│   │   ├── PHASE2_IMPLEMENTATION_SUMMARY.md
│   │   ├── PHASE2_REPORT.md
│   │   └── tag-standardization.md
│   ├── architecture
│   │   ├── search-enhancement-spec.md
│   │   └── search-examples.md
│   ├── architecture.md
│   ├── archive
│   │   └── obsolete-workflows
│   │       ├── load_memory_context.md
│   │       └── README.md
│   ├── assets
│   │   └── images
│   │       ├── dashboard-v3.3.0-preview.png
│   │       ├── memory-awareness-hooks-example.png
│   │       ├── project-infographic.svg
│   │       └── README.md
│   ├── CLAUDE_CODE_QUICK_REFERENCE.md
│   ├── cloudflare-setup.md
│   ├── deployment
│   │   ├── docker.md
│   │   ├── dual-service.md
│   │   ├── production-guide.md
│   │   └── systemd-service.md
│   ├── development
│   │   ├── ai-agent-instructions.md
│   │   ├── code-quality
│   │   │   ├── phase-2a-completion.md
│   │   │   ├── phase-2a-handle-get-prompt.md
│   │   │   ├── phase-2a-index.md
│   │   │   ├── phase-2a-install-package.md
│   │   │   └── phase-2b-session-summary.md
│   │   ├── code-quality-workflow.md
│   │   ├── dashboard-workflow.md
│   │   ├── issue-management.md
│   │   ├── pr-review-guide.md
│   │   ├── refactoring-notes.md
│   │   ├── release-checklist.md
│   │   └── todo-tracker.md
│   ├── docker-optimized-build.md
│   ├── document-ingestion.md
│   ├── DOCUMENTATION_AUDIT.md
│   ├── enhancement-roadmap-issue-14.md
│   ├── examples
│   │   ├── analysis-scripts.js
│   │   ├── maintenance-session-example.md
│   │   ├── memory-distribution-chart.jsx
│   │   └── tag-schema.json
│   ├── first-time-setup.md
│   ├── glama-deployment.md
│   ├── guides
│   │   ├── advanced-command-examples.md
│   │   ├── chromadb-migration.md
│   │   ├── commands-vs-mcp-server.md
│   │   ├── mcp-enhancements.md
│   │   ├── mdns-service-discovery.md
│   │   ├── memory-consolidation-guide.md
│   │   ├── migration.md
│   │   ├── scripts.md
│   │   └── STORAGE_BACKENDS.md
│   ├── HOOK_IMPROVEMENTS.md
│   ├── hooks
│   │   └── phase2-code-execution-migration.md
│   ├── http-server-management.md
│   ├── ide-compatability.md
│   ├── IMAGE_RETENTION_POLICY.md
│   ├── images
│   │   └── dashboard-placeholder.md
│   ├── implementation
│   │   ├── health_checks.md
│   │   └── performance.md
│   ├── IMPLEMENTATION_PLAN_HTTP_SSE.md
│   ├── integration
│   │   ├── homebrew.md
│   │   └── multi-client.md
│   ├── integrations
│   │   ├── gemini.md
│   │   ├── groq-bridge.md
│   │   ├── groq-integration-summary.md
│   │   └── groq-model-comparison.md
│   ├── integrations.md
│   ├── legacy
│   │   └── dual-protocol-hooks.md
│   ├── LM_STUDIO_COMPATIBILITY.md
│   ├── maintenance
│   │   └── memory-maintenance.md
│   ├── mastery
│   │   ├── api-reference.md
│   │   ├── architecture-overview.md
│   │   ├── configuration-guide.md
│   │   ├── local-setup-and-run.md
│   │   ├── testing-guide.md
│   │   └── troubleshooting.md
│   ├── migration
│   │   └── code-execution-api-quick-start.md
│   ├── natural-memory-triggers
│   │   ├── cli-reference.md
│   │   ├── installation-guide.md
│   │   └── performance-optimization.md
│   ├── oauth-setup.md
│   ├── pr-graphql-integration.md
│   ├── quick-setup-cloudflare-dual-environment.md
│   ├── README.md
│   ├── remote-configuration-wiki-section.md
│   ├── research
│   │   ├── code-execution-interface-implementation.md
│   │   └── code-execution-interface-summary.md
│   ├── ROADMAP.md
│   ├── sqlite-vec-backend.md
│   ├── statistics
│   │   ├── charts
│   │   │   ├── activity_patterns.png
│   │   │   ├── contributors.png
│   │   │   ├── growth_trajectory.png
│   │   │   ├── monthly_activity.png
│   │   │   └── october_sprint.png
│   │   ├── data
│   │   │   ├── activity_by_day.csv
│   │   │   ├── activity_by_hour.csv
│   │   │   ├── contributors.csv
│   │   │   └── monthly_activity.csv
│   │   ├── generate_charts.py
│   │   └── REPOSITORY_STATISTICS.md
│   ├── technical
│   │   ├── development.md
│   │   ├── memory-migration.md
│   │   ├── migration-log.md
│   │   ├── sqlite-vec-embedding-fixes.md
│   │   └── tag-storage.md
│   ├── testing
│   │   └── regression-tests.md
│   ├── testing-cloudflare-backend.md
│   ├── troubleshooting
│   │   ├── cloudflare-api-token-setup.md
│   │   ├── cloudflare-authentication.md
│   │   ├── general.md
│   │   ├── hooks-quick-reference.md
│   │   ├── pr162-schema-caching-issue.md
│   │   ├── session-end-hooks.md
│   │   └── sync-issues.md
│   └── tutorials
│       ├── advanced-techniques.md
│       ├── data-analysis.md
│       └── demo-session-walkthrough.md
├── examples
│   ├── claude_desktop_config_template.json
│   ├── claude_desktop_config_windows.json
│   ├── claude-desktop-http-config.json
│   ├── config
│   │   └── claude_desktop_config.json
│   ├── http-mcp-bridge.js
│   ├── memory_export_template.json
│   ├── README.md
│   ├── setup
│   │   └── setup_multi_client_complete.py
│   └── start_https_example.sh
├── install_service.py
├── install.py
├── LICENSE
├── NOTICE
├── pyproject.toml
├── pytest.ini
├── README.md
├── run_server.py
├── scripts
│   ├── .claude
│   │   └── settings.local.json
│   ├── archive
│   │   └── check_missing_timestamps.py
│   ├── backup
│   │   ├── backup_memories.py
│   │   ├── backup_sqlite_vec.sh
│   │   ├── export_distributable_memories.sh
│   │   └── restore_memories.py
│   ├── benchmarks
│   │   ├── benchmark_code_execution_api.py
│   │   ├── benchmark_hybrid_sync.py
│   │   └── benchmark_server_caching.py
│   ├── database
│   │   ├── analyze_sqlite_vec_db.py
│   │   ├── check_sqlite_vec_status.py
│   │   ├── db_health_check.py
│   │   └── simple_timestamp_check.py
│   ├── development
│   │   ├── debug_server_initialization.py
│   │   ├── find_orphaned_files.py
│   │   ├── fix_mdns.sh
│   │   ├── fix_sitecustomize.py
│   │   ├── remote_ingest.sh
│   │   ├── setup-git-merge-drivers.sh
│   │   ├── uv-lock-merge.sh
│   │   └── verify_hybrid_sync.py
│   ├── hooks
│   │   └── pre-commit
│   ├── installation
│   │   ├── install_linux_service.py
│   │   ├── install_macos_service.py
│   │   ├── install_uv.py
│   │   ├── install_windows_service.py
│   │   ├── install.py
│   │   ├── setup_backup_cron.sh
│   │   ├── setup_claude_mcp.sh
│   │   └── setup_cloudflare_resources.py
│   ├── linux
│   │   ├── service_status.sh
│   │   ├── start_service.sh
│   │   ├── stop_service.sh
│   │   ├── uninstall_service.sh
│   │   └── view_logs.sh
│   ├── maintenance
│   │   ├── assign_memory_types.py
│   │   ├── check_memory_types.py
│   │   ├── cleanup_corrupted_encoding.py
│   │   ├── cleanup_memories.py
│   │   ├── cleanup_organize.py
│   │   ├── consolidate_memory_types.py
│   │   ├── consolidation_mappings.json
│   │   ├── delete_orphaned_vectors_fixed.py
│   │   ├── fast_cleanup_duplicates_with_tracking.sh
│   │   ├── find_all_duplicates.py
│   │   ├── find_cloudflare_duplicates.py
│   │   ├── find_duplicates.py
│   │   ├── memory-types.md
│   │   ├── README.md
│   │   ├── recover_timestamps_from_cloudflare.py
│   │   ├── regenerate_embeddings.py
│   │   ├── repair_malformed_tags.py
│   │   ├── repair_memories.py
│   │   ├── repair_sqlite_vec_embeddings.py
│   │   ├── repair_zero_embeddings.py
│   │   ├── restore_from_json_export.py
│   │   └── scan_todos.sh
│   ├── migration
│   │   ├── cleanup_mcp_timestamps.py
│   │   ├── legacy
│   │   │   └── migrate_chroma_to_sqlite.py
│   │   ├── mcp-migration.py
│   │   ├── migrate_sqlite_vec_embeddings.py
│   │   ├── migrate_storage.py
│   │   ├── migrate_tags.py
│   │   ├── migrate_timestamps.py
│   │   ├── migrate_to_cloudflare.py
│   │   ├── migrate_to_sqlite_vec.py
│   │   ├── migrate_v5_enhanced.py
│   │   ├── TIMESTAMP_CLEANUP_README.md
│   │   └── verify_mcp_timestamps.py
│   ├── pr
│   │   ├── amp_collect_results.sh
│   │   ├── amp_detect_breaking_changes.sh
│   │   ├── amp_generate_tests.sh
│   │   ├── amp_pr_review.sh
│   │   ├── amp_quality_gate.sh
│   │   ├── amp_suggest_fixes.sh
│   │   ├── auto_review.sh
│   │   ├── detect_breaking_changes.sh
│   │   ├── generate_tests.sh
│   │   ├── lib
│   │   │   └── graphql_helpers.sh
│   │   ├── quality_gate.sh
│   │   ├── resolve_threads.sh
│   │   ├── run_pyscn_analysis.sh
│   │   ├── run_quality_checks.sh
│   │   ├── thread_status.sh
│   │   └── watch_reviews.sh
│   ├── quality
│   │   ├── fix_dead_code_install.sh
│   │   ├── phase1_dead_code_analysis.md
│   │   ├── phase2_complexity_analysis.md
│   │   ├── README_PHASE1.md
│   │   ├── README_PHASE2.md
│   │   ├── track_pyscn_metrics.sh
│   │   └── weekly_quality_review.sh
│   ├── README.md
│   ├── run
│   │   ├── run_mcp_memory.sh
│   │   ├── run-with-uv.sh
│   │   └── start_sqlite_vec.sh
│   ├── run_memory_server.py
│   ├── server
│   │   ├── check_http_server.py
│   │   ├── check_server_health.py
│   │   ├── memory_offline.py
│   │   ├── preload_models.py
│   │   ├── run_http_server.py
│   │   ├── run_memory_server.py
│   │   ├── start_http_server.bat
│   │   └── start_http_server.sh
│   ├── service
│   │   ├── deploy_dual_services.sh
│   │   ├── install_http_service.sh
│   │   ├── mcp-memory-http.service
│   │   ├── mcp-memory.service
│   │   ├── memory_service_manager.sh
│   │   ├── service_control.sh
│   │   ├── service_utils.py
│   │   └── update_service.sh
│   ├── sync
│   │   ├── check_drift.py
│   │   ├── claude_sync_commands.py
│   │   ├── export_memories.py
│   │   ├── import_memories.py
│   │   ├── litestream
│   │   │   ├── apply_local_changes.sh
│   │   │   ├── enhanced_memory_store.sh
│   │   │   ├── init_staging_db.sh
│   │   │   ├── io.litestream.replication.plist
│   │   │   ├── manual_sync.sh
│   │   │   ├── memory_sync.sh
│   │   │   ├── pull_remote_changes.sh
│   │   │   ├── push_to_remote.sh
│   │   │   ├── README.md
│   │   │   ├── resolve_conflicts.sh
│   │   │   ├── setup_local_litestream.sh
│   │   │   ├── setup_remote_litestream.sh
│   │   │   ├── staging_db_init.sql
│   │   │   ├── stash_local_changes.sh
│   │   │   ├── sync_from_remote_noconfig.sh
│   │   │   └── sync_from_remote.sh
│   │   ├── README.md
│   │   ├── safe_cloudflare_update.sh
│   │   ├── sync_memory_backends.py
│   │   └── sync_now.py
│   ├── testing
│   │   ├── run_complete_test.py
│   │   ├── run_memory_test.sh
│   │   ├── simple_test.py
│   │   ├── test_cleanup_logic.py
│   │   ├── test_cloudflare_backend.py
│   │   ├── test_docker_functionality.py
│   │   ├── test_installation.py
│   │   ├── test_mdns.py
│   │   ├── test_memory_api.py
│   │   ├── test_memory_simple.py
│   │   ├── test_migration.py
│   │   ├── test_search_api.py
│   │   ├── test_sqlite_vec_embeddings.py
│   │   ├── test_sse_events.py
│   │   ├── test-connection.py
│   │   └── test-hook.js
│   ├── utils
│   │   ├── claude_commands_utils.py
│   │   ├── generate_personalized_claude_md.sh
│   │   ├── groq
│   │   ├── groq_agent_bridge.py
│   │   ├── list-collections.py
│   │   ├── memory_wrapper_uv.py
│   │   ├── query_memories.py
│   │   ├── smithery_wrapper.py
│   │   ├── test_groq_bridge.sh
│   │   └── uv_wrapper.py
│   └── validation
│       ├── check_dev_setup.py
│       ├── check_documentation_links.py
│       ├── diagnose_backend_config.py
│       ├── validate_configuration_complete.py
│       ├── validate_memories.py
│       ├── validate_migration.py
│       ├── validate_timestamp_integrity.py
│       ├── verify_environment.py
│       ├── verify_pytorch_windows.py
│       └── verify_torch.py
├── SECURITY.md
├── selective_timestamp_recovery.py
├── SPONSORS.md
├── src
│   └── mcp_memory_service
│       ├── __init__.py
│       ├── api
│       │   ├── __init__.py
│       │   ├── client.py
│       │   ├── operations.py
│       │   ├── sync_wrapper.py
│       │   └── types.py
│       ├── backup
│       │   ├── __init__.py
│       │   └── scheduler.py
│       ├── cli
│       │   ├── __init__.py
│       │   ├── ingestion.py
│       │   ├── main.py
│       │   └── utils.py
│       ├── config.py
│       ├── consolidation
│       │   ├── __init__.py
│       │   ├── associations.py
│       │   ├── base.py
│       │   ├── clustering.py
│       │   ├── compression.py
│       │   ├── consolidator.py
│       │   ├── decay.py
│       │   ├── forgetting.py
│       │   ├── health.py
│       │   └── scheduler.py
│       ├── dependency_check.py
│       ├── discovery
│       │   ├── __init__.py
│       │   ├── client.py
│       │   └── mdns_service.py
│       ├── embeddings
│       │   ├── __init__.py
│       │   └── onnx_embeddings.py
│       ├── ingestion
│       │   ├── __init__.py
│       │   ├── base.py
│       │   ├── chunker.py
│       │   ├── csv_loader.py
│       │   ├── json_loader.py
│       │   ├── pdf_loader.py
│       │   ├── registry.py
│       │   ├── semtools_loader.py
│       │   └── text_loader.py
│       ├── lm_studio_compat.py
│       ├── mcp_server.py
│       ├── models
│       │   ├── __init__.py
│       │   └── memory.py
│       ├── server.py
│       ├── services
│       │   ├── __init__.py
│       │   └── memory_service.py
│       ├── storage
│       │   ├── __init__.py
│       │   ├── base.py
│       │   ├── cloudflare.py
│       │   ├── factory.py
│       │   ├── http_client.py
│       │   ├── hybrid.py
│       │   └── sqlite_vec.py
│       ├── sync
│       │   ├── __init__.py
│       │   ├── exporter.py
│       │   ├── importer.py
│       │   └── litestream_config.py
│       ├── utils
│       │   ├── __init__.py
│       │   ├── cache_manager.py
│       │   ├── content_splitter.py
│       │   ├── db_utils.py
│       │   ├── debug.py
│       │   ├── document_processing.py
│       │   ├── gpu_detection.py
│       │   ├── hashing.py
│       │   ├── http_server_manager.py
│       │   ├── port_detection.py
│       │   ├── system_detection.py
│       │   └── time_parser.py
│       └── web
│           ├── __init__.py
│           ├── api
│           │   ├── __init__.py
│           │   ├── analytics.py
│           │   ├── backup.py
│           │   ├── consolidation.py
│           │   ├── documents.py
│           │   ├── events.py
│           │   ├── health.py
│           │   ├── manage.py
│           │   ├── mcp.py
│           │   ├── memories.py
│           │   ├── search.py
│           │   └── sync.py
│           ├── app.py
│           ├── dependencies.py
│           ├── oauth
│           │   ├── __init__.py
│           │   ├── authorization.py
│           │   ├── discovery.py
│           │   ├── middleware.py
│           │   ├── models.py
│           │   ├── registration.py
│           │   └── storage.py
│           ├── sse.py
│           └── static
│               ├── app.js
│               ├── index.html
│               ├── README.md
│               ├── sse_test.html
│               └── style.css
├── start_http_debug.bat
├── start_http_server.sh
├── test_document.txt
├── test_version_checker.js
├── tests
│   ├── __init__.py
│   ├── api
│   │   ├── __init__.py
│   │   ├── test_compact_types.py
│   │   └── test_operations.py
│   ├── bridge
│   │   ├── mock_responses.js
│   │   ├── package-lock.json
│   │   ├── package.json
│   │   └── test_http_mcp_bridge.js
│   ├── conftest.py
│   ├── consolidation
│   │   ├── __init__.py
│   │   ├── conftest.py
│   │   ├── test_associations.py
│   │   ├── test_clustering.py
│   │   ├── test_compression.py
│   │   ├── test_consolidator.py
│   │   ├── test_decay.py
│   │   └── test_forgetting.py
│   ├── contracts
│   │   └── api-specification.yml
│   ├── integration
│   │   ├── package-lock.json
│   │   ├── package.json
│   │   ├── test_api_key_fallback.py
│   │   ├── test_api_memories_chronological.py
│   │   ├── test_api_tag_time_search.py
│   │   ├── test_api_with_memory_service.py
│   │   ├── test_bridge_integration.js
│   │   ├── test_cli_interfaces.py
│   │   ├── test_cloudflare_connection.py
│   │   ├── test_concurrent_clients.py
│   │   ├── test_data_serialization_consistency.py
│   │   ├── test_http_server_startup.py
│   │   ├── test_mcp_memory.py
│   │   ├── test_mdns_integration.py
│   │   ├── test_oauth_basic_auth.py
│   │   ├── test_oauth_flow.py
│   │   ├── test_server_handlers.py
│   │   └── test_store_memory.py
│   ├── performance
│   │   ├── test_background_sync.py
│   │   └── test_hybrid_live.py
│   ├── README.md
│   ├── smithery
│   │   └── test_smithery.py
│   ├── sqlite
│   │   └── simple_sqlite_vec_test.py
│   ├── test_client.py
│   ├── test_content_splitting.py
│   ├── test_database.py
│   ├── test_hybrid_cloudflare_limits.py
│   ├── test_hybrid_storage.py
│   ├── test_memory_ops.py
│   ├── test_semantic_search.py
│   ├── test_sqlite_vec_storage.py
│   ├── test_time_parser.py
│   ├── test_timestamp_preservation.py
│   ├── timestamp
│   │   ├── test_hook_vs_manual_storage.py
│   │   ├── test_issue99_final_validation.py
│   │   ├── test_search_retrieval_inconsistency.py
│   │   ├── test_timestamp_issue.py
│   │   └── test_timestamp_simple.py
│   └── unit
│       ├── conftest.py
│       ├── test_cloudflare_storage.py
│       ├── test_csv_loader.py
│       ├── test_fastapi_dependencies.py
│       ├── test_import.py
│       ├── test_json_loader.py
│       ├── test_mdns_simple.py
│       ├── test_mdns.py
│       ├── test_memory_service.py
│       ├── test_memory.py
│       ├── test_semtools_loader.py
│       ├── test_storage_interface_compatibility.py
│       └── test_tag_time_filtering.py
├── tools
│   ├── docker
│   │   ├── DEPRECATED.md
│   │   ├── docker-compose.http.yml
│   │   ├── docker-compose.pythonpath.yml
│   │   ├── docker-compose.standalone.yml
│   │   ├── docker-compose.uv.yml
│   │   ├── docker-compose.yml
│   │   ├── docker-entrypoint-persistent.sh
│   │   ├── docker-entrypoint-unified.sh
│   │   ├── docker-entrypoint.sh
│   │   ├── Dockerfile
│   │   ├── Dockerfile.glama
│   │   ├── Dockerfile.slim
│   │   ├── README.md
│   │   └── test-docker-modes.sh
│   └── README.md
└── uv.lock
```

# Files

--------------------------------------------------------------------------------
/.pyscn/reports/analyze_20251123_214224.html:
--------------------------------------------------------------------------------

```html
   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>pyscn Analysis Report</title>
   7 |     <style>
   8 |         * { margin: 0; padding: 0; box-sizing: border-box; }
   9 |         body {
  10 |             font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  11 |             line-height: 1.6;
  12 |             color: #333;
  13 |             background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  14 |             min-height: 100vh;
  15 |         }
  16 |         .container {
  17 |             max-width: 1200px;
  18 |             margin: 0 auto;
  19 |             padding: 20px;
  20 |         }
  21 |         .header {
  22 |             background: white;
  23 |             border-radius: 10px;
  24 |             padding: 30px;
  25 |             margin-bottom: 20px;
  26 |             box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  27 |         }
  28 |         .header h1 {
  29 |             color: #667eea;
  30 |             margin-bottom: 10px;
  31 |         }
  32 |         .score-badge {
  33 |             display: inline-block;
  34 |             padding: 10px 20px;
  35 |             border-radius: 50px;
  36 |             font-size: 24px;
  37 |             font-weight: bold;
  38 |             margin: 10px 0;
  39 |         }
  40 |         .grade-a { background: #4caf50; color: white; }
  41 |         .grade-b { background: #8bc34a; color: white; }
  42 |         .grade-c { background: #ff9800; color: white; }
  43 |         .grade-d { background: #ff5722; color: white; }
  44 |         .grade-f { background: #f44336; color: white; }
  45 |         
  46 |         .tabs {
  47 |             background: white;
  48 |             border-radius: 10px;
  49 |             overflow: hidden;
  50 |             box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  51 |         }
  52 |         .tab-buttons {
  53 |             display: flex;
  54 |             background: #f5f5f5;
  55 |         }
  56 |         .tab-button {
  57 |             flex: 1;
  58 |             padding: 15px;
  59 |             border: none;
  60 |             background: transparent;
  61 |             cursor: pointer;
  62 |             font-size: 16px;
  63 |             transition: all 0.3s;
  64 |         }
  65 |         .tab-button.active {
  66 |             background: white;
  67 |             color: #667eea;
  68 |             font-weight: bold;
  69 |         }
  70 |         .tab-content {
  71 |             display: none;
  72 |             padding: 30px;
  73 |         }
  74 |         .tab-content.active {
  75 |             display: block;
  76 |         }
  77 |         
  78 |         .metric-grid {
  79 |             display: grid;
  80 |             grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  81 |             gap: 20px;
  82 |             margin: 20px 0;
  83 |         }
  84 |         .metric-card {
  85 |             background: #f8f9fa;
  86 |             padding: 20px;
  87 |             border-radius: 8px;
  88 |             text-align: center;
  89 |         }
  90 |         .metric-value {
  91 |             font-size: 32px;
  92 |             font-weight: bold;
  93 |             color: #667eea;
  94 |         }
  95 |         .metric-label {
  96 |             color: #666;
  97 |             margin-top: 5px;
  98 |         }
  99 |         
 100 |         .table {
 101 |             width: 100%;
 102 |             border-collapse: collapse;
 103 |             margin: 20px 0;
 104 |         }
 105 |         .table th, .table td {
 106 |             padding: 12px;
 107 |             text-align: left;
 108 |             border-bottom: 1px solid #ddd;
 109 |         }
 110 |         .table th {
 111 |             background: #f8f9fa;
 112 |             font-weight: 600;
 113 |         }
 114 |         
 115 |         .risk-low { color: #4caf50; }
 116 |         .risk-medium { color: #ff9800; }
 117 |         .risk-high { color: #f44336; }
 118 |         
 119 |         .severity-critical { color: #f44336; }
 120 |         .severity-warning { color: #ff9800; }
 121 |         .severity-info { color: #2196f3; }
 122 | 
 123 |          
 124 |         .score-bars {
 125 |             margin: 20px 0;
 126 |         }
 127 |         .score-bar-item {
 128 |             margin-bottom: 24px;
 129 |         }
 130 |         .score-bar-header {
 131 |             display: flex;
 132 |             justify-content: space-between;
 133 |             margin-bottom: 6px;
 134 |             font-size: 14px;
 135 |         }
 136 |         .score-label {
 137 |             font-weight: 600;
 138 |             color: #333;
 139 |         }
 140 |         .score-value {
 141 |             font-weight: 700;
 142 |             color: #667eea;
 143 |         }
 144 |         .score-bar-container {
 145 |             width: 100%;
 146 |             height: 12px;
 147 |             background: #e0e0e0;
 148 |             border-radius: 6px;
 149 |             overflow: hidden;
 150 |             box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
 151 |         }
 152 |         .score-bar-fill {
 153 |             height: 100%;
 154 |             transition: width 0.3s ease;
 155 |             border-radius: 6px;
 156 |         }
 157 |         .score-excellent { background: linear-gradient(90deg, #4caf50, #66bb6a); }
 158 |         .score-good { background: linear-gradient(90deg, #8bc34a, #9ccc65); }
 159 |         .score-fair { background: linear-gradient(90deg, #ff9800, #ffa726); }
 160 |         .score-poor { background: linear-gradient(90deg, #f44336, #ef5350); }
 161 |         .score-detail {
 162 |             margin-top: 4px;
 163 |             font-size: 12px;
 164 |             color: #666;
 165 |         }
 166 | 
 167 |          
 168 |         .tab-header-with-score {
 169 |             display: flex;
 170 |             align-items: center;
 171 |             justify-content: space-between;
 172 |             margin-bottom: 20px;
 173 |             padding-bottom: 12px;
 174 |             border-bottom: 2px solid #e0e0e0;
 175 |         }
 176 | 
 177 |         .score-badge-compact {
 178 |             display: inline-block;
 179 |             padding: 6px 14px;
 180 |             border-radius: 16px;
 181 |             font-size: 13px;
 182 |             font-weight: 700;
 183 |             color: white;
 184 |             white-space: nowrap;
 185 |         }
 186 |         .score-badge-compact.score-excellent {
 187 |             background: linear-gradient(135deg, #4caf50, #66bb6a);
 188 |             box-shadow: 0 2px 6px rgba(76, 175, 80, 0.4);
 189 |         }
 190 |         .score-badge-compact.score-good {
 191 |             background: linear-gradient(135deg, #8bc34a, #9ccc65);
 192 |             box-shadow: 0 2px 6px rgba(139, 195, 74, 0.4);
 193 |         }
 194 |         .score-badge-compact.score-fair {
 195 |             background: linear-gradient(135deg, #ff9800, #ffa726);
 196 |             box-shadow: 0 2px 6px rgba(255, 152, 0, 0.4);
 197 |         }
 198 |         .score-badge-compact.score-poor {
 199 |             background: linear-gradient(135deg, #f44336, #ef5350);
 200 |             box-shadow: 0 2px 6px rgba(244, 67, 54, 0.4);
 201 |         }
 202 |     </style>
 203 | </head>
 204 | <body>
 205 |     <div class="container">
 206 |         <div class="header">
 207 |             <h1>pyscn Analysis Report</h1>
 208 |             <p>Generated: 2025-11-23 21:42:24</p>
 209 |             <div class="score-badge grade-c">
 210 |                 Health Score: 63/100 (Grade: C)
 211 |             </div>
 212 |         </div>
 213 | 
 214 |         <div class="tabs">
 215 |             <div class="tab-buttons">
 216 |                 <button class="tab-button active" onclick="showTab('summary', this)">Summary</button>
 217 |                 
 218 |                 <button class="tab-button" onclick="showTab('complexity', this)">Complexity</button>
 219 |                 
 220 |                 
 221 |                 <button class="tab-button" onclick="showTab('deadcode', this)">Dead Code</button>
 222 |                 
 223 |                 
 224 |                 <button class="tab-button" onclick="showTab('clone', this)">Clone Detection</button>
 225 |                 
 226 |                 
 227 |                 <button class="tab-button" onclick="showTab('cbo', this)">Class Coupling</button>
 228 |                 
 229 |                 
 230 |                 
 231 |                 <button class="tab-button" onclick="showTab('sys-deps', this)">Dependencies</button>
 232 |                 
 233 |                 
 234 |                 <button class="tab-button" onclick="showTab('sys-arch', this)">Architecture</button>
 235 |                 
 236 |                 
 237 |             </div>
 238 | 
 239 |             <div id="summary" class="tab-content active">
 240 |                 <h2>Analysis Summary</h2>
 241 | 
 242 |                 <h3 style="margin-top: 20px; margin-bottom: 16px; color: #2c3e50;">Quality Scores</h3>
 243 |                 <div class="score-bars">
 244 |                     
 245 |                     <div class="score-bar-item">
 246 |                         <div class="score-bar-header">
 247 |                             <span class="score-label">Complexity</span>
 248 |                             <span class="score-value">40/100</span>
 249 |                         </div>
 250 |                         <div class="score-bar-container">
 251 |                             <div class="score-bar-fill score-poor" style="width: 40%"></div>
 252 |                         </div>
 253 |                         <div class="score-detail">Avg: 9.5, High-risk: 28</div>
 254 |                     </div>
 255 |                     
 256 | 
 257 |                     
 258 |                     <div class="score-bar-item">
 259 |                         <div class="score-bar-header">
 260 |                             <span class="score-label">Dead Code</span>
 261 |                             <span class="score-value">70/100</span>
 262 |                         </div>
 263 |                         <div class="score-bar-container">
 264 |                             <div class="score-bar-fill score-fair" style="width: 70%"></div>
 265 |                         </div>
 266 |                         <div class="score-detail">27 issues, 2 critical</div>
 267 |                     </div>
 268 |                     
 269 | 
 270 |                     
 271 |                     <div class="score-bar-item">
 272 |                         <div class="score-bar-header">
 273 |                             <span class="score-label">Duplication</span>
 274 |                             <span class="score-value">30/100</span>
 275 |                         </div>
 276 |                         <div class="score-bar-container">
 277 |                             <div class="score-bar-fill score-poor" style="width: 30%"></div>
 278 |                         </div>
 279 |                         <div class="score-detail">6.0% duplication, 18 groups</div>
 280 |                     </div>
 281 |                     
 282 | 
 283 |                     
 284 |                     <div class="score-bar-item">
 285 |                         <div class="score-bar-header">
 286 |                             <span class="score-label">Coupling (CBO)</span>
 287 |                             <span class="score-value">100/100</span>
 288 |                         </div>
 289 |                         <div class="score-bar-container">
 290 |                             <div class="score-bar-fill score-excellent" style="width: 100%"></div>
 291 |                         </div>
 292 |                         <div class="score-detail">Avg: 1.5, High-coupling: 0/145</div>
 293 |                     </div>
 294 |                     
 295 | 
 296 |                     
 297 |                     <div class="score-bar-item">
 298 |                         <div class="score-bar-header">
 299 |                             <span class="score-label">Dependencies</span>
 300 |                             <span class="score-value">85/100</span>
 301 |                         </div>
 302 |                         <div class="score-bar-container">
 303 |                             <div class="score-bar-fill score-good" style="width: 85%"></div>
 304 |                         </div>
 305 |                         <div class="score-detail">No cycles, Depth: 7</div>
 306 |                     </div>
 307 |                     
 308 | 
 309 |                     
 310 |                     <div class="score-bar-item">
 311 |                         <div class="score-bar-header">
 312 |                             <span class="score-label">Architecture</span>
 313 |                             <span class="score-value">75/100</span>
 314 |                         </div>
 315 |                         <div class="score-bar-container">
 316 |                             <div class="score-bar-fill score-good" style="width: 75%"></div>
 317 |                         </div>
 318 |                         <div class="score-detail">76% compliant</div>
 319 |                     </div>
 320 |                     
 321 |                 </div>
 322 | 
 323 |                 <h3 style="margin-top: 24px; margin-bottom: 16px; color: #2c3e50;">File Statistics</h3>
 324 |                 <div class="metric-grid">
 325 |                     <div class="metric-card">
 326 |                         <div class="metric-value">252</div>
 327 |                         <div class="metric-label">Total Files</div>
 328 |                     </div>
 329 |                     <div class="metric-card">
 330 |                         <div class="metric-value">252</div>
 331 |                         <div class="metric-label">Analyzed Files</div>
 332 |                     </div>
 333 |                     <div class="metric-card">
 334 |                         <div class="metric-value">9.52</div>
 335 |                         <div class="metric-label">Avg Complexity</div>
 336 |                     </div>
 337 |                     <div class="metric-card">
 338 |                         <div class="metric-value">27</div>
 339 |                         <div class="metric-label">Dead Code Issues</div>
 340 |                     </div>
 341 |                     <div class="metric-card">
 342 |                         <div class="metric-value">2360</div>
 343 |                         <div class="metric-label">Unique Fragments</div>
 344 |                     </div>
 345 |                     <div class="metric-card">
 346 |                         <div class="metric-value">6.0%</div>
 347 |                         <div class="metric-label">Code Duplication</div>
 348 |                     </div>
 349 |                     
 350 |                     <div class="metric-card">
 351 |                         <div class="metric-value">145</div>
 352 |                         <div class="metric-label">Total Classes</div>
 353 |                     </div>
 354 |                     <div class="metric-card">
 355 |                         <div class="metric-value">0</div>
 356 |                         <div class="metric-label">High Coupling (CBO)</div>
 357 |                     </div>
 358 |                     <div class="metric-card">
 359 |                         <div class="metric-value">1.50</div>
 360 |                         <div class="metric-label">Avg CBO</div>
 361 |                     </div>
 362 |                     
 363 |                 </div>
 364 | 
 365 |                 
 366 |                 
 367 |                 
 368 |                 <h3 style="margin-top: 16px; color: #2c3e50;">Dependencies</h3>
 369 |                 <div class="metric-grid">
 370 |                     <div class="metric-card">
 371 |                         <div class="metric-value">252</div>
 372 |                         <div class="metric-label">Total Modules</div>
 373 |                     </div>
 374 |                     <div class="metric-card">
 375 |                         <div class="metric-value">237</div>
 376 |                         <div class="metric-label">Total Dependencies</div>
 377 |                     </div>
 378 |                     <div class="metric-card">
 379 |                         <div class="metric-value">7</div>
 380 |                         <div class="metric-label">Max Depth</div>
 381 |                     </div>
 382 |                     
 383 |                     <div class="metric-card">
 384 |                         <div class="metric-value">✅ 0</div>
 385 |                         <div class="metric-label">Circular Dependencies</div>
 386 |                     </div>
 387 |                     
 388 |                 </div>
 389 |                 
 390 | 
 391 |                 
 392 |                 <h3 style="margin-top: 8px; color: #2c3e50;">Architecture</h3>
 393 |                 <div class="metric-grid">
 394 |                     <div class="metric-card">
 395 |                         <div class="metric-value">58</div>
 396 |                         <div class="metric-label">Violations</div>
 397 |                     </div>
 398 |                     <div class="metric-card">
 399 |                         <div class="metric-value">75.5%</div>
 400 |                         <div class="metric-label">Compliance</div>
 401 |                     </div>
 402 |                     <div class="metric-card">
 403 |                         <div class="metric-value">4</div>
 404 |                         <div class="metric-label">Layers Analyzed</div>
 405 |                     </div>
 406 |                     <div class="metric-card">
 407 |                         <div class="metric-value">237</div>
 408 |                         <div class="metric-label">Total Rules</div>
 409 |                     </div>
 410 |                 </div>
 411 |                 
 412 |                 
 413 |             </div>
 414 | 
 415 |             
 416 |             <div id="complexity" class="tab-content">
 417 |                 <div class="tab-header-with-score">
 418 |                     <h2 style="margin: 0;">Complexity Analysis</h2>
 419 |                     <div class="score-badge-compact score-poor">
 420 |                         40/100
 421 |                     </div>
 422 |                 </div>
 423 |                 
 424 |                 <div class="metric-grid">
 425 |                     <div class="metric-card">
 426 |                         <div class="metric-value">567</div>
 427 |                         <div class="metric-label">Total Functions</div>
 428 |                     </div>
 429 |                     <div class="metric-card">
 430 |                         <div class="metric-value">9.52</div>
 431 |                         <div class="metric-label">Average</div>
 432 |                     </div>
 433 |                     <div class="metric-card">
 434 |                         <div class="metric-value">62</div>
 435 |                         <div class="metric-label">Maximum</div>
 436 |                     </div>
 437 |                 </div>
 438 |                 
 439 |                 <h3>Top Complex Functions</h3>
 440 |                 <table class="table">
 441 |                     <thead>
 442 |                         <tr>
 443 |                             <th>Function</th>
 444 |                             <th>File</th>
 445 |                             <th>Complexity</th>
 446 |                             <th>Nesting Depth</th>
 447 |                             <th>Risk</th>
 448 |                         </tr>
 449 |                     </thead>
 450 |                     <tbody>
 451 |                         
 452 |                         
 453 |                         <tr>
 454 |                             <td>main</td>
 455 |                             <td>install.py</td>
 456 |                             <td>62</td>
 457 |                             <td>6</td>
 458 |                             <td class="risk-high">high</td>
 459 |                         </tr>
 460 |                         
 461 |                         
 462 |                         
 463 |                         <tr>
 464 |                             <td>__main__</td>
 465 |                             <td>src/mcp_memory_service/config.py</td>
 466 |                             <td>42</td>
 467 |                             <td>0</td>
 468 |                             <td class="risk-high">high</td>
 469 |                         </tr>
 470 |                         
 471 |                         
 472 |                         
 473 |                         <tr>
 474 |                             <td>SqliteVecMemoryStorage.initialize</td>
 475 |                             <td>src/mcp_memory_service/storage/sqlite_vec.py</td>
 476 |                             <td>38</td>
 477 |                             <td>10</td>
 478 |                             <td class="risk-high">high</td>
 479 |                         </tr>
 480 |                         
 481 |                         
 482 |                         
 483 |                         <tr>
 484 |                             <td>token</td>
 485 |                             <td>src/mcp_memory_service/web/oauth/authorization.py</td>
 486 |                             <td>35</td>
 487 |                             <td>4</td>
 488 |                             <td class="risk-high">high</td>
 489 |                         </tr>
 490 |                         
 491 |                         
 492 |                         
 493 |                         <tr>
 494 |                             <td>install_package</td>
 495 |                             <td>scripts/installation/install.py</td>
 496 |                             <td>33</td>
 497 |                             <td>4</td>
 498 |                             <td class="risk-high">high</td>
 499 |                         </tr>
 500 |                         
 501 |                         
 502 |                         
 503 |                         <tr>
 504 |                             <td>SqliteVecMemoryStorage._initialize_embedding_model</td>
 505 |                             <td>src/mcp_memory_service/storage/sqlite_vec.py</td>
 506 |                             <td>33</td>
 507 |                             <td>6</td>
 508 |                             <td class="risk-high">high</td>
 509 |                         </tr>
 510 |                         
 511 |                         
 512 |                         
 513 |                         <tr>
 514 |                             <td>detect_gpu</td>
 515 |                             <td>scripts/installation/install.py</td>
 516 |                             <td>30</td>
 517 |                             <td>8</td>
 518 |                             <td class="risk-high">high</td>
 519 |                         </tr>
 520 |                         
 521 |                         
 522 |                         
 523 |                         <tr>
 524 |                             <td>detect_gpu</td>
 525 |                             <td>install.py</td>
 526 |                             <td>30</td>
 527 |                             <td>8</td>
 528 |                             <td class="risk-high">high</td>
 529 |                         </tr>
 530 |                         
 531 |                         
 532 |                         
 533 |                         <tr>
 534 |                             <td>verify_installation</td>
 535 |                             <td>install.py</td>
 536 |                             <td>30</td>
 537 |                             <td>5</td>
 538 |                             <td class="risk-high">high</td>
 539 |                         </tr>
 540 |                         
 541 |                         
 542 |                         
 543 |                         <tr>
 544 |                             <td>test_memory_crud</td>
 545 |                             <td>scripts/testing/test_memory_api.py</td>
 546 |                             <td>30</td>
 547 |                             <td>6</td>
 548 |                             <td class="risk-high">high</td>
 549 |                         </tr>
 550 |                         
 551 |                         
 552 |                         
 553 |                         
 554 |                         
 555 |                         
 556 |                         
 557 |                         
 558 |                         
 559 |                         
 560 |                         
 561 |                         
 562 |                         
 563 |                         
 564 |                         
 565 |                         
 566 |                         
 567 |                         
 568 |                         
 569 |                         
 570 |                         
 571 |                         
 572 |                         
 573 |                         
 574 |                         
 575 |                         
 576 |                         
 577 |                         
 578 |                         
 579 |                         
 580 |                         
 581 |                         
 582 |                         
 583 |                         
 584 |                         
 585 |                         
 586 |                         
 587 |                         
 588 |                         
 589 |                         
 590 |                         
 591 |                         
 592 |                         
 593 |                         
 594 |                         
 595 |                         
 596 |                         
 597 |                         
 598 |                         
 599 |                         
 600 |                         
 601 |                         
 602 |                         
 603 |                         
 604 |                         
 605 |                         
 606 |                         
 607 |                         
 608 |                         
 609 |                         
 610 |                         
 611 |                         
 612 |                         
 613 |                         
 614 |                         
 615 |                         
 616 |                         
 617 |                         
 618 |                         
 619 |                         
 620 |                         
 621 |                         
 622 |                         
 623 |                         
 624 |                         
 625 |                         
 626 |                         
 627 |                         
 628 |                         
 629 |                         
 630 |                         
 631 |                         
 632 |                         
 633 |                         
 634 |                         
 635 |                         
 636 |                         
 637 |                         
 638 |                         
 639 |                         
 640 |                         
 641 |                         
 642 |                         
 643 |                         
 644 |                         
 645 |                         
 646 |                         
 647 |                         
 648 |                         
 649 |                         
 650 |                         
 651 |                         
 652 |                         
 653 |                         
 654 |                         
 655 |                         
 656 |                         
 657 |                         
 658 |                         
 659 |                         
 660 |                         
 661 |                         
 662 |                         
 663 |                         
 664 |                         
 665 |                         
 666 |                         
 667 |                         
 668 |                         
 669 |                         
 670 |                         
 671 |                         
 672 |                         
 673 |                         
 674 |                         
 675 |                         
 676 |                         
 677 |                         
 678 |                         
 679 |                         
 680 |                         
 681 |                         
 682 |                         
 683 |                         
 684 |                         
 685 |                         
 686 |                         
 687 |                         
 688 |                         
 689 |                         
 690 |                         
 691 |                         
 692 |                         
 693 |                         
 694 |                         
 695 |                         
 696 |                         
 697 |                         
 698 |                         
 699 |                         
 700 |                         
 701 |                         
 702 |                         
 703 |                         
 704 |                         
 705 |                         
 706 |                         
 707 |                         
 708 |                         
 709 |                         
 710 |                         
 711 |                         
 712 |                         
 713 |                         
 714 |                         
 715 |                         
 716 |                         
 717 |                         
 718 |                         
 719 |                         
 720 |                         
 721 |                         
 722 |                         
 723 |                         
 724 |                         
 725 |                         
 726 |                         
 727 |                         
 728 |                         
 729 |                         
 730 |                         
 731 |                         
 732 |                         
 733 |                         
 734 |                         
 735 |                         
 736 |                         
 737 |                         
 738 |                         
 739 |                         
 740 |                         
 741 |                         
 742 |                         
 743 |                         
 744 |                         
 745 |                         
 746 |                         
 747 |                         
 748 |                         
 749 |                         
 750 |                         
 751 |                         
 752 |                         
 753 |                         
 754 |                         
 755 |                         
 756 |                         
 757 |                         
 758 |                         
 759 |                         
 760 |                         
 761 |                         
 762 |                         
 763 |                         
 764 |                         
 765 |                         
 766 |                         
 767 |                         
 768 |                         
 769 |                         
 770 |                         
 771 |                         
 772 |                         
 773 |                         
 774 |                         
 775 |                         
 776 |                         
 777 |                         
 778 |                         
 779 |                         
 780 |                         
 781 |                         
 782 |                         
 783 |                         
 784 |                         
 785 |                         
 786 |                         
 787 |                         
 788 |                         
 789 |                         
 790 |                         
 791 |                         
 792 |                         
 793 |                         
 794 |                         
 795 |                         
 796 |                         
 797 |                         
 798 |                         
 799 |                         
 800 |                         
 801 |                         
 802 |                         
 803 |                         
 804 |                         
 805 |                         
 806 |                         
 807 |                         
 808 |                         
 809 |                         
 810 |                         
 811 |                         
 812 |                         
 813 |                         
 814 |                         
 815 |                         
 816 |                         
 817 |                         
 818 |                         
 819 |                         
 820 |                         
 821 |                         
 822 |                         
 823 |                         
 824 |                         
 825 |                         
 826 |                         
 827 |                         
 828 |                         
 829 |                         
 830 |                         
 831 |                         
 832 |                         
 833 |                         
 834 |                         
 835 |                         
 836 |                         
 837 |                         
 838 |                         
 839 |                         
 840 |                         
 841 |                         
 842 |                         
 843 |                         
 844 |                         
 845 |                         
 846 |                         
 847 |                         
 848 |                         
 849 |                         
 850 |                         
 851 |                         
 852 |                         
 853 |                         
 854 |                         
 855 |                         
 856 |                         
 857 |                         
 858 |                         
 859 |                         
 860 |                         
 861 |                         
 862 |                         
 863 |                         
 864 |                         
 865 |                         
 866 |                         
 867 |                         
 868 |                         
 869 |                         
 870 |                         
 871 |                         
 872 |                         
 873 |                         
 874 |                         
 875 |                         
 876 |                         
 877 |                         
 878 |                         
 879 |                         
 880 |                         
 881 |                         
 882 |                         
 883 |                         
 884 |                         
 885 |                         
 886 |                         
 887 |                         
 888 |                         
 889 |                         
 890 |                         
 891 |                         
 892 |                         
 893 |                         
 894 |                         
 895 |                         
 896 |                         
 897 |                         
 898 |                         
 899 |                         
 900 |                         
 901 |                         
 902 |                         
 903 |                         
 904 |                         
 905 |                         
 906 |                         
 907 |                         
 908 |                         
 909 |                         
 910 |                         
 911 |                         
 912 |                         
 913 |                         
 914 |                         
 915 |                         
 916 |                         
 917 |                         
 918 |                         
 919 |                         
 920 |                         
 921 |                         
 922 |                         
 923 |                         
 924 |                         
 925 |                         
 926 |                         
 927 |                         
 928 |                         
 929 |                         
 930 |                         
 931 |                         
 932 |                         
 933 |                         
 934 |                         
 935 |                         
 936 |                         
 937 |                         
 938 |                         
 939 |                         
 940 |                         
 941 |                         
 942 |                         
 943 |                         
 944 |                         
 945 |                         
 946 |                         
 947 |                         
 948 |                         
 949 |                         
 950 |                         
 951 |                         
 952 |                         
 953 |                         
 954 |                         
 955 |                         
 956 |                         
 957 |                         
 958 |                         
 959 |                         
 960 |                         
 961 |                         
 962 |                         
 963 |                         
 964 |                         
 965 |                         
 966 |                         
 967 |                         
 968 |                         
 969 |                         
 970 |                         
 971 |                         
 972 |                         
 973 |                         
 974 |                         
 975 |                         
 976 |                         
 977 |                         
 978 |                         
 979 |                         
 980 |                         
 981 |                         
 982 |                         
 983 |                         
 984 |                         
 985 |                         
 986 |                         
 987 |                         
 988 |                         
 989 |                         
 990 |                         
 991 |                         
 992 |                         
 993 |                         
 994 |                         
 995 |                         
 996 |                         
 997 |                         
 998 |                         
 999 |                         
1000 |                         
1001 |                         
1002 |                         
1003 |                         
1004 |                         
1005 |                         
1006 |                         
1007 |                         
1008 |                         
1009 |                         
1010 |                         
1011 |                         
1012 |                         
1013 |                         
1014 |                         
1015 |                         
1016 |                         
1017 |                         
1018 |                         
1019 |                         
1020 |                         
1021 |                         
1022 |                         
1023 |                         
1024 |                         
1025 |                         
1026 |                         
1027 |                         
1028 |                         
1029 |                         
1030 |                         
1031 |                         
1032 |                         
1033 |                         
1034 |                         
1035 |                         
1036 |                         
1037 |                         
1038 |                         
1039 |                         
1040 |                         
1041 |                         
1042 |                         
1043 |                         
1044 |                         
1045 |                         
1046 |                         
1047 |                         
1048 |                         
1049 |                         
1050 |                         
1051 |                         
1052 |                         
1053 |                         
1054 |                         
1055 |                         
1056 |                         
1057 |                         
1058 |                         
1059 |                         
1060 |                         
1061 |                         
1062 |                         
1063 |                         
1064 |                         
1065 |                         
1066 |                         
1067 |                         
1068 |                         
1069 |                         
1070 |                         
1071 |                         
1072 |                         
1073 |                         
1074 |                         
1075 |                         
1076 |                         
1077 |                         
1078 |                         
1079 |                         
1080 |                         
1081 |                         
1082 |                         
1083 |                         
1084 |                         
1085 |                         
1086 |                         
1087 |                         
1088 |                         
1089 |                         
1090 |                         
1091 |                         
1092 |                         
1093 |                         
1094 |                         
1095 |                         
1096 |                         
1097 |                         
1098 |                         
1099 |                         
1100 |                         
1101 |                         
1102 |                         
1103 |                         
1104 |                         
1105 |                         
1106 |                         
1107 |                         
1108 |                         
1109 |                         
1110 |                         
1111 |                         
1112 |                         
1113 |                         
1114 |                         
1115 |                         
1116 |                         
1117 |                         
1118 |                         
1119 |                         
1120 |                         
1121 |                         
1122 |                         
1123 |                         
1124 |                         
1125 |                         
1126 |                         
1127 |                         
1128 |                         
1129 |                         
1130 |                         
1131 |                         
1132 |                         
1133 |                         
1134 |                         
1135 |                         
1136 |                         
1137 |                         
1138 |                         
1139 |                         
1140 |                         
1141 |                         
1142 |                         
1143 |                         
1144 |                         
1145 |                         
1146 |                         
1147 |                         
1148 |                         
1149 |                         
1150 |                         
1151 |                         
1152 |                         
1153 |                         
1154 |                         
1155 |                         
1156 |                         
1157 |                         
1158 |                         
1159 |                         
1160 |                         
1161 |                         
1162 |                         
1163 |                         
1164 |                         
1165 |                         
1166 |                         
1167 |                         
1168 |                         
1169 |                         
1170 |                         
1171 |                         
1172 |                         
1173 |                         
1174 |                         
1175 |                         
1176 |                         
1177 |                         
1178 |                         
1179 |                         
1180 |                         
1181 |                         
1182 |                         
1183 |                         
1184 |                         
1185 |                         
1186 |                         
1187 |                         
1188 |                         
1189 |                         
1190 |                         
1191 |                         
1192 |                         
1193 |                         
1194 |                         
1195 |                         
1196 |                         
1197 |                         
1198 |                         
1199 |                         
1200 |                         
1201 |                         
1202 |                         
1203 |                         
1204 |                         
1205 |                         
1206 |                         
1207 |                         
1208 |                         
1209 |                         
1210 |                         
1211 |                         
1212 |                         
1213 |                         
1214 |                         
1215 |                         
1216 |                         
1217 |                         
1218 |                         
1219 |                         
1220 |                         
1221 |                         
1222 |                         
1223 |                         
1224 |                         
1225 |                         
1226 |                         
1227 |                         
1228 |                         
1229 |                         
1230 |                         
1231 |                         
1232 |                         
1233 |                         
1234 |                         
1235 |                         
1236 |                         
1237 |                         
1238 |                         
1239 |                         
1240 |                         
1241 |                         
1242 |                         
1243 |                         
1244 |                         
1245 |                         
1246 |                         
1247 |                         
1248 |                         
1249 |                         
1250 |                         
1251 |                         
1252 |                         
1253 |                         
1254 |                         
1255 |                         
1256 |                         
1257 |                         
1258 |                         
1259 |                         
1260 |                         
1261 |                         
1262 |                         
1263 |                         
1264 |                         
1265 |                         
1266 |                         
1267 |                         
1268 |                         
1269 |                         
1270 |                         
1271 |                         
1272 |                         
1273 |                         
1274 |                         
1275 |                         
1276 |                         
1277 |                         
1278 |                         
1279 |                         
1280 |                         
1281 |                         
1282 |                         
1283 |                         
1284 |                         
1285 |                         
1286 |                         
1287 |                         
1288 |                         
1289 |                         
1290 |                         
1291 |                         
1292 |                         
1293 |                         
1294 |                         
1295 |                         
1296 |                         
1297 |                         
1298 |                         
1299 |                         
1300 |                         
1301 |                         
1302 |                         
1303 |                         
1304 |                         
1305 |                         
1306 |                         
1307 |                         
1308 |                         
1309 |                         
1310 |                         
1311 |                         
1312 |                         
1313 |                         
1314 |                         
1315 |                         
1316 |                         
1317 |                         
1318 |                         
1319 |                         
1320 |                         
1321 |                         
1322 |                         
1323 |                         
1324 |                         
1325 |                         
1326 |                         
1327 |                         
1328 |                         
1329 |                         
1330 |                         
1331 |                         
1332 |                         
1333 |                         
1334 |                         
1335 |                         
1336 |                         
1337 |                         
1338 |                         
1339 |                         
1340 |                         
1341 |                         
1342 |                         
1343 |                         
1344 |                         
1345 |                         
1346 |                         
1347 |                         
1348 |                         
1349 |                         
1350 |                         
1351 |                         
1352 |                         
1353 |                         
1354 |                         
1355 |                         
1356 |                         
1357 |                         
1358 |                         
1359 |                         
1360 |                         
1361 |                         
1362 |                         
1363 |                         
1364 |                         
1365 |                         
1366 |                         
1367 |                         
1368 |                         
1369 |                         
1370 |                         
1371 |                         
1372 |                         
1373 |                         
1374 |                         
1375 |                         
1376 |                         
1377 |                         
1378 |                         
1379 |                         
1380 |                         
1381 |                         
1382 |                         
1383 |                         
1384 |                         
1385 |                         
1386 |                         
1387 |                         
1388 |                         
1389 |                         
1390 |                         
1391 |                         
1392 |                         
1393 |                         
1394 |                         
1395 |                         
1396 |                         
1397 |                         
1398 |                         
1399 |                         
1400 |                         
1401 |                         
1402 |                         
1403 |                         
1404 |                         
1405 |                         
1406 |                         
1407 |                         
1408 |                         
1409 |                         
1410 |                         
1411 |                         
1412 |                         
1413 |                         
1414 |                         
1415 |                         
1416 |                         
1417 |                         
1418 |                         
1419 |                         
1420 |                         
1421 |                         
1422 |                         
1423 |                         
1424 |                         
1425 |                         
1426 |                         
1427 |                         
1428 |                         
1429 |                         
1430 |                         
1431 |                         
1432 |                         
1433 |                         
1434 |                         
1435 |                         
1436 |                         
1437 |                         
1438 |                         
1439 |                         
1440 |                         
1441 |                         
1442 |                         
1443 |                         
1444 |                         
1445 |                         
1446 |                         
1447 |                         
1448 |                         
1449 |                         
1450 |                         
1451 |                         
1452 |                         
1453 |                         
1454 |                         
1455 |                         
1456 |                         
1457 |                         
1458 |                         
1459 |                         
1460 |                         
1461 |                         
1462 |                         
1463 |                         
1464 |                         
1465 |                         
1466 |                         
1467 |                         
1468 |                         
1469 |                         
1470 |                         
1471 |                         
1472 |                         
1473 |                         
1474 |                         
1475 |                         
1476 |                         
1477 |                         
1478 |                         
1479 |                         
1480 |                         
1481 |                         
1482 |                         
1483 |                         
1484 |                         
1485 |                         
1486 |                         
1487 |                         
1488 |                         
1489 |                         
1490 |                         
1491 |                         
1492 |                         
1493 |                         
1494 |                         
1495 |                         
1496 |                         
1497 |                         
1498 |                         
1499 |                         
1500 |                         
1501 |                         
1502 |                         
1503 |                         
1504 |                         
1505 |                         
1506 |                         
1507 |                         
1508 |                         
1509 |                         
1510 |                         
1511 |                         
1512 |                         
1513 |                         
1514 |                         
1515 |                         
1516 |                         
1517 |                         
1518 |                         
1519 |                         
1520 |                         
1521 |                         
1522 |                         
1523 |                         
1524 |                         
1525 |                         
1526 |                         
1527 |                         
1528 |                         
1529 |                         
1530 |                         
1531 |                         
1532 |                         
1533 |                         
1534 |                         
1535 |                         
1536 |                         
1537 |                         
1538 |                         
1539 |                         
1540 |                         
1541 |                         
1542 |                         
1543 |                         
1544 |                         
1545 |                         
1546 |                         
1547 |                         
1548 |                         
1549 |                         
1550 |                         
1551 |                         
1552 |                         
1553 |                         
1554 |                         
1555 |                         
1556 |                         
1557 |                         
1558 |                         
1559 |                         
1560 |                         
1561 |                         
1562 |                         
1563 |                         
1564 |                         
1565 |                         
1566 |                         
1567 |                         
1568 |                         
1569 |                         
1570 |                         
1571 |                         
1572 |                         
1573 |                         
1574 |                         
1575 |                         
1576 |                         
1577 |                         
1578 |                         
1579 |                         
1580 |                         
1581 |                         
1582 |                         
1583 |                         
1584 |                         
1585 |                         
1586 |                         
1587 |                         
1588 |                         
1589 |                         
1590 |                         
1591 |                         
1592 |                         
1593 |                         
1594 |                         
1595 |                         
1596 |                         
1597 |                         
1598 |                         
1599 |                         
1600 |                         
1601 |                         
1602 |                         
1603 |                         
1604 |                         
1605 |                         
1606 |                         
1607 |                         
1608 |                         
1609 |                         
1610 |                         
1611 |                         
1612 |                         
1613 |                         
1614 |                         
1615 |                         
1616 |                         
1617 |                         
1618 |                         
1619 |                         
1620 |                         
1621 |                         
1622 |                         
1623 |                         
1624 |                         
1625 |                         
1626 |                         
1627 |                         
1628 |                         
1629 |                         
1630 |                         
1631 |                         
1632 |                         
1633 |                         
1634 |                         
1635 |                         
1636 |                         
1637 |                         
1638 |                         
1639 |                         
1640 |                         
1641 |                         
1642 |                         
1643 |                         
1644 |                         
1645 |                         
1646 |                         
1647 |                         
1648 |                         
1649 |                         
1650 |                         
1651 |                         
1652 |                         
1653 |                         
1654 |                         
1655 |                         
1656 |                         
1657 |                         
1658 |                         
1659 |                         
1660 |                         
1661 |                         
1662 |                         
1663 |                         
1664 |                         
1665 |                         
1666 |                     </tbody>
1667 |                 </table>
1668 |                 
1669 |                 <p style="color: #666; margin-top: 10px;">Showing top 10 of 567 functions</p>
1670 |                 
1671 |                 
1672 |             </div>
1673 |             
1674 | 
1675 |             
1676 |             <div id="deadcode" class="tab-content">
1677 |                 <div class="tab-header-with-score">
1678 |                     <h2 style="margin: 0;">Dead Code Detection</h2>
1679 |                     <div class="score-badge-compact score-fair">
1680 |                         70/100
1681 |                     </div>
1682 |                 </div>
1683 |                 
1684 |                 <div class="metric-grid">
1685 |                     <div class="metric-card">
1686 |                         <div class="metric-value">27</div>
1687 |                         <div class="metric-label">Total Issues</div>
1688 |                     </div>
1689 |                     <div class="metric-card">
1690 |                         <div class="metric-value">2</div>
1691 |                         <div class="metric-label">Critical</div>
1692 |                     </div>
1693 |                     <div class="metric-card">
1694 |                         <div class="metric-value">25</div>
1695 |                         <div class="metric-label">Warnings</div>
1696 |                     </div>
1697 |                 </div>
1698 |                 
1699 |                 
1700 |                 <h3>Top Dead Code Issues</h3>
1701 |                 <table class="table">
1702 |                     <thead>
1703 |                         <tr>
1704 |                             <th>File</th>
1705 |                             <th>Function</th>
1706 |                             <th>Lines</th>
1707 |                             <th>Severity</th>
1708 |                             <th>Reason</th>
1709 |                         </tr>
1710 |                     </thead>
1711 |                     <tbody>
1712 |                         
1713 |                         
1714 |                         
1715 |                         
1716 |                         <tr>
1717 |                             <td>scripts/installation/install.py</td>
1718 |                             <td>configure_paths</td>
1719 |                             <td>1361-1365</td>
1720 |                             <td class="severity-critical">critical</td>
1721 |                             <td>unreachable_after_return</td>
1722 |                         </tr>
1723 |                         
1724 |                         
1725 |                         
1726 |                         <tr>
1727 |                             <td>scripts/installation/install.py</td>
1728 |                             <td>configure_paths</td>
1729 |                             <td>1367-1436</td>
1730 |                             <td class="severity-warning">warning</td>
1731 |                             <td>unreachable_branch</td>
1732 |                         </tr>
1733 |                         
1734 |                         
1735 |                         
1736 |                         <tr>
1737 |                             <td>scripts/installation/install.py</td>
1738 |                             <td>configure_paths</td>
1739 |                             <td>1368-1436</td>
1740 |                             <td class="severity-warning">warning</td>
1741 |                             <td>unreachable_branch</td>
1742 |                         </tr>
1743 |                         
1744 |                         
1745 |                         
1746 |                         <tr>
1747 |                             <td>scripts/installation/install.py</td>
1748 |                             <td>configure_paths</td>
1749 |                             <td>1369-1369</td>
1750 |                             <td class="severity-warning">warning</td>
1751 |                             <td>unreachable_branch</td>
1752 |                         </tr>
1753 |                         
1754 |                         
1755 |                         
1756 |                         <tr>
1757 |                             <td>scripts/installation/install.py</td>
1758 |                             <td>configure_paths</td>
1759 |                             <td>1371-1371</td>
1760 |                             <td class="severity-warning">warning</td>
1761 |                             <td>unreachable_branch</td>
1762 |                         </tr>
1763 |                         
1764 |                         
1765 |                         
1766 |                         <tr>
1767 |                             <td>scripts/installation/install.py</td>
1768 |                             <td>configure_paths</td>
1769 |                             <td>1372-1373</td>
1770 |                             <td class="severity-warning">warning</td>
1771 |                             <td>unreachable_branch</td>
1772 |                         </tr>
1773 |                         
1774 |                         
1775 |                         
1776 |                         <tr>
1777 |                             <td>scripts/installation/install.py</td>
1778 |                             <td>configure_paths</td>
1779 |                             <td>1373-1373</td>
1780 |                             <td class="severity-warning">warning</td>
1781 |                             <td>unreachable_branch</td>
1782 |                         </tr>
1783 |                         
1784 |                         
1785 |                         
1786 |                         <tr>
1787 |                             <td>scripts/installation/install.py</td>
1788 |                             <td>configure_paths</td>
1789 |                             <td>1376-1377</td>
1790 |                             <td class="severity-warning">warning</td>
1791 |                             <td>unreachable_branch</td>
1792 |                         </tr>
1793 |                         
1794 |                         
1795 |                         
1796 |                         <tr>
1797 |                             <td>scripts/installation/install.py</td>
1798 |                             <td>configure_paths</td>
1799 |                             <td>1377-1377</td>
1800 |                             <td class="severity-warning">warning</td>
1801 |                             <td>unreachable_branch</td>
1802 |                         </tr>
1803 |                         
1804 |                         
1805 |                         
1806 |                         <tr>
1807 |                             <td>scripts/installation/install.py</td>
1808 |                             <td>configure_paths</td>
1809 |                             <td>1380-1388</td>
1810 |                             <td class="severity-warning">warning</td>
1811 |                             <td>unreachable_branch</td>
1812 |                         </tr>
1813 |                         
1814 |                         
1815 |                         
1816 |                         
1817 |                         
1818 |                         
1819 |                         
1820 |                         
1821 |                         
1822 |                         
1823 |                         
1824 |                         
1825 |                         
1826 |                         
1827 |                         
1828 |                         
1829 |                         
1830 |                         
1831 |                         
1832 |                         
1833 |                         
1834 |                         
1835 |                         
1836 |                         
1837 |                         
1838 |                         
1839 |                         
1840 |                         
1841 |                         
1842 |                         
1843 |                         
1844 |                         
1845 |                         
1846 |                         
1847 |                         
1848 |                         
1849 |                         
1850 |                         
1851 |                     </tbody>
1852 |                 </table>
1853 |                 
1854 |                 <p style="color: #666; margin-top: 10px;">Showing top 10 of 27 dead code issues</p>
1855 |                 
1856 |                 
1857 |                 
1858 |             </div>
1859 |             
1860 | 
1861 |             
1862 |             <div id="clone" class="tab-content">
1863 |                 <div class="tab-header-with-score">
1864 |                     <h2 style="margin: 0;">Clone Detection</h2>
1865 |                     <div class="score-badge-compact score-poor">
1866 |                         30/100
1867 |                     </div>
1868 |                 </div>
1869 |                 
1870 |                 <div class="metric-grid">
1871 |                     <div class="metric-card">
1872 |                         <div class="metric-value">2360</div>
1873 |                         <div class="metric-label">Unique Fragments</div>
1874 |                     </div>
1875 |                     <div class="metric-card">
1876 |                         <div class="metric-value">18</div>
1877 |                         <div class="metric-label">Clone Groups</div>
1878 |                     </div>
1879 |                     <div class="metric-card">
1880 |                         <div class="metric-value">1.00</div>
1881 |                         <div class="metric-label">Avg Similarity</div>
1882 |                     </div>
1883 |                 </div>
1884 |                 
1885 |                 
1886 |                 <h3>Clone Groups</h3>
1887 |                 <p style="color: #666; margin-bottom: 15px;">Code fragments grouped by similarity</p>
1888 |                 
1889 |                 
1890 |                 <div style="background: #f8f9fa; padding: 15px; margin-bottom: 15px; border-radius: 8px; border-left: 4px solid #667eea;">
1891 |                     <h4 style="margin-top: 0; color: #333;">Group 17 - 5 clones (Type Type-1, similarity: 1.00)</h4>
1892 |                     <table class="table" style="margin-bottom: 0;">
1893 |                         <thead>
1894 |                             <tr>
1895 |                                 <th>File</th>
1896 |                                 <th>Lines</th>
1897 |                                 <th>Size</th>
1898 |                             </tr>
1899 |                         </thead>
1900 |                         <tbody>
1901 |                             
1902 |                             
1903 |                             <tr>
1904 |                                 <td>tests/unit/test_csv_loader.py</td>
1905 |                                 <td>135-146</td>
1906 |                                 <td>12 lines</td>
1907 |                             </tr>
1908 |                             
1909 |                             
1910 |                             
1911 |                             <tr>
1912 |                                 <td>tests/unit/test_csv_loader.py</td>
1913 |                                 <td>155-168</td>
1914 |                                 <td>14 lines</td>
1915 |                             </tr>
1916 |                             
1917 |                             
1918 |                             
1919 |                             <tr>
1920 |                                 <td>tests/unit/test_csv_loader.py</td>
1921 |                                 <td>177-189</td>
1922 |                                 <td>13 lines</td>
1923 |                             </tr>
1924 |                             
1925 |                             
1926 |                             
1927 |                             <tr>
1928 |                                 <td>tests/unit/test_csv_loader.py</td>
1929 |                                 <td>269-282</td>
1930 |                                 <td>14 lines</td>
1931 |                             </tr>
1932 |                             
1933 |                             
1934 |                             
1935 |                             <tr>
1936 |                                 <td>tests/unit/test_json_loader.py</td>
1937 |                                 <td>125-147</td>
1938 |                                 <td>23 lines</td>
1939 |                             </tr>
1940 |                             
1941 |                             
1942 |                             
1943 |                         </tbody>
1944 |                     </table>
1945 |                 </div>
1946 |                 
1947 |                 
1948 |                 
1949 |                 <div style="background: #f8f9fa; padding: 15px; margin-bottom: 15px; border-radius: 8px; border-left: 4px solid #667eea;">
1950 |                     <h4 style="margin-top: 0; color: #333;">Group 5 - 4 clones (Type Type-1, similarity: 1.00)</h4>
1951 |                     <table class="table" style="margin-bottom: 0;">
1952 |                         <thead>
1953 |                             <tr>
1954 |                                 <th>File</th>
1955 |                                 <th>Lines</th>
1956 |                                 <th>Size</th>
1957 |                             </tr>
1958 |                         </thead>
1959 |                         <tbody>
1960 |                             
1961 |                             
1962 |                             <tr>
1963 |                                 <td>install.py</td>
1964 |                                 <td>1509-1522</td>
1965 |                                 <td>14 lines</td>
1966 |                             </tr>
1967 |                             
1968 |                             
1969 |                             
1970 |                             <tr>
1971 |                                 <td>scripts/database/db_health_check.py</td>
1972 |                                 <td>233-249</td>
1973 |                                 <td>17 lines</td>
1974 |                             </tr>
1975 |                             
1976 |                             
1977 |                             
1978 |                             <tr>
1979 |                                 <td>scripts/installation/install.py</td>
1980 |                                 <td>1314-1327</td>
1981 |                                 <td>14 lines</td>
1982 |                             </tr>
1983 |                             
1984 |                             
1985 |                             
1986 |                             <tr>
1987 |                                 <td>scripts/installation/install.py</td>
1988 |                                 <td>1334-1347</td>
1989 |                                 <td>14 lines</td>
1990 |                             </tr>
1991 |                             
1992 |                             
1993 |                             
1994 |                         </tbody>
1995 |                     </table>
1996 |                 </div>
1997 |                 
1998 |                 
1999 |                 
2000 |                 <div style="background: #f8f9fa; padding: 15px; margin-bottom: 15px; border-radius: 8px; border-left: 4px solid #667eea;">
2001 |                     <h4 style="margin-top: 0; color: #333;">Group 7 - 4 clones (Type Type-1, similarity: 1.00)</h4>
2002 |                     <table class="table" style="margin-bottom: 0;">
2003 |                         <thead>
2004 |                             <tr>
2005 |                                 <th>File</th>
2006 |                                 <th>Lines</th>
2007 |                                 <th>Size</th>
2008 |                             </tr>
2009 |                         </thead>
2010 |                         <tbody>
2011 |                             
2012 |                             
2013 |                             <tr>
2014 |                                 <td>install.py</td>
2015 |                                 <td>2862-2873</td>
2016 |                                 <td>12 lines</td>
2017 |                             </tr>
2018 |                             
2019 |                             
2020 |                             
2021 |                             <tr>
2022 |                                 <td>install.py</td>
2023 |                                 <td>2892-2903</td>
2024 |                                 <td>12 lines</td>
2025 |                             </tr>
2026 |                             
2027 |                             
2028 |                             
2029 |                             <tr>
2030 |                                 <td>scripts/installation/install.py</td>
2031 |                                 <td>1785-1796</td>
2032 |                                 <td>12 lines</td>
2033 |                             </tr>
2034 |                             
2035 |                             
2036 |                             
2037 |                             <tr>
2038 |                                 <td>scripts/installation/install.py</td>
2039 |                                 <td>1817-1828</td>
2040 |                                 <td>12 lines</td>
2041 |                             </tr>
2042 |                             
2043 |                             
2044 |                             
2045 |                         </tbody>
2046 |                     </table>
2047 |                 </div>
2048 |                 
2049 |                 
2050 |                 
2051 |                 <div style="background: #f8f9fa; padding: 15px; margin-bottom: 15px; border-radius: 8px; border-left: 4px solid #667eea;">
2052 |                     <h4 style="margin-top: 0; color: #333;">Group 16 - 4 clones (Type Type-1, similarity: 1.00)</h4>
2053 |                     <table class="table" style="margin-bottom: 0;">
2054 |                         <thead>
2055 |                             <tr>
2056 |                                 <th>File</th>
2057 |                                 <th>Lines</th>
2058 |                                 <th>Size</th>
2059 |                             </tr>
2060 |                         </thead>
2061 |                         <tbody>
2062 |                             
2063 |                             
2064 |                             <tr>
2065 |                                 <td>tests/unit/test_csv_loader.py</td>
2066 |                                 <td>88-103</td>
2067 |                                 <td>16 lines</td>
2068 |                             </tr>
2069 |                             
2070 |                             
2071 |                             
2072 |                             <tr>
2073 |                                 <td>tests/unit/test_csv_loader.py</td>
2074 |                                 <td>112-126</td>
2075 |                                 <td>15 lines</td>
2076 |                             </tr>
2077 |                             
2078 |                             
2079 |                             
2080 |                             <tr>
2081 |                                 <td>tests/unit/test_csv_loader.py</td>
2082 |                                 <td>244-260</td>
2083 |                                 <td>17 lines</td>
2084 |                             </tr>
2085 |                             
2086 |                             
2087 |                             
2088 |                             <tr>
2089 |                                 <td>tests/unit/test_json_loader.py</td>
2090 |                                 <td>215-234</td>
2091 |                                 <td>20 lines</td>
2092 |                             </tr>
2093 |                             
2094 |                             
2095 |                             
2096 |                         </tbody>
2097 |                     </table>
2098 |                 </div>
2099 |                 
2100 |                 
2101 |                 
2102 |                 <div style="background: #f8f9fa; padding: 15px; margin-bottom: 15px; border-radius: 8px; border-left: 4px solid #667eea;">
2103 |                     <h4 style="margin-top: 0; color: #333;">Group 0 - 3 clones (Type Type-1, similarity: 1.00)</h4>
2104 |                     <table class="table" style="margin-bottom: 0;">
2105 |                         <thead>
2106 |                             <tr>
2107 |                                 <th>File</th>
2108 |                                 <th>Lines</th>
2109 |                                 <th>Size</th>
2110 |                             </tr>
2111 |                         </thead>
2112 |                         <tbody>
2113 |                             
2114 |                             
2115 |                             <tr>
2116 |                                 <td>claude-hooks/install_hooks.py</td>
2117 |                                 <td>180-203</td>
2118 |                                 <td>24 lines</td>
2119 |                             </tr>
2120 |                             
2121 |                             
2122 |                             
2123 |                             <tr>
2124 |                                 <td>scripts/testing/test_memory_simple.py</td>
2125 |                                 <td>91-102</td>
2126 |                                 <td>12 lines</td>
2127 |                             </tr>
2128 |                             
2129 |                             
2130 |                             
2131 |                             <tr>
2132 |                                 <td>scripts/testing/test_search_api.py</td>
2133 |                                 <td>79-96</td>
2134 |                                 <td>18 lines</td>
2135 |                             </tr>
2136 |                             
2137 |                             
2138 |                             
2139 |                         </tbody>
2140 |                     </table>
2141 |                 </div>
2142 |                 
2143 |                 
2144 |                 
2145 |                 <div style="background: #f8f9fa; padding: 15px; margin-bottom: 15px; border-radius: 8px; border-left: 4px solid #667eea;">
2146 |                     <h4 style="margin-top: 0; color: #333;">Group 1 - 3 clones (Type Type-1, similarity: 1.00)</h4>
2147 |                     <table class="table" style="margin-bottom: 0;">
2148 |                         <thead>
2149 |                             <tr>
2150 |                                 <th>File</th>
2151 |                                 <th>Lines</th>
2152 |                                 <th>Size</th>
2153 |                             </tr>
2154 |                         </thead>
2155 |                         <tbody>
2156 |                             
2157 |                             
2158 |                             <tr>
2159 |                                 <td>install.py</td>
2160 |                                 <td>327-358</td>
2161 |                                 <td>32 lines</td>
2162 |                             </tr>
2163 |                             
2164 |                             
2165 |                             
2166 |                             <tr>
2167 |                                 <td>scripts/installation/install.py</td>
2168 |                                 <td>274-305</td>
2169 |                                 <td>32 lines</td>
2170 |                             </tr>
2171 |                             
2172 |                             
2173 |                             
2174 |                             <tr>
2175 |                                 <td>scripts/validation/verify_environment.py</td>
2176 |                                 <td>126-159</td>
2177 |                                 <td>34 lines</td>
2178 |                             </tr>
2179 |                             
2180 |                             
2181 |                             
2182 |                         </tbody>
2183 |                     </table>
2184 |                 </div>
2185 |                 
2186 |                 
2187 |                 
2188 |                 <div style="background: #f8f9fa; padding: 15px; margin-bottom: 15px; border-radius: 8px; border-left: 4px solid #667eea;">
2189 |                     <h4 style="margin-top: 0; color: #333;">Group 2 - 3 clones (Type Type-1, similarity: 1.00)</h4>
2190 |                     <table class="table" style="margin-bottom: 0;">
2191 |                         <thead>
2192 |                             <tr>
2193 |                                 <th>File</th>
2194 |                                 <th>Lines</th>
2195 |                                 <th>Size</th>
2196 |                             </tr>
2197 |                         </thead>
2198 |                         <tbody>
2199 |                             
2200 |                             
2201 |                             <tr>
2202 |                                 <td>install.py</td>
2203 |                                 <td>344-358</td>
2204 |                                 <td>15 lines</td>
2205 |                             </tr>
2206 |                             
2207 |                             
2208 |                             
2209 |                             <tr>
2210 |                                 <td>scripts/installation/install.py</td>
2211 |                                 <td>291-305</td>
2212 |                                 <td>15 lines</td>
2213 |                             </tr>
2214 |                             
2215 |                             
2216 |                             
2217 |                             <tr>
2218 |                                 <td>scripts/validation/verify_environment.py</td>
2219 |                                 <td>144-159</td>
2220 |                                 <td>16 lines</td>
2221 |                             </tr>
2222 |                             
2223 |                             
2224 |                             
2225 |                         </tbody>
2226 |                     </table>
2227 |                 </div>
2228 |                 
2229 |                 
2230 |                 
2231 |                 <div style="background: #f8f9fa; padding: 15px; margin-bottom: 15px; border-radius: 8px; border-left: 4px solid #667eea;">
2232 |                     <h4 style="margin-top: 0; color: #333;">Group 3 - 3 clones (Type Type-1, similarity: 1.00)</h4>
2233 |                     <table class="table" style="margin-bottom: 0;">
2234 |                         <thead>
2235 |                             <tr>
2236 |                                 <th>File</th>
2237 |                                 <th>Lines</th>
2238 |                                 <th>Size</th>
2239 |                             </tr>
2240 |                         </thead>
2241 |                         <tbody>
2242 |                             
2243 |                             
2244 |                             <tr>
2245 |                                 <td>install.py</td>
2246 |                                 <td>363-383</td>
2247 |                                 <td>21 lines</td>
2248 |                             </tr>
2249 |                             
2250 |                             
2251 |                             
2252 |                             <tr>
2253 |                                 <td>scripts/installation/install.py</td>
2254 |                                 <td>310-330</td>
2255 |                                 <td>21 lines</td>
2256 |                             </tr>
2257 |                             
2258 |                             
2259 |                             
2260 |                             <tr>
2261 |                                 <td>scripts/validation/verify_environment.py</td>
2262 |                                 <td>162-183</td>
2263 |                                 <td>22 lines</td>
2264 |                             </tr>
2265 |                             
2266 |                             
2267 |                             
2268 |                         </tbody>
2269 |                     </table>
2270 |                 </div>
2271 |                 
2272 |                 
2273 |                 
2274 |                 <div style="background: #f8f9fa; padding: 15px; margin-bottom: 15px; border-radius: 8px; border-left: 4px solid #667eea;">
2275 |                     <h4 style="margin-top: 0; color: #333;">Group 6 - 3 clones (Type Type-1, similarity: 1.00)</h4>
2276 |                     <table class="table" style="margin-bottom: 0;">
2277 |                         <thead>
2278 |                             <tr>
2279 |                                 <th>File</th>
2280 |                                 <th>Lines</th>
2281 |                                 <th>Size</th>
2282 |                             </tr>
2283 |                         </thead>
2284 |                         <tbody>
2285 |                             
2286 |                             
2287 |                             <tr>
2288 |                                 <td>install.py</td>
2289 |                                 <td>2313-2356</td>
2290 |                                 <td>44 lines</td>
2291 |                             </tr>
2292 |                             
2293 |                             
2294 |                             
2295 |                             <tr>
2296 |                                 <td>install.py</td>
2297 |                                 <td>2383-2421</td>
2298 |                                 <td>39 lines</td>
2299 |                             </tr>
2300 |                             
2301 |                             
2302 |                             
2303 |                             <tr>
2304 |                                 <td>install.py</td>
2305 |                                 <td>2425-2463</td>
2306 |                                 <td>39 lines</td>
2307 |                             </tr>
2308 |                             
2309 |                             
2310 |                             
2311 |                         </tbody>
2312 |                     </table>
2313 |                 </div>
2314 |                 
2315 |                 
2316 |                 
2317 |                 <div style="background: #f8f9fa; padding: 15px; margin-bottom: 15px; border-radius: 8px; border-left: 4px solid #667eea;">
2318 |                     <h4 style="margin-top: 0; color: #333;">Group 8 - 3 clones (Type Type-1, similarity: 1.00)</h4>
2319 |                     <table class="table" style="margin-bottom: 0;">
2320 |                         <thead>
2321 |                             <tr>
2322 |                                 <th>File</th>
2323 |                                 <th>Lines</th>
2324 |                                 <th>Size</th>
2325 |                             </tr>
2326 |                         </thead>
2327 |                         <tbody>
2328 |                             
2329 |                             
2330 |                             <tr>
2331 |                                 <td>install.py</td>
2332 |                                 <td>3124-3151</td>
2333 |                                 <td>28 lines</td>
2334 |                             </tr>
2335 |                             
2336 |                             
2337 |                             
2338 |                             <tr>
2339 |                                 <td>install.py</td>
2340 |                                 <td>3127-3145</td>
2341 |                                 <td>19 lines</td>
2342 |                             </tr>
2343 |                             
2344 |                             
2345 |                             
2346 |                             <tr>
2347 |                                 <td>scripts/installation/install.py</td>
2348 |                                 <td>1927-1945</td>
2349 |                                 <td>19 lines</td>
2350 |                             </tr>
2351 |                             
2352 |                             
2353 |                             
2354 |                         </tbody>
2355 |                     </table>
2356 |                 </div>
2357 |                 
2358 |                 
2359 |                 
2360 |                 
2361 |                 
2362 |                 
2363 |                 
2364 |                 
2365 |                 
2366 |                 
2367 |                 
2368 |                 
2369 |                 
2370 |                 
2371 |                 
2372 |                 
2373 |                 
2374 |                 
2375 |                 
2376 |                 <p style="color: #666; margin-top: 10px;">Showing top 10 of 18 clone groups</p>
2377 |                 
2378 |                 
2379 |                 
2380 |             </div>
2381 |             
2382 | 
2383 |             
2384 |             <div id="cbo" class="tab-content">
2385 |                 <div class="tab-header-with-score">
2386 |                     <h2 style="margin: 0;">Class Coupling</h2>
2387 |                     <div class="score-badge-compact score-excellent">
2388 |                         100/100
2389 |                     </div>
2390 |                 </div>
2391 |                 <p style="margin-bottom: 20px; color: #666;">Coupling Between Objects (CBO) metrics</p>
2392 |                 
2393 |                 <div class="metric-grid">
2394 |                     <div class="metric-card">
2395 |                         <div class="metric-value">145</div>
2396 |                         <div class="metric-label">Total Classes</div>
2397 |                     </div>
2398 |                     <div class="metric-card">
2399 |                         <div class="metric-value">0</div>
2400 |                         <div class="metric-label">High Risk Classes</div>
2401 |                     </div>
2402 |                     <div class="metric-card">
2403 |                         <div class="metric-value">1.50</div>
2404 |                         <div class="metric-label">Average CBO</div>
2405 |                     </div>
2406 |                     <div class="metric-card">
2407 |                         <div class="metric-value">4</div>
2408 |                         <div class="metric-label">Max CBO</div>
2409 |                     </div>
2410 |                 </div>
2411 |                 
2412 |                 <h3>Most Dependent Classes</h3>
2413 |                 <table class="table">
2414 |                     <thead>
2415 |                         <tr>
2416 |                             <th>Class</th>
2417 |                             <th>File</th>
2418 |                             <th>CBO</th>
2419 |                             <th>Risk Level</th>
2420 |                             <th>Dependent Classes</th>
2421 |                         </tr>
2422 |                     </thead>
2423 |                     <tbody>
2424 |                         
2425 |                         
2426 |                         <tr>
2427 |                             <td>ConsolidationHealthMonitor</td>
2428 |                             <td>src/mcp_memory_service/consolidation/health.py</td>
2429 |                             <td>4</td>
2430 |                             <td class="risk-low">low</td>
2431 |                             <td>HealthMetric, HealthAlert, Any, HealthStatus</td>
2432 |                         </tr>
2433 |                         
2434 |                         
2435 |                         
2436 |                         <tr>
2437 |                             <td>ControlledForgettingEngine</td>
2438 |                             <td>src/mcp_memory_service/consolidation/forgetting.py</td>
2439 |                             <td>3</td>
2440 |                             <td class="risk-low">low</td>
2441 |                             <td>ConsolidationBase, ForgettingCandidate, ForgettingResult</td>
2442 |                         </tr>
2443 |                         
2444 |                         
2445 |                         
2446 |                         <tr>
2447 |                             <td>StorageStats</td>
2448 |                             <td>src/mcp_memory_service/web/api/analytics.py</td>
2449 |                             <td>3</td>
2450 |                             <td class="risk-low">low</td>
2451 |                             <td>BaseModel, LargestMemory, GrowthTrendPoint</td>
2452 |                         </tr>
2453 |                         
2454 |                         
2455 |                         
2456 |                         <tr>
2457 |                             <td>HybridMemoryStorage</td>
2458 |                             <td>src/mcp_memory_service/storage/hybrid.py</td>
2459 |                             <td>3</td>
2460 |                             <td class="risk-low">low</td>
2461 |                             <td>MemoryStorage, BackgroundSyncService, SyncOperation</td>
2462 |                         </tr>
2463 |                         
2464 |                         
2465 |                         
2466 |                         <tr>
2467 |                             <td>HTTPClientStorage</td>
2468 |                             <td>src/mcp_memory_service/storage/http_client.py</td>
2469 |                             <td>3</td>
2470 |                             <td class="risk-low">low</td>
2471 |                             <td>MemoryStorage, Any, Memory</td>
2472 |                         </tr>
2473 |                         
2474 |                         
2475 |                         
2476 |                         <tr>
2477 |                             <td>CloudflareStorage</td>
2478 |                             <td>src/mcp_memory_service/storage/cloudflare.py</td>
2479 |                             <td>3</td>
2480 |                             <td class="risk-low">low</td>
2481 |                             <td>Any, Memory, MemoryStorage</td>
2482 |                         </tr>
2483 |                         
2484 |                         
2485 |                         
2486 |                         <tr>
2487 |                             <td>ServiceDiscovery</td>
2488 |                             <td>src/mcp_memory_service/discovery/mdns_service.py</td>
2489 |                             <td>3</td>
2490 |                             <td class="risk-low">low</td>
2491 |                             <td>AsyncZeroconf, AsyncServiceBrowser, DiscoveryListener</td>
2492 |                         </tr>
2493 |                         
2494 |                         
2495 |                         
2496 |                         <tr>
2497 |                             <td>CacheManager</td>
2498 |                             <td>src/mcp_memory_service/utils/cache_manager.py</td>
2499 |                             <td>2</td>
2500 |                             <td class="risk-low">low</td>
2501 |                             <td>Any, CacheStats</td>
2502 |                         </tr>
2503 |                         
2504 |                         
2505 |                         
2506 |                         <tr>
2507 |                             <td>MemoryResult</td>
2508 |                             <td>src/mcp_memory_service/services/memory_service.py</td>
2509 |                             <td>2</td>
2510 |                             <td class="risk-low">low</td>
2511 |                             <td>TypedDict, Any</td>
2512 |                         </tr>
2513 |                         
2514 |                         
2515 |                         
2516 |                         <tr>
2517 |                             <td>SSEManager</td>
2518 |                             <td>src/mcp_memory_service/web/sse.py</td>
2519 |                             <td>2</td>
2520 |                             <td class="risk-low">low</td>
2521 |                             <td>Any, SSEEvent</td>
2522 |                         </tr>
2523 |                         
2524 |                         
2525 |                         
2526 |                         
2527 |                         
2528 |                         
2529 |                         
2530 |                         
2531 |                         
2532 |                         
2533 |                         
2534 |                         
2535 |                         
2536 |                         
2537 |                         
2538 |                         
2539 |                         
2540 |                         
2541 |                         
2542 |                         
2543 |                         
2544 |                         
2545 |                         
2546 |                         
2547 |                         
2548 |                         
2549 |                         
2550 |                         
2551 |                         
2552 |                         
2553 |                         
2554 |                         
2555 |                         
2556 |                         
2557 |                         
2558 |                         
2559 |                         
2560 |                         
2561 |                         
2562 |                         
2563 |                         
2564 |                         
2565 |                         
2566 |                         
2567 |                         
2568 |                         
2569 |                         
2570 |                         
2571 |                         
2572 |                         
2573 |                         
2574 |                         
2575 |                         
2576 |                         
2577 |                         
2578 |                         
2579 |                         
2580 |                         
2581 |                         
2582 |                         
2583 |                         
2584 |                         
2585 |                         
2586 |                         
2587 |                         
2588 |                         
2589 |                         
2590 |                         
2591 |                         
2592 |                         
2593 |                         
2594 |                         
2595 |                         
2596 |                         
2597 |                         
2598 |                         
2599 |                         
2600 |                         
2601 |                         
2602 |                         
2603 |                         
2604 |                         
2605 |                         
2606 |                         
2607 |                         
2608 |                         
2609 |                         
2610 |                         
2611 |                         
2612 |                         
2613 |                         
2614 |                         
2615 |                         
2616 |                         
2617 |                         
2618 |                         
2619 |                         
2620 |                         
2621 |                         
2622 |                         
2623 |                         
2624 |                         
2625 |                         
2626 |                         
2627 |                         
2628 |                         
2629 |                         
2630 |                         
2631 |                         
2632 |                         
2633 |                         
2634 |                         
2635 |                         
2636 |                         
2637 |                         
2638 |                         
2639 |                         
2640 |                         
2641 |                         
2642 |                         
2643 |                         
2644 |                         
2645 |                         
2646 |                         
2647 |                         
2648 |                         
2649 |                         
2650 |                         
2651 |                         
2652 |                         
2653 |                         
2654 |                         
2655 |                         
2656 |                         
2657 |                         
2658 |                         
2659 |                         
2660 |                         
2661 |                         
2662 |                         
2663 |                         
2664 |                         
2665 |                         
2666 |                         
2667 |                         
2668 |                         
2669 |                         
2670 |                         
2671 |                         
2672 |                         
2673 |                         
2674 |                         
2675 |                         
2676 |                         
2677 |                         
2678 |                         
2679 |                         
2680 |                         
2681 |                         
2682 |                         
2683 |                         
2684 |                         
2685 |                         
2686 |                         
2687 |                         
2688 |                         
2689 |                         
2690 |                         
2691 |                         
2692 |                         
2693 |                         
2694 |                         
2695 |                         
2696 |                         
2697 |                         
2698 |                         
2699 |                         
2700 |                         
2701 |                         
2702 |                         
2703 |                         
2704 |                         
2705 |                         
2706 |                         
2707 |                         
2708 |                         
2709 |                         
2710 |                         
2711 |                         
2712 |                         
2713 |                         
2714 |                         
2715 |                         
2716 |                         
2717 |                         
2718 |                         
2719 |                         
2720 |                         
2721 |                         
2722 |                         
2723 |                         
2724 |                         
2725 |                         
2726 |                         
2727 |                         
2728 |                         
2729 |                         
2730 |                         
2731 |                         
2732 |                         
2733 |                         
2734 |                         
2735 |                         
2736 |                         
2737 |                         
2738 |                         
2739 |                         
2740 |                         
2741 |                         
2742 |                         
2743 |                         
2744 |                         
2745 |                         
2746 |                         
2747 |                         
2748 |                         
2749 |                         
2750 |                         
2751 |                         
2752 |                         
2753 |                         
2754 |                         
2755 |                         
2756 |                         
2757 |                         
2758 |                         
2759 |                         
2760 |                         
2761 |                         
2762 |                         
2763 |                         
2764 |                         
2765 |                         
2766 |                         
2767 |                         
2768 |                         
2769 |                         
2770 |                         
2771 |                         
2772 |                         
2773 |                         
2774 |                         
2775 |                         
2776 |                         
2777 |                         
2778 |                         
2779 |                         
2780 |                         
2781 |                         
2782 |                         
2783 |                         
2784 |                         
2785 |                         
2786 |                         
2787 |                         
2788 |                         
2789 |                         
2790 |                         
2791 |                         
2792 |                         
2793 |                         
2794 |                         
2795 |                     </tbody>
2796 |                 </table>
2797 |                 
2798 |                 <p style="color: #666; margin-top: 10px;">Showing top 10 of 145 classes</p>
2799 |                 
2800 |                 
2801 |             </div>
2802 |             
2803 | 
2804 |             
2805 |             
2806 |             <div id="sys-deps" class="tab-content">
2807 |                 <div class="tab-header-with-score">
2808 |                     <h2 style="margin: 0;">Module Dependencies</h2>
2809 |                     <div class="score-badge-compact score-good">
2810 |                         85/100
2811 |                     </div>
2812 |                 </div>
2813 |                 <p style="margin-bottom: 20px; color: #666;">Project-wide module dependency graph metrics</p>
2814 |                 <div class="metric-grid">
2815 |                     <div class="metric-card">
2816 |                         <div class="metric-value">252</div>
2817 |                         <div class="metric-label">Total Modules</div>
2818 |                     </div>
2819 |                     <div class="metric-card">
2820 |                         <div class="metric-value">237</div>
2821 |                         <div class="metric-label">Total Dependencies</div>
2822 |                     </div>
2823 |                     <div class="metric-card">
2824 |                         <div class="metric-value">7</div>
2825 |                         <div class="metric-label">Max Depth</div>
2826 |                     </div>
2827 |                     
2828 |                     <div class="metric-card">
2829 |                         <div class="metric-value">✅ 0</div>
2830 |                         <div class="metric-label">Circular Dependencies</div>
2831 |                     </div>
2832 |                     
2833 |                 </div>
2834 | 
2835 |                 
2836 |                 
2837 |                 <h3 style="margin-top: 30px;">Circular Dependencies</h3>
2838 |                 
2839 |                 <div style="padding: 20px; background: #d4edda; border-left: 4px solid #28a745; border-radius: 4px; margin: 20px 0;">
2840 |                     <strong style="color: #155724;">✅ No circular dependencies detected</strong>
2841 |                     <p style="color: #155724; margin: 10px 0 0 0;">All modules have acyclic dependency relationships.</p>
2842 |                 </div>
2843 |                 
2844 |                 
2845 | 
2846 |                 
2847 |                 <h3>Longest Dependency Chains</h3>
2848 |                 <table class="table">
2849 |                     <thead>
2850 |                         <tr>
2851 |                             <th>#</th>
2852 |                             <th>Depth</th>
2853 |                             <th>Path</th>
2854 |                         </tr>
2855 |                     </thead>
2856 |                     <tbody>
2857 |                         
2858 |                         
2859 |                         <tr>
2860 |                             <td>1</td>
2861 |                             <td>6</td>
2862 |                             <td>src.mcp_memory_service.web.app → src.mcp_memory_service.web.api.mcp → src.mcp_memory_service.web.dependencies → src.mcp_memory_service.services.memory_service → src.mcp_memory_service.storage.base → src.mcp_memory_service.models.memory</td>
2863 |                         </tr>
2864 |                         
2865 |                         
2866 |                         
2867 |                         <tr>
2868 |                             <td>2</td>
2869 |                             <td>6</td>
2870 |                             <td>src.mcp_memory_service.discovery → src.mcp_memory_service.api.client → src.mcp_memory_service.storage.factory → src.mcp_memory_service.storage.sqlite_vec → src.mcp_memory_service.consolidation.base → src.mcp_memory_service.models.memory</td>
2871 |                         </tr>
2872 |                         
2873 |                         
2874 |                         
2875 |                         <tr>
2876 |                             <td>3</td>
2877 |                             <td>6</td>
2878 |                             <td>src.mcp_memory_service.web.api.events → src.mcp_memory_service.web.dependencies → src.mcp_memory_service.storage.factory → src.mcp_memory_service.storage.sqlite_vec → src.mcp_memory_service.consolidation.base → src.mcp_memory_service.models.memory</td>
2879 |                         </tr>
2880 |                         
2881 |                         
2882 |                         
2883 |                         <tr>
2884 |                             <td>4</td>
2885 |                             <td>5</td>
2886 |                             <td>src.mcp_memory_service.api.operations → src.mcp_memory_service.api.client → src.mcp_memory_service.storage.factory → src.mcp_memory_service.storage.sqlite_vec → src.mcp_memory_service.config</td>
2887 |                         </tr>
2888 |                         
2889 |                         
2890 |                         
2891 |                         <tr>
2892 |                             <td>5</td>
2893 |                             <td>5</td>
2894 |                             <td>src.mcp_memory_service.discovery → src.mcp_memory_service.api.client → src.mcp_memory_service.storage.factory → src.mcp_memory_service.consolidation.base → src.mcp_memory_service.models.memory</td>
2895 |                         </tr>
2896 |                         
2897 |                         
2898 |                         
2899 |                         <tr>
2900 |                             <td>6</td>
2901 |                             <td>5</td>
2902 |                             <td>src.mcp_memory_service.web.app → src.mcp_memory_service.web.api.mcp → src.mcp_memory_service.web.dependencies → src.mcp_memory_service.services.memory_service → src.mcp_memory_service.storage.base</td>
2903 |                         </tr>
2904 |                         
2905 |                         
2906 |                         
2907 |                         <tr>
2908 |                             <td>7</td>
2909 |                             <td>5</td>
2910 |                             <td>src.mcp_memory_service.web.app → src.mcp_memory_service.web.api.mcp → src.mcp_memory_service.web.dependencies → src.mcp_memory_service.services.memory_service → src.mcp_memory_service.utils.hashing</td>
2911 |                         </tr>
2912 |                         
2913 |                         
2914 |                         
2915 |                         <tr>
2916 |                             <td>8</td>
2917 |                             <td>5</td>
2918 |                             <td>src.mcp_memory_service.web.app → src.mcp_memory_service.web.api.mcp → src.mcp_memory_service.web.dependencies → src.mcp_memory_service.services.memory_service → src.mcp_memory_service.models.memory</td>
2919 |                         </tr>
2920 |                         
2921 |                         
2922 |                         
2923 |                         <tr>
2924 |                             <td>9</td>
2925 |                             <td>5</td>
2926 |                             <td>src.mcp_memory_service.web.app → src.mcp_memory_service.web.api.mcp → src.mcp_memory_service.web.dependencies → src.mcp_memory_service.services.memory_service → src.mcp_memory_service.utils.content_splitter</td>
2927 |                         </tr>
2928 |                         
2929 |                         
2930 |                         
2931 |                         <tr>
2932 |                             <td>10</td>
2933 |                             <td>5</td>
2934 |                             <td>src.mcp_memory_service.web.api.mcp → src.mcp_memory_service.web.dependencies → src.mcp_memory_service.services.memory_service → src.mcp_memory_service.storage.base → src.mcp_memory_service.models.memory</td>
2935 |                         </tr>
2936 |                         
2937 |                         
2938 |                     </tbody>
2939 |                 </table>
2940 |                 
2941 |             </div>
2942 |             
2943 | 
2944 |             
2945 |             <div id="sys-arch" class="tab-content">
2946 |                 <div class="tab-header-with-score">
2947 |                     <h2 style="margin: 0;">Architecture Validation</h2>
2948 |                     <div class="score-badge-compact score-good">
2949 |                         75/100
2950 |                     </div>
2951 |                 </div>
2952 |                 <div class="metric-grid">
2953 |                     <div class="metric-card">
2954 |                         <div class="metric-value">4</div>
2955 |                         <div class="metric-label">Layers Analyzed</div>
2956 |                     </div>
2957 |                     <div class="metric-card">
2958 |                         <div class="metric-value">237</div>
2959 |                         <div class="metric-label">Total Rules</div>
2960 |                     </div>
2961 |                     <div class="metric-card">
2962 |                         <div class="metric-value">58</div>
2963 |                         <div class="metric-label">Violations</div>
2964 |                     </div>
2965 |                     <div class="metric-card">
2966 |                         <div class="metric-value">75.5%</div>
2967 |                         <div class="metric-label">Compliance</div>
2968 |                     </div>
2969 |                 </div>
2970 | 
2971 |                 
2972 |                 <h3>Top Rule Violations</h3>
2973 |                 <table class="table">
2974 |                     <thead>
2975 |                         <tr>
2976 |                             <th>Severity</th>
2977 |                             <th>Rule</th>
2978 |                             <th>From</th>
2979 |                             <th>To</th>
2980 |                         </tr>
2981 |                     </thead>
2982 |                     <tbody>
2983 |                         
2984 |                         
2985 |                         <tr>
2986 |                             <td>error</td>
2987 |                             <td>application -&gt; {application,domain,infrastructure}</td>
2988 |                             <td>scripts.backup.backup_memories</td>
2989 |                             <td>src.mcp_memory_service.config</td>
2990 |                         </tr>
2991 |                         
2992 |                         
2993 |                         
2994 |                         <tr>
2995 |                             <td>error</td>
2996 |                             <td>infrastructure -&gt; {infrastructure,domain,application}</td>
2997 |                             <td>scripts.backup.restore_memories</td>
2998 |                             <td>src.mcp_memory_service.config</td>
2999 |                         </tr>
3000 |                         
3001 |                         
3002 |                         
3003 |                         <tr>
3004 |                             <td>error</td>
3005 |                             <td>domain !&gt; presentation</td>
3006 |                             <td>scripts.maintenance.cleanup_memories</td>
3007 |                             <td>src.mcp_memory_service.config</td>
3008 |                         </tr>
3009 |                         
3010 |                         
3011 |                         
3012 |                         <tr>
3013 |                             <td>error</td>
3014 |                             <td>application -&gt; {application,domain,infrastructure}</td>
3015 |                             <td>scripts.maintenance.regenerate_embeddings</td>
3016 |                             <td>src.mcp_memory_service.config</td>
3017 |                         </tr>
3018 |                         
3019 |                         
3020 |                         
3021 |                         <tr>
3022 |                             <td>error</td>
3023 |                             <td>infrastructure -&gt; {infrastructure,domain,application}</td>
3024 |                             <td>scripts.maintenance.repair_malformed_tags</td>
3025 |                             <td>src.mcp_memory_service.config</td>
3026 |                         </tr>
3027 |                         
3028 |                         
3029 |                         
3030 |                         <tr>
3031 |                             <td>error</td>
3032 |                             <td>domain !&gt; presentation</td>
3033 |                             <td>src.mcp_memory_service.api.client</td>
3034 |                             <td>src.mcp_memory_service.config</td>
3035 |                         </tr>
3036 |                         
3037 |                         
3038 |                         
3039 |                         <tr>
3040 |                             <td>error</td>
3041 |                             <td>domain !&gt; presentation</td>
3042 |                             <td>src.mcp_memory_service.api.operations</td>
3043 |                             <td>src.mcp_memory_service.api.sync_wrapper</td>
3044 |                         </tr>
3045 |                         
3046 |                         
3047 |                         
3048 |                         <tr>
3049 |                             <td>error</td>
3050 |                             <td>domain !&gt; presentation</td>
3051 |                             <td>src.mcp_memory_service.backup.scheduler</td>
3052 |                             <td>src.mcp_memory_service.config</td>
3053 |                         </tr>
3054 |                         
3055 |                         
3056 |                         
3057 |                         <tr>
3058 |                             <td>error</td>
3059 |                             <td>domain !&gt; presentation</td>
3060 |                             <td>src.mcp_memory_service.cli.main</td>
3061 |                             <td>src.mcp_memory_service.server</td>
3062 |                         </tr>
3063 |                         
3064 |                         
3065 |                         
3066 |                         <tr>
3067 |                             <td>error</td>
3068 |                             <td>domain !&gt; presentation</td>
3069 |                             <td>src.mcp_memory_service.cli.utils</td>
3070 |                             <td>src.mcp_memory_service.config</td>
3071 |                         </tr>
3072 |                         
3073 |                         
3074 |                         
3075 |                         <tr>
3076 |                             <td>error</td>
3077 |                             <td>domain !&gt; application</td>
3078 |                             <td>src.mcp_memory_service.consolidation.associations</td>
3079 |                             <td>src.mcp_memory_service.consolidation.base</td>
3080 |                         </tr>
3081 |                         
3082 |                         
3083 |                         
3084 |                         <tr>
3085 |                             <td>error</td>
3086 |                             <td>domain !&gt; application</td>
3087 |                             <td>src.mcp_memory_service.consolidation.clustering</td>
3088 |                             <td>src.mcp_memory_service.consolidation.base</td>
3089 |                         </tr>
3090 |                         
3091 |                         
3092 |                         
3093 |                         <tr>
3094 |                             <td>error</td>
3095 |                             <td>domain !&gt; application</td>
3096 |                             <td>src.mcp_memory_service.consolidation.compression</td>
3097 |                             <td>src.mcp_memory_service.consolidation.base</td>
3098 |                         </tr>
3099 |                         
3100 |                         
3101 |                         
3102 |                         <tr>
3103 |                             <td>error</td>
3104 |                             <td>domain !&gt; application</td>
3105 |                             <td>src.mcp_memory_service.consolidation.consolidator</td>
3106 |                             <td>src.mcp_memory_service.consolidation.base</td>
3107 |                         </tr>
3108 |                         
3109 |                         
3110 |                         
3111 |                         <tr>
3112 |                             <td>error</td>
3113 |                             <td>domain !&gt; presentation</td>
3114 |                             <td>src.mcp_memory_service.consolidation.consolidator</td>
3115 |                             <td>src.mcp_memory_service.consolidation.decay</td>
3116 |                         </tr>
3117 |                         
3118 |                         
3119 |                         
3120 |                         <tr>
3121 |                             <td>error</td>
3122 |                             <td>domain !&gt; application</td>
3123 |                             <td>src.mcp_memory_service.consolidation.consolidator</td>
3124 |                             <td>src.mcp_memory_service.consolidation.forgetting</td>
3125 |                         </tr>
3126 |                         
3127 |                         
3128 |                         
3129 |                         <tr>
3130 |                             <td>error</td>
3131 |                             <td>domain !&gt; presentation</td>
3132 |                             <td>src.mcp_memory_service.consolidation.consolidator</td>
3133 |                             <td>src.mcp_memory_service.consolidation.health</td>
3134 |                         </tr>
3135 |                         
3136 |                         
3137 |                         
3138 |                         <tr>
3139 |                             <td>error</td>
3140 |                             <td>application -&gt; {application,domain,infrastructure}</td>
3141 |                             <td>src.mcp_memory_service.consolidation.forgetting</td>
3142 |                             <td>src.mcp_memory_service.consolidation.decay</td>
3143 |                         </tr>
3144 |                         
3145 |                         
3146 |                         
3147 |                         <tr>
3148 |                             <td>error</td>
3149 |                             <td>domain !&gt; application</td>
3150 |                             <td>src.mcp_memory_service.consolidation.scheduler</td>
3151 |                             <td>src.mcp_memory_service.consolidation.base</td>
3152 |                         </tr>
3153 |                         
3154 |                         
3155 |                         
3156 |                         <tr>
3157 |                             <td>error</td>
3158 |                             <td>domain !&gt; presentation</td>
3159 |                             <td>src.mcp_memory_service.discovery.client</td>
3160 |                             <td>src.mcp_memory_service.config</td>
3161 |                         </tr>
3162 |                         
3163 |                         
3164 |                         
3165 |                         
3166 |                         
3167 |                         
3168 |                         
3169 |                         
3170 |                         
3171 |                         
3172 |                         
3173 |                         
3174 |                         
3175 |                         
3176 |                         
3177 |                         
3178 |                         
3179 |                         
3180 |                         
3181 |                         
3182 |                         
3183 |                         
3184 |                         
3185 |                         
3186 |                         
3187 |                         
3188 |                         
3189 |                         
3190 |                         
3191 |                         
3192 |                         
3193 |                         
3194 |                         
3195 |                         
3196 |                         
3197 |                         
3198 |                         
3199 |                         
3200 |                         
3201 |                         
3202 |                         
3203 |                         
3204 |                         
3205 |                         
3206 |                         
3207 |                         
3208 |                         
3209 |                         
3210 |                         
3211 |                         
3212 |                         
3213 |                         
3214 |                         
3215 |                         
3216 |                         
3217 |                         
3218 |                         
3219 |                         
3220 |                         
3221 |                         
3222 |                         
3223 |                         
3224 |                         
3225 |                         
3226 |                         
3227 |                         
3228 |                         
3229 |                         
3230 |                         
3231 |                         
3232 |                         
3233 |                         
3234 |                         
3235 |                         
3236 |                         
3237 |                         
3238 |                         
3239 |                         
3240 |                     </tbody>
3241 |                 </table>
3242 |                 
3243 |             </div>
3244 |             
3245 |             
3246 |         </div>
3247 |     </div>
3248 | 
3249 |     <script>
3250 |         function showTab(tabName, el) {
3251 |             
3252 |             const tabs = document.querySelectorAll('.tab-content');
3253 |             tabs.forEach(tab => tab.classList.remove('active'));
3254 |             
3255 |             
3256 |             const buttons = document.querySelectorAll('.tab-button');
3257 |             buttons.forEach(btn => btn.classList.remove('active'));
3258 |             
3259 |             
3260 |             document.getElementById(tabName).classList.add('active');
3261 |             
3262 |             
3263 |             if (el) { el.classList.add('active'); }
3264 |         }
3265 |     </script>
3266 | </body>
3267 | </html>
```
Page 43/47FirstPrevNextLast