# code2llm | 298f 47130L | python:204,javascript:85,shell:8 | 2026-03-25
# CC̄=4.6 | critical:123/2444 | dups:0 | cycles:0

HEALTH[20]:
  🔴 GOD   src/proxym/external/providers.py = 649L, 6 classes, 40m, max CC=7
  🟡 CC    autofix_cmd CC=16 (limit:15)
  🟡 CC    _normalise_review_payload CC=16 (limit:15)
  🟡 CC    _probe_tool CC=18 (limit:15)
  🟡 CC    cmd_chat CC=20 (limit:15)
  🟡 CC    cmd_ticket_analyze CC=23 (limit:15)
  🟡 CC    _build_execution CC=18 (limit:15)
  🟡 CC    filter_models CC=25 (limit:15)
  🟡 CC    all_events CC=16 (limit:15)
  🟡 CC    _load CC=15 (limit:15)
  🟡 CC    enrich_project CC=28 (limit:15)
  🟡 CC    ticket_list CC=15 (limit:15)
  🟡 CC    _resolve_dispatch_args CC=15 (limit:15)
  🟡 CC    tools_dispatch CC=22 (limit:15)
  🟡 CC    tools_status CC=19 (limit:15)
  🟡 CC    compare_cmd CC=24 (limit:15)
  🟡 CC    batch_cmd CC=25 (limit:15)
  🟡 CC    _follow_job CC=18 (limit:15)
  🟡 CC    do_cmd CC=26 (limit:15)
  🟡 CC    _build_project_context CC=18 (limit:15)

REFACTOR[2]:
  1. split src/proxym/external/providers.py  (god module)
  2. split 19 high-CC methods  (CC>15)

PIPELINES[1519]:
  [1] Src [main]: main → print
      PURITY: 100% pure
  [2] Src [divide]: divide
      PURITY: 100% pure
  [3] Src [calculate]: calculate
      PURITY: 100% pure
  [4] Src [main]: main → print
      PURITY: 100% pure
  [5] Src [main]: main → print
      PURITY: 100% pure

LAYERS:
  src/                            CC̄=4.6    ←in:0  →out:0
  │ !! tasks.jsx                 1697L  0C  110m  CC=129    ←0
  │ !! tickets.jsx               1500L  0C   94m  CC=94     ←0
  │ !! projects.jsx              1138L  0C   74m  CC=129    ←0
  │ !! integrations.jsx           983L  0C   48m  CC=33     ←0
  │ !! providers                  649L  6C   40m  CC=7      ←0
  │ !! setup.jsx                  649L  0C   33m  CC=36     ←0
  │ !! _git_support               637L  1C   35m  CC=13     ←0
  │ !! environments.jsx           611L  0C   30m  CC=59     ←0
  │ !! external_ctl               594L  0C   16m  CC=12     ←0
  │ !! ctl                        561L  0C   25m  CC=16     ←10
  │ !! __init__                   561L  3C    9m  CC=25     ←2
  │ !! _tickets_api               533L  0C   21m  CC=11     ←10
  │ !! _manager                   508L  1C   34m  CC=28     ←0
  │ !! chat                       502L  0C   15m  CC=20     ←0
  │ !! executor                   487L  3C   22m  CC=18     ←6
  │ !! TicketsPanelRefactored.jsx   477L  0C   35m  CC=55     ←0
  │ _environments_api          460L  6C   33m  CC=13     ←5
  │ !! users.jsx                  457L  0C   21m  CC=24     ←0
  │ !! tickets                    450L  0C   16m  CC=23     ←2
  │ !! useDashboardData.js        446L  0C   70m  CC=28     ←0
  │ !! events                     433L  33C   15m  CC=16     ←0
  │ !! __init__                   398L  8C   20m  CC=15     ←0
  │ !! _llm_fallback              391L  0C    5m  CC=18     ←2
  │ external_api               370L  8C    8m  CC=4      ←0
  │ !! human.jsx                  366L  0C   18m  CC=65     ←0
  │ !! project_handler            362L  2C   12m  CC=28     ←1
  │ !! orchestrator               354L  1C   13m  CC=16     ←0
  │ __init__                   352L  1C   13m  CC=9      ←2
  │ _projects_api              343L  3C   16m  CC=8      ←5
  │ repair_agent               341L  1C    9m  CC=14     ←0
  │ __init__                   333L  3C   10m  CC=9      ←1
  │ !! tickets_ctl                333L  0C   15m  CC=15     ←0
  │ strategy                   330L  3C   19m  CC=9      ←0
  │ !! do_ctl                     330L  0C   11m  CC=26     ←2
  │ _builtins                  328L  0C    3m  CC=2      ←0
  │ !! tools_ctl                  324L  0C    8m  CC=22     ←0
  │ _tools_vallm               318L  3C   10m  CC=7      ←0
  │ home.jsx                   316L  0C   38m  CC=12     ←0
  │ browser_profiles           314L  2C   12m  CC=9      ←2
  │ __init__                   308L  0C    8m  CC=9      ←15
  │ !! multi_ctl                  308L  0C    4m  CC=25     ←0
  │ _cli_schema                306L  1C   11m  CC=14     ←1
  │ !! vms.jsx                    305L  0C   33m  CC=36     ←28
  │ _pipeline                  299L  1C   16m  CC=7      ←0
  │ TicketManagerRefactored    296L  4C   26m  CC=10     ←0
  │ dsl                        287L  2C    8m  CC=5      ←0
  │ projects_ctl               286L  0C   11m  CC=10     ←0
  │ webhooks                   273L  1C   12m  CC=10     ←0
  │ frontend                   267L  0C   11m  CC=6      ←0
  │ !! main                       263L  0C    2m  CC=15     ←0
  │ completions                261L  0C   12m  CC=13     ←1
  │ HealthCheckerRefactored    257L  7C   15m  CC=12     ←1
  │ __init__                   251L  4C   14m  CC=10     ←0
  │ _models                    249L  11C    4m  CC=12     ←0
  │ session                    247L  2C   12m  CC=7      ←0
  │ !! voice.jsx                  245L  0C   25m  CC=24     ←0
  │ _autofix                   243L  1C    5m  CC=12     ←0
  │ _lifecycle                 236L  1C   12m  CC=7      ←0
  │ _diag_agent                230L  0C    5m  CC=14     ←1
  │ diagnostics                229L  0C    9m  CC=9      ←0
  │ _vms                       228L  3C   12m  CC=12     ←0
  │ !! JobDetailsPanel.jsx        225L  0C   15m  CC=77     ←0
  │ !! _dispatch                  223L  3C    4m  CC=21     ←0
  │ !! startup                    221L  1C    7m  CC=18     ←0
  │ _vm_config                 220L  1C    7m  CC=9      ←0
  │ !! _health                    217L  0C    6m  CC=21     ←1
  │ watchdog                   211L  1C   13m  CC=7      ←0
  │ keys_ctl                   211L  0C    7m  CC=9      ←0
  │ !! EditableTicketTable.jsx    210L  0C    9m  CC=29     ←0
  │ clonebox_adapter           209L  2C   17m  CC=5      ←0
  │ TicketList.jsx             209L  0C   14m  CC=12     ←0
  │ !! diagnostics.jsx            208L  0C    9m  CC=40     ←0
  │ _queue                     205L  0C    8m  CC=12     ←0
  │ detector                   202L  0C    8m  CC=9      ←2
  │ _tools_tickets             198L  3C    5m  CC=4      ←0
  │ vscode_api                 198L  0C   11m  CC=5      ←0
  │ !! ToolHealthPanelRefactored.jsx   197L  0C   16m  CC=40     ←0
  │ _base                      195L  1C    5m  CC=12     ←3
  │ _tools_vm                  194L  4C    7m  CC=4      ←0
  │ _api                       194L  0C    9m  CC=8      ←1
  │ models.jsx                 194L  0C   18m  CC=14     ←0
  │ _tickets_support           192L  0C    8m  CC=14     ←0
  │ config                     187L  1C    3m  CC=4      ←36
  │ voice_schemas.jsx          187L  0C   10m  CC=3      ←0
  │ system                     185L  0C    6m  CC=6      ←0
  │ console                    184L  0C    4m  CC=10     ←0
  │ user_handler               175L  2C   12m  CC=5      ←0
  │ setup_handler              172L  4C   14m  CC=7      ←1
  │ vms                        168L  0C   11m  CC=7      ←0
  │ _registry                  166L  1C   12m  CC=10     ←11
  │ !! ToolsJobQueue.jsx          164L  0C    8m  CC=48     ←0
  │ setup                      162L  0C    4m  CC=2      ←12
  │ !! logs.jsx                   158L  0C    9m  CC=34     ←0
  │ !! BulkOperations.jsx         157L  0C    7m  CC=20     ←0
  │ _system                    156L  0C    4m  CC=13     ←0
  │ bus                        154L  4C    6m  CC=5      ←0
  │ storage                    153L  1C    7m  CC=6      ←3
  │ context_api                152L  0C    7m  CC=9      ←0
  │ client                     151L  2C    4m  CC=6      ←0
  │ TicketFilters.jsx          151L  0C    2m  CC=7      ←0
  │ voice_engine.jsx           150L  0C   30m  CC=11     ←2
  │ !! ToolCard.jsx               150L  0C    6m  CC=26     ←0
  │ diagnostics                148L  0C    7m  CC=11     ←0
  │ observability              147L  0C    6m  CC=10     ←0
  │ smart_defaults             146L  0C    6m  CC=13     ←3
  │ __init__                   146L  1C    5m  CC=5      ←0
  │ _diag_vscode               143L  0C    2m  CC=14     ←1
  │ !! HumanTaskPanelRefactored.jsx   143L  0C   13m  CC=15     ←0
  │ TicketDispatchTableRefactored.jsx   141L  0C    9m  CC=10     ←0
  │ _manager                   139L  1C   13m  CC=7      ←3
  │ !! TasksPanelRefactored.jsx   136L  0C   16m  CC=39     ←0
  │ !! TableExport.jsx            134L  0C   16m  CC=16     ←0
  │ integrations_api           129L  2C    4m  CC=3      ←0
  │ config                     129L  2C    9m  CC=5      ←2
  │ system                     125L  0C    7m  CC=6      ←0
  │ _git_sync                  125L  1C    9m  CC=6      ←0
  │ accounts                   124L  0C    6m  CC=8      ←0
  │ _diag_roo                  121L  0C    4m  CC=13     ←2
  │ ProjectExport.jsx          121L  0C   13m  CC=9      ←0
  │ !! panel.jsx                  119L  0C    7m  CC=20     ←0
  │ _infra                     118L  1C    4m  CC=4      ←0
  │ voice_actions              118L  0C    9m  CC=9      ←0
  │ task_handler               116L  1C    5m  CC=5      ←0
  │ registry                   113L  3C    8m  CC=4      ←0
  │ _vscode                    113L  1C    3m  CC=7      ←0
  │ observability_api          111L  1C    8m  CC=4      ←0
  │ system.jsx                 111L  0C    4m  CC=10     ←0
  │ _enrichment                109L  0C    5m  CC=7      ←1
  │ vms_ctl                    107L  0C    7m  CC=1      ←0
  │ ViewControls.jsx           103L  0C    3m  CC=12     ←0
  │ _shell                     102L  1C    2m  CC=8      ←0
  │ _events_sse                101L  0C    2m  CC=5      ←0
  │ tool_selector              101L  0C    2m  CC=5      ←1
  │ _tools_system              100L  0C    3m  CC=3      ←0
  │ overview.jsx               100L  0C    7m  CC=7      ←0
  │ !! JobRow.jsx                  98L  0C    4m  CC=35     ←0
  │ _accounts                   97L  2C    5m  CC=3      ←0
  │ _tickets_models             96L  8C    0m  CC=0.0    ←0
  │ router                      95L  1C    4m  CC=5      ←0
  │ _config                     94L  3C    1m  CC=9      ←0
  │ _orchestrator               94L  1C    5m  CC=5      ←0
  │ _state                      94L  1C    5m  CC=7      ←0
  │ layout.jsx                  94L  0C   13m  CC=12     ←0
  │ health_events               93L  3C    7m  CC=6      ←3
  │ tools.jsx                   93L  0C    9m  CC=7      ←0
  │ _snapshot                   90L  1C    4m  CC=6      ←0
  │ context                     89L  0C    6m  CC=7      ←0
  │ accounts.jsx                86L  0C    6m  CC=11     ←0
  │ !! DiagnosticActions.jsx       86L  0C    3m  CC=17     ←0
  │ ToolHealthCard.jsx          86L  0C    3m  CC=12     ←0
  │ tts                         85L  1C    5m  CC=6      ←0
  │ _state                      85L  0C    6m  CC=2      ←4
  │ project_config              84L  1C    2m  CC=5      ←1
  │ _shared                     84L  0C    7m  CC=2      ←0
  │ _instance                   82L  1C    2m  CC=9      ←0
  │ accounts_ctl                82L  0C    7m  CC=1      ←0
  │ voice                       81L  1C    3m  CC=3      ←0
  │ vscode                      81L  0C    8m  CC=3      ←0
  │ __init__                    80L  0C    2m  CC=3      ←1
  │ ToolHealthDisplay.jsx       80L  0C    3m  CC=14     ←0
  │ !! TicketStatusBadges.jsx      75L  0C   11m  CC=16     ←0
  │ _tools_accounts             71L  1C    3m  CC=2      ←0
  │ __init__                    70L  2C    4m  CC=6      ←0
  │ !! HealthTrends.jsx            70L  0C   11m  CC=15     ←0
  │ __init__                    69L  0C    4m  CC=5      ←2
  │ _registry                   69L  0C    5m  CC=4      ←0
  │ project_commands            69L  4C    0m  CC=0.0    ←0
  │ diagnostics_ctl             66L  0C    3m  CC=1      ←0
  │ _costs                      65L  0C    3m  CC=4      ←0
  │ _lifecycle                  65L  1C    6m  CC=2      ←0
  │ browser                     65L  0C    5m  CC=6      ←0
  │ ui.jsx                      65L  0C    6m  CC=4      ←0
  │ _setup_api                  63L  1C    5m  CC=3      ←0
  │ _definition                 63L  1C    2m  CC=5      ←0
  │ _diag_proxy                 63L  0C    1m  CC=10     ←2
  │ !! BulkAutoFix.jsx             62L  0C    1m  CC=15     ←0
  │ _models                     60L  2C    1m  CC=1      ←0
  │ !! DiagConfig.jsx              59L  0C    4m  CC=29     ←0
  │ _diag_providers             57L  0C    1m  CC=12     ←2
  │ _providers                  55L  1C    2m  CC=4      ←0
  │ DispatchTableRow.jsx        55L  0C    7m  CC=4      ←0
  │ _human                      53L  1C    2m  CC=1      ←0
  │ _helpers                    52L  0C    3m  CC=6      ←3
  │ !! DiagExtensions.jsx          51L  0C    3m  CC=20     ←0
  │ DiagAgent.jsx               51L  0C    3m  CC=11     ←0
  │ observability_ctl           50L  0C    5m  CC=1      ←0
  │ self_server                 50L  0C    0m  CC=0.0    ←0
  │ _aider                      48L  1C    1m  CC=5      ←0
  │ TicketConstants.jsx         48L  0C    0m  CC=0.0    ←0
  │ _client                     47L  0C    4m  CC=9      ←18
  │ cmd_sessions_list           46L  0C    3m  CC=3      ←0
  │ context_ctl                 46L  0C    3m  CC=1      ←0
  │ api.js                      46L  0C   12m  CC=3      ←0
  │ TicketStats.jsx             46L  0C    1m  CC=2      ←0
  │ DispatchActions.jsx         46L  0C    1m  CC=5      ←0
  │ _project                    45L  1C    2m  CC=3      ←0
  │ RecentJobsList.jsx          45L  0C    1m  CC=2      ←0
  │ ProjectInfoResolver.jsx     44L  0C    6m  CC=9      ←0
  │ ToolsPanelRefactored.jsx    44L  0C    1m  CC=3      ←0
  │ __init__                    41L  0C    0m  CC=0.0    ←0
  │ __init__                    41L  0C    0m  CC=0.0    ←0
  │ task_commands               39L  3C    0m  CC=0.0    ←0
  │ __init__                    39L  0C    0m  CC=0.0    ←0
  │ _result                     38L  1C    1m  CC=2      ←0
  │ ProviderConfigPanel.jsx     38L  0C    1m  CC=4      ←0
  │ !! jobFormatters.js            37L  0C    2m  CC=31     ←0
  │ user_commands               37L  4C    0m  CC=0.0    ←0
  │ browser_ctl                 36L  0C    2m  CC=1      ←0
  │ ToolsRegistry.jsx           36L  0C    3m  CC=1      ←0
  │ __init__                    36L  0C    0m  CC=0.0    ←0
  │ formatters.js               34L  0C   12m  CC=7      ←0
  │ DispatchTableHeader.jsx     34L  0C    1m  CC=10     ←0
  │ TasksBoard.jsx              34L  0C    1m  CC=5      ←0
  │ HumanTaskBoard.jsx          34L  0C    1m  CC=5      ←0
  │ _context                    33L  1C    1m  CC=3      ←1
  │ PredictiveAlerts.jsx        33L  0C    5m  CC=14     ←0
  │ HumanTaskStats.jsx          33L  0C    1m  CC=1      ←0
  │ _aider_install_fix          31L  0C    1m  CC=4      ←2
  │ user_queries                31L  4C    0m  CC=0.0    ←0
  │ __init__                    30L  0C    0m  CC=0.0    ←0
  │ _permissions                29L  0C    2m  CC=6      ←1
  │ project_queries             29L  3C    0m  CC=0.0    ←0
  │ _claude_code                28L  1C    1m  CC=2      ←0
  │ DiagInfrastructure.jsx      28L  0C    2m  CC=10     ←0
  │ __init__                    28L  0C    0m  CC=0.0    ←0
  │ detect_chrome_profiles      27L  0C    3m  CC=1      ←0
  │ _enums                      27L  2C    0m  CC=0.0    ←0
  │ __init__                    26L  0C    0m  CC=0.0    ←0
  │ _shared                     25L  0C    2m  CC=2      ←0
  │ delete_ticket               25L  0C    1m  CC=2      ←0
  │ _api_models                 25L  2C    0m  CC=0.0    ←0
  │ __init__                    25L  0C    0m  CC=0.0    ←0
  │ vscode_ctl                  24L  0C    1m  CC=1      ←0
  │ start_executor              24L  0C    3m  CC=3      ←0
  │ ToolAvailabilityAlert.jsx    24L  0C    1m  CC=4      ←0
  │ TasksList.jsx               24L  0C    1m  CC=2      ←0
  │ HumanTaskList.jsx           24L  0C    1m  CC=2      ←0
  │ __init__                    24L  0C    0m  CC=0.0    ←0
  │ __init__                    24L  0C    0m  CC=0.0    ←0
  │ __init__                    24L  0C    0m  CC=0.0    ←0
  │ __init__                    24L  0C    0m  CC=0.0    ←0
  │ helpers.jsx                 22L  0C    4m  CC=4      ←7
  │ setup_commands              22L  2C    0m  CC=0.0    ←0
  │ _lifecycle                  21L  0C    2m  CC=1      ←0
  │ QueueSummary.jsx            21L  0C    1m  CC=9      ←0
  │ _helpers                    20L  0C    3m  CC=1      ←4
  │ _diag_common                20L  0C    1m  CC=4      ←1
  │ JobRow.jsx                  19L  0C    1m  CC=4      ←0
  │ __init__                    19L  0C    0m  CC=0.0    ←0
  │ _llm_cli                    18L  1C    1m  CC=2      ←0
  │ _codex                      18L  1C    1m  CC=2      ←0
  │ _interpreter                18L  1C    1m  CC=2      ←0
  │ delete_ticket               18L  0C    2m  CC=3      ←2
  │ _enums                      18L  2C    0m  CC=0.0    ←0
  │ _check                      17L  0C    1m  CC=3      ←1
  │ _goose                      17L  1C    1m  CC=2      ←0
  │ TasksTable.jsx              17L  0C    1m  CC=3      ←0
  │ HumanTaskTable.jsx          17L  0C    1m  CC=3      ←0
  │ _plandex                    15L  1C    1m  CC=1      ←0
  │ ToolsDispatch.jsx           14L  0C    1m  CC=1      ←0
  │ setup_queries               14L  1C    0m  CC=0.0    ←0
  │ __init__                    14L  0C    0m  CC=0.0    ←0
  │ delete_milestone            13L  0C    2m  CC=1      ←0
  │ get_settings                12L  0C    1m  CC=2      ←2
  │ _emit_event                 12L  0C    1m  CC=2      ←1
  │ JobStatusBadge.jsx          12L  0C    2m  CC=2      ←0
  │ messages                    11L  0C    1m  CC=4      ←0
  │ _delete_item                10L  0C    1m  CC=2      ←2
  │ TasksRecentJobs.jsx          9L  0C    1m  CC=1      ←0
  │ HumanJobsList.jsx            9L  0C    1m  CC=1      ←0
  │ TasksViewControls.jsx        8L  0C    1m  CC=1      ←0
  │ HumanViewControls.jsx        8L  0C    1m  CC=1      ←0
  │ client                       4L  0C    0m  CC=0.0    ←0
  │ __init__                     3L  0C    0m  CC=0.0    ←0
  │ __init__                     1L  0C    0m  CC=0.0    ←0
  │ __init__                     1L  0C    0m  CC=0.0    ←0
  │ __init__                     1L  0C    0m  CC=0.0    ←0
  │ __init__                     1L  0C    0m  CC=0.0    ←0
  │ __init__                     1L  0C    0m  CC=0.0    ←0
  │
  htmlcov/                        CC̄=4.6    ←in:0  →out:0
  │ !! coverage_html_cb_dd2e7eb5.js   735L  0C   65m  CC=21     ←0
  │
  frontend/                       CC̄=4.1    ←in:0  →out:0
  │ dashboard-sse-service.js   168L  1C   14m  CC=10     ←0
  │ proxym-dashboard.jsx         6L  0C    0m  CC=0.0    ←0
  │
  ~/                              CC̄=1.2    ←in:0  →out:0
  │ calculator                  31L  0C    5m  CC=2      ←0
  │ Panel.tsx                   25L  1C    0m  CC=0.0    ←0
  │ Panel.js                    21L  0C    3m  CC=1      ←0
  │ hello                        3L  0C    1m  CC=1      ←0
  │
  scripts/                        CC̄=1.0    ←in:0  →out:32  !! split
  │ !! validate_system.sh         531L  0C   11m  CC=0.0    ←0
  │ seed_sprint8               229L  0C    1m  CC=10     ←0
  │ evaluate_llm_work.sh       169L  0C    2m  CC=0.0    ←0
  │ check_dashboard.sh         126L  0C    8m  CC=0.0    ←0
  │ setup.sh                    93L  0C    0m  CC=0.0    ←0
  │ proxym-voice-chat           73L  0C    3m  CC=5      ←0
  │ fix_corrupted_db            68L  0C    1m  CC=7      ←0
  │ proxym-voice-server.sh      64L  0C    0m  CC=0.0    ←0
  │ jetson-entrypoint.sh        43L  0C    0m  CC=0.0    ←0
  │
  docs/                           CC̄=1.0    ←in:0  →out:0
  │ proxym_tools                90L  1C    9m  CC=1      ←0
  │
  services/                       CC̄=0.0    ←in:0  →out:0
  │ entrypoint.sh              369L  0C    1m  CC=0.0    ←17
  │
  ./                              CC̄=0.0    ←in:0  →out:0
  │ project.sh                  21L  0C    0m  CC=0.0    ←0
  │

COUPLING:
                               services.vscode             src.proxym                scripts  docs.open-webui-tools
        services.vscode                     ──                   ←235                    ←32                         hub
             src.proxym                    235                     ──                                            ←1  !! fan-out
                scripts                     32                                            ──                         !! fan-out
  docs.open-webui-tools                                             1                                            ──
  CYCLES: none
  HUB: services.vscode/ (fan-in=267)
  SMELL: scripts/ fan-out=32 → split needed
  SMELL: src.proxym/ fan-out=235 → split needed

EXTERNAL:
  validation: run `vallm batch .` → validation.toon
  duplication: run `redup scan .` → duplication.toon
