Are we tiny?#

gptme is intended to be small and simple, and focus on doing the right thing in the right way, rather than all the things in all the ways.

The benefits of this approach are many:

  • It is easier to understand and maintain.

  • It is easier to contribute to.

  • It is easier to learn.

  • It is easier to extend.

  • It is more fun to work on.

Being aggressive about keeping things small and simple is a way to keep the project maintainable and fun to work on. The fastest way to kill a project is to make it too big and complex, and suffer burnout as a result.

Another major benefit of keeping things small and simple is that it makes it easier for AI to understand and work with the codebase. This is a major goal of the project, and it is important to keep in mind that the simpler the codebase is, the easier it will be for AI to work with it:

“The simpler your API is, the more effectively the AI can harness it when generating code.”

Kenneth Reitz (and many others)

To that end, in this document we will present some statistics about the current state of the project, trying to be mindful to keep an eye on this page and make sure we are not growing too much.

Startup time#

$ make bench-import
make[2]: Entering directory '/home/runner/work/gptme/gptme'
Benchmarking import time for gptme
time poetry run python -X importtime -m gptme --model openai --non-interactive 2>&1 | grep "import time" | cut -d'|' -f 2- | sort -n | tail -n 10
     108401 |           gptme.tools
     115009 | gptme.cli.main
     123233 |         gptme.config.cli_setup
     151681 |       gptme.config
     157032 |     gptme.llm
     192572 |     playwright.sync_api._generated
     201390 |   playwright.sync_api
     213954 | gptme.tools._browser_playwright
     242106 |   gptme.commands
     357603 | gptme.chat

real	0m1.609s
user	0m1.398s
sys	0m0.200s
make[2]: Leaving directory '/home/runner/work/gptme/gptme'
$ make bench-startup
make[2]: Entering directory '/home/runner/work/gptme/gptme'
Benchmarking startup time for gptme
Benchmark 1: import gptme.cli.main
  Time (mean ± σ):     141.6 ms ±   3.0 ms    [User: 120.0 ms, System: 21.4 ms]
  Range (min … max):   136.8 ms … 147.4 ms    10 runs
 
Benchmark 2: gptme --help
  Time (mean ± σ):     555.8 ms ±   7.9 ms    [User: 485.4 ms, System: 70.2 ms]
  Range (min … max):   542.9 ms … 569.0 ms    10 runs
 
Benchmark 3: full start/exit cycle
  Time (mean ± σ):      1.015 s ±  0.006 s    [User: 0.770 s, System: 0.623 s]
  Range (min … max):    1.006 s …  1.025 s    10 runs
 
Summary
  import gptme.cli.main ran
    3.93 ± 0.10 times faster than gptme --help
    7.17 ± 0.16 times faster than full start/exit cycle
make[2]: Leaving directory '/home/runner/work/gptme/gptme'

Lines of code#

LoC Core#

$ make cloc-core
make[2]: Entering directory '/home/runner/work/gptme/gptme'
cloc gptme/*.py gptme/llm/*.py gptme/util/*.py gptme/tools/base.py gptme/tools/__init__.py gptme/hooks/__init__.py gptme/plugins/__init__.py gptme/lessons/*.py --by-file --hide-rate --quiet | tail -n +2
-----------------------------------------------------------------------------------------------
File                                                        blank        comment           code
-----------------------------------------------------------------------------------------------
gptme/llm/llm_openai.py                                       307            382           1539
gptme/util/gh.py                                              243            301           1213
gptme/llm/llm_anthropic.py                                    217            311            932
gptme/tools/base.py                                           181            267            875
gptme/llm/__init__.py                                         158            289            808
gptme/util/context.py                                         145            224            619
gptme/chat.py                                                  77            154            523
gptme/llm/llm_openai_subscription.py                          125            119            508
gptme/lessons/installer.py                                    146            165            496
gptme/util/capabilities_export.py                              55             67            476
gptme/message.py                                              121            192            426
gptme/lessons/auto_include.py                                 108            210            418
gptme/util/prompt.py                                          102            151            412
gptme/util/cost_display.py                                     81             80            406
gptme/util/reduce.py                                           96            133            403
gptme/tools/__init__.py                                       117            128            399
gptme/telemetry.py                                             94             55            396
gptme/lessons/index.py                                        120            135            392
gptme/util/_telemetry.py                                      110            158            392
gptme/workspace_snapshot.py                                    53             64            386
gptme/llm/openai_responses.py                                  80             22            367
gptme/lessons/hybrid_matcher.py                               122            162            364
gptme/info.py                                                  96             79            361
gptme/llm/llm_grok_subscription.py                             93             74            359
gptme/llm/local_discovery.py                                   64             35            351
gptme/sandbox.py                                               95            208            349
gptme/init.py                                                  65             91            338
gptme/llm/llm_openai_models.py                                  6             43            333
gptme/util/safety.py                                           57             63            330
gptme/checkpoint.py                                            79             49            321
gptme/attestation.py                                           71              2            301
gptme/plugins/__init__.py                                      98            133            295
gptme/llm/validate.py                                          43             64            277
gptme/profiles.py                                              64             68            268
gptme/knowledge.py                                             70             80            252
gptme/codeblock.py                                             38            148            250
gptme/anti_slop.py                                             40             62            242
gptme/util/review.py                                           70            129            231
gptme/lessons/parser.py                                        74            119            226
gptme/util/auto_naming.py                                      68             78            224
gptme/lessons/commands.py                                      91             48            219
gptme/util/_sound_sounddevice.py                               57             50            218
gptme/model_attestation.py                                     63             78            209
gptme/hooks/__init__.py                                        20             42            203
gptme/util/sound.py                                            65             72            200
gptme/circuit_breaker.py                                       49             72            171
gptme/util/git_worktree.py                                     40             67            169
gptme/util/tool_format.py                                      48             76            169
gptme/llm/llm_gptme.py                                         64            112            164
gptme/llm/utils.py                                             56             84            159
gptme/util/tokens.py                                           46             69            159
gptme/dirs.py                                                  72             99            157
gptme/llm/llm_openai_models_deprecated.py                       5             14            157
gptme/util/__init__.py                                         34             29            157
gptme/util/clipboard.py                                        22             12            147
gptme/lessons/skill_commands.py                                47             58            135
gptme/util/replay.py                                           42             49            129
gptme/k_best.py                                                34             40            125
gptme/util/cost_tracker.py                                     46             69            114
gptme/util/ask_execute.py                                      26             44            113
gptme/util/export.py                                           26             29            111
gptme/prompt_queue.py                                          41             20            109
gptme/lessons/matcher.py                                       35             47            103
gptme/__version__.py                                           21             17             99
gptme/llm/llm_openrouter_subscription.py                       35             37             99
gptme/util/tree.py                                             21             15             87
gptme/util/context_savings.py                                  20              6             77
gptme/gears.py                                                 16              4             76
gptme/util/output_storage.py                                   29             37             71
gptme/llm/llm_anthropic_models_deprecated.py                    5             11             70
gptme/llm/retry_abort.py                                       24             66             70
gptme/session.py                                               39             64             70
gptme/util/generate_name.py                                     5              6             69
gptme/util/master_context.py                                   28             38             66
gptme/util/_sound_cmd.py                                       22             17             62
gptme/util/uri.py                                              29             42             59
gptme/util/cost.py                                             20             21             55
gptme/util/history.py                                          17              7             55
gptme/credentials.py                                           16              7             53
gptme/util/context_dedup.py                                    41             93             53
gptme/util/terminal.py                                         28             23             53
gptme/llm/provider_plugins.py                                  39             35             48
gptme/status_provider.py                                       24             60             47
gptme/llm/llm_mock.py                                          16             22             41
gptme/util/file_storage.py                                     30             47             40
gptme/util/keyword_matching.py                                 35             66             39
gptme/__init__.py                                               8              3             36
gptme/util/content.py                                          18             24             30
gptme/util/install.py                                          13             25             30
gptme/constants.py                                             21             29             29
gptme/llm/retry_policy.py                                      13             22             28
gptme/util/useredit.py                                         11             13             26
gptme/executor.py                                              18             26             24
gptme/util/interrupt.py                                        13             15             23
gptme/util/conversation_ids.py                                  7              4             22
gptme/lessons/__init__.py                                       7             15             21
gptme/util/git_cmd.py                                           7             14             17
gptme/__main__.py                                               2              0             12
gptme/util/stdio.py                                             8              9             12
gptme/llm/constants.py                                          2              6              5
-----------------------------------------------------------------------------------------------
SUM:                                                         5786           7520          23429
-----------------------------------------------------------------------------------------------
make[2]: Leaving directory '/home/runner/work/gptme/gptme'

LoC LLM#

$ make cloc-llm
make[2]: Entering directory '/home/runner/work/gptme/gptme'
cloc gptme/llm/*.py --by-file --hide-rate --quiet | tail -n +2
-----------------------------------------------------------------------------------------------
File                                                        blank        comment           code
-----------------------------------------------------------------------------------------------
gptme/llm/llm_openai.py                                       307            382           1539
gptme/llm/llm_anthropic.py                                    217            311            932
gptme/llm/__init__.py                                         158            289            808
gptme/llm/llm_openai_subscription.py                          125            119            508
gptme/llm/openai_responses.py                                  80             22            367
gptme/llm/llm_grok_subscription.py                             93             74            359
gptme/llm/local_discovery.py                                   64             35            351
gptme/llm/llm_openai_models.py                                  6             43            333
gptme/llm/validate.py                                          43             64            277
gptme/llm/llm_gptme.py                                         64            112            164
gptme/llm/utils.py                                             56             84            159
gptme/llm/llm_openai_models_deprecated.py                       5             14            157
gptme/llm/llm_openrouter_subscription.py                       35             37             99
gptme/llm/llm_anthropic_models_deprecated.py                    5             11             70
gptme/llm/retry_abort.py                                       24             66             70
gptme/llm/provider_plugins.py                                  39             35             48
gptme/llm/llm_mock.py                                          16             22             41
gptme/llm/retry_policy.py                                      13             22             28
gptme/llm/constants.py                                          2              6              5
-----------------------------------------------------------------------------------------------
SUM:                                                         1352           1748           6315
-----------------------------------------------------------------------------------------------
make[2]: Leaving directory '/home/runner/work/gptme/gptme'

LoC Tools#

$ make cloc-tools
make[2]: Entering directory '/home/runner/work/gptme/gptme'
cloc gptme/tools/*.py gptme/hooks/*.py gptme/plugins/*.py --by-file --hide-rate --quiet | tail -n +2
------------------------------------------------------------------------------------------
File                                                   blank        comment           code
------------------------------------------------------------------------------------------
gptme/tools/computer.py                                  432            864           1659
gptme/tools/shell.py                                     294            412           1600
gptme/hooks/workspace_agents.py                          238            153           1255
gptme/tools/base.py                                      181            267            875
gptme/tools/convert.py                                   136             85            793
gptme/tools/chats.py                                     135            167            706
gptme/tools/browser.py                                   269            436            673
gptme/tools/_browser_playwright.py                       234            276            665
gptme/tools/mcp_adapter.py                               230            223            650
gptme/tools/complete.py                                  103            170            572
gptme/tools/computer_transport.py                        151            125            567
gptme/tools/gh.py                                        117            128            523
gptme/hooks/registry.py                                  102             82            502
gptme/tools/hashline_edit.py                             126            365            501
gptme/tools/shell_validation.py                          119            252            431
gptme/tools/__init__.py                                  117            128            399
gptme/tools/tmux.py                                       98            170            398
gptme/tools/shell_background.py                           74             38            365
gptme/tools/python.py                                     93            116            353
gptme/tools/mcp.py                                       102            103            337
gptme/hooks/cost_awareness.py                             82             75            329
gptme/tools/shell_flags.py                                60            257            315
gptme/tools/_browser_thread.py                            57             68            297
gptme/plugins/__init__.py                                 98            133            295
gptme/tools/read.py                                       55             73            287
gptme/tools/lessons.py                                   106            115            278
gptme/tools/save.py                                       63             63            276
gptme/tools/patch.py                                      63             95            271
gptme/tools/rag.py                                        89            131            245
gptme/tools/patch_many.py                                 56             62            243
gptme/tools/todo.py                                       95            104            232
gptme/tools/precommit.py                                  70             96            230
gptme/hooks/aw_watcher_agent.py                           49             21            217
gptme/hooks/elicitation.py                                90            132            213
gptme/hooks/__init__.py                                   20             42            203
gptme/hooks/auto_snapshots.py                             51             66            201
gptme/hooks/manifest.py                                   43             41            190
gptme/hooks/script.py                                     21              8            189
gptme/tools/pruner.py                                     44              0            188
gptme/tools/morph.py                                      43             49            185
gptme/tools/request_tool_change.py                        35             33            173
gptme/tools/patch_anchored.py                             54             79            172
gptme/hooks/cache_awareness.py                           118            186            168
gptme/hooks/types.py                                      96            136            163
gptme/hooks/cli_confirm.py                                50             54            152
gptme/tools/restart.py                                    53             83            150
gptme/hooks/token_awareness.py                            47             46            146
gptme/tools/form.py                                       42             64            145
gptme/hooks/agents_md_inject.py                           36             63            137
gptme/hooks/tool_target_instructions.py                   37             47            135
gptme/tools/elicit.py                                     39            121            135
gptme/hooks/injection_screening.py                        31             34            130
gptme/hooks/form_autodetect.py                            48             65            123
gptme/hooks/server_confirm.py                             51             58            122
gptme/plugins/registry.py                                 40             35            116
gptme/hooks/server_elicit.py                              52             56            113
gptme/tools/computer_semantic.py                          61            129            110
gptme/hooks/confirm.py                                    53             88            109
gptme/tools/choice.py                                     34             41            104
gptme/hooks/active_context.py                             25             23            100
gptme/tools/_anchored.py                                  33             41            100
gptme/tools/_computer_gate.py                             33             61            100
gptme/tools/screenshot.py                                 30             45             99
gptme/tools/vent.py                                       39             64             93
gptme/hooks/knowledge_inject.py                           21             37             90
gptme/hooks/time_awareness.py                             32             29             86
gptme/tools/_browser_lynx.py                              11              8             84
gptme/tools/autocommit.py                                 37             58             81
gptme/tools/progress.py                                   23             53             73
gptme/tools/vision.py                                     28             21             73
gptme/plugins/entrypoints.py                              24             35             69
gptme/tools/_browser_perplexity.py                        22             16             60
gptme/tools/clarify.py                                    17             26             57
gptme/hooks/cwd_changed.py                                18             11             54
gptme/hooks/mcp_namespace_hint.py                         21             24             54
gptme/hooks/markdown_validation.py                        36             41             51
gptme/tools/_allowlist.py                                 18             15             48
gptme/hooks/test.py                                       14              6             41
gptme/hooks/cwd_awareness.py                              11             17             28
gptme/hooks/auto_confirm.py                               11              9             24
gptme/tools/_hashline_snapshot.py                         16             15             23
gptme/tools/_url_safety.py                                 9             10             22
gptme/plugins/plugin.py                                   25             39             17
gptme/tools/_browser_format.py                             3              5              3
------------------------------------------------------------------------------------------
SUM:                                                    6140           8318          22841
------------------------------------------------------------------------------------------
make[2]: Leaving directory '/home/runner/work/gptme/gptme'

LoC Server#

$ make cloc-server
make[2]: Entering directory '/home/runner/work/gptme/gptme'
cloc gptme/server --by-file --hide-rate --quiet | tail -n +2
--------------------------------------------------------------------------------------
File                                               blank        comment           code
--------------------------------------------------------------------------------------
gptme/server/api_v2.py                               477            425           2824
gptme/server/session_step.py                         175            340            990
gptme/server/api_v2_sessions.py                      119            175            897
gptme/server/openapi_docs.py                         256            177            760
gptme/server/tasks_api.py                            193            130            680
gptme/server/a2a_api.py                              103             42            544
gptme/server/artifacts_api.py                        107            110            538
gptme/server/static/main.js                           51             69            498
gptme/server/workspace_api.py                        100            110            486
gptme/server/external_sessions.py                     59             92            372
gptme/server/cli.py                                   52             95            293
gptme/server/tools_api.py                             58             49            249
gptme/server/static/computer.html                     12              3            237
gptme/server/session_models.py                        63             96            235
gptme/server/auth.py                                  76            115            203
gptme/server/panels_api.py                            51             51            203
gptme/server/computer_api.py                          51             55            202
gptme/server/static/index.html                        11             18            201
gptme/server/acp_session_runtime.py                   34             30            165
gptme/server/api_v2_common.py                         83             63            156
gptme/server/client.py                                63             79            149
gptme/server/static/style.css                         27              4            143
gptme/server/app.py                                   35             84            133
gptme/server/api_v2_agents.py                         25             17            132
gptme/server/skills_api.py                            32              4            125
gptme/server/metrics.py                               36             19            117
gptme/server/tts_api.py                               24             18             90
gptme/server/__init__.py                               5              8              9
gptme/server/constants.py                              7             11              9
gptme/server/__main__.py                               1              0              3
--------------------------------------------------------------------------------------
SUM:                                                2386           2489          11643
--------------------------------------------------------------------------------------
make[2]: Leaving directory '/home/runner/work/gptme/gptme'

LoC Tests#

$ make cloc-tests
make[2]: Entering directory '/home/runner/work/gptme/gptme'
cloc tests --by-file --hide-rate --quiet | tail -n +2
----------------------------------------------------------------------------------------------------
File                                                             blank        comment           code
----------------------------------------------------------------------------------------------------
tests/test_subagent_unit.py                                       1284            627           4671
tests/test_server_v2.py                                            844            326           3550
tests/test_tools_subagent.py                                       848            440           2761
tests/test_llm_openai.py                                           622            366           2483
tests/test_util_review.py                                          453            311           1975
tests/test_server_v2_sessions.py                                   267            225           1693
tests/test_init.py                                                 253            142           1569
tests/test_cli.py                                                  410            158           1468
tests/test_eval_behavioral.py                                      867            967           1357
tests/test_config.py                                               400            462           1311
tests/test_util_cli_review_watch.py                                317            189           1283
tests/test_tools_shell.py                                          401            429           1270
tests/test_tools_computer.py                                       438            269           1258
tests/test_acp_agent.py                                            355            188           1206
tests/test_util_gh.py                                              260            172           1172
tests/test_server.py                                               297            202           1124
tests/test_doctor.py                                               266            141           1055
tests/test_tools_complete.py                                       218            253           1017
tests/test_tools_base.py                                           321            107            982
tests/test_tools_browser.py                                        316             74            980
tests/test_lessons_auto_include.py                                 252            217            938
tests/test_info.py                                                 177             78            937
tests/test_util_cli.py                                             248            171            934
tests/test_tools_shell_validation.py                               326            211            931
tests/test_tui.py                                                  244            121            919
tests/test_cmd_service.py                                          207            184            909
tests/test_auto_compact.py                                         352            272            894
tests/test_llm_utils.py                                            255            127            886
tests/test_eval_leaderboard.py                                     126            104            883
tests/test_tools_convert.py                                        265            117            864
tests/test_computer_audit.py                                       231            157            846
tests/test_tasks_api.py                                            185             69            831
tests/test_eval_computer_suite.py                                  328            149            819
tests/test_util_gh_mocked.py                                       155            121            814
tests/test_prompt_templates.py                                     260            191            811
tests/test_sandbox.py                                              195            105            801
tests/test_reduce.py                                               230            208            794
tests/test_cost_display.py                                         110             68            776
tests/test_tools_hashline_edit.py                                  211            412            746
tests/test_server_workspace.py                                     149            154            743
tests/test_chat.py                                                 264            201            730
tests/test_computer_transport.py                                   267             91            713
tests/test_eval.py                                                 131             84            709
tests/test_agent.py                                                205            115            707
tests/test_acp_session_runtime.py                                  222             76            699
tests/test_hooks_registry.py                                       247             89            696
tests/test_tools_gh.py                                             134             69            675
tests/test_llm_models_resolution.py                                220            179            653
tests/test_json_output.py                                          114             84            640
tests/test_subagent_budget.py                                      166            144            626
tests/test_llm_anthropic.py                                        132             45            620
tests/test_cli_status.py                                           240            130            615
tests/test_prompts.py                                              179            109            609
tests/test_computer_doctor_cmd.py                                   88             58            607
tests/test_tools_lessons.py                                        135             49            580
tests/test_tools_precommit.py                                      109             86            578
tests/test_tools_request_tool_change.py                            117             43            578
tests/test_server_panels.py                                         61             30            552
tests/test_eval_subagent.py                                        119             56            547
tests/test_computer_actions.py                                     165            125            546
tests/test_llm_openai_subscription.py                              130             58            546
tests/test_server_path_traversal.py                                139            105            539
tests/test_dirs.py                                                 127             89            531
tests/test_tools_shell_background.py                               130             52            520
tests/test_server_bad_input.py                                     121            101            519
tests/test_lessons.py                                              156            153            517
tests/test_hooks_cost_awareness.py                                  72             61            516
tests/test_commands.py                                             161             73            514
tests/conftest.py                                                  134            209            510
tests/test_context_scout.py                                         78             54            501
tests/test_model_attestation.py                                    105             30            496
tests/test_gptme_provider.py                                       162             71            494
tests/test_hooks_cache_awareness.py                                151             44            484
tests/test_computer_demo_cmd.py                                    144             74            480
tests/test_snapshot_command.py                                     117             57            476
tests/test_server_session_models.py                                161            141            475
tests/test_tools.py                                                187            106            470
tests/test_skill_installer.py                                      138            154            459
tests/test_llm_auth.py                                             153             55            458
tests/test_mcp_server.py                                           112             39            457
tests/test_logmanager.py                                           135            125            447
tests/test_message.py                                              160            123            444
tests/test_llm_models.py                                           141             98            441
tests/test_util_cli_providers.py                                    93             42            438
tests/test_knowledge.py                                            185             20            429
tests/test_tools_browser_thread.py                                 113             51            425
tests/test_lessons_commands.py                                     157             82            422
tests/test_external_sessions.py                                    116             67            421
tests/test_lessons_index.py                                        137            116            419
tests/context/test_task_analyzer.py                                 90             44            418
tests/test_codeblock.py                                            318            800            418
tests/test_util_cli_mcp.py                                          98             50            418
tests/test_lessons_parser.py                                       188            239            417
tests/test_server_artifacts.py                                      66             32            415
tests/test_subagent_worktree_isolation.py                          129             70            414
tests/test_tools_mcp.py                                            102             20            398
tests/test_hybrid_lessons.py                                       100             58            395
tests/test_profiles.py                                              88             37            395
tests/test_computer_latency_cmd.py                                  93             42            393
tests/test_unified_plugins.py                                      102             42            376
tests/test_conversations.py                                         51             33            371
tests/test_github_ci_self_heal.py                                   71              6            371
tests/test_tools_read.py                                           121             52            370
tests/test_guardrail_hook.py                                        95             74            369
tests/test_workspace_api.py                                        103             19            369
tests/test_provider_plugins.py                                      93             33            366
tests/test_computer_record.py                                      119             30            364
tests/test_eval_behavioral_solutions.py                            281            848            364
tests/test_replay.py                                               120            110            361
tests/test_context_providers.py                                    183            121            356
tests/test_mcp_discovery.py                                        107             41            356
tests/test_lessons_matcher.py                                       99             86            352
tests/test_computer_use_integration.py                             140            143            349
tests/test_tui_e2e.py                                               63             82            348
tests/test_util_hooks.py                                            85             93            347
tests/test_complete.py                                              81             72            345
tests/test_tools_patch_many.py                                      91            101            345
tests/test_shell_background.py                                      99             71            342
tests/test_context.py                                              152             87            341
tests/test_computer_semantic_fixtures.py                            92            107            340
tests/test_capabilities_export.py                                   45             20            338
tests/test_script_hooks.py                                          55              7            336
tests/test_eval_trends.py                                           35             22            335
tests/test_mcp_adapter.py                                          113             59            334
tests/test_llm_grok_subscription.py                                 98             20            330
tests/test_workspace_agents.py                                     145             57            329
tests/test_circuit_breaker.py                                       98             69            322
tests/test_util_tool_format.py                                      78             32            322
tests/test_ephemeral.py                                             87             56            321
tests/test_llm_validate.py                                          64             61            321
tests/test_util_safety.py                                           96             22            321
tests/test_workspace_snapshot.py                                   105             46            319
tests/test_agent_doctor.py                                          72             34            318
tests/test_tools_morph.py                                           89             67            311
tests/test_util_cli_batch.py                                        62              8            310
tests/test_chats_external_search.py                                 72             55            307
tests/test_eventlog.py                                              73             35            307
tests/test_browser.py                                              140             71            305
tests/test_tools_rag.py                                             95             37            301
tests/test_config_encoding.py                                      154            195            300
tests/context/test_adaptive_compressor.py                           58             44            298
tests/test_eval_swebench.py                                         78             41            294
tests/test_plugins.py                                              110             85            292
tests/test_chats_stats.py                                           72             30            291
tests/test_execenv.py                                               76             54            288
tests/lessons/test_wildcard_matching.py                            114            125            287
tests/test_cc_memory.py                                             68             65            284
tests/test_server_a2a.py                                            64             20            283
tests/test_hooks_server_confirm.py                                  78             31            282
tests/test_search_alias.py                                          48             54            282
tests/test_server_v2_auto_stepping.py                               56             50            281
tests/test_tools_patch_anchored.py                                  65             26            278
tests/test_computer_video_frames_cli.py                             67             12            274
tests/test_tools_restart.py                                         72             49            274
tests/test_util_tokens.py                                          129             71            273
tests/test_server_v2_agents.py                                      57             25            272
tests/test_util_cli_attest.py                                       67              1            269
tests/test_computer_docker_config.py                                59             92            267
tests/lessons/test_bm25_parity.py                                   67             70            266
tests/test_server_startup.py                                        39             65            261
tests/test_tools_autocommit.py                                      99             47            259
tests/test_terminal_startup_latency.py                              77             32            257
tests/test_hooks.py                                                120             47            255
tests/test_tool_use.py                                              60             66            255
tests/test_context_selector.py                                      83             45            254
tests/test_eval_claude_code.py                                      66             27            253
tests/test_lessons_integration.py                                   97             66            252
tests/test_prompt_tools.py                                          57             30            249
tests/test_skill_commands.py                                        95             49            249
tests/test_tools_screenshot.py                                      59             52            249
tests/test_local_discovery.py                                       63             18            242
tests/test_agents_md_inject.py                                      43             37            241
tests/test_cli_from_turn.py                                         65             18            239
tests/test_mcp.py                                                   68             59            239
tests/test_auto_naming.py                                           69             45            237
tests/test_computer_x11_integration.py                              87             87            236
tests/test_cli_stats.py                                             62             27            234
tests/test_tools__anchored.py                                       46             30            230
tests/test_computer_settle.py                                       90             78            228
tests/test_hooks_cwd_changed.py                                     55             24            227
tests/test_chats_json.py                                            32             17            225
tests/test_git_worktree.py                                          57             37            224
tests/test_tools_python.py                                          93             60            224
tests/test_util_keyword_matching.py                                 75             46            218
tests/test_lessons_tool.py                                          62             34            216
tests/test_llm_retry_abort.py                                       85             62            216
tests/test_subagent_roundtrip.py                                    70             51            216
tests/test_hooks_knowledge_inject.py                                64              6            214
tests/test_llm_openai_sampling.py                                   42              0            214
tests/test_cli_resume.py                                            64             15            212
tests/test_checkpoint.py                                            88             20            211
tests/test_server_fresh_bad_input.py                                43             38            211
tests/test_autocompact_scoring.py                                   86             39            208
tests/test_server_v2_hooks.py                                       80             60            207
tests/test_executor.py                                              50             31            206
tests/test_shell_allowlist_autoconfirm.py                           52             60            206
tests/test_oauth_openrouter.py                                      62              9            205
tests/test_util_file_storage.py                                     51             36            203
tests/test_tutorial.py                                              85              7            200
tests/test_telemetry.py                                             70             32            199
tests/test_cli_fatal_error_envelope.py                              41             37            194
tests/test_tools_save.py                                            57             36            193
tests/test_chats_clean.py                                           46             18            191
tests/test_server_tools_query.py                                    54             35            191
tests/test_computer_task.py                                        116             31            189
tests/test_computer_screenshot_cli.py                               53             12            183
tests/test_k_best.py                                                76             23            182
tests/test_dspy_hybrid.py                                           65             45            179
tests/test_tools_tmux.py                                            77             65            179
tests/test_dspy_basic.py                                            66             44            177
tests/test_execute_msg_hook_call_id.py                              65             49            176
tests/test_browser_lynx.py                                          63             15            175
tests/test_cost_tracker.py                                          26             26            175
tests/test_tools_todo.py                                            81             65            173
tests/test_chats_export.py                                          48             17            172
tests/test_model_selection_trace_export.py                          55             13            172
tests/test_util_cli_generate.py                                     35              7            172
tests/test_acp_types.py                                             35             12            171
tests/test_tools_patch.py                                           91            214            171
tests/test_util_cli_models.py                                       23             25            170
tests/test_tree.py                                                  61             37            168
tests/test_util_terminal.py                                         52             34            168
tests/test_tools_elicit.py                                          50             25            167
tests/test_util_cli_skills.py                                       63             42            165
tests/test_anti_slop.py                                             69             24            163
tests/test_tools_time_awareness.py                                  52             34            163
tests/test_util_cost.py                                             29             26            163
tests/test_server_default_profile.py                                69             42            161
tests/test_acp_protocol_logging.py                                  56             15            160
tests/test_acp_client.py                                            64             34            159
tests/test_acp_stdout.py                                            76             37            158
tests/test_server_api_v2_common.py                                  48             48            158
tests/test_tui_visual.py                                            48             46            158
tests/test_uri.py                                                   55             30            158
tests/test_backtrack.py                                             39             11            157
tests/test_commands_account.py                                      37              6            156
tests/test_server_v2_tool_confirmation.py                           33             33            155
tests/test_eval_pass_rate_gate.py                                   48              9            154
tests/test_server_config_workspace_containment.py                   42             46            153
tests/test_timings.py                                               66             50            153
tests/test_subagent_integration.py                                  48             21            152
tests/test_util_tree.py                                             44             33            151
tests/fixtures/provider_test_scaffold.py                            76             68            148
tests/test_browser_state.py                                         75             31            148
tests/test_util_install.py                                          34             31            148
tests/test_master_context.py                                        39             24            147
tests/test_misc_subprocess_timeouts.py                              48             30            146
tests/test_file_selector_integration.py                             50             23            145
tests/test_vent.py                                                  32             10            145
tests/test_subagent_concurrency.py                                  37             16            144
tests/test_server_elicitation.py                                    47             17            141
tests/test_dspy_integration.py                                      54             32            139
tests/test_tools_token_awareness.py                                 59             47            139
tests/test_computer_milestone_integration.py                        61             59            138
tests/test_tools_vision.py                                          36             31            138
tests/test_util_content.py                                          49             25            137
tests/test_chat_config.py                                           53             44            135
tests/test_cli_explain.py                                           53             18            135
tests/test_computer_gate.py                                         76             40            133
tests/test_agent_workspace_timeouts.py                              41             22            129
tests/test_snapshot_list.py                                         45              7            129
tests/test_acp_adapter.py                                           42             33            128
tests/test_cwe214_docker_env_leak.py                                42             41            128
tests/test_active_context.py                                        41             22            126
tests/test_util_context_dedup.py                                    61             43            125
tests/test_treeofthoughts.py                                        34             23            124
tests/test_computer_risk_streaming.py                               54             44            123
tests/test_prompt.py                                                36             36            123
tests/test_llm_retry_policy.py                                      48             18            122
tests/test_server_webui_dir.py                                      59             21            121
tests/test_subagent_planner_roles.py                                39             30            121
tests/test_util_interrupt.py                                        48             38            121
tests/test_eval_format_routing.py                                   30             25            120
tests/test_integration_phase4.py                                    22             19            119
tests/test_cost_cache_cold_warning.py                               33              8            118
tests/test_util_clipboard_paste.py                                  27             14            117
tests/test_agent_service_timeouts.py                                19             18            116
tests/thread_leak.py                                                34             55            115
tests/test_lessons_status.py                                        67             96            113
tests/test_chats_rename.py                                          42             16            112
tests/test_server_host_validation.py                                46             29            112
tests/test_computer_run_task_cli.py                                 40             14            109
tests/test_cost_awareness_delayed_warning.py                        42             32            108
tests/test_tools_chats.py                                           26             19            107
tests/test_browser_session_persistence.py                           62             33            103
tests/test_server_parent_death_watcher.py                           25             38            103
tests/test_tools_choice.py                                          51             26            103
tests/test_util_output_storage.py                                   23             13            103
tests/test_command_completion.py                                    33             23            100
tests/test_hooks_mcp_namespace_hint.py                              30             14            100
tests/test_generation_pre_snapshot_boundary.py                      38             39             99
tests/test_thread_leak.py                                           29              7             98
tests/test_server_auth.py                                           46             25             97
tests/test_session.py                                               40             21             95
tests/test_server_v2_sse.py                                         26             27             94
tests/test_server_etag.py                                           22              5             91
tests/test_agent_memory.py                                          26             17             90
tests/test_swebench_utils.py                                        27              2             89
tests/test_commands_rag.py                                          16              2             88
tests/test_server_cors.py                                           33             20             88
tests/test_browser_github_routing.py                                27              0             86
tests/test_util.py                                                  42             85             85
tests/test_output_format.py                                         29             21             84
tests/test_eval_swebench_retrieval.py                               25              4             81
tests/test_commands_llm.py                                          16              0             80
tests/test_prompt_skills_summary.py                                 44             44             80
tests/test_onboard.py                                               17             17             79
tests/test_eval_timeouts.py                                         32             33             77
tests/test_server_perf.py                                           22             21             77
tests/test_xml_format.py                                            33             91             77
tests/test_cli_llm_generate.py                                      17             10             75
tests/test_markdown_validation.py                                   43             34             75
tests/test_shell_issue729.py                                        50             52             75
tests/test_custom_providers.py                                      32             44             74
tests/test_subscription_pricing.py                                  27             14             74
tests/test_pytest_timeout_retry_interaction.py                      21             25             73
tests/test_shell_issue772.py                                        48             47             73
tests/test_server_audio_transcription.py                            20             15             69
tests/test_hooks_form_autodetect.py                                 22             34             68
tests/test_docs_tool_formats_coverage.py                            16             15             67
tests/test_tools_form.py                                            22             19             67
tests/test_setup_completions.py                                     21              6             66
tests/test_util_context_savings.py                                  12              0             66
tests/test_computer_api.py                                          90            401             65
tests/test_eval_tool_efficiency.py                                  20             11             64
tests/test_llm_mock.py                                              22             12             60
tests/test_shell_output_mixing_issue408.py                          25             29             60
tests/test_eval_practical20.py                                      27              8             59
tests/test_git_cmd_resolver.py                                      23             15             59
tests/test_server_client.py                                         33             26             59
tests/test_server_metrics.py                                        20             20             59
tests/test_shell_memory_limit.py                                    18             14             59
tests/test_validate_release_package.py                              14              1             58
tests/test_webui_redirects.py                                       11              7             57
tests/test_chat_history.py                                          14             12             56
tests/test_computer_artifacts.py                                    14              3             54
tests/test_server_skills_api.py                                     13              1             54
tests/test_eval_practical17.py                                      33              3             53
tests/test_eval_practical18.py                                      23              4             53
tests/test_eval_practical19.py                                      23              6             53
tests/test_server_tts_api.py                                        21              0             53
tests/test_github_bot.py                                            12              1             51
tests/test_execute_msg_defensive.py                                 19             19             49
tests/test_pytest_retry_tmp_path_interaction.py                     17             26             47
tests/test_dspy_gepa.py                                             18              9             46
tests/test_demo_capture.py                                          19              9             45
tests/test_util_generate_name.py                                    17             10             45
tests/test-integration.sh                                           22             36             43
tests/test_acp_e2e_smoke.py                                         14             18             43
tests/test_pdf_to_images.py                                         13             13             43
tests/test_server_cli_fallback.py                                   16             12             42
tests/test_shell_fd_leak.py                                         23             16             39
tests/test_utils.py                                                 14             17             38
tests/test_gears.py                                                 18              0             36
tests/test_util_export.py                                           20             11             36
tests/snapshots/tui_stream.svg                                       3              0             35
tests/test_message_command.py                                       13             12             35
tests/test_tools_pruner.py                                           9              0             35
tests/snapshots/tui_idle.svg                                         3              0             34
tests/snapshots/tui_inline.svg                                       3              0             34
tests/test_cli_confirm_hook.py                                      24             20             34
tests/test_credentials.py                                           16              0             34
tests/test_shell_for_loop_issue724.py                               16             24             33
tests/test_prompt_queue.py                                          16             15             30
tests/test_package_exports.py                                       10              3             29
tests/test_eval_practical16.py                                      11              0             28
tests/data/git-log-oneline.txt                                       0              0             27
tests/test_quota_skip.py                                             5              3             26
tests/data/example-patch-codeblock.txt                               4              0             25
tests/data/gh-issue-list.txt                                         0              0             25
tests/data/example-interrupted.txt                                   8              0             24
tests/test_tool_loading_duplicate.py                                16             15             24
tests/test_credentials_integration.py                                8              0             22
tests/test_constants.py                                             11             13             19
tests/test_server_cli_tools.py                                      12              4             19
tests/test_tools_shell_multiline.py                                  7             19             19
tests/test_browser_format.py                                         8              6             18
tests/test_screenshot.py                                             9              6             15
tests/retry_compat.py                                                8             22              6
----------------------------------------------------------------------------------------------------
SUM:                                                             37075          25383         128489
----------------------------------------------------------------------------------------------------
make[2]: Leaving directory '/home/runner/work/gptme/gptme'

LoC Eval#

$ make cloc-eval
make[2]: Entering directory '/home/runner/work/gptme/gptme'
cloc gptme/eval/**.py --by-file --hide-rate --quiet | tail -n +2
------------------------------------------------------------------------------------------
File                                        blank        comment           code
------------------------------------------------------------------------------------------
gptme/eval/main.py                            108            117            924
gptme/eval/leaderboard.py                     149            485            804
gptme/eval/run.py                              74             96            549
gptme/eval/execenv.py                          85            146            514
gptme/eval/trends.py                           59             31            317
gptme/eval/types.py                            35             69            110
gptme/eval/pass_rate_gate.py                   23             44             75
gptme/eval/filestore.py                        11              8             63
gptme/eval/cost.py                             18             25             40
gptme/eval/__init__.py                          2              2              4
gptme/eval/__main__.py                          1              0              3
------------------------------------------------------------------------------------------
SUM:                                          565           1023           3403
------------------------------------------------------------------------------------------
make[2]: Leaving directory '/home/runner/work/gptme/gptme'

LoC Total#

$ make cloc-total
make[2]: Entering directory '/home/runner/work/gptme/gptme'
cloc gptme/plugins/registry.py gptme/plugins/__init__.py gptme/plugins/plugin.py gptme/plugins/entrypoints.py gptme/message.py gptme/tui/app.py gptme/tui/__init__.py gptme/tui/main.py gptme/codeblock.py gptme/__version__.py gptme/tools/_browser_perplexity.py gptme/tools/screenshot.py gptme/tools/_computer_gate.py gptme/tools/elicit.py gptme/tools/_browser_lynx.py gptme/tools/choice.py gptme/tools/_browser_format.py gptme/tools/computer.py gptme/tools/browser.py gptme/tools/mcp_adapter.py gptme/tools/patch_anchored.py gptme/tools/python.py gptme/tools/_url_safety.py gptme/tools/autocompact/scoring.py gptme/tools/autocompact/context_provider.py gptme/tools/autocompact/__init__.py gptme/tools/autocompact/config.py gptme/tools/autocompact/engine.py gptme/tools/autocompact/resume.py gptme/tools/autocompact/handlers.py gptme/tools/autocompact/decision.py gptme/tools/autocompact/hook.py gptme/tools/save.py gptme/tools/morph.py gptme/tools/__init__.py gptme/tools/vision.py gptme/tools/precommit.py gptme/tools/subagent/__init__.py gptme/tools/subagent/execution.py gptme/tools/subagent/hooks.py gptme/tools/subagent/types.py gptme/tools/subagent/batch.py gptme/tools/subagent/control.py gptme/tools/subagent/concurrency.py gptme/tools/subagent/api.py gptme/tools/subagent/context.py gptme/tools/form.py gptme/tools/_browser_playwright.py gptme/tools/complete.py gptme/tools/todo.py gptme/tools/vent.py gptme/tools/shell_background.py gptme/tools/gh.py gptme/tools/pruner.py gptme/tools/convert.py gptme/tools/tmux.py gptme/tools/chats.py gptme/tools/shell_validation.py gptme/tools/computer_semantic.py gptme/tools/patch_many.py gptme/tools/clarify.py gptme/tools/shell.py gptme/tools/shell_flags.py gptme/tools/computer_transport.py gptme/tools/read.py gptme/tools/autocommit.py gptme/tools/lessons.py gptme/tools/_anchored.py gptme/tools/restart.py gptme/tools/request_tool_change.py gptme/tools/rag.py gptme/tools/mcp.py gptme/tools/progress.py gptme/tools/hashline_edit.py gptme/tools/base.py gptme/tools/_hashline_snapshot.py gptme/tools/_allowlist.py gptme/tools/patch.py gptme/tools/_browser_thread.py gptme/info.py gptme/lessons/skills/python-repl/python_helpers.py gptme/lessons/hybrid_matcher.py gptme/lessons/__init__.py gptme/lessons/commands.py gptme/lessons/skill_commands.py gptme/lessons/matcher.py gptme/lessons/installer.py gptme/lessons/auto_include.py gptme/lessons/parser.py gptme/lessons/index.py gptme/session.py gptme/constants.py gptme/__init__.py gptme/anti_slop.py gptme/logmanager/manager.py gptme/logmanager/conversations.py gptme/logmanager/__init__.py gptme/logmanager/eventlog.py gptme/logmanager/conv_checkpoints.py gptme/executor.py gptme/hooks/agents_md_inject.py gptme/hooks/cli_confirm.py gptme/hooks/cache_awareness.py gptme/hooks/workspace_agents.py gptme/hooks/script.py gptme/hooks/registry.py gptme/hooks/__init__.py gptme/hooks/markdown_validation.py gptme/hooks/elicitation.py gptme/hooks/aw_watcher_agent.py gptme/hooks/test.py gptme/hooks/types.py gptme/hooks/tests/test_workspace_agents.py gptme/hooks/tests/test_aw_watcher_agent.py gptme/hooks/tests/__init__.py gptme/hooks/tests/test_token_awareness.py gptme/hooks/tests/test_cli_confirm.py gptme/hooks/tests/test_manifest.py gptme/hooks/tests/test_cache_awareness.py gptme/hooks/tests/test_active_context.py gptme/hooks/tests/test_server_elicit.py gptme/hooks/tests/test_cost_awareness.py gptme/hooks/tests/test_markdown_validation.py gptme/hooks/tests/test_confirm.py gptme/hooks/tests/test_elicitation.py gptme/hooks/tests/test_form_autodetect.py gptme/hooks/tests/test_agents_md_inject.py gptme/hooks/tests/test_cwd_awareness.py gptme/hooks/tests/test_auto_confirm.py gptme/hooks/tests/test_tool_target_instructions.py gptme/hooks/tests/test_injection_screening.py gptme/hooks/tests/test_server_confirm.py gptme/hooks/tests/test_time_awareness.py gptme/hooks/mcp_namespace_hint.py gptme/hooks/auto_confirm.py gptme/hooks/confirm.py gptme/hooks/manifest.py gptme/hooks/cost_awareness.py gptme/hooks/server_confirm.py gptme/hooks/injection_screening.py gptme/hooks/auto_snapshots.py gptme/hooks/token_awareness.py gptme/hooks/form_autodetect.py gptme/hooks/server_elicit.py gptme/hooks/active_context.py gptme/hooks/tool_target_instructions.py gptme/hooks/cwd_awareness.py gptme/hooks/cwd_changed.py gptme/hooks/knowledge_inject.py gptme/hooks/time_awareness.py gptme/prompts/skills.py gptme/prompts/__init__.py gptme/prompts/workspace.py gptme/prompts/architect.py gptme/prompts/context_cmd.py gptme/prompts/chat_history.py gptme/prompts/templates.py gptme/oauth/openrouter.py gptme/oauth/__init__.py gptme/prompt_queue.py gptme/attestation.py gptme/mcp/client.py gptme/mcp/registry.py gptme/mcp/__init__.py gptme/mcp/server.py gptme/knowledge.py gptme/context/__init__.py gptme/context/config.py gptme/context/compress.py gptme/context/scout.py gptme/context/selector/rule_based.py gptme/context/selector/__init__.py gptme/context/selector/config.py gptme/context/selector/file_selector.py gptme/context/selector/file_integration.py gptme/context/selector/llm_based.py gptme/context/selector/hybrid.py gptme/context/selector/file_config.py gptme/context/selector/base.py gptme/context/adaptive_compressor.py gptme/context/task_analyzer.py gptme/dirs.py gptme/config/models.py gptme/config/__init__.py gptme/config/core.py gptme/config/user.py gptme/config/chat.py gptme/config/project.py gptme/config/cli_setup.py gptme/profiles.py gptme/commands/session.py gptme/commands/__init__.py gptme/commands/export.py gptme/commands/snapshot.py gptme/commands/llm.py gptme/commands/account.py gptme/commands/backtrack.py gptme/commands/rag.py gptme/commands/checkpoint.py gptme/commands/base.py gptme/commands/meta.py gptme/util/review.py gptme/util/ask_execute.py gptme/util/interrupt.py gptme/util/git_worktree.py gptme/util/replay.py gptme/util/conversation_ids.py gptme/util/cost.py gptme/util/__init__.py gptme/util/export.py gptme/util/useredit.py gptme/util/_telemetry.py gptme/util/tool_format.py gptme/util/generate_name.py gptme/util/_sound_sounddevice.py gptme/util/gh.py gptme/util/capabilities_export.py gptme/util/sound.py gptme/util/terminal.py gptme/util/uri.py gptme/util/safety.py gptme/util/master_context.py gptme/util/prompt.py gptme/util/auto_naming.py gptme/util/file_storage.py gptme/util/cost_tracker.py gptme/util/keyword_matching.py gptme/util/tree.py gptme/util/context_dedup.py gptme/util/clipboard.py gptme/util/content.py gptme/util/reduce.py gptme/util/context_savings.py gptme/util/tokens.py gptme/util/context.py gptme/util/cost_display.py gptme/util/history.py gptme/util/stdio.py gptme/util/_sound_cmd.py gptme/util/install.py gptme/util/git_cmd.py gptme/util/output_storage.py gptme/init.py gptme/server/panels_api.py gptme/server/session_step.py gptme/server/api_v2_common.py gptme/server/client.py gptme/server/app.py gptme/server/tasks_api.py gptme/server/skills_api.py gptme/server/constants.py gptme/server/__init__.py gptme/server/session_models.py gptme/server/external_sessions.py gptme/server/computer_api.py gptme/server/metrics.py gptme/server/api_v2_sessions.py gptme/server/openapi_docs.py gptme/server/api_v2_agents.py gptme/server/api_v2.py gptme/server/a2a_api.py gptme/server/tts_api.py gptme/server/acp_session_runtime.py gptme/server/__main__.py gptme/server/tools_api.py gptme/server/auth.py gptme/server/workspace_api.py gptme/server/artifacts_api.py gptme/server/cli.py gptme/circuit_breaker.py gptme/chat.py gptme/status_provider.py gptme/llm/llm_openai_subscription.py gptme/llm/llm_openrouter_subscription.py gptme/llm/constants.py gptme/llm/__init__.py gptme/llm/provider_plugins.py gptme/llm/utils.py gptme/llm/llm_mock.py gptme/llm/llm_openai.py gptme/llm/llm_openai_models_deprecated.py gptme/llm/llm_openai_models.py gptme/llm/llm_anthropic.py gptme/llm/llm_gptme.py gptme/llm/local_discovery.py gptme/llm/retry_abort.py gptme/llm/retry_policy.py gptme/llm/llm_grok_subscription.py gptme/llm/llm_anthropic_models_deprecated.py gptme/llm/validate.py gptme/llm/openai_responses.py gptme/llm/models/__init__.py gptme/llm/models/data.py gptme/llm/models/types.py gptme/llm/models/listing.py gptme/llm/models/resolution.py gptme/workspace_snapshot.py gptme/credentials.py gptme/__main__.py gptme/checkpoint.py gptme/acp/client.py gptme/acp/__init__.py gptme/acp/types.py gptme/acp/agent.py gptme/acp/adapter.py gptme/acp/__main__.py gptme/k_best.py gptme/cli/cmd_chats.py gptme/cli/cmd_status.py gptme/cli/cmd_snapshot.py gptme/cli/cmd_init.py gptme/cli/__init__.py gptme/cli/cmd_review.py gptme/cli/cmd_skills.py gptme/cli/cmd_attest.py gptme/cli/cmd_computer.py gptme/cli/cmd_stats.py gptme/cli/doctor.py gptme/cli/setup.py gptme/cli/cmd_slop.py gptme/cli/onboard.py gptme/cli/wut.py gptme/cli/cmd_tutorial.py gptme/cli/cmd_mcp_serve.py gptme/cli/main.py gptme/cli/cmd_agents.py gptme/cli/cmd_resume.py gptme/cli/cmd_knowledge.py gptme/cli/util.py gptme/cli/cmd_batch.py gptme/cli/checkpoint.py gptme/cli/cmd_review_watch.py gptme/cli/cmd_mcp.py gptme/cli/cmd_service.py gptme/cli/auth.py gptme/cli/cmd_explain.py gptme/cli/cmd_hooks.py gptme/cli/cmd_capabilities.py gptme/cli/cmd_review_pr.py gptme/agent/__init__.py gptme/agent/workspace.py gptme/agent/service.py gptme/agent/doctor.py gptme/agent/cli.py gptme/gears.py gptme/sandbox.py gptme/eval/trends.py gptme/eval/pass_rate_gate.py gptme/eval/cost.py gptme/eval/suites/practical5.py gptme/eval/suites/computer.py gptme/eval/suites/browser.py gptme/eval/suites/practical14.py gptme/eval/suites/practical3.py gptme/eval/suites/practical2.py gptme/eval/suites/behavioral/iterative_debug.py gptme/eval/suites/behavioral/multi_file_rename.py gptme/eval/suites/behavioral/implement_event_emitter.py gptme/eval/suites/behavioral/implement_memoization.py gptme/eval/suites/behavioral/add_logging.py gptme/eval/suites/behavioral/implement_lru_cache.py gptme/eval/suites/behavioral/retry_with_backoff.py gptme/eval/suites/behavioral/bounded_bugfix_with_decoys.py gptme/eval/suites/behavioral/__init__.py gptme/eval/suites/behavioral/validate_user_input.py gptme/eval/suites/behavioral/fix_data_mutation.py gptme/eval/suites/behavioral/minimal_feature_preserve_default_with_decoys.py gptme/eval/suites/behavioral/root_cause_pipeline_debug.py gptme/eval/suites/behavioral/add_deprecation_warning.py gptme/eval/suites/behavioral/implement_priority_queue.py gptme/eval/suites/behavioral/extract_function_refactor.py gptme/eval/suites/behavioral/stage_new_files.py gptme/eval/suites/behavioral/test_driven_error_handling.py gptme/eval/suites/behavioral/write_test_suite.py gptme/eval/suites/behavioral/debug_data_pipeline.py gptme/eval/suites/behavioral/add_type_hints.py gptme/eval/suites/behavioral/noisy_worktree_fix.py gptme/eval/suites/behavioral/scope_discipline_bugfix.py gptme/eval/suites/behavioral/remove_dead_code.py gptme/eval/suites/behavioral/use_existing_helper.py gptme/eval/suites/behavioral/refactor_for_testability.py gptme/eval/suites/behavioral/fix_mutable_default.py gptme/eval/suites/behavioral/fix_security_path_traversal.py gptme/eval/suites/behavioral/handle_specific_exception.py gptme/eval/suites/behavioral/add_docstrings.py gptme/eval/suites/behavioral/git_selective_commit.py gptme/eval/suites/behavioral/merge_conflict_resolution.py gptme/eval/suites/behavioral/circuit_breaker.py gptme/eval/suites/behavioral/optimize_n_squared.py gptme/eval/suites/behavioral/_common.py gptme/eval/suites/behavioral/add_feature_preserve_default.py gptme/eval/suites/behavioral/rate_limiting.py gptme/eval/suites/__init__.py gptme/eval/suites/practical10.py gptme/eval/suites/practical23.py gptme/eval/suites/practical29.py gptme/eval/suites/practical25.py gptme/eval/suites/practical.py gptme/eval/suites/practical24.py gptme/eval/suites/practical21.py gptme/eval/suites/practical16.py gptme/eval/suites/practical26.py gptme/eval/suites/practical4.py gptme/eval/suites/practical27.py gptme/eval/suites/init_projects.py gptme/eval/suites/practical13.py gptme/eval/suites/practical8.py gptme/eval/suites/basic.py gptme/eval/suites/practical31.py gptme/eval/suites/practical33.py gptme/eval/suites/practical12.py gptme/eval/suites/practical32.py gptme/eval/suites/practical9.py gptme/eval/suites/practical15.py gptme/eval/suites/practical22.py gptme/eval/suites/practical7.py gptme/eval/suites/practical11.py gptme/eval/suites/practical18.py gptme/eval/suites/practical19.py gptme/eval/suites/practical20.py gptme/eval/suites/practical17.py gptme/eval/suites/practical30.py gptme/eval/suites/subagent.py gptme/eval/suites/practical28.py gptme/eval/suites/practical6.py gptme/eval/leaderboard.py gptme/eval/__init__.py gptme/eval/types.py gptme/eval/swebench/info.py gptme/eval/swebench/__init__.py gptme/eval/swebench/retrieval.py gptme/eval/swebench/utils.py gptme/eval/swebench/evaluate.py gptme/eval/swebench/main.py gptme/eval/swebench/__main__.py gptme/eval/filestore.py gptme/eval/agents/swebench.py gptme/eval/agents/claude_code.py gptme/eval/agents/__init__.py gptme/eval/dspy/signatures.py gptme/eval/dspy/__init__.py gptme/eval/dspy/experiments.py gptme/eval/dspy/hybrid_optimizer.py gptme/eval/dspy/metrics.py gptme/eval/dspy/tasks.py gptme/eval/dspy/__main__.py gptme/eval/dspy/prompt_optimizer.py gptme/eval/dspy/cli.py gptme/eval/run.py gptme/eval/main.py gptme/eval/execenv.py gptme/eval/tbench/__init__.py gptme/eval/tbench/agent.py gptme/eval/tbench/run.py gptme/eval/__main__.py gptme/eval/swe_extra/__init__.py gptme/eval/swe_extra/swe_bench_extra_data.py gptme/eval/swe_extra/run_swe_extra.py gptme/eval/swe_extra/swe_bench_constants.py gptme/eval/swe_extra/swe_bench_test_spec.py gptme/model_attestation.py gptme/telemetry.py tests/test_gptme_provider.py tests/test_tools_choice.py tests/test_tools_form.py tests/test_docs_tool_formats_coverage.py tests/test_timings.py tests/test_cli.py tests/test_hybrid_lessons.py tests/test_integration_phase4.py tests/test_pytest_retry_tmp_path_interaction.py tests/test_tui.py tests/test_server_config_workspace_containment.py tests/test_tools_precommit.py tests/test_eval_leaderboard.py tests/test_util_tool_format.py tests/test_agent_memory.py tests/test_lessons_tool.py tests/test_lessons_index.py tests/test_server_artifacts.py tests/test_treeofthoughts.py tests/test_pytest_timeout_retry_interaction.py tests/test_custom_providers.py tests/test_mcp.py tests/test_acp_protocol_logging.py tests/test_tasks_api.py tests/test_prompt_tools.py tests/test_message_command.py tests/test_circuit_breaker.py tests/test_util_terminal.py tests/test_workspace_agents.py tests/test_server.py tests/test_eval_computer_suite.py tests/test_cc_memory.py tests/test_tools__anchored.py tests/test_eval_practical19.py tests/test_tools_browser.py tests/test_search_alias.py tests/test_hooks_cost_awareness.py tests/test_shell_issue772.py tests/test_chats_clean.py tests/test_lessons_status.py tests/test_computer_video_frames_cli.py tests/test_tools_patch_anchored.py tests/test_tui_e2e.py tests/test_model_attestation.py tests/test_cli_confirm_hook.py tests/test_utils.py tests/test_config.py tests/test_setup_completions.py tests/test_computer_screenshot_cli.py tests/test_provider_plugins.py tests/test_execute_msg_defensive.py tests/lessons/test_bm25_parity.py tests/lessons/test_wildcard_matching.py tests/test_anti_slop.py tests/test_tool_use.py tests/test_tools_shell.py tests/test_acp_adapter.py tests/test_eval_practical20.py tests/test_tools_shell_background.py tests/test_computer_settle.py tests/test_util_gh_mocked.py tests/test_eval_behavioral_solutions.py tests/test_llm_mock.py tests/test_chat.py tests/test_llm_retry_policy.py tests/test_execenv.py tests/test_output_format.py tests/test_unified_plugins.py tests/test_server_bad_input.py tests/test_cost_display.py tests/test_llm_retry_abort.py tests/test_server_fresh_bad_input.py tests/test_util_cli_providers.py tests/test_tree.py tests/test_knowledge.py tests/test_lessons_commands.py tests/test_computer_audit.py tests/test_credentials_integration.py tests/test_prompt_templates.py tests/test_computer_record.py tests/test_server_cors.py tests/test_mcp_server.py tests/test_shell_background.py tests/test_server_tts_api.py tests/test_server_etag.py tests/test_eval_format_routing.py tests/test_computer_demo_cmd.py tests/test_context_selector.py tests/test_server_skills_api.py tests/test_pdf_to_images.py tests/test_llm_openai_sampling.py tests/test_acp_e2e_smoke.py tests/test_computer_latency_cmd.py tests/test_tools_subagent.py tests/test_auto_compact.py tests/test_dspy_hybrid.py tests/test_util_cost.py tests/test_agent_service_timeouts.py tests/test_tools_base.py tests/test_context.py tests/test_server_v2_sse.py tests/test_server_perf.py tests/test_master_context.py tests/test_config_encoding.py tests/test_cli_fatal_error_envelope.py tests/test_local_discovery.py tests/test_server_workspace.py tests/test_vent.py tests/test_tools_tmux.py tests/test_tools_read.py tests/test_tools_computer.py tests/test_util_context_dedup.py tests/test_browser_state.py tests/test_info.py tests/test_acp_types.py tests/test_doctor.py tests/test_guardrail_hook.py tests/test_swebench_utils.py tests/test_chats_external_search.py tests/test_oauth_openrouter.py tests/test_ephemeral.py tests/test_conversations.py tests/test_eval_timeouts.py tests/test_computer_actions.py tests/test_shell_allowlist_autoconfirm.py tests/test_subagent_concurrency.py tests/test_util_cli_mcp.py tests/test_subscription_pricing.py tests/test_util_tokens.py tests/test_acp_stdout.py tests/test_util_clipboard_paste.py tests/test_eval_tool_efficiency.py tests/test_tools_time_awareness.py tests/test_git_worktree.py tests/test_file_selector_integration.py tests/test_tools_lessons.py tests/test_constants.py tests/test_tools_token_awareness.py tests/test_server_cli_fallback.py tests/test_llm_grok_subscription.py tests/test_screenshot.py tests/test_llm_utils.py tests/test_auto_naming.py tests/test_k_best.py tests/test_chats_stats.py tests/test_chat_history.py tests/test_server_api_v2_common.py tests/test_cli_from_turn.py tests/test_json_output.py tests/test_tools_screenshot.py tests/test_acp_client.py tests/test_computer_doctor_cmd.py tests/test_server_v2.py tests/context/test_adaptive_compressor.py tests/context/test_task_analyzer.py tests/test_server_v2_agents.py tests/test_shell_issue729.py tests/test_tools_morph.py tests/test_workspace_api.py tests/test_eval.py tests/test_server_v2_sessions.py tests/test_tools_patch.py tests/test_context_providers.py tests/test_eval_practical17.py tests/test_util_safety.py tests/test_codeblock.py tests/test_util_cli.py tests/test_server_host_validation.py tests/test_util.py tests/test_hooks_form_autodetect.py tests/fixtures/provider_test_scaffold.py tests/test_commands.py tests/test_lessons_parser.py tests/test_llm_models_resolution.py tests/test_util_cli_batch.py tests/test_tools_shell_validation.py tests/test_prompt_queue.py tests/test_active_context.py tests/test_util_hooks.py tests/test_cost_awareness_delayed_warning.py tests/test_llm_openai_subscription.py tests/test_agent_doctor.py tests/test_util_cli_generate.py tests/test_tools_convert.py tests/test_util_interrupt.py tests/test_model_selection_trace_export.py tests/test_server_webui_dir.py tests/test_execute_msg_hook_call_id.py tests/test_util_keyword_matching.py tests/test_onboard.py tests/test_util_review.py tests/test_skill_installer.py tests/test_util_file_storage.py tests/test_subagent_roundtrip.py tests/test_server_startup.py tests/test_tools_complete.py tests/test_util_tree.py tests/test_prompt_skills_summary.py tests/test_hooks.py tests/test_dspy_integration.py tests/test_message.py tests/test_computer_semantic_fixtures.py tests/test_eval_claude_code.py tests/test_server_audio_transcription.py tests/test_subagent_planner_roles.py tests/test_github_bot.py tests/test_package_exports.py tests/test_cost_cache_cold_warning.py tests/test_mcp_adapter.py tests/test_eval_swebench_retrieval.py tests/test_sandbox.py tests/test_cost_tracker.py tests/test_hooks_cwd_changed.py tests/test_executor.py tests/test_server_session_models.py tests/test_shell_fd_leak.py tests/test_browser_lynx.py tests/test_server_metrics.py tests/test_chats_rename.py tests/test_prompts.py tests/test_misc_subprocess_timeouts.py tests/test_server_v2_tool_confirmation.py tests/test_tools_chats.py tests/test_commands_rag.py tests/test_llm_validate.py tests/test_subagent_integration.py tests/test_thread_leak.py tests/test_tools_gh.py tests/test_tool_loading_duplicate.py tests/test_markdown_validation.py tests/test_util_gh.py tests/test_skill_commands.py tests/test_session.py tests/test_init.py tests/test_tools_hashline_edit.py tests/test_hooks_mcp_namespace_hint.py tests/test_eval_pass_rate_gate.py tests/test_tools_save.py tests/test_agent_workspace_timeouts.py tests/test_llm_models.py tests/test_server_default_profile.py tests/test_cli_explain.py tests/test_llm_anthropic.py tests/test_llm_auth.py tests/test_demo_capture.py tests/test_tools_patch_many.py tests/test_tools.py tests/test_gears.py tests/test_tools_python.py tests/test_hooks_cache_awareness.py tests/test_computer_risk_streaming.py tests/test_computer_gate.py tests/test_util_cli_attest.py tests/test_server_v2_auto_stepping.py tests/test_server_a2a.py tests/test_dirs.py tests/test_shell_memory_limit.py tests/test_util_cli_review_watch.py tests/test_agent.py tests/test_browser_github_routing.py tests/test_server_parent_death_watcher.py tests/thread_leak.py tests/test_capabilities_export.py tests/test_tools_shell_multiline.py tests/test_complete.py tests/test_reduce.py tests/test_validate_release_package.py tests/test_uri.py tests/test_git_cmd_resolver.py tests/test_workspace_snapshot.py tests/test_tools_pruner.py tests/test_quota_skip.py tests/test_eval_swebench.py tests/test_util_generate_name.py tests/conftest.py tests/test_tools_request_tool_change.py tests/test_hooks_knowledge_inject.py tests/test_webui_redirects.py tests/test_chat_config.py tests/test_server_auth.py tests/test_checkpoint.py tests/test_xml_format.py tests/test_tools_restart.py tests/test_server_v2_hooks.py tests/test_util_cli_models.py tests/test_lessons_matcher.py tests/test_subagent_budget.py tests/test_tools_rag.py tests/test_agents_md_inject.py tests/test_computer_task.py tests/test_llm_openai.py tests/test_computer_artifacts.py tests/test_browser_session_persistence.py tests/test_eval_trends.py tests/test_lessons_auto_include.py tests/test_commands_llm.py tests/test_lessons.py tests/test_cli_status.py tests/test_tools_mcp.py tests/test_dspy_gepa.py tests/test_server_cli_tools.py tests/test_computer_run_task_cli.py tests/test_browser.py tests/test_hooks_registry.py tests/test_external_sessions.py tests/test_eval_behavioral.py tests/test_replay.py tests/test_tools_vision.py tests/test_util_output_storage.py tests/test_computer_x11_integration.py tests/test_autocompact_scoring.py tests/test_server_panels.py tests/test_tutorial.py tests/test_chats_json.py tests/test_cli_resume.py tests/test_context_scout.py tests/test_github_ci_self_heal.py tests/test_tools_browser_thread.py tests/test_util_context_savings.py tests/test_lessons_integration.py tests/test_util_content.py tests/test_prompt.py tests/test_cwe214_docker_env_leak.py tests/test_terminal_startup_latency.py tests/test_eval_practical16.py tests/test_tui_visual.py tests/test_telemetry.py tests/test_generation_pre_snapshot_boundary.py tests/test_tools_todo.py tests/test_chats_export.py tests/test_plugins.py tests/test_computer_docker_config.py tests/test_mcp_discovery.py tests/test_eval_practical18.py tests/retry_compat.py tests/test_credentials.py tests/test_subagent_worktree_isolation.py tests/test_util_export.py tests/test_server_client.py tests/test_backtrack.py tests/test_server_tools_query.py tests/test_server_elicitation.py tests/test_cli_llm_generate.py tests/test_util_install.py tests/test_tools_autocommit.py tests/test_dspy_basic.py tests/test_acp_agent.py tests/test_script_hooks.py tests/test_computer_use_integration.py tests/test_eval_subagent.py tests/test_snapshot_list.py tests/test_hooks_server_confirm.py tests/test_profiles.py tests/test_logmanager.py tests/test_shell_output_mixing_issue408.py tests/test_cmd_service.py tests/test_tools_elicit.py tests/test_shell_for_loop_issue724.py tests/test_computer_milestone_integration.py tests/test_acp_session_runtime.py tests/test_snapshot_command.py tests/test_server_path_traversal.py tests/test_util_cli_skills.py tests/test_computer_transport.py tests/test_subagent_unit.py tests/test_eventlog.py tests/test_command_completion.py tests/test_computer_api.py tests/test_cli_stats.py tests/test_commands_account.py tests/test_browser_format.py scripts/eval_leaderboard.py scripts/analyze_compression.py scripts/treeofthoughts.py scripts/check_rst_formatting.py scripts/eval_trends.py scripts/validate_release_package.py scripts/train/collect.py scripts/verify_cloudflare_pages_deep_links.py scripts/github_bot.py scripts/auto_rename_logs.py scripts/demo_capture.py scripts/check_model_freshness.py scripts/github_ci_self_heal.py  --by-file --hide-rate --quiet | tail -n +2
-------------------------------------------------------------------------------------------------------------------------------
File                                                                                        blank        comment           code
-------------------------------------------------------------------------------------------------------------------------------
tests/test_subagent_unit.py                                                                  1284            627           4671
tests/test_server_v2.py                                                                       844            326           3550
gptme/server/api_v2.py                                                                        477            425           2824
tests/test_tools_subagent.py                                                                  848            440           2761
tests/test_llm_openai.py                                                                      622            366           2483
tests/test_util_review.py                                                                     453            311           1975
gptme/cli/cmd_computer.py                                                                     252            296           1726
tests/test_server_v2_sessions.py                                                              267            225           1693
gptme/tools/computer.py                                                                       432            864           1659
gptme/tools/shell.py                                                                          294            412           1600
tests/test_init.py                                                                            253            142           1569
gptme/llm/llm_openai.py                                                                       307            382           1539
tests/test_cli.py                                                                             410            158           1468
gptme/cli/main.py                                                                             225            291           1434
tests/test_eval_behavioral.py                                                                 867            967           1357
tests/test_config.py                                                                          400            462           1311
tests/test_util_cli_review_watch.py                                                           317            189           1283
tests/test_tools_shell.py                                                                     401            429           1270
tests/test_tools_computer.py                                                                  438            269           1258
gptme/hooks/workspace_agents.py                                                               238            153           1255
gptme/util/gh.py                                                                              243            301           1213
tests/test_acp_agent.py                                                                       355            188           1206
gptme/tui/app.py                                                                              185            333           1203
tests/test_util_gh.py                                                                         260            172           1172
gptme/cli/util.py                                                                             248            190           1145
tests/test_server.py                                                                          297            202           1124
gptme/acp/agent.py                                                                            194            326           1073
tests/test_doctor.py                                                                          266            141           1055
tests/test_tools_complete.py                                                                  218            253           1017
gptme/cli/doctor.py                                                                           125             95           1005
gptme/tools/subagent/api.py                                                                   189            435            991
gptme/server/session_step.py                                                                  175            340            990
tests/test_tools_base.py                                                                      321            107            982
tests/test_tools_browser.py                                                                   316             74            980
gptme/hooks/tests/test_workspace_agents.py                                                    193             49            956
tests/test_lessons_auto_include.py                                                            252            217            938
tests/test_info.py                                                                            177             78            937
tests/test_util_cli.py                                                                        248            171            934
gptme/llm/llm_anthropic.py                                                                    217            311            932
tests/test_tools_shell_validation.py                                                          326            211            931
gptme/eval/main.py                                                                            108            117            924
tests/test_tui.py                                                                             244            121            919
tests/test_cmd_service.py                                                                     207            184            909
gptme/server/api_v2_sessions.py                                                               119            175            897
tests/test_auto_compact.py                                                                    352            272            894
tests/test_llm_utils.py                                                                       255            127            886
tests/test_eval_leaderboard.py                                                                126            104            883
gptme/tools/base.py                                                                           181            267            875
tests/test_tools_convert.py                                                                   265            117            864
tests/test_computer_audit.py                                                                  231            157            846
tests/test_tasks_api.py                                                                       185             69            831
tests/test_eval_computer_suite.py                                                             328            149            819
gptme/cli/cmd_review_pr.py                                                                    146            321            814
tests/test_util_gh_mocked.py                                                                  155            121            814
tests/test_prompt_templates.py                                                                260            191            811
gptme/llm/__init__.py                                                                         158            289            808
gptme/eval/leaderboard.py                                                                     149            485            804
tests/test_sandbox.py                                                                         195            105            801
tests/test_reduce.py                                                                          230            208            794
gptme/tools/convert.py                                                                        136             85            793
tests/test_cost_display.py                                                                    110             68            776
gptme/tools/subagent/execution.py                                                             135            303            766
gptme/server/openapi_docs.py                                                                  256            177            760
tests/test_tools_hashline_edit.py                                                             211            412            746
tests/test_server_workspace.py                                                                149            154            743
gptme/eval/suites/computer.py                                                                 111            245            732
tests/test_chat.py                                                                            264            201            730
gptme/cli/cmd_review_watch.py                                                                 121            230            720
gptme/eval/suites/basic.py                                                                    138             55            715
tests/test_computer_transport.py                                                              267             91            713
gptme/logmanager/manager.py                                                                   160            215            711
tests/test_eval.py                                                                            131             84            709
gptme/tools/subagent/batch.py                                                                 135            482            708
tests/test_agent.py                                                                           205            115            707
gptme/tools/chats.py                                                                          135            167            706
gptme/cli/setup.py                                                                            154             72            700
tests/test_acp_session_runtime.py                                                             222             76            699
tests/test_hooks_registry.py                                                                  247             89            696
gptme/server/tasks_api.py                                                                     193            130            680
tests/test_tools_gh.py                                                                        134             69            675
gptme/tools/browser.py                                                                        269            436            673
gptme/tools/_browser_playwright.py                                                            234            276            665
tests/test_llm_models_resolution.py                                                           220            179            653
gptme/tools/mcp_adapter.py                                                                    230            223            650
tests/test_json_output.py                                                                     114             84            640
gptme/eval/dspy/tasks.py                                                                      170            374            639
tests/test_subagent_budget.py                                                                 166            144            626
tests/test_llm_anthropic.py                                                                   132             45            620
gptme/util/context.py                                                                         145            224            619
tests/test_cli_status.py                                                                      240            130            615
tests/test_prompts.py                                                                         179            109            609
tests/test_computer_doctor_cmd.py                                                              88             58            607
scripts/github_bot.py                                                                         109            107            597
gptme/llm/models/data.py                                                                       18            109            583
tests/test_tools_lessons.py                                                                   135             49            580
tests/test_tools_precommit.py                                                                 109             86            578
tests/test_tools_request_tool_change.py                                                       117             43            578
gptme/tools/complete.py                                                                       103            170            572
gptme/prompts/__init__.py                                                                      74             87            567
gptme/tools/computer_transport.py                                                             151            125            567
tests/test_server_panels.py                                                                    61             30            552
gptme/eval/run.py                                                                              74             96            549
tests/test_eval_subagent.py                                                                   119             56            547
tests/test_computer_actions.py                                                                165            125            546
tests/test_llm_openai_subscription.py                                                         130             58            546
gptme/server/a2a_api.py                                                                       103             42            544
tests/test_server_path_traversal.py                                                           139            105            539
gptme/server/artifacts_api.py                                                                 107            110            538
scripts/github_ci_self_heal.py                                                                111             49            537
tests/test_dirs.py                                                                            127             89            531
gptme/chat.py                                                                                  77            154            523
gptme/tools/gh.py                                                                             117            128            523
tests/test_tools_shell_background.py                                                          130             52            520
tests/test_server_bad_input.py                                                                121            101            519
tests/test_lessons.py                                                                         156            153            517
tests/test_hooks_cost_awareness.py                                                             72             61            516
gptme/eval/execenv.py                                                                          85            146            514
tests/test_commands.py                                                                        161             73            514
tests/conftest.py                                                                             134            209            510
gptme/llm/llm_openai_subscription.py                                                          125            119            508
gptme/hooks/registry.py                                                                       102             82            502
gptme/tools/hashline_edit.py                                                                  126            365            501
tests/test_context_scout.py                                                                    78             54            501
gptme/lessons/installer.py                                                                    146            165            496
tests/test_model_attestation.py                                                               105             30            496
tests/test_gptme_provider.py                                                                  162             71            494
gptme/cli/cmd_chats.py                                                                        107             79            487
gptme/server/workspace_api.py                                                                 100            110            486
tests/test_hooks_cache_awareness.py                                                           151             44            484
gptme/config/user.py                                                                          112            155            483
tests/test_computer_demo_cmd.py                                                               144             74            480
gptme/util/capabilities_export.py                                                              55             67            476
tests/test_snapshot_command.py                                                                117             57            476
tests/test_server_session_models.py                                                           161            141            475
tests/test_tools.py                                                                           187            106            470
gptme/hooks/tests/test_cost_awareness.py                                                       83             52            463
tests/test_skill_installer.py                                                                 138            154            459
tests/test_llm_auth.py                                                                        153             55            458
tests/test_mcp_server.py                                                                      112             39            457
tests/test_logmanager.py                                                                      135            125            447
scripts/analyze_compression.py                                                                103             68            446
scripts/demo_capture.py                                                                       104             83            445
tests/test_message.py                                                                         160            123            444
tests/test_llm_models.py                                                                      141             98            441
tests/test_util_cli_providers.py                                                               93             42            438
gptme/tools/shell_validation.py                                                               119            252            431
tests/test_knowledge.py                                                                       185             20            429
gptme/message.py                                                                              121            192            426
tests/test_tools_browser_thread.py                                                            113             51            425
tests/test_lessons_commands.py                                                                157             82            422
tests/test_external_sessions.py                                                               116             67            421
gptme/eval/dspy/prompt_optimizer.py                                                           109             89            420
tests/test_lessons_index.py                                                                   137            116            419
gptme/lessons/auto_include.py                                                                 108            210            418
tests/context/test_task_analyzer.py                                                            90             44            418
tests/test_codeblock.py                                                                       318            800            418
tests/test_util_cli_mcp.py                                                                     98             50            418
tests/test_lessons_parser.py                                                                  188            239            417
tests/test_server_artifacts.py                                                                 66             32            415
tests/test_subagent_worktree_isolation.py                                                     129             70            414
gptme/util/prompt.py                                                                          102            151            412
gptme/util/cost_display.py                                                                     81             80            406
gptme/cli/auth.py                                                                              83             54            405
gptme/util/reduce.py                                                                           96            133            403
gptme/agent/service.py                                                                        108            103            400
gptme/tools/__init__.py                                                                       117            128            399
gptme/tools/tmux.py                                                                            98            170            398
tests/test_tools_mcp.py                                                                       102             20            398
gptme/telemetry.py                                                                             94             55            396
gptme/agent/cli.py                                                                            109            137            395
tests/test_hybrid_lessons.py                                                                  100             58            395
tests/test_profiles.py                                                                         88             37            395
gptme/eval/suites/subagent.py                                                                  90             70            394
tests/test_computer_latency_cmd.py                                                             93             42            393
gptme/lessons/index.py                                                                        120            135            392
gptme/util/_telemetry.py                                                                      110            158            392
gptme/agent/doctor.py                                                                          90             43            388
gptme/hooks/tests/test_manifest.py                                                             95             45            387
gptme/workspace_snapshot.py                                                                    53             64            386
gptme/cli/cmd_hooks.py                                                                        106             76            376
tests/test_unified_plugins.py                                                                 102             42            376
gptme/logmanager/conversations.py                                                              81            120            374
gptme/server/external_sessions.py                                                              59             92            372
tests/test_conversations.py                                                                    51             33            371
tests/test_github_ci_self_heal.py                                                              71              6            371
tests/test_tools_read.py                                                                      121             52            370
gptme/cli/cmd_service.py                                                                      126            370            369
tests/test_guardrail_hook.py                                                                   95             74            369
tests/test_workspace_api.py                                                                   103             19            369
gptme/llm/openai_responses.py                                                                  80             22            367
tests/test_provider_plugins.py                                                                 93             33            366
gptme/tools/shell_background.py                                                                74             38            365
gptme/cli/cmd_status.py                                                                        95            103            364
gptme/eval/dspy/cli.py                                                                         73             57            364
gptme/lessons/hybrid_matcher.py                                                               122            162            364
tests/test_computer_record.py                                                                 119             30            364
tests/test_eval_behavioral_solutions.py                                                       281            848            364
gptme/info.py                                                                                  96             79            361
tests/test_replay.py                                                                          120            110            361
gptme/llm/llm_grok_subscription.py                                                             93             74            359
tests/test_context_providers.py                                                               183            121            356
tests/test_mcp_discovery.py                                                                   107             41            356
gptme/tools/python.py                                                                          93            116            353
tests/test_lessons_matcher.py                                                                  99             86            352
gptme/llm/local_discovery.py                                                                   64             35            351
gptme/eval/dspy/experiments.py                                                                 94             60            350
gptme/sandbox.py                                                                               95            208            349
tests/test_computer_use_integration.py                                                        140            143            349
tests/test_tui_e2e.py                                                                          63             82            348
gptme/agent/workspace.py                                                                      120            209            347
tests/test_util_hooks.py                                                                       85             93            347
gptme/eval/dspy/metrics.py                                                                     97             98            345
tests/test_complete.py                                                                         81             72            345
tests/test_tools_patch_many.py                                                                 91            101            345
gptme/hooks/tests/test_elicitation.py                                                          91             45            343
tests/test_shell_background.py                                                                 99             71            342
tests/test_context.py                                                                         152             87            341
tests/test_computer_semantic_fixtures.py                                                       92            107            340
gptme/init.py                                                                                  65             91            338
tests/test_capabilities_export.py                                                              45             20            338
gptme/config/models.py                                                                        114             99            337
gptme/tools/mcp.py                                                                            102            103            337
tests/test_script_hooks.py                                                                     55              7            336
tests/test_eval_trends.py                                                                      35             22            335
tests/test_mcp_adapter.py                                                                     113             59            334
gptme/llm/llm_openai_models.py                                                                  6             43            333
gptme/prompts/workspace.py                                                                     51             74            330
gptme/util/safety.py                                                                           57             63            330
tests/test_llm_grok_subscription.py                                                            98             20            330
gptme/hooks/cost_awareness.py                                                                  82             75            329
tests/test_workspace_agents.py                                                                145             57            329
gptme/hooks/tests/test_agents_md_inject.py                                                     63             48            328
gptme/eval/suites/practical.py                                                                 35             30            326
tests/test_circuit_breaker.py                                                                  98             69            322
tests/test_util_tool_format.py                                                                 78             32            322
gptme/checkpoint.py                                                                            79             49            321
tests/test_ephemeral.py                                                                        87             56            321
tests/test_llm_validate.py                                                                     64             61            321
tests/test_util_safety.py                                                                      96             22            321
gptme/tools/subagent/__init__.py                                                               64            225            320
scripts/treeofthoughts.py                                                                      59             91            320
gptme/hooks/tests/test_tool_target_instructions.py                                             58             49            319
gptme/tools/subagent/types.py                                                                  84            153            319
tests/test_workspace_snapshot.py                                                              105             46            319
tests/test_agent_doctor.py                                                                     72             34            318
gptme/eval/trends.py                                                                           59             31            317
gptme/tools/shell_flags.py                                                                     60            257            315
tests/test_tools_morph.py                                                                      89             67            311
tests/test_util_cli_batch.py                                                                   62              8            310
gptme/hooks/tests/test_confirm.py                                                             100             59            309
gptme/mcp/client.py                                                                            94            121            307
tests/test_chats_external_search.py                                                            72             55            307
tests/test_eventlog.py                                                                         73             35            307
gptme/context/scout.py                                                                         83             92            306
tests/test_browser.py                                                                         140             71            305
gptme/attestation.py                                                                           71              2            301
tests/test_tools_rag.py                                                                        95             37            301
tests/test_config_encoding.py                                                                 154            195            300
tests/context/test_adaptive_compressor.py                                                      58             44            298
gptme/config/chat.py                                                                           60            109            297
gptme/tools/_browser_thread.py                                                                 57             68            297
gptme/plugins/__init__.py                                                                      98            133            295
gptme/prompts/templates.py                                                                     70            151            295
tests/test_eval_swebench.py                                                                    78             41            294
gptme/server/cli.py                                                                            52             95            293
gptme/commands/llm.py                                                                          60             55            292
tests/test_plugins.py                                                                         110             85            292
tests/test_chats_stats.py                                                                      72             30            291
gptme/llm/models/resolution.py                                                                 62             89            289
tests/test_execenv.py                                                                          76             54            288
gptme/commands/snapshot.py                                                                     43             32            287
gptme/tools/read.py                                                                            55             73            287
tests/lessons/test_wildcard_matching.py                                                       114            125            287
tests/test_cc_memory.py                                                                        68             65            284
tests/test_server_a2a.py                                                                       64             20            283
gptme/eval/dspy/hybrid_optimizer.py                                                           141            345            282
tests/test_hooks_server_confirm.py                                                             78             31            282
tests/test_search_alias.py                                                                     48             54            282
tests/test_server_v2_auto_stepping.py                                                          56             50            281
gptme/eval/swe_extra/swe_bench_test_spec.py                                                    53             29            280
gptme/tools/lessons.py                                                                        106            115            278
tests/test_tools_patch_anchored.py                                                             65             26            278
gptme/llm/validate.py                                                                          43             64            277
gptme/tools/save.py                                                                            63             63            276
tests/test_computer_video_frames_cli.py                                                        67             12            274
tests/test_tools_restart.py                                                                    72             49            274
tests/test_util_tokens.py                                                                     129             71            273
tests/test_server_v2_agents.py                                                                 57             25            272
gptme/tools/patch.py                                                                           63             95            271
gptme/hooks/tests/test_token_awareness.py                                                      37             28            269
tests/test_util_cli_attest.py                                                                  67              1            269
gptme/cli/cmd_init.py                                                                          92            163            268
gptme/profiles.py                                                                              64             68            268
tests/test_computer_docker_config.py                                                           59             92            267
gptme/acp/client.py                                                                            66            121            266
tests/lessons/test_bm25_parity.py                                                              67             70            266
gptme/llm/models/listing.py                                                                    63             57            265
gptme/cli/cmd_skills.py                                                                        71             35            261
tests/test_server_startup.py                                                                   39             65            261
tests/test_tools_autocommit.py                                                                 99             47            259
tests/test_terminal_startup_latency.py                                                         77             32            257
tests/test_hooks.py                                                                           120             47            255
tests/test_tool_use.py                                                                         60             66            255
tests/test_context_selector.py                                                                 83             45            254
gptme/hooks/tests/test_form_autodetect.py                                                      73             25            253
tests/test_eval_claude_code.py                                                                 66             27            253
gptme/knowledge.py                                                                             70             80            252
tests/test_lessons_integration.py                                                              97             66            252
gptme/eval/suites/practical16.py                                                               64            100            251
scripts/check_model_freshness.py                                                               53             40            251
gptme/codeblock.py                                                                             38            148            250
gptme/server/tools_api.py                                                                      58             49            249
tests/test_prompt_tools.py                                                                     57             30            249
tests/test_skill_commands.py                                                                   95             49            249
tests/test_tools_screenshot.py                                                                 59             52            249
gptme/hooks/tests/test_injection_screening.py                                                  78             13            247
gptme/tools/rag.py                                                                             89            131            245
gptme/tools/patch_many.py                                                                      56             62            243
gptme/anti_slop.py                                                                             40             62            242
tests/test_local_discovery.py                                                                  63             18            242
tests/test_agents_md_inject.py                                                                 43             37            241
gptme/eval/swebench/main.py                                                                    32             23            239
tests/test_cli_from_turn.py                                                                    65             18            239
tests/test_mcp.py                                                                              68             59            239
gptme/commands/meta.py                                                                         54             20            238
gptme/context/task_analyzer.py                                                                100            124            237
tests/test_auto_naming.py                                                                      69             45            237
tests/test_computer_x11_integration.py                                                         87             87            236
gptme/config/cli_setup.py                                                                      39             57            235
gptme/server/session_models.py                                                                 63             96            235
tests/test_cli_stats.py                                                                        62             27            234
gptme/context/adaptive_compressor.py                                                           76            130            232
gptme/tools/todo.py                                                                            95            104            232
gptme/util/review.py                                                                           70            129            231
gptme/tools/precommit.py                                                                       70             96            230
tests/test_tools__anchored.py                                                                  46             30            230
tests/test_computer_settle.py                                                                  90             78            228
tests/test_hooks_cwd_changed.py                                                                55             24            227
gptme/cli/cmd_resume.py                                                                        44             25            226
gptme/lessons/parser.py                                                                        74            119            226
gptme/tools/autocompact/engine.py                                                              41             75            225
gptme/tools/subagent/hooks.py                                                                  73            136            225
tests/test_chats_json.py                                                                       32             17            225
gptme/cli/onboard.py                                                                           67             59            224
gptme/mcp/registry.py                                                                          59             70            224
gptme/util/auto_naming.py                                                                      68             78            224
tests/test_git_worktree.py                                                                     57             37            224
tests/test_tools_python.py                                                                     93             60            224
gptme/eval/suites/behavioral/__init__.py                                                        9             11            223
gptme/eval/suites/practical6.py                                                                56             46            221
gptme/lessons/commands.py                                                                      91             48            219
gptme/hooks/tests/test_cli_confirm.py                                                          75             23            218
gptme/util/_sound_sounddevice.py                                                               57             50            218
tests/test_util_keyword_matching.py                                                            75             46            218
gptme/hooks/aw_watcher_agent.py                                                                49             21            217
tests/test_lessons_tool.py                                                                     62             34            216
tests/test_llm_retry_abort.py                                                                  85             62            216
tests/test_subagent_roundtrip.py                                                               70             51            216
gptme/commands/base.py                                                                         71             76            214
tests/test_hooks_knowledge_inject.py                                                           64              6            214
tests/test_llm_openai_sampling.py                                                              42              0            214
gptme/eval/swe_extra/swe_bench_extra_data.py                                                   69             51            213
gptme/hooks/elicitation.py                                                                     90            132            213
tests/test_cli_resume.py                                                                       64             15            212
tests/test_checkpoint.py                                                                       88             20            211
tests/test_server_fresh_bad_input.py                                                           43             38            211
gptme/model_attestation.py                                                                     63             78            209
gptme/eval/swebench/evaluate.py                                                                39             61            208
tests/test_autocompact_scoring.py                                                              86             39            208
gptme/cli/cmd_batch.py                                                                         31              6            207
tests/test_server_v2_hooks.py                                                                  80             60            207
tests/test_executor.py                                                                         50             31            206
tests/test_shell_allowlist_autoconfirm.py                                                      52             60            206
tests/test_oauth_openrouter.py                                                                 62              9            205
gptme/hooks/__init__.py                                                                        20             42            203
gptme/server/auth.py                                                                           76            115            203
gptme/server/panels_api.py                                                                     51             51            203
tests/test_util_file_storage.py                                                                51             36            203
gptme/server/computer_api.py                                                                   51             55            202
gptme/eval/suites/practical7.py                                                                57             81            201
gptme/hooks/auto_snapshots.py                                                                  51             66            201
gptme/util/sound.py                                                                            65             72            200
tests/test_tutorial.py                                                                         85              7            200
tests/test_telemetry.py                                                                        70             32            199
gptme/hooks/tests/test_active_context.py                                                       37             29            198
gptme/hooks/tests/test_server_elicit.py                                                        58             23            196
tests/test_cli_fatal_error_envelope.py                                                         41             37            194
tests/test_tools_save.py                                                                       57             36            193
gptme/cli/cmd_knowledge.py                                                                     44             57            191
gptme/eval/suites/practical8.py                                                                68             62            191
tests/test_chats_clean.py                                                                      46             18            191
tests/test_server_tools_query.py                                                               54             35            191
gptme/hooks/manifest.py                                                                        43             41            190
gptme/hooks/script.py                                                                          21              8            189
tests/test_computer_task.py                                                                   116             31            189
gptme/tools/pruner.py                                                                          44              0            188
gptme/eval/agents/claude_code.py                                                               41             33            187
gptme/hooks/tests/test_server_confirm.py                                                       48             32            186
gptme/eval/suites/practical14.py                                                               64             52            185
gptme/tools/morph.py                                                                           43             49            185
tests/test_computer_screenshot_cli.py                                                          53             12            183
tests/test_k_best.py                                                                           76             23            182
gptme/cli/cmd_stats.py                                                                         51             36            180
gptme/context/selector/file_selector.py                                                        50             61            180
tests/test_dspy_hybrid.py                                                                      65             45            179
tests/test_tools_tmux.py                                                                       77             65            179
gptme/cli/cmd_mcp.py                                                                           52             29            178
gptme/tools/autocompact/resume.py                                                              50             74            178
tests/test_dspy_basic.py                                                                       66             44            177
gptme/cli/cmd_tutorial.py                                                                      50             37            176
gptme/eval/suites/practical4.py                                                                47             24            176
tests/test_execute_msg_hook_call_id.py                                                         65             49            176
tests/test_browser_lynx.py                                                                     63             15            175
tests/test_cost_tracker.py                                                                     26             26            175
gptme/commands/session.py                                                                      58             47            174
gptme/tools/request_tool_change.py                                                             35             33            173
tests/test_tools_todo.py                                                                       81             65            173
gptme/tools/patch_anchored.py                                                                  54             79            172
tests/test_chats_export.py                                                                     48             17            172
tests/test_model_selection_trace_export.py                                                     55             13            172
tests/test_util_cli_generate.py                                                                35              7            172
gptme/circuit_breaker.py                                                                       49             72            171
gptme/eval/suites/practical10.py                                                               55             65            171
tests/test_acp_types.py                                                                        35             12            171
tests/test_tools_patch.py                                                                      91            214            171
gptme/eval/agents/swebench.py                                                                  35             22            170
tests/test_util_cli_models.py                                                                  23             25            170
gptme/util/git_worktree.py                                                                     40             67            169
gptme/util/tool_format.py                                                                      48             76            169
gptme/hooks/cache_awareness.py                                                                118            186            168
gptme/oauth/openrouter.py                                                                      48             43            168
tests/test_tree.py                                                                             61             37            168
tests/test_util_terminal.py                                                                    52             34            168
tests/test_tools_elicit.py                                                                     50             25            167
gptme/server/acp_session_runtime.py                                                            34             30            165
tests/test_util_cli_skills.py                                                                  63             42            165
gptme/eval/suites/practical2.py                                                                46             18            164
gptme/llm/llm_gptme.py                                                                         64            112            164
gptme/hooks/types.py                                                                           96            136            163
gptme/tui/main.py                                                                              25             15            163
tests/test_anti_slop.py                                                                        69             24            163
tests/test_tools_time_awareness.py                                                             52             34            163
tests/test_util_cost.py                                                                        29             26            163
gptme/cli/cmd_explain.py                                                                       33             26            161
tests/test_server_default_profile.py                                                           69             42            161
tests/test_acp_protocol_logging.py                                                             56             15            160
gptme/llm/utils.py                                                                             56             84            159
gptme/mcp/server.py                                                                            48             56            159
gptme/util/tokens.py                                                                           46             69            159
tests/test_acp_client.py                                                                       64             34            159
gptme/eval/suites/practical3.py                                                                27             19            158
tests/test_acp_stdout.py                                                                       76             37            158
tests/test_server_api_v2_common.py                                                             48             48            158
tests/test_tui_visual.py                                                                       48             46            158
tests/test_uri.py                                                                              55             30            158
gptme/dirs.py                                                                                  72             99            157
gptme/llm/llm_openai_models_deprecated.py                                                       5             14            157
gptme/util/__init__.py                                                                         34             29            157
tests/test_backtrack.py                                                                        39             11            157
gptme/server/api_v2_common.py                                                                  83             63            156
tests/test_commands_account.py                                                                 37              6            156
tests/test_server_v2_tool_confirmation.py                                                      33             33            155
gptme/eval/suites/practical15.py                                                               65             92            154
tests/test_eval_pass_rate_gate.py                                                              48              9            154
tests/test_server_config_workspace_containment.py                                              42             46            153
tests/test_timings.py                                                                          66             50            153
gptme/hooks/cli_confirm.py                                                                     50             54            152
gptme/tools/autocompact/scoring.py                                                             53             89            152
tests/test_subagent_integration.py                                                             48             21            152
gptme/commands/account.py                                                                      45             20            151
gptme/eval/suites/behavioral/add_deprecation_warning.py                                        73            138            151
gptme/eval/suites/practical9.py                                                                69             76            151
gptme/eval/swebench/retrieval.py                                                               46             62            151
tests/test_util_tree.py                                                                        44             33            151
gptme/tools/restart.py                                                                         53             83            150
gptme/server/client.py                                                                         63             79            149
tests/fixtures/provider_test_scaffold.py                                                       76             68            148
tests/test_browser_state.py                                                                    75             31            148
tests/test_util_install.py                                                                     34             31            148
gptme/eval/agents/__init__.py                                                                  24             15            147
gptme/util/clipboard.py                                                                        22             12            147
scripts/check_rst_formatting.py                                                                41             52            147
tests/test_master_context.py                                                                   39             24            147
gptme/hooks/token_awareness.py                                                                 47             46            146
tests/test_misc_subprocess_timeouts.py                                                         48             30            146
gptme/config/core.py                                                                           48             51            145
gptme/tools/form.py                                                                            42             64            145
tests/test_file_selector_integration.py                                                        50             23            145
tests/test_vent.py                                                                             32             10            145
tests/test_subagent_concurrency.py                                                             37             16            144
gptme/commands/checkpoint.py                                                                   21              4            143
gptme/hooks/tests/test_aw_watcher_agent.py                                                     26              6            143
gptme/acp/__main__.py                                                                          52             57            142
gptme/logmanager/eventlog.py                                                                   51             39            141
tests/test_server_elicitation.py                                                               47             17            141
tests/test_dspy_integration.py                                                                 54             32            139
tests/test_tools_token_awareness.py                                                            59             47            139
gptme/eval/suites/practical5.py                                                                67             80            138
gptme/llm/models/types.py                                                                      52             86            138
tests/test_computer_milestone_integration.py                                                   61             59            138
tests/test_tools_vision.py                                                                     36             31            138
gptme/hooks/agents_md_inject.py                                                                36             63            137
tests/test_util_content.py                                                                     49             25            137
gptme/eval/swebench/utils.py                                                                   30             10            135
gptme/hooks/tool_target_instructions.py                                                        37             47            135
gptme/lessons/skill_commands.py                                                                47             58            135
gptme/tools/elicit.py                                                                          39            121            135
tests/test_chat_config.py                                                                      53             44            135
tests/test_cli_explain.py                                                                      53             18            135
gptme/server/app.py                                                                            35             84            133
gptme/tools/autocompact/context_provider.py                                                    51             54            133
tests/test_computer_gate.py                                                                    76             40            133
gptme/server/api_v2_agents.py                                                                  25             17            132
gptme/cli/cmd_attest.py                                                                        21              5            131
gptme/eval/suites/practical17.py                                                               64            137            131
gptme/eval/suites/behavioral/minimal_feature_preserve_default_with_decoys.py                   41             72            130
gptme/hooks/injection_screening.py                                                             31             34            130
gptme/util/replay.py                                                                           42             49            129
tests/test_agent_workspace_timeouts.py                                                         41             22            129
tests/test_snapshot_list.py                                                                    45              7            129
tests/test_acp_adapter.py                                                                      42             33            128
tests/test_cwe214_docker_env_leak.py                                                           42             41            128
gptme/hooks/tests/test_markdown_validation.py                                                  29             21            127
gptme/eval/suites/practical21.py                                                               76            184            126
tests/test_active_context.py                                                                   41             22            126
gptme/hooks/tests/test_cache_awareness.py                                                      47             34            125
gptme/k_best.py                                                                                34             40            125
gptme/server/skills_api.py                                                                     32              4            125
tests/test_util_context_dedup.py                                                               61             43            125
tests/test_treeofthoughts.py                                                                   34             23            124
gptme/eval/suites/behavioral/handle_specific_exception.py                                      15              8            123
gptme/hooks/form_autodetect.py                                                                 48             65            123
tests/test_computer_risk_streaming.py                                                          54             44            123
tests/test_prompt.py                                                                           36             36            123
gptme/commands/export.py                                                                       31             21            122
gptme/eval/suites/practical11.py                                                               53             26            122
gptme/eval/suites/practical12.py                                                               56             49            122
gptme/hooks/server_confirm.py                                                                  51             58            122
gptme/tools/autocompact/hook.py                                                                40             48            122
tests/test_llm_retry_policy.py                                                                 48             18            122
tests/test_server_webui_dir.py                                                                 59             21            121
tests/test_subagent_planner_roles.py                                                           39             30            121
tests/test_util_interrupt.py                                                                   48             38            121
tests/test_eval_format_routing.py                                                              30             25            120
tests/test_integration_phase4.py                                                               22             19            119
gptme/eval/suites/practical20.py                                                               77            190            118
tests/test_cost_cache_cold_warning.py                                                          33              8            118
gptme/commands/backtrack.py                                                                    31             29            117
gptme/server/metrics.py                                                                        36             19            117
tests/test_util_clipboard_paste.py                                                             27             14            117
gptme/eval/suites/behavioral/add_type_hints.py                                                 40             97            116
gptme/plugins/registry.py                                                                      40             35            116
tests/test_agent_service_timeouts.py                                                           19             18            116
scripts/auto_rename_logs.py                                                                    34             23            115
tests/thread_leak.py                                                                           34             55            115
gptme/eval/suites/practical18.py                                                               52            117            114
gptme/util/cost_tracker.py                                                                     46             69            114
gptme/hooks/server_elicit.py                                                                   52             56            113
gptme/util/ask_execute.py                                                                      26             44            113
tests/test_lessons_status.py                                                                   67             96            113
tests/test_chats_rename.py                                                                     42             16            112
tests/test_server_host_validation.py                                                           46             29            112
gptme/hooks/tests/test_time_awareness.py                                                       36             11            111
gptme/util/export.py                                                                           26             29            111
gptme/eval/types.py                                                                            35             69            110
gptme/tools/computer_semantic.py                                                               61            129            110
gptme/hooks/confirm.py                                                                         53             88            109
gptme/prompt_queue.py                                                                          41             20            109
tests/test_computer_run_task_cli.py                                                            40             14            109
tests/test_cost_awareness_delayed_warning.py                                                   42             32            108
gptme/eval/suites/practical29.py                                                               69            129            107
tests/test_tools_chats.py                                                                      26             19            107
gptme/eval/suites/practical28.py                                                               66            155            106
gptme/cli/checkpoint.py                                                                        23             14            105
gptme/eval/suites/behavioral/implement_lru_cache.py                                            56            101            105
gptme/eval/suites/practical13.py                                                               47             47            105
gptme/eval/suites/practical19.py                                                               58            133            105
gptme/eval/suites/behavioral/implement_event_emitter.py                                        48             94            104
gptme/eval/suites/practical22.py                                                               76            174            104
gptme/tools/choice.py                                                                          34             41            104
scripts/train/collect.py                                                                       35             52            104
gptme/lessons/matcher.py                                                                       35             47            103
tests/test_browser_session_persistence.py                                                      62             33            103
tests/test_server_parent_death_watcher.py                                                      25             38            103
tests/test_tools_choice.py                                                                     51             26            103
tests/test_util_output_storage.py                                                              23             13            103
gptme/eval/suites/practical23.py                                                               75            190            102
gptme/eval/suites/practical30.py                                                               68            110            102
gptme/eval/suites/behavioral/bounded_bugfix_with_decoys.py                                     55             93            101
gptme/eval/suites/behavioral/root_cause_pipeline_debug.py                                      48            117            101
gptme/eval/suites/practical25.py                                                               70            147            101
gptme/eval/suites/practical27.py                                                               70            154            101
gptme/eval/suites/practical33.py                                                               68            109            101
gptme/eval/suites/behavioral/refactor_for_testability.py                                       22             45            100
gptme/eval/suites/practical32.py                                                               70            134            100
gptme/hooks/active_context.py                                                                  25             23            100
gptme/tools/_anchored.py                                                                       33             41            100
gptme/tools/_computer_gate.py                                                                  33             61            100
tests/test_command_completion.py                                                               33             23            100
tests/test_hooks_mcp_namespace_hint.py                                                         30             14            100
gptme/__version__.py                                                                           21             17             99
gptme/eval/suites/practical24.py                                                               78            204             99
gptme/eval/suites/practical26.py                                                               72            162             99
gptme/eval/suites/practical31.py                                                               69            112             99
gptme/eval/swe_extra/run_swe_extra.py                                                          25             15             99
gptme/llm/llm_openrouter_subscription.py                                                       35             37             99
gptme/tools/screenshot.py                                                                      30             45             99
tests/test_generation_pre_snapshot_boundary.py                                                 38             39             99
gptme/eval/suites/behavioral/implement_priority_queue.py                                       61            109             98
tests/test_thread_leak.py                                                                      29              7             98
tests/test_server_auth.py                                                                      46             25             97
gptme/eval/suites/behavioral/optimize_n_squared.py                                             31             43             96
tests/test_session.py                                                                          40             21             95
tests/test_server_v2_sse.py                                                                    26             27             94
gptme/tools/vent.py                                                                            39             64             93
gptme/prompts/chat_history.py                                                                  34             27             91
tests/test_server_etag.py                                                                      22              5             91
gptme/acp/types.py                                                                             25             13             90
gptme/hooks/knowledge_inject.py                                                                21             37             90
gptme/server/tts_api.py                                                                        24             18             90
tests/test_agent_memory.py                                                                     26             17             90
gptme/cli/cmd_slop.py                                                                          17             10             89
gptme/eval/tbench/run.py                                                                       16             12             89
tests/test_swebench_utils.py                                                                   27              2             89
gptme/commands/__init__.py                                                                     15             21             88
tests/test_commands_rag.py                                                                     16              2             88
tests/test_server_cors.py                                                                      33             20             88
gptme/eval/suites/behavioral/circuit_breaker.py                                                53            118             87
gptme/prompts/context_cmd.py                                                                   12             18             87
gptme/util/tree.py                                                                             21             15             87
scripts/verify_cloudflare_pages_deep_links.py                                                  17              1             87
gptme/hooks/time_awareness.py                                                                  32             29             86
gptme/tools/autocompact/decision.py                                                            34             48             86
tests/test_browser_github_routing.py                                                           27              0             86
gptme/eval/suites/behavioral/implement_memoization.py                                          50            112             85
gptme/tools/autocompact/handlers.py                                                            27             14             85
tests/test_util.py                                                                             42             85             85
gptme/tools/_browser_lynx.py                                                                   11              8             84
tests/test_output_format.py                                                                    29             21             84
gptme/eval/suites/behavioral/validate_user_input.py                                            33             55             83
gptme/eval/suites/behavioral/add_docstrings.py                                                 47            103             82
gptme/eval/suites/behavioral/add_feature_preserve_default.py                                   27             40             82
gptme/tools/autocommit.py                                                                      37             58             81
tests/test_eval_swebench_retrieval.py                                                          25              4             81
tests/test_commands_llm.py                                                                     16              0             80
tests/test_prompt_skills_summary.py                                                            44             44             80
gptme/cli/cmd_agents.py                                                                        19             14             79
tests/test_onboard.py                                                                          17             17             79
gptme/eval/suites/behavioral/rate_limiting.py                                                  52            118             78
gptme/util/context_savings.py                                                                  20              6             77
tests/test_eval_timeouts.py                                                                    32             33             77
tests/test_server_perf.py                                                                      22             21             77
tests/test_xml_format.py                                                                       33             91             77
gptme/context/compress.py                                                                      63            131             76
gptme/gears.py                                                                                 16              4             76
gptme/eval/pass_rate_gate.py                                                                   23             44             75
tests/test_cli_llm_generate.py                                                                 17             10             75
tests/test_markdown_validation.py                                                              43             34             75
tests/test_shell_issue729.py                                                                   50             52             75
gptme/eval/suites/behavioral/retry_with_backoff.py                                             30             49             74
gptme/hooks/tests/test_cwd_awareness.py                                                        13             12             74
gptme/tools/subagent/control.py                                                                19              3             74
tests/test_custom_providers.py                                                                 32             44             74
tests/test_subscription_pricing.py                                                             27             14             74
gptme/config/__init__.py                                                                        6             15             73
gptme/tools/progress.py                                                                        23             53             73
gptme/tools/vision.py                                                                          28             21             73
tests/test_pytest_timeout_retry_interaction.py                                                 21             25             73
tests/test_shell_issue772.py                                                                   48             47             73
gptme/util/output_storage.py                                                                   29             37             71
gptme/llm/llm_anthropic_models_deprecated.py                                                    5             11             70
gptme/llm/retry_abort.py                                                                       24             66             70
gptme/session.py                                                                               39             64             70
gptme/config/project.py                                                                        23             28             69
gptme/context/selector/llm_based.py                                                            32             38             69
gptme/plugins/entrypoints.py                                                                   24             35             69
gptme/util/generate_name.py                                                                     5              6             69
tests/test_server_audio_transcription.py                                                       20             15             69
tests/test_hooks_form_autodetect.py                                                            22             34             68
tests/test_docs_tool_formats_coverage.py                                                       16             15             67
tests/test_tools_form.py                                                                       22             19             67
gptme/eval/swe_extra/swe_bench_constants.py                                                     9              9             66
gptme/util/master_context.py                                                                   28             38             66
tests/test_setup_completions.py                                                                21              6             66
tests/test_util_context_savings.py                                                             12              0             66
gptme/cli/cmd_capabilities.py                                                                   8              6             65
gptme/eval/suites/behavioral/fix_mutable_default.py                                            31             57             65
gptme/eval/tbench/agent.py                                                                     20             24             65
gptme/logmanager/conv_checkpoints.py                                                           21             19             65
tests/test_computer_api.py                                                                     90            401             65
tests/test_eval_tool_efficiency.py                                                             20             11             64
gptme/eval/filestore.py                                                                        11              8             63
gptme/lessons/skills/python-repl/python_helpers.py                                             28             26             63
gptme/eval/suites/__init__.py                                                                  22             18             62
gptme/eval/suites/behavioral/test_driven_error_handling.py                                     35             56             62
gptme/eval/suites/init_projects.py                                                             21              1             62
gptme/llm/models/__init__.py                                                                    3             12             62
gptme/util/_sound_cmd.py                                                                       22             17             62
gptme/eval/suites/behavioral/add_logging.py                                                    27             39             61
gptme/tools/_browser_perplexity.py                                                             22             16             60
tests/test_llm_mock.py                                                                         22             12             60
tests/test_shell_output_mixing_issue408.py                                                     25             29             60
gptme/context/selector/rule_based.py                                                           20             13             59
gptme/eval/suites/behavioral/merge_conflict_resolution.py                                      31             63             59
gptme/eval/suites/behavioral/noisy_worktree_fix.py                                             45             77             59
gptme/eval/suites/behavioral/scope_discipline_bugfix.py                                        37             52             59
gptme/util/uri.py                                                                              29             42             59
tests/test_eval_practical20.py                                                                 27              8             59
tests/test_git_cmd_resolver.py                                                                 23             15             59
tests/test_server_client.py                                                                    33             26             59
tests/test_server_metrics.py                                                                   20             20             59
tests/test_shell_memory_limit.py                                                               18             14             59
gptme/eval/suites/behavioral/fix_data_mutation.py                                              26             44             58
gptme/eval/suites/behavioral/fix_security_path_traversal.py                                    23             31             58
gptme/prompts/skills.py                                                                        16             10             58
tests/test_validate_release_package.py                                                         14              1             58
gptme/tools/clarify.py                                                                         17             26             57
tests/test_webui_redirects.py                                                                  11              7             57
gptme/eval/dspy/signatures.py                                                                  19             21             56
gptme/eval/suites/behavioral/extract_function_refactor.py                                      30             52             56
tests/test_chat_history.py                                                                     14             12             56
gptme/context/selector/file_integration.py                                                     13             10             55
gptme/eval/suites/behavioral/write_test_suite.py                                               24             33             55
gptme/util/cost.py                                                                             20             21             55
gptme/util/history.py                                                                          17              7             55
gptme/hooks/cwd_changed.py                                                                     18             11             54
gptme/hooks/mcp_namespace_hint.py                                                              21             24             54
tests/test_computer_artifacts.py                                                               14              3             54
tests/test_server_skills_api.py                                                                13              1             54
gptme/credentials.py                                                                           16              7             53
gptme/util/context_dedup.py                                                                    41             93             53
gptme/util/terminal.py                                                                         28             23             53
tests/test_eval_practical17.py                                                                 33              3             53
tests/test_eval_practical18.py                                                                 23              4             53
tests/test_eval_practical19.py                                                                 23              6             53
tests/test_server_tts_api.py                                                                   21              0             53
gptme/hooks/markdown_validation.py                                                             36             41             51
tests/test_github_bot.py                                                                       12              1             51
gptme/eval/suites/behavioral/remove_dead_code.py                                               40             63             50
gptme/cli/cmd_snapshot.py                                                                      12              6             49
gptme/eval/suites/behavioral/multi_file_rename.py                                              27             42             49
gptme/eval/suites/behavioral/use_existing_helper.py                                            32             45             49
gptme/eval/swebench/info.py                                                                     8              3             49
gptme/tools/subagent/concurrency.py                                                            12             10             49
tests/test_execute_msg_defensive.py                                                            19             19             49
gptme/llm/provider_plugins.py                                                                  39             35             48
gptme/tools/_allowlist.py                                                                      18             15             48
gptme/eval/suites/behavioral/git_selective_commit.py                                           21             59             47
gptme/status_provider.py                                                                       24             60             47
tests/test_pytest_retry_tmp_path_interaction.py                                                17             26             47
tests/test_dspy_gepa.py                                                                        18              9             46
gptme/eval/suites/behavioral/debug_data_pipeline.py                                            30             61             45
tests/test_demo_capture.py                                                                     19              9             45
tests/test_util_generate_name.py                                                               17             10             45
gptme/logmanager/__init__.py                                                                    3              9             44
gptme/tools/autocompact/__init__.py                                                             3             12             44
tests/test_acp_e2e_smoke.py                                                                    14             18             43
tests/test_pdf_to_images.py                                                                    13             13             43
gptme/eval/suites/behavioral/stage_new_files.py                                                12             18             42
tests/test_server_cli_fallback.py                                                              16             12             42
gptme/cli/cmd_mcp_serve.py                                                                     14             17             41
gptme/context/selector/file_config.py                                                          10              8             41
gptme/hooks/test.py                                                                            14              6             41
gptme/llm/llm_mock.py                                                                          16             22             41
gptme/eval/cost.py                                                                             18             25             40
gptme/util/file_storage.py                                                                     30             47             40
scripts/validate_release_package.py                                                            12              4             40
gptme/context/selector/hybrid.py                                                               14             16             39
gptme/util/keyword_matching.py                                                                 35             66             39
tests/test_shell_fd_leak.py                                                                    23             16             39
tests/test_utils.py                                                                            14             17             38
gptme/__init__.py                                                                               8              3             36
gptme/cli/wut.py                                                                               13             12             36
gptme/commands/rag.py                                                                          17              8             36
tests/test_gears.py                                                                            18              0             36
tests/test_util_export.py                                                                      20             11             36
gptme/eval/suites/behavioral/iterative_debug.py                                                28             39             35
tests/test_message_command.py                                                                  13             12             35
tests/test_tools_pruner.py                                                                      9              0             35
gptme/tools/subagent/context.py                                                                22             81             34
tests/test_cli_confirm_hook.py                                                                 24             20             34
tests/test_credentials.py                                                                      16              0             34
gptme/context/__init__.py                                                                       8              8             33
tests/test_shell_for_loop_issue724.py                                                          16             24             33
gptme/eval/suites/behavioral/_common.py                                                         9              5             32
gptme/hooks/tests/test_auto_confirm.py                                                         12              4             32
gptme/context/selector/__init__.py                                                             12             16             31
gptme/util/content.py                                                                          18             24             30
gptme/util/install.py                                                                          13             25             30
tests/test_prompt_queue.py                                                                     16             15             30
gptme/constants.py                                                                             21             29             29
tests/test_package_exports.py                                                                  10              3             29
gptme/eval/swebench/__init__.py                                                                 1              0             28
gptme/hooks/cwd_awareness.py                                                                   11             17             28
gptme/llm/retry_policy.py                                                                      13             22             28
tests/test_eval_practical16.py                                                                 11              0             28
gptme/util/useredit.py                                                                         11             13             26
tests/test_quota_skip.py                                                                        5              3             26
gptme/acp/adapter.py                                                                           19             22             25
gptme/executor.py                                                                              18             26             24
gptme/hooks/auto_confirm.py                                                                    11              9             24
gptme/tools/autocompact/config.py                                                              11             16             24
tests/test_tool_loading_duplicate.py                                                           16             15             24
gptme/cli/cmd_review.py                                                                        23             34             23
gptme/context/selector/base.py                                                                 14             23             23
gptme/mcp/__init__.py                                                                           4              3             23
gptme/tools/_hashline_snapshot.py                                                              16             15             23
gptme/util/interrupt.py                                                                        13             15             23
gptme/tools/_url_safety.py                                                                      9             10             22
gptme/util/conversation_ids.py                                                                  7              4             22
tests/test_credentials_integration.py                                                           8              0             22
gptme/acp/__init__.py                                                                           5             13             21
gptme/context/config.py                                                                        13             30             21
gptme/context/selector/config.py                                                                8              8             21
gptme/lessons/__init__.py                                                                       7             15             21
gptme/agent/__init__.py                                                                         3              6             19
tests/test_constants.py                                                                        11             13             19
tests/test_server_cli_tools.py                                                                 12              4             19
tests/test_tools_shell_multiline.py                                                             7             19             19
tests/test_browser_format.py                                                                    8              6             18
gptme/eval/suites/browser.py                                                                    5              0             17
gptme/plugins/plugin.py                                                                        25             39             17
gptme/util/git_cmd.py                                                                           7             14             17
gptme/cli/__init__.py                                                                          10             13             15
tests/test_screenshot.py                                                                        9              6             15
gptme/__main__.py                                                                               2              0             12
gptme/util/stdio.py                                                                             8              9             12
gptme/prompts/architect.py                                                                     26             52             11
gptme/server/__init__.py                                                                        5              8              9
gptme/server/constants.py                                                                       7             11              9
gptme/eval/tbench/__init__.py                                                                  13             22              8
gptme/eval/dspy/__init__.py                                                                     6              6              7
tests/retry_compat.py                                                                           8             22              6
gptme/llm/constants.py                                                                          2              6              5
scripts/eval_trends.py                                                                          2              1              5
gptme/eval/__init__.py                                                                          2              2              4
scripts/eval_leaderboard.py                                                                     2              1              4
gptme/eval/__main__.py                                                                          1              0              3
gptme/eval/dspy/__main__.py                                                                     3              5              3
gptme/eval/swebench/__main__.py                                                                 1              0              3
gptme/server/__main__.py                                                                        1              0              3
gptme/tools/_browser_format.py                                                                  3              5              3
gptme/oauth/__init__.py                                                                         1              4              0
gptme/tui/__init__.py                                                                           4             12              0
-------------------------------------------------------------------------------------------------------------------------------
SUM:                                                                                        65214          62316         240581
-------------------------------------------------------------------------------------------------------------------------------
make[2]: Leaving directory '/home/runner/work/gptme/gptme'

Code Metrics#

$ make metrics
make[2]: Entering directory '/home/runner/work/gptme/gptme'
=== Code Metrics Summary ===

Project Overview:
  Files: 848
  Total blocks: 18103
  Average complexity: 3.696293432027841

Most Complex Functions (D+):
  gptme/plugins/__init__.py
      F 202:0 _load_plugin - D
  gptme/tui/app.py
      M 655:4 ChatInput._on_key - D
  gptme/codeblock.py
  gptme/tools/computer.py
      F 1381:0 _dispatch_transport - D
  gptme/tools/python.py
      F 236:0 execute_python - D
  gptme/tools/autocompact/engine.py
  gptme/tools/__init__.py
      F 274:0 get_toolchain - D
      F 168:0 init_tools - D
  gptme/tools/subagent/execution.py
  gptme/tools/subagent/batch.py
  gptme/tools/subagent/api.py
  gptme/tools/complete.py
      F 190:0 complete_hook - E
      F 679:0 stuck_detect_hook - D
  gptme/tools/shell_background.py
      M 62:4 BackgroundJob._read_output - D
  gptme/tools/gh.py
      F 549:0 execute_gh - E
      F 99:0 _wait_for_checks - D
  gptme/tools/tmux.py
      F 423:0 execute_tmux - D
  gptme/tools/chats.py
  gptme/tools/shell_validation.py
      F 334:0 _has_sensitive_args - D
  gptme/tools/shell.py
      M 870:4 ShellSession._read_output_unix - E
      F 1766:0 execute_shell - D
      M 705:4 ShellSession._read_output_windows - D
      M 568:4 ShellSession._run_pipe - D
  gptme/tools/shell_flags.py
      F 414:0 _split_lines - D
      F 560:0 _check_segment - D
  gptme/tools/read.py
      F 160:0 _read_one - E
  gptme/tools/lessons.py
      F 244:0 auto_include_lessons_hook - D
  gptme/tools/mcp.py
  gptme/tools/hashline_edit.py
      F 790:0 execute_hashline_edit - D
  gptme/info.py
      F 424:0 format_version_info - D
  gptme/lessons/hybrid_matcher.py
      M 394:4 HybridLessonMatcher._match_with_bm25 - D
  gptme/lessons/installer.py
      F 240:0 install_skill - E
      F 507:0 check_dependencies - D
  gptme/lessons/auto_include.py
      F 264:0 _classify_lesson - D
  gptme/lessons/parser.py
      F 273:0 parse_lesson - D
  gptme/lessons/index.py
      M 97:4 LessonIndex._default_dirs - E
      M 432:4 LessonIndex._load_manifest_skill_stubs - D
  gptme/hooks/cli_confirm.py
      F 162:0 _looks_like_diff - D
  gptme/hooks/workspace_agents.py
      F 1357:0 scan_agents - D
  gptme/hooks/registry.py
      M 178:4 HookRegistry.trigger - D
  gptme/hooks/token_awareness.py
      F 93:0 add_token_usage_warning - D
  gptme/hooks/tool_target_instructions.py
      F 67:0 _extract_paths - D
  gptme/prompts/__init__.py
      F 261:0 _build_prompt_sections - D
  gptme/prompts/workspace.py
  gptme/prompts/chat_history.py
      F 20:0 prompt_chat_history - E
  gptme/prompts/templates.py
      F 91:0 prompt_gptme - E
  gptme/context/selector/rule_based.py
      M 27:4 RuleBasedSelector.select - D
  gptme/context/selector/file_selector.py
  gptme/config/models.py
      M 365:4 ProjectConfig.from_dict - D
  gptme/config/core.py
      M 74:4 Config.mcp - D
  gptme/config/user.py
      F 351:0 load_user_config - E
      F 674:0 _merge_config_data - D
  gptme/config/chat.py
      M 115:4 ChatConfig.from_dict - D
      M 255:4 ChatConfig.save - D
  gptme/config/cli_setup.py
  gptme/commands/snapshot.py
      F 42:0 _print_prunable - D
  gptme/commands/llm.py
      F 180:0 cmd_tools - D
      F 271:0 cmd_context - D
  gptme/commands/backtrack.py
      F 65:0 cmd_backtrack - D
  gptme/commands/checkpoint.py
      F 43:0 cmd_checkpoint - D
  gptme/commands/meta.py
      F 142:0 cmd_plugin - E
  gptme/util/ask_execute.py
      F 69:0 execute_with_confirmation - D
  gptme/util/_telemetry.py
      F 314:0 init_telemetry - D
  gptme/util/tool_format.py
      F 104:0 format_tools_list - D
  gptme/util/gh.py
      F 1103:0 get_github_run_logs - D
      F 1295:0 search_github_issues - D
      F 1401:0 search_github_prs - D
      F 1503:0 merge_github_pr - D
  gptme/util/capabilities_export.py
  gptme/util/prompt.py
      M 296:4 GptmeCompleter.get_completions - D
  gptme/util/reduce.py
      F 291:0 proactive_summarize_log - E
      F 466:0 _drop_orphaned_tool_pairs - D
      F 537:0 limit_log - D
  gptme/util/context.py
      F 495:0 include_paths - E
      F 857:0 _resource_to_codeblock - E
  gptme/util/cost_display.py
      F 392:0 display_costs - D
      F 227:0 gather_conversation_costs - D
  gptme/init.py
      F 117:0 init_model - D
  gptme/server/session_step.py
  gptme/server/tasks_api.py
      F 396:0 get_git_status - D
      F 856:0 api_tasks_update - D
  gptme/server/api_v2_sessions.py
      F 577:0 api_conversation_tool_confirm - E
      F 1036:0 api_conversation_transcript - D
      F 808:0 api_conversation_rerun - D
  gptme/server/openapi_docs.py
      F 942:0 _convert_to_openapi_nullable - D
  gptme/server/api_v2_agents.py
      F 55:0 api_agents_put - D
  gptme/server/api_v2.py
      F 1640:0 api_conversation_put - E
      F 2085:0 api_conversation_edit_message - E
      F 1843:0 api_conversation_post - E
      F 2818:0 api_conversation_config_patch - E
      F 1508:0 api_conversation - D
  gptme/server/a2a_api.py
      F 490:0 _task_from_conversation - D
  gptme/chat.py
      F 202:0 _run_chat_loop - E
      F 409:0 _process_message_conversation - E
      F 56:0 chat - D
  gptme/llm/__init__.py
  gptme/llm/llm_openai.py
      F 480:0 init - E
      F 1002:0 chat - E
      F 1334:0 stream - D
      F 719:0 _handle_openai_transient_error - D
      F 1166:0 extra_body - D
  gptme/llm/llm_anthropic.py
      F 1313:0 _prepare_messages_for_api - D
      F 698:0 chat - D
  gptme/llm/openai_responses.py
      F 313:0 _stream_responses_events - D
  gptme/llm/models/listing.py
      F 288:0 list_models - D
  gptme/llm/models/resolution.py
  gptme/workspace_snapshot.py
      F 417:0 prune_by_age - D
  gptme/acp/agent.py
      M 559:4 GptmeAgent.new_session - D
      M 994:4 GptmeAgent.prompt - D
  gptme/cli/cmd_skills.py
      F 17:0 skills_list - D
  gptme/cli/cmd_computer.py
      F 1409:0 doctor_cmd - E
      F 1170:0 latency_cmd - D
      F 1751:0 demo_cmd - D
  gptme/cli/doctor.py
      F 642:0 _check_computer - D
  gptme/cli/main.py
      M 101:4 _DynamicHelpCommand.parse_args - D
  gptme/cli/cmd_agents.py
      F 25:0 run_scan - D
  gptme/cli/util.py
      F 810:0 llm_generate - D
      F 1323:0 models_test - D
  gptme/cli/cmd_review_watch.py
  gptme/cli/cmd_service.py
      F 566:0 init - D
  gptme/cli/cmd_hooks.py
      F 265:0 run - D
  gptme/cli/cmd_review_pr.py
      F 1028:0 review_pr - D
  gptme/agent/doctor.py
      F 339:0 check_lessons - E
  gptme/eval/trends.py
      F 157:0 compute_diff - D
  gptme/eval/suites/practical16.py
      F 68:0 check_queue_all_producers_mentioned - D
  gptme/eval/leaderboard.py
      F 915:0 compute_rate_trends - D
      F 679:0 aggregate_per_test - D
  gptme/eval/dspy/hybrid_optimizer.py
      C 239:0 TaskComplexity - D
      M 283:4 TaskComplexity.analyze - D
  gptme/eval/run.py
      F 310:0 execute - D
  gptme/eval/main.py
  gptme/telemetry.py
      F 350:0 record_llm_request - E
  tests/test_server.py
      F 309:0 test_api_conversation_list_detail_flag - D
  tests/test_config.py
      F 729:0 test_project_config_loaded_from_toml - D
      F 766:0 test_project_config_loaded_from_json - D
  tests/test_eval_behavioral_solutions.py
      F 55:0 _apply_solution - E
  tests/test_util_cli.py
      F 19:0 test_tokens_count - D
      F 406:0 test_tools_list - D
      F 558:0 test_models_list - D
  tests/test_server_v2_tool_confirmation.py
      F 15:0 test_tool_confirmation_flow - D
  tests/test_server_v2_auto_stepping.py
      F 16:0 test_auto_stepping - E
      F 259:0 test_multi_tool_per_message - D
  scripts/treeofthoughts.py
      F 183:0 tree_search - D
  scripts/check_rst_formatting.py
      F 26:0 check_file - E
  scripts/github_bot.py
      F 554:0 main - D
  scripts/auto_rename_logs.py
      F 32:0 auto_rename_logs - D
  scripts/demo_capture.py
      F 485:0 main - D

Largest Files (>300 SLOC):
  4671 tests/test_subagent_unit.py
  3550 tests/test_server_v2.py
  2824 gptme/server/api_v2.py
  2766 tests/test_tools_subagent.py
  2494 tests/test_llm_openai.py
  2252 tests/test_eval_behavioral.py
  2015 tests/test_util_review.py
  1939 gptme/tools/computer.py
  1727 gptme/cli/cmd_computer.py
  1695 tests/test_server_v2_sessions.py
  1695 gptme/tools/shell.py
  1569 tests/test_init.py
  1568 tests/test_config.py
  1539 gptme/llm/llm_openai.py
  1485 gptme/cli/main.py
  1479 tests/test_tools_shell.py
  1477 tests/test_cli.py
  1359 gptme/tui/app.py
  1299 tests/test_tools_computer.py
  1285 tests/test_util_cli_review_watch.py
  1256 gptme/hooks/workspace_agents.py
  1230 gptme/util/gh.py
  1206 tests/test_acp_agent.py
  1174 gptme/eval/leaderboard.py
  1172 tests/test_util_gh.py
  1151 gptme/cli/util.py
  1130 tests/test_server.py
  1127 tests/test_eval_behavioral_solutions.py
  1073 gptme/acp/agent.py
  1055 tests/test_doctor.py
  1021 tests/test_tools_complete.py
  1014 tests/test_tools_base.py
  1005 gptme/cli/doctor.py
   995 tests/test_tools_hashline_edit.py
   991 gptme/tools/subagent/api.py
   990 gptme/server/session_step.py
   980 tests/test_tools_browser.py
   957 tests/test_lessons_auto_include.py
   956 gptme/hooks/tests/test_workspace_agents.py
   947 gptme/eval/dspy/tasks.py
   943 tests/test_tools_shell_validation.py
   937 tests/test_info.py
   935 gptme/llm/llm_anthropic.py
   934 tests/test_util_cli.py
   931 tests/test_auto_compact.py
   926 gptme/eval/main.py
   919 tests/test_tui.py
   910 tests/test_cmd_service.py
   900 gptme/server/api_v2_sessions.py
   896 tests/test_codeblock.py
   889 tests/test_eval_leaderboard.py
   886 tests/test_llm_utils.py
   881 tests/test_computer_audit.py
   881 gptme/tools/base.py
   864 tests/test_tools_convert.py
   835 gptme/cli/cmd_review_pr.py
   831 tests/test_tasks_api.py
   821 tests/test_util_gh_mocked.py
   820 gptme/eval/suites/computer.py
   819 tests/test_eval_computer_suite.py
   815 tests/test_prompt_templates.py
   808 gptme/llm/__init__.py
   801 tests/test_sandbox.py
   794 tests/test_reduce.py
   794 gptme/tools/convert.py
   784 gptme/server/openapi_docs.py
   781 tests/test_cost_display.py
   777 tests/test_chat.py
   766 gptme/tools/subagent/execution.py
   758 gptme/tools/browser.py
   743 tests/test_server_workspace.py
   728 tests/test_eval.py
   725 gptme/tools/chats.py
   720 gptme/cli/cmd_review_watch.py
   715 gptme/eval/suites/basic.py
   713 tests/test_computer_transport.py
   713 gptme/tools/subagent/batch.py
   712 gptme/logmanager/manager.py
   709 gptme/cli/setup.py
   707 tests/test_agent.py
   699 tests/test_acp_session_runtime.py
   696 tests/test_hooks_registry.py
   686 gptme/tools/hashline_edit.py
   680 gptme/tools/_browser_playwright.py
   680 gptme/server/tasks_api.py
   675 tests/test_tools_gh.py
   654 gptme/llm/models/data.py
   653 tests/test_llm_models_resolution.py
   650 gptme/tools/mcp_adapter.py
   641 gptme/util/context.py
   640 tests/test_json_output.py
   637 gptme/cli/cmd_service.py
   626 tests/test_subagent_budget.py
   626 tests/test_prompts.py
   621 tests/test_llm_anthropic.py
   612 tests/test_lessons.py
   609 scripts/github_bot.py
   607 tests/test_computer_doctor_cmd.py
   593 gptme/tools/gh.py
   583 gptme/tools/complete.py
   580 tests/test_tools_lessons.py
   578 tests/test_tools_request_tool_change.py
   578 tests/test_tools_precommit.py
   576 tests/test_lessons_parser.py
   573 tests/test_skill_installer.py
   570 gptme/prompts/__init__.py
   567 scripts/github_ci_self_heal.py
   567 gptme/tools/computer_transport.py
   554 tests/test_eval_subagent.py
   552 tests/test_server_panels.py
   550 gptme/eval/run.py
   549 tests/test_llm_openai_subscription.py
   548 gptme/server/a2a_api.py
   546 tests/test_computer_actions.py
   541 gptme/server/artifacts_api.py
   539 tests/test_server_path_traversal.py
   534 gptme/tools/subagent/__init__.py
   531 tests/test_dirs.py
   530 gptme/llm/llm_openai_subscription.py
   526 gptme/eval/execenv.py
   523 gptme/chat.py
   522 tests/conftest.py
   520 tests/test_tools_shell_background.py
   519 tests/test_server_bad_input.py
   516 tests/test_hooks_cost_awareness.py
   515 gptme/util/capabilities_export.py
   514 tests/test_commands.py
   514 gptme/lessons/installer.py
   506 tests/test_tools.py
   502 gptme/hooks/registry.py
   501 tests/test_context_scout.py
   496 tests/test_model_attestation.py
   496 tests/test_gptme_provider.py
   487 gptme/cli/cmd_chats.py
   486 gptme/server/workspace_api.py
   485 gptme/config/user.py
   484 tests/test_hooks_cache_awareness.py
   483 gptme/tools/tmux.py
   480 tests/test_computer_demo_cmd.py
   477 tests/test_snapshot_command.py
   475 tests/test_server_session_models.py
   463 gptme/hooks/tests/test_cost_awareness.py
   458 tests/test_llm_auth.py
   457 tests/test_mcp_server.py
   455 tests/test_message.py
   451 scripts/demo_capture.py
   447 tests/test_logmanager.py
   445 scripts/analyze_compression.py
   442 gptme/tools/shell_flags.py
   441 tests/test_llm_models.py
   438 tests/test_util_cli_providers.py
   437 tests/test_lessons_index.py
   436 tests/test_computer_api.py
   436 gptme/tools/shell_validation.py
   433 gptme/message.py
   432 gptme/util/prompt.py
   429 tests/test_knowledge.py
   425 tests/test_tools_browser_thread.py
   423 tests/test_external_sessions.py
   422 tests/test_lessons_commands.py
   421 gptme/eval/dspy/prompt_optimizer.py
   420 tests/test_tools_patch_many.py
   419 gptme/agent/service.py
   418 tests/test_util_cli_mcp.py
   418 tests/context/test_task_analyzer.py
   418 gptme/lessons/auto_include.py
   415 tests/test_server_artifacts.py
   414 tests/test_subagent_worktree_isolation.py
   406 gptme/util/cost_display.py
   405 gptme/cli/auth.py
   403 gptme/util/reduce.py
   402 gptme/tools/python.py
   402 gptme/tools/__init__.py
   399 gptme/eval/suites/subagent.py
   398 tests/test_tools_mcp.py
   396 gptme/util/_telemetry.py
   396 gptme/telemetry.py
   396 gptme/agent/workspace.py
   395 tests/test_profiles.py
   395 tests/test_hybrid_lessons.py
   395 gptme/agent/cli.py
   393 tests/test_computer_latency_cmd.py
   392 gptme/prompts/templates.py
   392 gptme/lessons/index.py
   388 gptme/workspace_snapshot.py
   388 gptme/agent/doctor.py
   387 gptme/hooks/tests/test_manifest.py
   383 tests/test_util_hooks.py
   383 tests/test_computer_use_integration.py
   378 gptme/cli/cmd_init.py
   376 tests/test_unified_plugins.py
   376 gptme/logmanager/conversations.py
   376 gptme/cli/cmd_hooks.py
   372 tests/test_lessons_matcher.py
   372 gptme/server/external_sessions.py
   371 tests/test_github_ci_self_heal.py
   371 tests/test_conversations.py
   370 tests/test_tools_read.py
   369 tests/test_workspace_api.py
   369 tests/test_guardrail_hook.py
   368 gptme/llm/llm_openai_models.py
   367 gptme/llm/openai_responses.py
   366 tests/test_provider_plugins.py
   365 gptme/tools/shell_background.py
   364 tests/test_computer_record.py
   364 gptme/lessons/hybrid_matcher.py
   364 gptme/eval/dspy/cli.py
   364 gptme/cli/cmd_status.py
   363 tests/test_replay.py
   361 gptme/sandbox.py
   361 gptme/info.py
   359 gptme/llm/llm_grok_subscription.py
   356 tests/test_mcp_discovery.py
   356 tests/test_context_providers.py
   355 gptme/eval/dspy/experiments.py
   352 gptme/tools/mcp.py
   351 gptme/llm/local_discovery.py
   350 gptme/eval/dspy/metrics.py
   348 tests/test_tui_e2e.py
   347 tests/test_complete.py
   346 tests/test_tools_patch.py
   346 tests/lessons/test_wildcard_matching.py
   343 gptme/hooks/tests/test_elicitation.py
   342 tests/test_shell_background.py
   342 tests/test_script_hooks.py
   341 tests/test_context.py
   340 tests/test_computer_semantic_fixtures.py
   340 gptme/init.py
   338 tests/test_capabilities_export.py
   337 gptme/config/models.py
   336 tests/test_eval_trends.py
   334 tests/test_mcp_adapter.py
   330 tests/test_llm_grok_subscription.py
   330 gptme/util/safety.py
   330 gptme/prompts/workspace.py
   329 tests/test_workspace_agents.py
   329 gptme/hooks/cost_awareness.py
   328 gptme/hooks/tests/test_agents_md_inject.py
   326 scripts/treeofthoughts.py
   326 gptme/eval/suites/practical.py
   322 tests/test_workspace_snapshot.py
   322 tests/test_util_tool_format.py
   322 tests/test_circuit_breaker.py
   321 tests/test_util_safety.py
   321 tests/test_llm_validate.py
   321 tests/test_ephemeral.py
   321 gptme/checkpoint.py
   319 gptme/tools/subagent/types.py
   319 gptme/hooks/tests/test_tool_target_instructions.py
   318 tests/test_agent_doctor.py
   317 gptme/eval/suites/practical16.py
   316 gptme/tools/read.py
   316 gptme/eval/trends.py
   314 tests/test_eval_swebench.py
   314 gptme/context/scout.py
   312 tests/test_plugins.py
   311 tests/test_tools_morph.py
   310 tests/test_util_cli_batch.py
   310 gptme/tools/patch.py
   309 gptme/hooks/tests/test_confirm.py
   307 tests/test_eventlog.py
   307 tests/test_chats_external_search.py
   307 gptme/mcp/client.py
   305 tests/test_browser.py
   301 tests/test_tools_rag.py
   301 gptme/tools/save.py
   301 gptme/attestation.py

make[3]: Entering directory '/home/runner/work/gptme/gptme'
Most Duplicated Files:
npm warn exec The following package was not found and will be installed: jscpd@5.1.2
Clone found (python)
 - __init__.py [29:47 - 40:30] (12 lines, 54 tokens)
   context/__init__.py [36:55 - 47:30]
Clone found (python)
 - __init__.py [29:47 - 42:29] (14 lines, 62 tokens)
   context/selector/__init__.py [46:61 - 59:75]
Clone found (python)
 - acp/client.py [239:9 - 246:9] (8 lines, 85 tokens)
   acp/client.py [428:5 - 435:5]
Clone found (python)
 - agent/cli.py [97:6 - 120:4] (24 lines, 84 tokens)
   cli/cmd_agents.py [76:8 - 99:4]
Clone found (python)
 - cli/auth.py [367:5 - 383:60] (17 lines, 90 tokens)
   llm/llm_grok_subscription.py [291:5 - 306:60]
Clone found (python)
 - cli/auth.py [386:5 - 404:76] (19 lines, 108 tokens)
   llm/llm_grok_subscription.py [308:5 - 325:81]
Clone found (python)
 - cli/auth.py [410:40 - 420:25] (11 lines, 64 tokens)
   llm/llm_grok_subscription.py [331:58 - 341:25]
Clone found (python)
 - cli/auth.py [456:9 - 469:18] (14 lines, 58 tokens)
   llm/llm_grok_subscription.py [366:5 - 379:14]
Clone found (python)
 - cli/cmd_batch.py [45:67 - 58:17] (14 lines, 74 tokens)
   cli/main.py [242:77 - 255:17]
Clone found (python)
 - cli/cmd_batch.py [132:5 - 145:39] (14 lines, 54 tokens)
   cli/cmd_review_watch.py [576:5 - 589:39]
Clone found (python)
 - cli/cmd_batch.py [145:37 - 159:38] (15 lines, 61 tokens)
   cli/cmd_review_watch.py [591:45 - 605:38]
Clone found (python)
 - cli/cmd_chats.py [77:22 - 89:15] (13 lines, 67 tokens)
   cli/cmd_chats.py [117:24 - 129:15]
Clone found (python)
 - cli/cmd_init.py [61:1 - 72:61] (12 lines, 70 tokens)
   cli/cmd_service.py [317:1 - 328:61]
Clone found (python)
 - cli/cmd_mcp.py [162:21 - 182:4] (21 lines, 80 tokens)
   cli/cmd_mcp_serve.py [14:28 - 34:4]
Clone found (python)
 - cli/cmd_mcp.py [207:5 - 217:24] (11 lines, 65 tokens)
   cli/cmd_mcp_serve.py [62:5 - 72:24]
Clone found (python)
 - cli/cmd_review_watch.py [95:5 - 106:14] (12 lines, 87 tokens)
   cli/cmd_review_watch.py [128:5 - 139:14]
Clone found (python)
 - cli/cmd_review_watch.py [847:86 - 861:80] (15 lines, 55 tokens)
   cli/cmd_review_watch.py [1014:64 - 1032:33]
Clone found (python)
 - cli/doctor.py [232:37 - 247:40] (16 lines, 60 tokens)
   cli/doctor.py [254:47 - 269:40]
Clone found (python)
 - cli/main.py [1227:40 - 1243:35] (17 lines, 102 tokens)
   cli/main.py [1369:26 - 1385:27]
Clone found (python)
 - cli/util.py [1487:9 - 1494:72] (8 lines, 54 tokens)
   cli/util.py [1520:5 - 1527:68]
Clone found (python)
 - commands/meta.py [165:9 - 173:49] (9 lines, 58 tokens)
   commands/meta.py [214:9 - 222:49]
Clone found (python)
 - config/user.py [604:5 - 616:4] (13 lines, 62 tokens)
   config/user.py [662:5 - 674:4]
Clone found (python)
 - context/adaptive_compressor.py [56:1 - 69:23] (14 lines, 92 tokens)
   tools/autocompact/scoring.py [145:1 - 158:23]
Clone found (python)
 - context/adaptive_compressor.py [69:46 - 81:15] (13 lines, 52 tokens)
   tools/autocompact/scoring.py [158:24 - 167:60]
Clone found (python)
 - context/adaptive_compressor.py [175:1 - 186:79] (12 lines, 53 tokens)
   tools/autocompact/scoring.py [236:61 - 247:79]
Clone found (python)
 - context/adaptive_compressor.py [203:48 - 212:48] (10 lines, 55 tokens)
   tools/autocompact/scoring.py [263:25 - 272:48]
Clone found (python)
 - eval/agents/swebench.py [110:9 - 116:86] (7 lines, 60 tokens)
   eval/agents/swebench.py [134:13 - 142:14]
Clone found (python)
 - eval/dspy/cli.py [78:1 - 92:2] (15 lines, 79 tokens)
   eval/dspy/cli.py [316:66 - 330:2]
Clone found (python)
 - eval/dspy/cli.py [160:9 - 176:15] (17 lines, 57 tokens)
   eval/dspy/cli.py [423:45 - 439:15]
Clone found (python)
 - eval/dspy/cli.py [187:13 - 192:51] (6 lines, 58 tokens)
   eval/dspy/cli.py [450:13 - 455:51]
Clone found (python)
 - eval/execenv.py [180:9 - 201:62] (22 lines, 63 tokens)
   eval/execenv.py [482:9 - 503:62]
Clone found (python)
 - eval/execenv.py [207:13 - 220:11] (14 lines, 59 tokens)
   eval/execenv.py [508:13 - 521:11]
Clone found (python)
 - eval/execenv.py [207:13 - 227:28] (21 lines, 92 tokens)
   eval/execenv.py [718:13 - 737:16]
Clone found (python)
 - eval/execenv.py [237:57 - 248:33] (12 lines, 94 tokens)
   eval/filestore.py [59:60 - 70:33]
Clone found (python)
 - eval/execenv.py [360:5 - 379:22] (20 lines, 137 tokens)
   eval/execenv.py [585:5 - 604:22]
Clone found (python)
 - eval/execenv.py [395:17 - 414:29] (20 lines, 82 tokens)
   eval/execenv.py [615:17 - 634:29]
Clone found (python)
 - eval/leaderboard.py [208:5 - 214:46] (7 lines, 61 tokens)
   eval/leaderboard.py [689:5 - 695:85]
Clone found (python)
 - eval/leaderboard.py [304:28 - 319:28] (16 lines, 63 tokens)
   eval/leaderboard.py [364:68 - 379:28]
Clone found (python)
 - eval/leaderboard.py [461:3 - 467:27] (7 lines, 82 tokens)
   eval/leaderboard.py [835:3 - 841:27]
Clone found (python)
 - eval/leaderboard.py [461:3 - 467:27] (7 lines, 82 tokens)
   eval/leaderboard.py [1143:3 - 1149:27]
Clone found (python)
 - eval/suites/behavioral/add_feature_preserve_default.py [61:5 - 79:17] (19 lines, 102 tokens)
   eval/suites/behavioral/minimal_feature_preserve_default_with_decoys.py [112:5 - 130:17]
Clone found (python)
 - eval/suites/behavioral/add_feature_preserve_default.py [83:43 - 131:5] (49 lines, 230 tokens)
   eval/suites/behavioral/minimal_feature_preserve_default_with_decoys.py [162:59 - 210:5]
Clone found (python)
 - eval/suites/behavioral/add_type_hints.py [19:62 - 27:44] (9 lines, 59 tokens)
   eval/suites/behavioral/add_type_hints.py [41:70 - 49:44]
Clone found (python)
 - eval/suites/behavioral/add_type_hints.py [19:62 - 27:33] (9 lines, 58 tokens)
   eval/suites/behavioral/add_type_hints.py [82:71 - 90:33]
Clone found (python)
 - eval/suites/behavioral/add_type_hints.py [42:43 - 49:69] (8 lines, 55 tokens)
   eval/suites/behavioral/fix_mutable_default.py [28:41 - 35:69]
Clone found (python)
 - eval/suites/behavioral/circuit_breaker.py [1:42 - 19:4] (19 lines, 68 tokens)
   eval/suites/behavioral/rate_limiting.py [1:40 - 19:4]
Clone found (python)
 - eval/suites/behavioral/circuit_breaker.py [91:51 - 111:44] (21 lines, 121 tokens)
   eval/suites/behavioral/rate_limiting.py [82:49 - 102:44]
Clone found (python)
 - eval/suites/behavioral/circuit_breaker.py [125:1 - 138:4] (14 lines, 73 tokens)
   eval/suites/behavioral/rate_limiting.py [117:1 - 130:4]
Clone found (python)
 - eval/suites/behavioral/circuit_breaker.py [170:46 - 178:68] (9 lines, 58 tokens)
   eval/suites/behavioral/circuit_breaker.py [208:27 - 216:68]
Clone found (python)
 - eval/suites/behavioral/implement_event_emitter.py [53:74 - 61:72] (9 lines, 69 tokens)
   eval/suites/behavioral/implement_event_emitter.py [67:82 - 75:72]
Clone found (python)
 - eval/suites/behavioral/implement_event_emitter.py [53:74 - 61:72] (9 lines, 69 tokens)
   eval/suites/behavioral/implement_event_emitter.py [84:77 - 92:72]
Clone found (python)
 - eval/suites/behavioral/implement_priority_queue.py [31:46 - 38:30] (8 lines, 50 tokens)
   eval/suites/behavioral/implement_priority_queue.py [44:45 - 51:30]
Clone found (python)
 - eval/suites/behavioral/root_cause_pipeline_debug.py [176:10 - 181:6] (6 lines, 59 tokens)
   eval/suites/behavioral/root_cause_pipeline_debug.py [214:12 - 219:6]
Clone found (python)
 - eval/suites/practical.py [26:63 - 33:40] (8 lines, 50 tokens)
   eval/suites/practical.py [44:57 - 51:40]
Clone found (python)
 - eval/suites/practical.py [26:63 - 33:40] (8 lines, 50 tokens)
   eval/suites/practical.py [59:71 - 66:40]
Clone found (python)
 - hooks/registry.py [127:9 - 133:91] (7 lines, 64 tokens)
   hooks/registry.py [637:5 - 643:87]
Clone found (python)
 - hooks/tests/test_agents_md_inject.py [62:9 - 71:34] (10 lines, 56 tokens)
   hooks/tests/test_agents_md_inject.py [131:9 - 140:34]
Clone found (python)
 - hooks/tests/test_agents_md_inject.py [156:74 - 171:35] (16 lines, 68 tokens)
   hooks/tests/test_agents_md_inject.py [191:46 - 206:35]
Clone found (python)
 - hooks/tests/test_agents_md_inject.py [156:74 - 171:40] (16 lines, 71 tokens)
   hooks/tests/test_agents_md_inject.py [239:55 - 254:40]
Clone found (python)
 - hooks/tests/test_agents_md_inject.py [156:74 - 170:68] (15 lines, 62 tokens)
   hooks/tests/test_agents_md_inject.py [263:54 - 278:58]
Clone found (python)
 - hooks/tests/test_agents_md_inject.py [156:74 - 172:21] (17 lines, 72 tokens)
   hooks/tests/test_agents_md_inject.py [289:48 - 305:19]
Clone found (python)
 - hooks/tests/test_agents_md_inject.py [335:68 - 350:35] (16 lines, 71 tokens)
   hooks/tests/test_agents_md_inject.py [372:44 - 387:35]
Clone found (python)
 - hooks/tests/test_cost_awareness.py [352:78 - 366:29] (15 lines, 56 tokens)
   hooks/tests/test_cost_awareness.py [384:76 - 398:29]
Clone found (python)
 - hooks/tests/test_cost_awareness.py [473:72 - 490:46] (18 lines, 62 tokens)
   hooks/tests/test_cost_awareness.py [496:82 - 513:46]
Clone found (python)
 - hooks/tests/test_server_confirm.py [254:35 - 266:34] (13 lines, 83 tokens)
   hooks/tests/test_server_elicit.py [265:35 - 277:34]
Clone found (python)
 - hooks/tests/test_time_awareness.py [114:36 - 120:21] (7 lines, 52 tokens)
   hooks/tests/test_time_awareness.py [132:32 - 138:21]
Clone found (python)
 - hooks/tests/test_time_awareness.py [114:36 - 120:21] (7 lines, 52 tokens)
   hooks/tests/test_time_awareness.py [146:31 - 152:21]
Clone found (python)
 - hooks/tests/test_tool_target_instructions.py [132:43 - 140:62] (9 lines, 55 tokens)
   hooks/tests/test_tool_target_instructions.py [260:36 - 270:38]
Clone found (python)
 - hooks/tests/test_tool_target_instructions.py [134:31 - 141:25] (8 lines, 53 tokens)
   hooks/tests/test_tool_target_instructions.py [157:32 - 164:25]
Clone found (python)
 - hooks/tests/test_workspace_agents.py [296:9 - 316:58] (21 lines, 124 tokens)
   hooks/tests/test_workspace_agents.py [341:9 - 361:58]
Clone found (python)
 - hooks/tests/test_workspace_agents.py [733:13 - 745:44] (13 lines, 57 tokens)
   hooks/tests/test_workspace_agents.py [999:13 - 1011:44]
Clone found (python)
 - init.py [302:5 - 307:6] (6 lines, 52 tokens)
   model_attestation.py [296:5 - 301:6]
Clone found (python)
 - init.py [324:9 - 334:25] (11 lines, 58 tokens)
   model_attestation.py [319:9 - 329:25]
Clone found (python)
 - knowledge.py [216:5 - 223:14] (8 lines, 63 tokens)
   knowledge.py [257:5 - 264:14]
Clone found (python)
 - llm/__init__.py [315:21 - 322:14] (8 lines, 72 tokens)
   llm/__init__.py [758:21 - 765:14]
Clone found (python)
 - llm/__init__.py [481:19 - 489:5] (9 lines, 56 tokens)
   llm/__init__.py [635:12 - 643:5]
Clone found (python)
 - llm/__init__.py [518:5 - 531:17] (14 lines, 54 tokens)
   llm/__init__.py [672:5 - 685:17]
Clone found (python)
 - llm/llm_anthropic.py [177:29 - 198:7] (22 lines, 88 tokens)
   llm/llm_openai.py [247:26 - 268:7]
Clone found (python)
 - llm/llm_anthropic.py [415:5 - 432:21] (18 lines, 61 tokens)
   llm/llm_openai.py [739:5 - 757:21]
Clone found (python)
 - llm/llm_anthropic.py [504:5 - 512:38] (9 lines, 66 tokens)
   llm/llm_openai.py [891:5 - 899:38]
Clone found (python)
 - llm/llm_anthropic.py [515:83 - 533:30] (19 lines, 64 tokens)
   llm/llm_openai.py [902:44 - 920:30]
Clone found (python)
 - llm/llm_anthropic.py [698:9 - 705:32] (8 lines, 56 tokens)
   llm/llm_anthropic.py [797:11 - 804:32]
Clone found (python)
 - llm/llm_anthropic.py [715:5 - 750:6] (36 lines, 161 tokens)
   llm/llm_anthropic.py [822:5 - 857:6]
Clone found (python)
 - llm/llm_grok_subscription.py [235:63 - 249:14] (15 lines, 51 tokens)
   llm/llm_openai_subscription.py [372:50 - 385:27]
Clone found (python)
 - llm/llm_mock.py [49:9 - 57:5] (9 lines, 55 tokens)
   llm/llm_mock.py [62:11 - 70:5]
Clone found (python)
 - llm/llm_openai.py [1002:9 - 1010:5] (9 lines, 52 tokens)
   llm/llm_openai.py [1334:11 - 1342:5]
Clone found (python)
 - llm/llm_openai.py [1017:5 - 1026:84] (10 lines, 50 tokens)
   llm/llm_openai.py [1349:5 - 1358:84]
Clone found (python)
 - llm/llm_openai.py [1087:5 - 1101:82] (15 lines, 93 tokens)
   llm/llm_openai.py [1379:5 - 1393:82]
Clone found (python)
 - llm/llm_openai.py [1832:48 - 1839:52] (8 lines, 50 tokens)
   llm/llm_openai.py [1849:32 - 1856:52]
Clone found (python)
 - llm/llm_openai_models.py [298:20 - 307:7] (10 lines, 51 tokens)
   llm/llm_openai_models.py [317:14 - 326:7]
Clone found (python)
 - llm/llm_openai_models.py [298:20 - 307:7] (10 lines, 51 tokens)
   llm/llm_openai_models.py [328:20 - 337:7]
Clone found (python)
 - llm/llm_openai_models.py [339:24 - 348:7] (10 lines, 51 tokens)
   llm/llm_openai_models.py [350:20 - 359:7]
Clone found (python)
 - llm/llm_openai_models.py [339:24 - 348:7] (10 lines, 51 tokens)
   llm/llm_openai_models.py [372:14 - 381:7]
Clone found (python)
 - llm/models/data.py [143:26 - 155:15] (13 lines, 54 tokens)
   llm/models/data.py [157:26 - 169:15]
Clone found (python)
 - llm/models/data.py [225:35 - 235:11] (11 lines, 55 tokens)
   llm/models/data.py [236:33 - 246:11]
Clone found (python)
 - llm/models/listing.py [181:21 - 187:10] (7 lines, 50 tokens)
   llm/models/listing.py [354:32 - 360:14]
Clone found (python)
 - llm/validate.py [266:9 - 281:4] (16 lines, 70 tokens)
   llm/validate.py [334:54 - 349:4]
Clone found (python)
 - llm/validate.py [333:48 - 349:4] (17 lines, 78 tokens)
   llm/validate.py [352:45 - 368:4]
Clone found (python)
 - llm/validate.py [333:48 - 346:64] (14 lines, 77 tokens)
   llm/validate.py [371:37 - 384:64]
Clone found (python)
 - plugins/__init__.py [478:5 - 503:4] (26 lines, 110 tokens)
   util/install.py [14:5 - 39:4]
Clone found (python)
 - prompt_queue.py [40:5 - 53:4] (14 lines, 70 tokens)
   tools/subagent/control.py [34:5 - 47:4]
Clone found (python)
 - prompt_queue.py [78:5 - 87:68] (10 lines, 50 tokens)
   prompt_queue.py [135:5 - 144:68]
Clone found (python)
 - prompts/__init__.py [431:21 - 443:39] (13 lines, 91 tokens)
   prompts/__init__.py [552:15 - 564:39]
Clone found (python)
 - prompts/__init__.py [447:5 - 464:6] (18 lines, 73 tokens)
   prompts/__init__.py [627:5 - 644:6]
Clone found (python)
 - server/api_v2.py [1121:84 - 1139:4] (19 lines, 69 tokens)
   server/api_v2.py [1173:5 - 1191:4]
Clone found (python)
 - server/api_v2.py [1141:5 - 1157:15] (17 lines, 118 tokens)
   server/api_v2.py [1212:5 - 1228:15]
Clone found (python)
 - server/api_v2.py [1845:5 - 1852:76] (8 lines, 61 tokens)
   server/api_v2.py [2821:5 - 2828:76]
Clone found (python)
 - server/api_v2.py [1882:5 - 1902:30] (21 lines, 95 tokens)
   server/api_v2.py [2479:5 - 2499:30]
Clone found (python)
 - server/api_v2.py [1890:31 - 1902:30] (13 lines, 54 tokens)
   server/api_v2.py [2868:33 - 2880:30]
Clone found (python)
 - server/api_v2.py [2059:118 - 2074:11] (16 lines, 54 tokens)
   server/api_v2.py [2215:97 - 2230:11]
Clone found (python)
 - server/api_v2.py [2119:5 - 2137:40] (19 lines, 82 tokens)
   server/api_v2.py [2244:5 - 2263:30]
Clone found (python)
 - server/api_v2.py [2137:86 - 2156:14] (20 lines, 80 tokens)
   server/api_v2.py [2263:78 - 2283:14]
Clone found (python)
 - server/api_v2.py [2364:5 - 2375:10] (12 lines, 61 tokens)
   server/api_v2.py [2390:9 - 2403:14]
Clone found (python)
 - server/api_v2.py [3044:58 - 3057:38] (14 lines, 94 tokens)
   server/api_v2.py [3080:51 - 3093:38]
Clone found (python)
 - server/api_v2.py [3048:5 - 3060:40] (13 lines, 78 tokens)
   server/api_v2.py [3405:5 - 3417:15]
Clone found (python)
 - server/api_v2.py [3198:53 - 3203:76] (6 lines, 51 tokens)
   server/api_v2.py [3299:52 - 3304:76]
Clone found (python)
 - server/api_v2.py [3198:53 - 3203:76] (6 lines, 51 tokens)
   server/api_v2.py [3340:50 - 3345:76]
Clone found (python)
 - server/api_v2.py [3198:53 - 3203:76] (6 lines, 51 tokens)
   server/api_v2.py [3444:54 - 3449:76]
Clone found (python)
 - server/api_v2.py [3198:53 - 3203:76] (6 lines, 51 tokens)
   server/api_v2.py [3492:54 - 3497:76]
Clone found (python)
 - server/api_v2_agents.py [57:5 - 63:15] (7 lines, 52 tokens)
   server/tasks_api.py [746:5 - 752:7]
Clone found (python)
 - server/api_v2_sessions.py [302:96 - 314:81] (13 lines, 74 tokens)
   server/api_v2_sessions.py [1129:60 - 1141:81]
Clone found (python)
 - server/api_v2_sessions.py [318:5 - 329:15] (12 lines, 51 tokens)
   server/api_v2_sessions.py [610:9 - 621:19]
Clone found (python)
 - server/api_v2_sessions.py [606:9 - 621:19] (16 lines, 79 tokens)
   server/api_v2_sessions.py [1139:5 - 1154:15]
Clone found (python)
 - server/api_v2_sessions.py [607:27 - 621:19] (15 lines, 67 tokens)
   server/api_v2_sessions.py [826:19 - 840:15]
Clone found (python)
 - server/session_models.py [296:25 - 308:46] (13 lines, 76 tokens)
   server/session_models.py [352:29 - 364:42]
Clone found (python)
 - server/session_models.py [321:21 - 337:8] (17 lines, 58 tokens)
   server/session_models.py [375:17 - 391:8]
Clone found (python)
 - server/session_step.py [602:5 - 609:69] (8 lines, 52 tokens)
   server/session_step.py [1368:5 - 1375:69]
Clone found (python)
 - server/tasks_api.py [505:73 - 514:64] (10 lines, 53 tokens)
   server/tasks_api.py [518:51 - 527:64]
Clone found (python)
 - server/workspace_api.py [55:68 - 62:6] (8 lines, 63 tokens)
   server/workspace_api.py [76:5 - 83:6]
Clone found (python)
 - server/workspace_api.py [344:74 - 353:26] (10 lines, 73 tokens)
   server/workspace_api.py [616:77 - 625:26]
Clone found (python)
 - server/workspace_api.py [344:74 - 353:26] (10 lines, 73 tokens)
   server/workspace_api.py [683:9 - 692:26]
Clone found (python)
 - server/workspace_api.py [568:9 - 588:67] (21 lines, 149 tokens)
   server/workspace_api.py [655:9 - 675:67]
Clone found (python)
 - telemetry.py [57:24 - 79:8] (23 lines, 135 tokens)
   util/_telemetry.py [311:34 - 333:8]
Clone found (python)
 - telemetry.py [110:9 - 119:45] (10 lines, 60 tokens)
   telemetry.py [509:5 - 518:41]
Clone found (python)
 - tools/_browser_playwright.py [758:9 - 773:8] (16 lines, 89 tokens)
   tools/browser.py [1077:9 - 1092:8]
Clone found (python)
 - tools/_browser_playwright.py [775:60 - 783:62] (9 lines, 59 tokens)
   tools/browser.py [995:68 - 1003:62]
Clone found (python)
 - tools/_browser_playwright.py [896:69 - 909:27] (14 lines, 77 tokens)
   tools/browser.py [1174:44 - 1187:27]
Clone found (python)
 - tools/_browser_playwright.py [1079:1 - 1094:43] (16 lines, 61 tokens)
   tools/browser.py [1301:1 - 1316:43]
Clone found (python)
 - tools/autocompact/engine.py [197:13 - 206:18] (10 lines, 57 tokens)
   tools/autocompact/engine.py [248:17 - 257:22]
Clone found (python)
 - tools/clarify.py [45:5 - 60:31] (16 lines, 83 tokens)
   tools/complete.py [229:5 - 244:31]
Clone found (python)
 - tools/complete.py [430:5 - 438:15] (9 lines, 50 tokens)
   tools/complete.py [504:5 - 512:15]
Clone found (python)
 - tools/computer.py [1479:13 - 1496:14] (18 lines, 71 tokens)
   tools/computer.py [1868:13 - 1885:14]
Clone found (python)
 - tools/computer.py [1625:13 - 1644:37] (20 lines, 93 tokens)
   tools/computer_transport.py [262:13 - 281:37]
Clone found (python)
 - tools/computer.py [1657:53 - 1668:30] (12 lines, 52 tokens)
   tools/computer.py [1684:49 - 1695:30]
Clone found (python)
 - tools/computer.py [1744:9 - 1753:19] (10 lines, 50 tokens)
   tools/computer.py [1838:9 - 1847:19]
Clone found (python)
 - tools/convert.py [381:19 - 399:35] (19 lines, 63 tokens)
   tools/convert.py [686:18 - 704:35]
Clone found (python)
 - tools/convert.py [382:9 - 400:49] (19 lines, 74 tokens)
   tools/convert.py [563:34 - 583:18]
Clone found (python)
 - tools/convert.py [384:5 - 399:35] (16 lines, 61 tokens)
   tools/convert.py [467:5 - 482:35]
Clone found (python)
 - tools/gh.py [78:9 - 87:59] (10 lines, 53 tokens)
   tools/gh.py [151:13 - 159:63]
Clone found (python)
 - tools/hashline_edit.py [790:26 - 797:32] (8 lines, 57 tokens)
   tools/patch_anchored.py [109:26 - 116:32]
Clone found (python)
 - tools/hashline_edit.py [790:26 - 797:32] (8 lines, 57 tokens)
   tools/patch_anchored.py [236:27 - 243:32]
Clone found (python)
 - tools/patch.py [331:5 - 343:23] (13 lines, 55 tokens)
   tools/save.py [132:5 - 144:23]
Clone found (python)
 - tools/patch_anchored.py [101:1 - 106:3] (6 lines, 52 tokens)
   tools/patch_anchored.py [189:1 - 194:2]
Clone found (python)
 - tools/precommit.py [114:52 - 121:61] (8 lines, 51 tokens)
   tools/precommit.py [125:67 - 132:61]
Clone found (python)
 - tools/shell.py [705:29 - 717:11] (13 lines, 66 tokens)
   tools/shell.py [870:26 - 882:11]
Clone found (python)
 - tools/shell.py [781:37 - 797:75] (17 lines, 63 tokens)
   tools/shell.py [949:37 - 965:75]
Clone found (python)
 - tools/shell.py [1326:5 - 1336:31] (11 lines, 55 tokens)
   tools/shell.py [1377:5 - 1387:31]
Clone found (python)
 - tools/shell_background.py [77:24 - 89:27] (13 lines, 67 tokens)
   tools/shell_background.py [99:39 - 111:23]
Clone found (python)
 - tools/subagent/batch.py [492:33 - 505:5] (14 lines, 90 tokens)
   tools/subagent/batch.py [1099:25 - 1112:5]
Clone found (python)
 - tools/subagent/batch.py [529:53 - 539:43] (11 lines, 118 tokens)
   tools/subagent/batch.py [663:54 - 673:43]
Clone found (python)
 - tools/subagent/batch.py [534:27 - 539:81] (6 lines, 72 tokens)
   tools/subagent/batch.py [1142:81 - 1147:81]
Clone found (python)
 - tools/subagent/batch.py [807:13 - 822:14] (16 lines, 59 tokens)
   tools/subagent/batch.py [932:13 - 947:14]
Clone found (python)
 - tools/subagent/context.py [20:9 - 30:16] (11 lines, 60 tokens)
   tools/subagent/context.py [47:9 - 57:16]
Clone found (python)
 - tui/app.py [138:22 - 143:11] (6 lines, 50 tokens)
   tui/app.py [240:25 - 245:11]
Clone found (python)
 - tui/app.py [163:5 - 172:4] (10 lines, 79 tokens)
   tui/app.py [258:5 - 267:4]
Clone found (python)
 - util/_sound_sounddevice.py [61:46 - 72:56] (12 lines, 73 tokens)
   util/_sound_sounddevice.py [102:46 - 113:56]
Clone found (python)
 - util/gh.py [542:28 - 551:23] (10 lines, 51 tokens)
   util/gh.py [1341:13 - 1350:23]
Clone found (python)
 - util/gh.py [1325:17 - 1339:7] (15 lines, 55 tokens)
   util/gh.py [1429:14 - 1443:7]
Clone found (python)
 - util/tool_format.py [139:79 - 153:10] (15 lines, 54 tokens)
   util/tool_format.py [172:65 - 186:10]
Clone found (python)
 - workspace_snapshot.py [389:5 - 403:26] (15 lines, 88 tokens)
   workspace_snapshot.py [467:5 - 481:26]
Clone found (python)
 - analyze_compression.py [55:82 - 67:32] (13 lines, 63 tokens)
   analyze_compression.py [152:54 - 164:32]
Clone found (python)
 - analyze_compression.py [116:9 - 127:34] (12 lines, 61 tokens)
   analyze_compression.py [220:9 - 231:34]
Clone found (python)
 - generate_sounds.py [91:16 - 97:69] (7 lines, 53 tokens)
   generate_sounds.py [165:18 - 171:69]
┌────────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐
│ Format     │ Files analyzed │ Total lines │ Total tokens │ Clones found │ Duplicated lines │ Duplicated tokens │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ bash       │ 13             │ 1583        │ 3247         │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ css        │ 1              │ 174         │ 1100         │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ javascript │ 1              │ 618         │ 3358         │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ markdown   │ 8              │ 1448        │ 8909         │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ markup     │ 2              │ 482         │ 3220         │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ python     │ 467            │ 178835      │ 844147       │ 173          │ 2095 (1.17%)     │ 11995 (1.42%)     │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ text       │ 2              │ 527         │ 267          │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ txt        │ 1              │ 146         │ 245          │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ yaml       │ 2              │ 233         │ 1314         │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total:     │ 497            │ 184046      │ 865807       │ 173          │ 2095 (1.14%)     │ 11995 (1.39%)     │
└────────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
Found 173 clones.
time: 389.301ms
make[3]: Leaving directory '/home/runner/work/gptme/gptme'
make[2]: Leaving directory '/home/runner/work/gptme/gptme'

The metrics above show:

  • Project Overview: Basic stats about the codebase size and complexity

  • Complex Functions: Functions rated D+ (high complexity, should be refactored)

  • Large Files: Files over 300 SLOC (should be split into smaller modules)

  • Duplicated Files: Using jscpd to find duplicated code

We should aim to:

  • Keep average complexity below 4.0

  • Have no E-rated functions (extremely complex)

  • Have few D-rated functions (very complex)

  • Keep files under 300 SLOC where possible