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 uv run python -X importtime -m gptme --model openai --non-interactive 2>&1 | grep "import time" | cut -d'|' -f 2- | sort -n | tail -n 10
101436 | anthropic.lib.vertex._client
101510 | anthropic.lib.vertex
123685 | anthropic.types
128198 | gptme.chat
181636 | anthropic.types.beta
181652 | anthropic.types.beta.beta_message
182841 | anthropic.lib.middleware._fallbacks
182906 | anthropic.lib.middleware
479336 | anthropic
479349 | anthropic._types
real 0m0.982s
user 0m0.796s
sys 0m0.164s
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 ± σ): 53.1 ms ± 0.4 ms [User: 43.1 ms, System: 9.9 ms]
Range (min … max): 52.6 ms … 53.9 ms 10 runs
Benchmark 2: gptme --help
Time (mean ± σ): 885.9 ms ± 42.5 ms [User: 757.6 ms, System: 128.1 ms]
Range (min … max): 856.7 ms … 1000.9 ms 10 runs
Benchmark 3: full start/exit cycle
Time (mean ± σ): 1.882 s ± 0.038 s [User: 1.683 s, System: 1.236 s]
Range (min … max): 1.840 s … 1.953 s 10 runs
Summary
import gptme.cli.main ran
16.69 ± 0.81 times faster than gptme --help
35.46 ± 0.76 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 389 625 2246
gptme/util/gh.py 248 319 1243
gptme/llm/llm_anthropic.py 277 372 1216
gptme/chat.py 172 343 1146
gptme/tools/base.py 215 349 1090
gptme/util/review.py 183 336 989
gptme/llm/__init__.py 182 318 958
gptme/codeblock.py 96 488 954
gptme/util/context.py 182 303 893
gptme/tools/__init__.py 177 219 719
gptme/llm/openai_responses.py 118 77 691
gptme/lessons/installer.py 151 179 653
gptme/llm/llm_openai_subscription.py 148 175 637
gptme/util/completion_verification.py 81 28 635
gptme/util/prompt.py 137 179 611
gptme/lessons/index.py 153 196 599
gptme/util/capabilities_export.py 60 71 560
gptme/message.py 139 284 533
gptme/telemetry.py 103 74 456
gptme/util/_telemetry.py 112 159 443
gptme/lessons/auto_include.py 108 211 436
gptme/workspace_snapshot.py 54 70 425
gptme/util/cost_display.py 81 80 406
gptme/llm/llm_openai_models.py 6 61 401
gptme/init.py 72 122 382
gptme/llm/llm_grok_subscription.py 94 81 379
gptme/info.py 98 80 365
gptme/lessons/hybrid_matcher.py 122 162 364
gptme/checkpoint.py 81 54 363
gptme/llm/local_discovery.py 64 35 351
gptme/sandbox.py 95 208 350
gptme/util/safety.py 57 63 330
gptme/util/reduce.py 79 100 318
gptme/attestation.py 71 2 307
gptme/llm/validate.py 45 64 303
gptme/util/output_storage.py 89 94 299
gptme/plugins/__init__.py 101 133 295
gptme/knowledge.py 76 101 288
gptme/util/tool_display.py 36 23 273
gptme/profiles.py 66 68 268
gptme/anti_slop.py 43 112 260
gptme/llm/recovery.py 52 57 258
gptme/hooks/__init__.py 22 51 241
gptme/util/redact.py 61 199 232
gptme/llm/llm_gptme.py 74 136 230
gptme/lessons/parser.py 77 124 229
gptme/util/auto_naming.py 67 74 226
gptme/model_attestation.py 63 78 223
gptme/prompt_queue.py 44 39 223
gptme/lessons/commands.py 91 48 219
gptme/lessons/selector.py 19 21 219
gptme/util/git_worktree.py 48 81 219
gptme/util/_sound_sounddevice.py 57 50 218
gptme/lessons/skill_events.py 33 26 208
gptme/util/sound.py 65 72 200
gptme/util/export.py 40 42 197
gptme/util/clipboard.py 26 19 193
gptme/llm/responses_phase.py 22 29 181
gptme/util/tokens.py 54 76 175
gptme/circuit_breaker.py 49 72 171
gptme/util/cost_tracker.py 56 99 169
gptme/util/tool_format.py 48 76 169
gptme/llm/utils.py 56 92 165
gptme/dirs.py 72 101 163
gptme/llm/_degeneration.py 41 74 162
gptme/util/__init__.py 37 33 160
gptme/llm/llm_openai_models_deprecated.py 5 14 157
gptme/lessons/skill_commands.py 47 58 149
gptme/llm/request_limits.py 26 19 133
gptme/util/replay.py 42 49 129
gptme/util/program_status.py 32 46 128
gptme/k_best.py 34 40 125
gptme/util/ask_execute.py 26 45 119
gptme/llm/llm_openrouter_subscription.py 35 43 113
gptme/lessons/matcher.py 41 56 112
gptme/util/master_context.py 37 57 108
gptme/peers.py 18 27 107
gptme/util/interrupt.py 46 38 107
gptme/util/context_measurement.py 18 26 100
gptme/__version__.py 21 17 95
gptme/util/context_budget.py 21 53 92
gptme/constants.py 43 50 88
gptme/util/context_savings.py 22 9 87
gptme/util/tree.py 21 15 87
gptme/llm/provider_plugins.py 40 39 76
gptme/util/generate_name.py 5 6 74
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/_sound_cmd.py 22 18 68
gptme/util/file_write.py 8 20 68
gptme/util/uri.py 29 43 63
gptme/util/terminal.py 36 32 61
gptme/llm/retry_policy.py 19 24 60
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/keyword_matching.py 37 73 49
gptme/util/file_storage.py 30 50 48
gptme/status_provider.py 24 60 47
gptme/lessons/__init__.py 12 21 45
gptme/llm/llm_mock.py 16 22 41
gptme/__init__.py 10 4 38
gptme/util/useredit.py 15 18 36
gptme/util/summary.py 8 6 33
gptme/util/content.py 18 24 30
gptme/util/install.py 13 25 30
gptme/util/git_cmd.py 12 30 29
gptme/util/notification_ready.py 9 6 29
gptme/executor.py 18 26 25
gptme/util/clock.py 13 16 25
gptme/util/conversation_ids.py 7 4 22
gptme/util/multiprompt.py 6 8 14
gptme/__main__.py 2 0 12
gptme/util/stdio.py 8 9 12
gptme/util/rich_text.py 6 10 7
gptme/llm/constants.py 2 6 5
-----------------------------------------------------------------------------------------------
SUM: 7257 10318 32994
-----------------------------------------------------------------------------------------------
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 389 625 2246
gptme/llm/llm_anthropic.py 277 372 1216
gptme/llm/__init__.py 182 318 958
gptme/llm/openai_responses.py 118 77 691
gptme/llm/llm_openai_subscription.py 148 175 637
gptme/llm/llm_openai_models.py 6 61 401
gptme/llm/llm_grok_subscription.py 94 81 379
gptme/llm/local_discovery.py 64 35 351
gptme/llm/validate.py 45 64 303
gptme/llm/recovery.py 52 57 258
gptme/llm/llm_gptme.py 74 136 230
gptme/llm/responses_phase.py 22 29 181
gptme/llm/utils.py 56 92 165
gptme/llm/_degeneration.py 41 74 162
gptme/llm/llm_openai_models_deprecated.py 5 14 157
gptme/llm/request_limits.py 26 19 133
gptme/llm/llm_openrouter_subscription.py 35 43 113
gptme/llm/provider_plugins.py 40 39 76
gptme/llm/llm_anthropic_models_deprecated.py 5 11 70
gptme/llm/retry_abort.py 24 66 70
gptme/llm/retry_policy.py 19 24 60
gptme/llm/llm_mock.py 16 22 41
gptme/llm/constants.py 2 6 5
-----------------------------------------------------------------------------------------------
SUM: 1740 2440 8903
-----------------------------------------------------------------------------------------------
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/shell.py 404 770 2980
gptme/tools/shell_background.py 192 296 1731
gptme/tools/computer.py 437 867 1657
gptme/hooks/workspace_agents.py 238 155 1248
gptme/tools/base.py 215 349 1090
gptme/tools/watch.py 155 208 1061
gptme/tools/convert.py 156 154 1025
gptme/tools/mcp_adapter.py 262 312 948
gptme/tools/complete.py 167 288 928
gptme/tools/python_kernel.py 132 257 836
gptme/tools/chats.py 140 176 830
gptme/tools/gh.py 155 166 818
gptme/tools/_browser_playwright.py 253 327 795
gptme/tools/__init__.py 177 219 719
gptme/hooks/_secret_reach.py 50 72 711
gptme/tools/browser.py 281 457 696
gptme/tools/python.py 158 220 671
gptme/tools/shell_validation.py 153 359 649
gptme/tools/computer_transport.py 151 125 567
gptme/tools/tmux.py 103 203 559
gptme/tools/hashline_edit.py 128 416 513
gptme/hooks/registry.py 102 87 503
gptme/tools/lessons.py 129 150 491
gptme/tools/todo.py 117 146 475
gptme/tools/read.py 66 107 462
gptme/plugins/security.py 72 148 437
gptme/tools/patch_many.py 63 82 421
gptme/tools/save.py 84 84 393
gptme/tools/restart.py 94 126 379
gptme/hooks/anomaly_watchdog.py 138 213 373
gptme/hooks/dirty_diff.py 59 108 369
gptme/tools/mcp.py 103 103 340
gptme/hooks/cost_awareness.py 84 81 337
gptme/hooks/time_awareness.py 66 95 316
gptme/tools/shell_flags.py 60 257 315
gptme/tools/_browser_thread.py 63 78 313
gptme/hooks/agents_md_inject.py 69 146 310
gptme/plugins/__init__.py 101 133 295
gptme/tools/precommit.py 82 114 284
gptme/tools/patch.py 64 108 277
gptme/hooks/elicitation.py 96 136 264
gptme/tools/rag.py 91 148 264
gptme/hooks/__init__.py 22 51 241
gptme/tools/yield_checkpoint.py 41 58 221
gptme/hooks/aw_watcher_agent.py 49 21 217
gptme/hooks/guardrails.py 69 91 203
gptme/hooks/auto_snapshots.py 51 66 201
gptme/tools/morph.py 43 56 197
gptme/hooks/script.py 21 8 189
gptme/tools/memory.py 34 38 189
gptme/tools/pruner.py 44 0 188
gptme/hooks/_credential_output.py 18 22 181
gptme/tools/request_tool_change.py 35 33 173
gptme/tools/shell_memory.py 37 29 170
gptme/hooks/cache_awareness.py 118 186 168
gptme/hooks/cli_confirm.py 52 59 165
gptme/tools/vision.py 38 49 165
gptme/hooks/types.py 96 136 163
gptme/tools/form.py 42 65 148
gptme/hooks/token_awareness.py 47 50 147
gptme/tools/elicit.py 40 123 138
gptme/hooks/tool_target_instructions.py 37 47 136
gptme/hooks/confirm.py 58 98 127
gptme/hooks/injection_screening.py 33 39 126
gptme/hooks/server_confirm.py 52 59 125
gptme/hooks/form_autodetect.py 48 65 123
gptme/tools/recall.py 25 20 123
gptme/tools/vent.py 40 67 120
gptme/plugins/registry.py 40 41 119
gptme/plugins/entrypoints.py 28 60 114
gptme/hooks/server_elicit.py 52 56 113
gptme/tools/computer_semantic.py 61 129 110
gptme/tools/choice.py 34 41 108
gptme/hooks/active_context.py 25 23 100
gptme/tools/_computer_gate.py 33 61 100
gptme/tools/screenshot.py 30 45 100
gptme/tools/_url_safety.py 32 50 91
gptme/hooks/knowledge_inject.py 21 37 90
gptme/tools/_browser_lynx.py 11 8 85
gptme/tools/progress.py 28 59 85
gptme/tools/autocommit.py 38 58 81
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/tools/native_names.py 10 8 32
gptme/hooks/cwd_awareness.py 11 18 29
gptme/hooks/auto_confirm.py 11 9 24
gptme/tools/_hashline_snapshot.py 16 15 23
gptme/plugins/plugin.py 25 39 17
gptme/hooks/_policy_block.py 10 13 14
gptme/hooks/peer_messages.py 6 2 11
gptme/tools/_browser_format.py 3 5 3
------------------------------------------------------------------------------------------
SUM: 7771 11498 34808
------------------------------------------------------------------------------------------
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 545 503 3289
gptme/server/session_step.py 221 509 1494
gptme/server/api_v2_sessions.py 134 203 982
gptme/server/openapi_docs.py 309 210 941
gptme/server/session_models.py 111 225 709
gptme/server/tasks_api.py 193 130 680
gptme/server/a2a_api.py 103 46 551
gptme/server/artifacts_api.py 107 110 538
gptme/server/workspace_api.py 101 104 497
gptme/server/external_sessions.py 59 92 372
gptme/server/cli.py 56 105 307
gptme/server/preview_proxy_api.py 86 150 306
gptme/server/tools_api.py 58 49 250
gptme/server/computer_view/computer.html 12 3 237
gptme/server/auth.py 77 118 222
gptme/server/computer_api.py 51 55 222
gptme/server/api_v2_common.py 113 96 216
gptme/server/panels_api.py 51 51 204
gptme/server/acp_session_runtime.py 34 30 169
gptme/server/app.py 41 145 159
gptme/server/client.py 63 79 149
gptme/server/api_v2_agents.py 25 17 139
gptme/server/skills_api.py 32 4 125
gptme/server/metrics.py 37 19 124
gptme/server/tts_api.py 24 18 101
gptme/server/token_file.py 13 13 31
gptme/server/__init__.py 5 8 9
gptme/server/constants.py 7 11 9
gptme/server/__main__.py 1 0 3
-------------------------------------------------------------------------------------------
SUM: 2669 3103 13035
-------------------------------------------------------------------------------------------
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 1595 753 6518
tests/test_server_v2.py 1038 406 4655
tests/test_llm_openai.py 957 576 3893
tests/test_auto_compact.py 1065 574 3660
tests/test_tui.py 694 365 3384
tests/test_util_review.py 616 419 3039
tests/test_tools_subagent.py 899 464 3006
tests/test_doctor.py 596 241 2820
tests/test_config.py 674 648 2743
tests/test_server_v2_sessions.py 387 278 2728
tests/test_tools_shell.py 581 567 1970
tests/test_chat.py 510 290 1798
tests/test_codeblock.py 637 1141 1761
tests/test_cli.py 459 186 1698
tests/test_memory_store.py 219 81 1685
tests/test_tools_complete.py 331 274 1684
tests/test_init.py 258 147 1597
tests/test_util_cli.py 415 246 1593
tests/test_tools_watch.py 256 67 1522
tests/test_acp_agent.py 410 197 1490
tests/test_util_gh.py 289 196 1417
tests/test_tools_convert.py 318 144 1394
tests/test_tools_gh.py 206 103 1379
tests/test_eval_behavioral.py 867 967 1357
tests/test_tools_shell_validation.py 383 258 1321
tests/test_tools_browser.py 359 80 1304
tests/test_util_cli_review_watch.py 317 189 1283
tests/test_tools_todo_isolation.py 160 11 1265
tests/test_tools_computer.py 438 271 1259
tests/test_mcp_adapter.py 274 137 1222
tests/test_llm_anthropic.py 264 91 1194
tests/test_tools_hashline_edit.py 227 228 1170
tests/test_server.py 301 206 1147
tests/test_llm_utils.py 310 142 1108
tests/test_tools_base.py 340 114 1054
tests/test_eval.py 189 108 999
tests/test_shell_background.py 214 105 993
tests/test_cmd_service.py 219 194 981
tests/test_info.py 183 78 972
tests/test_logmanager.py 270 192 970
tests/test_lessons_auto_include.py 256 220 968
tests/test_tools_patch_many.py 190 114 958
tests/test_computer_audit.py 264 183 955
tests/test_dataset.py 192 50 930
tests/test_tools_python_kernel.py 303 122 926
tests/test_compaction_recall.py 187 17 902
tests/test_eval_leaderboard.py 126 104 883
tests/test_subagent_persistence.py 139 34 870
tests/test_noninteractive_drain.py 164 20 858
tests/test_llm_openai_subscription.py 186 80 853
tests/test_knowledge.py 323 71 842
tests/test_tasks_api.py 185 69 831
tests/test_eval_computer_suite.py 328 149 819
tests/test_util_gh_mocked.py 157 122 819
tests/test_tools_precommit.py 136 98 818
tests/test_prompt_templates.py 260 193 812
tests/test_cli_completion.py 128 4 808
tests/test_context.py 319 133 806
tests/test_tui_work_view.py 139 84 805
tests/test_sandbox.py 195 105 801
tests/test_guardrail_secret_reach.py 163 81 791
tests/test_tools_lessons.py 164 58 788
tests/test_cost_display.py 110 68 776
tests/test_shell_foreground_promotion.py 152 36 767
tests/test_acp_session_runtime.py 232 78 750
tests/test_server_workspace.py 149 154 743
tests/test_subagent_yield.py 103 76 731
tests/test_tools.py 240 120 722
tests/test_eventlog.py 163 94 717
tests/test_hooks_registry.py 253 97 716
tests/test_computer_transport.py 267 91 713
tests/test_tools_restart.py 157 67 708
tests/test_agent.py 205 115 707
tests/test_message.py 230 148 692
tests/test_tui_e2e.py 108 134 680
tests/test_llm_models_resolution.py 223 181 677
tests/test_relevance_pruning.py 266 134 672
tests/test_gptme_provider.py 199 102 667
tests/test_memory_match.py 126 51 661
tests/test_commands.py 187 81 649
tests/test_json_output.py 114 84 643
tests/test_cli_status.py 246 138 642
tests/test_context_scout.py 109 89 641
tests/conftest.py 183 321 634
tests/test_server_session_models.py 206 159 631
tests/test_shell_job_spool.py 98 45 631
tests/test_subagent_retention.py 113 71 627
tests/test_tools_read.py 204 74 627
tests/test_subagent_budget.py 166 144 626
tests/test_skill_install_replacement.py 131 3 613
tests/test_prompts.py 179 111 611
tests/test_chat_transient_recovery.py 103 16 610
tests/test_config_validate.py 154 51 610
tests/test_explicit_attachments.py 84 9 609
tests/test_computer_doctor_cmd.py 88 58 607
tests/test_util_cli_mcp.py 141 71 604
tests/test_dirs.py 135 93 598
tests/test_mcp_server.py 139 49 596
tests/test_unified_plugins.py 150 62 587
tests/test_server_panels.py 65 40 585
tests/test_server_subscription_connect.py 160 39 584
tests/test_tui_completion.py 82 11 582
tests/test_tools_request_tool_change.py 117 43 578
tests/test_served_model_metadata.py 116 24 573
tests/test_shell_redact_secrets.py 113 44 569
tests/test_lessons_index.py 185 171 568
tests/test_llm_models.py 174 118 558
tests/test_util_hooks.py 116 113 554
tests/test_memory_index_policy.py 98 39 551
tests/test_eval_subagent.py 119 56 547
tests/test_computer_actions.py 165 125 546
tests/test_execenv.py 99 68 539
tests/test_server_path_traversal.py 139 105 539
tests/test_model_attestation.py 115 30 537
tests/test_memory_migrate_knowledge.py 82 30 534
tests/test_responses_phase.py 54 16 534
tests/test_reduce.py 140 161 533
tests/test_server_peer_wake.py 84 42 533
tests/test_cc_memory.py 113 108 530
tests/test_hooks_cost_awareness.py 73 61 525
tests/test_server_bad_input.py 122 106 524
tests/test_lessons.py 156 153 517
tests/test_workspace_api.py 116 22 508
tests/test_capabilities_export.py 65 27 506
tests/test_file_publication.py 96 23 504
tests/test_mcp.py 138 77 504
tests/test_checkpoint.py 131 26 503
tests/test_provider_plugins.py 110 43 501
tests/test_subagent_worktree_isolation.py 159 86 501
tests/test_overflow_recovery.py 72 8 498
tests/test_config_workspace_publication.py 79 14 492
tests/test_conversations.py 70 44 492
tests/test_hooks_cache_awareness.py 151 44 484
tests/test_computer_demo_cmd.py 144 75 482
tests/test_snapshot_command.py 117 57 476
tests/test_work_snapshots.py 97 24 472
tests/test_chats_stats.py 89 37 471
tests/test_plugin_security.py 96 37 471
tests/test_llm_openai_sampling.py 99 12 469
tests/test_tools_save.py 124 42 462
tests/test_server_skill_events.py 58 4 461
tests/test_skill_installer.py 138 154 459
tests/test_llm_auth.py 153 55 458
tests/test_tools_time_awareness.py 152 59 453
tests/test_tools_browser_thread.py 117 49 450
tests/test_cli_from_turn.py 81 23 447
tests/test_hooks_dirty_diff.py 178 27 444
tests/test_telemetry.py 112 232 443
tests/test_tools_mcp.py 111 23 443
tests/test_python_kernel_raster.py 62 13 440
tests/test_util_cli_providers.py 93 42 438
tests/test_cli_resume.py 100 22 436
tests/test_compaction_native_anthropic.py 78 23 436
tests/test_tools_rag.py 115 39 436
tests/test_lesson_hook_latency.py 110 40 429
tests/test_cost_tracker.py 50 27 424
tests/test_lessons_commands.py 157 82 422
tests/test_external_sessions.py 116 67 421
tests/test_chats_clean_safety.py 81 21 419
tests/context/test_task_analyzer.py 90 44 418
tests/test_lessons_parser.py 188 239 417
tests/test_server_artifacts.py 66 32 415
tests/test_llm_grok_subscription.py 121 28 414
tests/test_tools_precommit_paths.py 56 25 407
tests/test_lessons_matcher.py 104 87 406
tests/test_llm_validate.py 78 64 404
tests/test_mcp_discovery.py 114 43 397
tests/test_tools_morph.py 101 70 396
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_chats_external_search.py 87 63 389
tests/test_tui_literal_thinking.py 52 3 386
tests/test_util_cli_attest.py 91 7 386
tests/test_guardrail_hook.py 95 74 385
tests/test_search_alias.py 65 56 385
tests/test_server_v2_auto_stepping.py 72 55 383
tests/test_lessons_selector.py 55 38 374
tests/test_github_ci_self_heal.py 71 6 371
tests/test_anti_slop.py 108 61 370
tests/test_preview_proxy.py 98 46 370
tests/test_server_v2_agents.py 67 28 370
tests/test_util_export.py 80 31 370
tests/test_subagent_writer_lock.py 73 53 369
tests/test_lessons_emissions.py 59 3 368
tests/test_computer_record.py 119 30 364
tests/test_eval_behavioral_solutions.py 281 848 364
tests/test_skill_commands.py 116 50 364
tests/test_replay.py 120 110 361
tests/test_subscription_terminal_recovery.py 42 5 360
tests/test_context_providers.py 183 121 356
tests/test_tui_work_acceptance.py 31 12 355
tests/test_workspace_agents.py 154 59 353
tests/test_tools_convert_publication.py 55 17 352
tests/test_complete.py 84 72 351
tests/test_computer_use_integration.py 140 143 349
tests/test_dataset_history.py 43 36 347
tests/test_computer_semantic_fixtures.py 92 107 340
tests/test_hol_guard_shell_hook.py 52 10 340
tests/test_agent_doctor.py 74 35 338
tests/test_completion_verification.py 78 1 337
tests/test_script_hooks.py 55 7 336
tests/test_eval_trends.py 35 22 335
tests/test_context_selector.py 94 48 334
tests/test_program_status.py 92 22 334
tests/test_llm_anthropic_system_messages.py 41 5 331
tests/test_tools_python.py 133 74 331
tests/test_tools_vision.py 65 40 331
tests/test_minimax_models.py 37 6 328
tests/test_llm_generation_recovery.py 82 2 326
tests/test_util_output_storage.py 83 18 326
tests/test_tools_tmux_quoting.py 33 8 325
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_util_safety.py 96 22 321
tests/test_workspace_snapshot.py 105 46 319
tests/test_browser_open_page_session.py 66 49 318
tests/test_util_cli_batch.py 64 12 317
tests/test_util_cli_skills.py 118 89 315
tests/test_skill_metrics.py 38 2 312
tests/test_browser.py 140 71 308
tests/test_hooks_knowledge_inject.py 74 6 305
tests/test_tool_memory_native.py 53 4 304
tests/test_llm_request_limits.py 55 2 301
tests/test_config_encoding.py 154 195 300
tests/test_llm_openai_reasoning_effort.py 87 19 300
tests/context/test_adaptive_compressor.py 58 44 298
tests/test_responses_partial_tools.py 39 1 298
tests/test_eval_swebench.py 78 41 294
tests/test_tui_frames.py 49 40 293
tests/test_plugins.py 110 85 292
tests/test_git_worktree.py 73 41 291
tests/test_tools_todo.py 133 84 288
tests/lessons/test_wildcard_matching.py 114 125 287
tests/test_hooks_server_confirm.py 78 33 285
tests/test_server_a2a.py 64 20 283
tests/test_util_tokens.py 130 71 282
tests/test_shell_completion_loop.py 26 11 280
tests/test_tui_work_unread.py 32 8 279
tests/test_util_file_storage.py 68 40 278
tests/test_auto_naming.py 80 48 277
tests/test_commands_llm.py 32 1 276
tests/test_computer_video_frames_cli.py 67 12 274
tests/test_tool_conditionals.py 89 1 274
tests/test_block_budget.py 56 48 273
tests/test_python_kernel_raster_limits.py 55 5 273
tests/test_transcript_durability.py 51 22 272
tests/test_computer_docker_config.py 59 92 271
tests/test_hooks.py 130 49 271
tests/test_subagent_outcome_review.py 39 5 269
tests/test_subagent_roundtrip.py 79 53 269
tests/test_tauri_apt_setup.py 29 19 267
tests/lessons/test_bm25_parity.py 67 70 266
tests/test_shell_completion_wait.py 47 5 266
tests/test_url_safety.py 113 38 266
tests/test_compaction_review_regressions.py 45 13 264
tests/test_confirmation_header.py 42 1 262
tests/test_server_startup.py 39 65 261
tests/test_tools_parameter_conformance.py 54 79 260
tests/test_tui_peer_wake.py 33 4 260
tests/test_memory_scope_execution.py 36 2 259
tests/test_shell_restart.py 67 46 259
tests/test_tools_autocommit.py 99 47 259
tests/test_terminal_startup_latency.py 77 32 257
tests/test_tool_use.py 60 66 255
tests/test_opencode_go.py 24 4 254
tests/test_custom_providers.py 74 103 253
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_tools_screenshot.py 59 52 249
tests/test_vision_transport.py 39 4 249
tests/test_util_cli_models.py 43 44 248
tests/test_skill_events.py 49 2 246
tests/test_agents_md_inject.py 44 40 245
tests/test_track_tokens.py 63 29 245
tests/test_subagent_stale_cancel.py 45 15 243
tests/test_util_clipboard_paste.py 55 30 243
tests/test_llm_retry_policy.py 90 19 242
tests/test_local_discovery.py 63 18 242
tests/test_tools_convert_tiff.py 20 10 242
tests/test_tools_patch_many_confirmation.py 47 4 242
tests/test_cli_context_files.py 31 23 241
tests/test_compaction_measurement.py 43 12 241
tests/test_responses_stream_errors.py 37 3 241
tests/test_tools_convert_sources.py 36 21 241
tests/test_computer_x11_integration.py 87 87 240
tests/test_model_selection_trace_export.py 70 19 237
tests/test_server_default_profile.py 78 44 236
tests/test_tools_patch.py 118 226 235
tests/test_cli_stats.py 62 27 234
tests/test_onboard.py 56 49 232
tests/test_util_cli_batch_stop_metadata.py 52 9 232
tests/test_shell_allowlist_autoconfirm.py 58 62 231
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_cli_fatal_error_envelope.py 46 40 225
tests/test_release_source.py 20 10 225
tests/test_server_fresh_bad_input.py 46 44 224
tests/test_tui_recovery.py 31 7 222
tests/test_browser_lynx.py 70 16 220
tests/test_server_tools_query.py 59 39 220
tests/test_sdk_stream_terminal.py 27 2 218
tests/test_util_keyword_matching.py 75 46 218
tests/test_chats_read.py 29 4 217
tests/test_lessons_tool.py 62 34 216
tests/test_llm_retry_abort.py 85 62 216
tests/test_config_trust.py 94 43 212
tests/test_conversation_metadata_readonly.py 31 16 212
tests/test_perf.py 67 54 212
tests/test_tools_append_hooks.py 43 1 212
tests/test_context_budget.py 72 38 209
tests/test_executor.py 50 31 209
tests/test_server_api_v2_common.py 55 52 209
tests/test_workspace_memory_policy.py 40 3 209
tests/test_autocompact_scoring.py 86 39 208
tests/test_browser_state.py 83 33 208
tests/test_server_v2_hooks.py 80 60 207
tests/test_cli_elicitation.py 45 2 206
tests/test_tui_skill_events.py 24 5 206
tests/test_oauth_openrouter.py 62 9 205
tests/test_openrouter_pricing_overrides.py 36 5 205
tests/test_shell_stream_oneshot.py 71 44 204
tests/test_perf_tui.py 57 51 203
tests/test_subagent_parent_isolation.py 56 30 202
tests/test_acp_client.py 72 36 201
tests/test_recovery_stream_overload.py 27 3 200
tests/test_tutorial.py 85 7 200
tests/test_tools_tmux_compounds.py 37 1 199
tests/test_browser_state_load_failure.py 19 6 198
tests/test_vent.py 39 10 198
tests/test_chats_clean.py 46 18 196
tests/test_execute_msg_hook_call_id.py 70 52 196
tests/test_shell_memory.py 43 7 196
tests/test_subagent_summary.py 32 5 196
tests/test_util_interrupt.py 68 44 196
tests/test_save_confirmation_baseline.py 32 1 193
tests/test_memory_tool.py 42 14 192
tests/test_tools_convert_percent_inputs.py 19 4 192
tests/test_shell_max_output_bytes.py 76 84 191
tests/test_tui_program_status.py 34 9 191
tests/test_computer_task.py 116 31 189
tests/test_credential_output_integration.py 34 25 189
tests/test_summary_model.py 46 3 189
tests/test_misc_subprocess_timeouts.py 51 30 188
tests/test_file_selector_integration.py 53 24 186
tests/test_openai_responses_input.py 23 15 186
tests/test_tools_convert_docx.py 33 3 186
tests/test_tui_conversation_name.py 48 15 186
tests/test_tools_convert_docx_literals.py 19 3 185
tests/test_chats_matching_snippets.py 13 6 184
tests/test_native_tool_names.py 28 1 184
tests/test_tools_chats.py 43 22 184
tests/test_tools_gh_pagination.py 24 1 184
tests/test_workspace_snapshot_namespace.py 17 3 184
tests/test_computer_screenshot_cli.py 53 12 183
tests/test_fold_mid_system.py 74 43 183
tests/test_foreground_output_dedup.py 38 16 182
tests/test_k_best.py 76 23 182
tests/test_setup_completions.py 42 7 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_sdk_recovery_redirects.py 15 2 176
tests/test_chats_native_snippets.py 31 2 175
tests/test_block_budget_server.py 22 11 174
tests/test_subagent_shell_pgid_kill.py 40 31 174
tests/test_tools_choice.py 59 26 173
tests/test_chats_export.py 48 17 172
tests/test_util_cli_generate.py 35 7 172
tests/test_acp_types.py 35 12 171
tests/test_toolspec_read_only.py 40 12 171
tests/test_browser_navigation_live.py 28 9 170
tests/test_tools_form.py 34 19 169
tests/test_util_terminal.py 52 34 168
tests/test_memory_cli_metadata.py 16 8 167
tests/test_python_streams.py 27 2 167
tests/test_tools_elicit.py 50 25 167
tests/test_chat_config.py 65 51 164
tests/test_tui_visual.py 50 47 164
tests/test_uri.py 56 31 164
tests/test_backtrack.py 39 11 163
tests/test_util_cost.py 29 26 163
tests/test_acp_protocol_logging.py 56 15 160
tests/test_tree.py 64 40 160
tests/test_acp_stdout.py 76 37 158
tests/test_server_v2_tool_confirmation.py 33 33 158
tests/test_tools_convert_orientation.py 34 11 157
tests/test_commands_account.py 37 6 156
tests/test_eval_pass_rate_gate.py 48 9 154
tests/test_git_cmd_resolver.py 45 34 154
tests/test_patch_exact_uniqueness.py 19 2 153
tests/test_server_config_workspace_containment.py 42 46 153
tests/test_timings.py 66 50 153
tests/test_gptme_token_publication.py 34 26 152
tests/test_subagent_integration.py 48 21 152
tests/test_prompt_queue.py 48 17 151
tests/test_util_tree.py 44 33 151
tests/test_tools_gh_merge_guards.py 18 1 149
tests/fixtures/provider_test_scaffold.py 76 68 148
tests/test_util_install.py 34 31 148
tests/test_master_context.py 39 24 147
tests/test_tools_watch_timer_deadline.py 20 2 146
tests/test_tui_output_collapse.py 20 4 145
tests/test_credential_output.py 8 2 144
tests/test_peers.py 23 2 144
tests/test_subagent_concurrency.py 37 16 144
tests/test_dependabot_automerge.py 27 11 141
tests/test_server_elicitation.py 47 17 141
tests/test_backtrack_identity.py 27 2 140
tests/test_tools_token_awareness.py 59 47 140
tests/test_computer_risk_streaming.py 58 46 139
tests/test_dspy_integration.py 54 32 139
tests/test_computer_milestone_integration.py 61 59 138
tests/test_tools_convert_pdf_first_page.py 16 8 138
tests/test_util_content.py 49 25 137
tests/test_browser_blockage.py 46 97 136
tests/test_browser_executable_path_env.py 28 32 135
tests/test_cli_explain.py 53 18 135
tests/test_prompt_fragments.py 20 1 135
tests/test_browser_state_publication.py 18 4 134
tests/test_computer_gate.py 76 40 133
tests/test_git_worktree_inspection.py 19 2 131
tests/test_server_cli_fallback.py 23 19 131
tests/test_shell_parser.py 31 17 131
tests/test_agent_workspace_timeouts.py 41 22 129
tests/test_morph_source_admission.py 19 20 129
tests/test_snapshot_list.py 45 7 129
tests/test_acp_adapter.py 42 33 128
tests/test_build_distribution.py 14 7 128
tests/test_cwe214_docker_env_leak.py 42 41 128
tests/test_server_webui_dir.py 61 23 128
tests/test_server_tools_allowlist.py 47 2 127
tests/test_active_context.py 41 22 126
tests/test_docs_structure.py 31 29 126
tests/test_chats_rename.py 48 19 125
tests/test_util_context_dedup.py 61 43 125
tests/test_prompt.py 36 36 124
tests/test_treeofthoughts.py 34 23 124
tests/test_llm_image_attachments.py 17 1 123
tests/test_subagent_planner_roles.py 39 30 121
tests/test_eval_format_routing.py 30 25 120
tests/test_tui_before_tool_execution.py 21 9 120
tests/test_integration_phase4.py 22 19 119
tests/test_compaction_reminder.py 29 1 118
tests/test_cost_cache_cold_warning.py 33 8 118
tests/test_cli_non_utf8_input.py 28 8 117
tests/test_agent_service_timeouts.py 19 18 116
tests/test_browser_navigation.py 20 4 115
tests/thread_leak.py 34 55 115
tests/test_tools_tmux_native_panes.py 22 2 114
tests/test_cli_auth.py 24 4 113
tests/test_lessons_status.py 67 96 113
tests/test_server_host_validation.py 46 29 112
tests/test_subagent_tool_format.py 31 17 112
tests/test_tools_convert_document_publication.py 17 5 112
tests/test_hashline_confirmation_ownership.py 12 2 111
tests/test_tools_write_encoding.py 20 2 111
tests/test_python_kernel_stdin.py 16 3 110
tests/test_tools_convert_video_filenames.py 9 2 110
tests/test_computer_run_task_cli.py 40 14 109
tests/test_browser_session_persistence.py 62 33 108
tests/test_cost_awareness_delayed_warning.py 42 32 108
tests/test_restart_argv.py 9 3 108
tests/test_util_export_browser.py 14 14 108
tests/test_validate_release_package.py 29 2 108
tests/test_build_changelog.py 24 13 107
tests/test_server_perf.py 23 38 107
tests/test_server_parent_death_watcher.py 25 38 103
tests/test_appimage_release.py 9 5 102
tests/test_command_completion.py 33 23 100
tests/test_eval_constraint_satisfaction.py 24 8 100
tests/test_hooks_mcp_namespace_hint.py 30 14 100
tests/test_python_support.py 18 8 100
tests/test_generation_pre_snapshot_boundary.py 38 39 99
tests/test_knowledge_subprocess.py 8 4 99
tests/test_shell_output_boundaries.py 13 4 99
tests/test_tools_convert_docx_hyperlinks.py 21 4 99
tests/test_thread_leak.py 29 7 98
tests/test_server_auth.py 46 25 97
tests/test_util.py 46 86 96
tests/test_util_context_savings.py 21 6 96
tests/test_agent_fork_command.py 18 5 95
tests/test_openrouter_cache_pricing.py 28 5 95
tests/test_policy_block.py 29 9 95
tests/test_session.py 40 21 95
tests/test_server_v2_sse.py 26 27 94
tests/test_tools_convert_literal_inputs.py 7 1 93
tests/test_tools_convert_literal_paths.py 9 1 93
tests/test_logmanager_locking.py 20 5 91
tests/test_server_etag.py 22 5 91
tests/test_shell_sigterm.py 11 57 91
tests/test_agent_memory.py 26 17 90
tests/test_python_backend_selection.py 22 1 89
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_tools_vision_exif.py 12 3 88
tests/test_browser_github_routing.py 27 0 86
tests/test_browser_screenshot.py 14 1 86
tests/test_shell_state_contract.py 7 4 86
tests/test_subagent_drain_cancel.py 10 3 86
tests/test_mcp_client_env.py 17 2 85
tests/test_output_format.py 29 21 84
tests/test_shell_high_fd.py 28 29 83
tests/test_cli_llm_generate.py 19 12 82
tests/test_cli_sound.py 26 2 82
tests/test_tool_description_cap.py 29 13 82
tests/test_eval_swebench_retrieval.py 25 4 81
tests/test_release_preflight.py 5 2 81
tests/test_cli_mcp_cleanup.py 26 8 80
tests/test_prompt_skills_summary.py 44 44 80
tests/test_windows_signing.py 5 2 80
tests/fixtures/hol_guard_shell_hook.py 28 25 77
tests/test_eval_timeouts.py 32 33 77
tests/test_xml_format.py 33 91 77
tests/test_attachment_loading.py 17 5 76
tests/test_acp_recovery.py 13 2 75
tests/test_markdown_validation.py 43 34 75
tests/test_shell_issue729.py 50 52 75
tests/test_logmanager_fork_locking.py 19 156 74
tests/test_patch_literal_comments.py 15 1 74
tests/test_setup_api_key.py 19 1 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_llm_empty_stream.py 33 4 72
tests/test_acp_e2e_smoke.py 23 27 71
tests/test_server_audio_transcription.py 20 15 69
tests/test_hooks_form_autodetect.py 22 34 68
tests/test_browser_markdown_literals.py 13 1 67
tests/test_chat_turn_boundary.py 16 2 67
tests/test_docs_tool_formats_coverage.py 16 15 67
tests/test_tools_watch_run_utf8.py 11 2 67
tests/test_computer_api.py 90 401 65
tests/test_eval_tool_efficiency.py 20 11 64
tests/test_tools_native_kwargs.py 23 6 64
tests/test_build_apt_retry.py 5 30 62
tests/test_cli_hooks_settings_shape.py 12 1 62
tests/test_entrypoints.py 26 37 60
tests/test_llm_mock.py 22 12 60
tests/test_shell_escaped_pipes.py 9 2 60
tests/test_shell_output_mixing_issue408.py 25 29 60
tests/test_eval_practical20.py 27 8 59
tests/test_logmanager_corrupt_lines.py 17 11 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_useredit.py 16 3 58
tests/test_openrouter_reported_cost.py 18 1 57
tests/test_webui_redirects.py 11 7 57
tests/test_chat_history.py 14 12 56
tests/test_cli_init.py 19 2 56
tests/test_browser_reconnect_owner.py 11 3 55
tests/test_computer_artifacts.py 14 3 54
tests/test_server_skills_api.py 13 1 54
tests/test_context_status.py 11 2 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
tests/test_checkpoint_restart.py 10 1 51
tests/test_github_bot.py 12 1 51
tests/test_util_generate_name.py 19 11 50
tests/fixtures/review/v2_full.json 0 0 49
tests/test_execute_msg_defensive.py 19 19 49
tests/test_recovery_strict_exhaustion.py 7 2 48
tests/test_pytest_retry_tmp_path_interaction.py 17 26 47
tests/test_dspy_gepa.py 18 9 46
tests/test_import_boundaries.py 8 12 46
tests/test_demo_capture.py 19 9 45
tests/test_recovery_nested_budget.py 11 2 45
tests/test-integration.sh 22 36 43
tests/test_nvidia.py 15 2 43
tests/test_pdf_to_images.py 13 13 43
tests/test_cli_context_non_utf8.py 11 1 41
tests/test_check_rst_formatting.py 28 59 40
tests/test_tools_read_range_decoding.py 7 2 40
tests/test_shell_fd_leak.py 23 16 39
tests/test_utils.py 14 17 38
tests/test_cli_peers.py 10 1 37
tests/test_message_command.py 14 13 36
tests/test_python_kernel_review_regressions.py 13 1 36
tests/snapshots/tui_stream.svg 3 0 35
tests/test_tools_pruner.py 9 0 35
tests/test_chat_config_readonly.py 15 1 34
tests/test_cli_confirm_hook.py 24 20 34
tests/test_credentials.py 16 0 34
tests/test_logmanager_reader_context.py 9 62 34
tests/snapshots/tui_idle.svg 3 0 33
tests/snapshots/tui_inline.svg 3 0 33
tests/test_shell_for_loop_issue724.py 16 24 33
tests/test_subagent_log_lock.py 9 3 33
tests/test_logs_home_isolation.py 10 1 31
tests/test_docker_lockfile.py 9 3 30
tests/test_project_config_list_types.py 6 1 30
tests/test_user_config_isolation.py 10 3 30
tests/test_agent_merge_project_config.py 16 11 29
tests/test_package_exports.py 10 3 29
tests/test_cmd_init_toml_name.py 12 1 28
tests/test_eval_practical16.py 11 0 28
tests/test_lessons_frontmatter_name_type.py 11 1 28
tests/test_tool_preview_content.py 12 3 28
tests/data/git-log-oneline.txt 0 0 27
tests/test_browser_markdown_packaging.py 3 1 26
tests/test_check_model_freshness.py 8 5 26
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/fixtures/retry_server.py 11 13 25
tests/test_peer_messages_hook.py 4 1 25
tests/data/example-interrupted.txt 8 0 24
tests/test_tool_loading_duplicate.py 16 15 24
tests/test_confirmation_header_tui.py 6 1 22
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_session_allowlist_isolation.py 14 31 17
tests/test_llm_summarize_terminal_projection.py 9 9 15
tests/test_screenshot.py 9 6 15
tests/fixtures/review/v2_minimal.json 0 0 11
tests/retry_compat.py 8 22 6
----------------------------------------------------------------------------------------------------
SUM: 56461 33406 229748
----------------------------------------------------------------------------------------------------
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 110 133 944
gptme/eval/leaderboard.py 149 485 817
gptme/eval/execenv.py 114 215 733
gptme/eval/run.py 75 126 592
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: 597 1138 3698
------------------------------------------------------------------------------------------
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/mcp/display.py gptme/mcp/server.py gptme/mcp/registry.py gptme/mcp/client.py gptme/mcp/__init__.py gptme/dataset/trajectory_to_env.py gptme/dataset/__init__.py gptme/session.py gptme/sandbox.py gptme/prompts/chat_history.py gptme/prompts/workspace.py gptme/prompts/context_cmd.py gptme/prompts/skills.py gptme/prompts/__init__.py gptme/prompts/templates.py gptme/context/task_analyzer.py gptme/context/scout.py gptme/context/adaptive_compressor.py gptme/context/config.py gptme/context/__init__.py gptme/context/compress.py gptme/context/selector/hybrid.py gptme/context/selector/file_config.py gptme/context/selector/base.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/__init__.py gptme/context/selector/rule_based.py gptme/lessons/hybrid_matcher.py gptme/lessons/skills/python-repl/python_helpers.py gptme/lessons/skill_events.py gptme/lessons/skill_commands.py gptme/lessons/index.py gptme/lessons/selector.py gptme/lessons/installer.py gptme/lessons/__init__.py gptme/lessons/parser.py gptme/lessons/auto_include.py gptme/lessons/commands.py gptme/lessons/matcher.py gptme/chat.py gptme/telemetry.py gptme/circuit_breaker.py gptme/__version__.py gptme/knowledge.py gptme/memory/recall.py gptme/memory/schema.py gptme/memory/match.py gptme/memory/roots.py gptme/memory/policy.py gptme/memory/__init__.py gptme/memory/store.py gptme/config/chat.py gptme/config/cli_setup.py gptme/config/validate.py gptme/config/trust.py gptme/config/user.py gptme/config/core.py gptme/config/__init__.py gptme/config/models.py gptme/config/project.py gptme/util/redact.py gptme/util/keyword_matching.py gptme/util/completion_verification.py gptme/util/history.py gptme/util/summary.py gptme/util/cost_tracker.py gptme/util/context_measurement.py gptme/util/context_dedup.py gptme/util/install.py gptme/util/gh.py gptme/util/context_savings.py gptme/util/sound.py gptme/util/interrupt.py gptme/util/tokens.py gptme/util/uri.py gptme/util/safety.py gptme/util/context.py gptme/util/git_worktree.py gptme/util/review.py gptme/util/tool_format.py gptme/util/auto_naming.py gptme/util/cost.py gptme/util/git_cmd.py gptme/util/useredit.py gptme/util/notification_ready.py gptme/util/master_context.py gptme/util/multiprompt.py gptme/util/ask_execute.py gptme/util/reduce.py gptme/util/export.py gptme/util/file_write.py gptme/util/_sound_sounddevice.py gptme/util/_telemetry.py gptme/util/stdio.py gptme/util/cost_display.py gptme/util/clock.py gptme/util/__init__.py gptme/util/rich_text.py gptme/util/prompt.py gptme/util/content.py gptme/util/generate_name.py gptme/util/file_storage.py gptme/util/terminal.py gptme/util/output_storage.py gptme/util/program_status.py gptme/util/capabilities_export.py gptme/util/tree.py gptme/util/tool_display.py gptme/util/replay.py gptme/util/clipboard.py gptme/util/_sound_cmd.py gptme/util/context_budget.py gptme/util/conversation_ids.py gptme/constants.py gptme/anti_slop.py gptme/tools/patch.py gptme/tools/complete.py gptme/tools/save.py gptme/tools/shell_validation.py gptme/tools/lessons.py gptme/tools/mcp_adapter.py gptme/tools/_browser_lynx.py gptme/tools/recall.py gptme/tools/_computer_gate.py gptme/tools/subagent/concurrency.py gptme/tools/subagent/control.py gptme/tools/subagent/drain.py gptme/tools/subagent/api.py gptme/tools/subagent/context.py gptme/tools/subagent/persistence.py gptme/tools/subagent/execution.py gptme/tools/subagent/types.py gptme/tools/subagent/hooks.py gptme/tools/subagent/__init__.py gptme/tools/subagent/batch.py gptme/tools/morph.py gptme/tools/screenshot.py gptme/tools/_browser_playwright.py gptme/tools/gh.py gptme/tools/python_kernel.py gptme/tools/elicit.py gptme/tools/tmux.py gptme/tools/computer_semantic.py gptme/tools/precommit.py gptme/tools/_browser_perplexity.py gptme/tools/rag.py gptme/tools/_browser_thread.py gptme/tools/computer_transport.py gptme/tools/restart.py gptme/tools/shell_background.py gptme/tools/_url_safety.py gptme/tools/vent.py gptme/tools/mcp.py gptme/tools/computer.py gptme/tools/memory.py gptme/tools/shell_flags.py gptme/tools/chats.py gptme/tools/request_tool_change.py gptme/tools/pruner.py gptme/tools/shell.py gptme/tools/progress.py gptme/tools/base.py gptme/tools/_hashline_snapshot.py gptme/tools/clarify.py gptme/tools/convert.py gptme/tools/read.py gptme/tools/autocompact/context_provider.py gptme/tools/autocompact/handlers.py gptme/tools/autocompact/engine.py gptme/tools/autocompact/recovery.py gptme/tools/autocompact/scoring.py gptme/tools/autocompact/native_anthropic.py gptme/tools/autocompact/resume.py gptme/tools/autocompact/config.py gptme/tools/autocompact/events.py gptme/tools/autocompact/__init__.py gptme/tools/autocompact/hook.py gptme/tools/autocompact/decision.py gptme/tools/python.py gptme/tools/hashline_edit.py gptme/tools/browser.py gptme/tools/_allowlist.py gptme/tools/choice.py gptme/tools/patch_many.py gptme/tools/__init__.py gptme/tools/native_names.py gptme/tools/autocommit.py gptme/tools/vision.py gptme/tools/todo.py gptme/tools/watch.py gptme/tools/yield_checkpoint.py gptme/tools/form.py gptme/tools/_browser_format.py gptme/tools/shell_memory.py gptme/credentials.py gptme/codeblock.py gptme/status_provider.py gptme/acp/client.py gptme/acp/agent.py gptme/acp/types.py gptme/acp/__main__.py gptme/acp/__init__.py gptme/acp/adapter.py gptme/commands/session.py gptme/commands/snapshot.py gptme/commands/llm.py gptme/commands/rag.py gptme/commands/account.py gptme/commands/base.py gptme/commands/export.py gptme/commands/backtrack.py gptme/commands/__init__.py gptme/commands/meta.py gptme/commands/checkpoint.py gptme/prompt_queue.py gptme/attestation.py gptme/logmanager/eventlog.py gptme/logmanager/manager.py gptme/logmanager/durability.py gptme/logmanager/conv_checkpoints.py gptme/logmanager/conversations.py gptme/logmanager/fork.py gptme/logmanager/cleanup.py gptme/logmanager/__init__.py gptme/logmanager/locking.py gptme/hooks/peer_messages.py gptme/hooks/dirty_diff.py gptme/hooks/anomaly_watchdog.py gptme/hooks/time_awareness.py gptme/hooks/elicitation.py gptme/hooks/confirm.py gptme/hooks/guardrails.py gptme/hooks/_credential_output.py gptme/hooks/cli_confirm.py gptme/hooks/cwd_awareness.py gptme/hooks/mcp_namespace_hint.py gptme/hooks/registry.py gptme/hooks/injection_screening.py gptme/hooks/server_elicit.py gptme/hooks/_secret_reach.py gptme/hooks/auto_confirm.py gptme/hooks/types.py gptme/hooks/agents_md_inject.py gptme/hooks/form_autodetect.py gptme/hooks/test.py gptme/hooks/server_confirm.py gptme/hooks/tool_target_instructions.py gptme/hooks/cost_awareness.py gptme/hooks/cache_awareness.py gptme/hooks/markdown_validation.py gptme/hooks/token_awareness.py gptme/hooks/script.py gptme/hooks/workspace_agents.py gptme/hooks/_policy_block.py gptme/hooks/__init__.py gptme/hooks/knowledge_inject.py gptme/hooks/auto_snapshots.py gptme/hooks/cwd_changed.py gptme/hooks/tests/test_auto_confirm.py gptme/hooks/tests/test_cli_confirm.py gptme/hooks/tests/test_confirm.py gptme/hooks/tests/test_agents_md_inject.py gptme/hooks/tests/test_workspace_agents.py gptme/hooks/tests/test_cache_awareness.py gptme/hooks/tests/test_guardrails.py gptme/hooks/tests/test_server_elicit.py gptme/hooks/tests/test_server_confirm.py gptme/hooks/tests/test_tool_target_instructions.py gptme/hooks/tests/test_token_awareness.py gptme/hooks/tests/test_elicitation.py gptme/hooks/tests/test_cost_awareness.py gptme/hooks/tests/test_anomaly_watchdog.py gptme/hooks/tests/test_aw_watcher_agent.py gptme/hooks/tests/test_active_context.py gptme/hooks/tests/test_markdown_validation.py gptme/hooks/tests/test_form_autodetect.py gptme/hooks/tests/test_time_awareness.py gptme/hooks/tests/__init__.py gptme/hooks/tests/test_cwd_awareness.py gptme/hooks/tests/test_injection_screening.py gptme/hooks/active_context.py gptme/hooks/aw_watcher_agent.py gptme/__main__.py gptme/info.py gptme/init.py gptme/dirs.py gptme/oauth/__init__.py gptme/oauth/openrouter.py gptme/message.py gptme/k_best.py gptme/llm/llm_mock.py gptme/llm/utils.py gptme/llm/models/recommended.py gptme/llm/models/types.py gptme/llm/models/listing.py gptme/llm/models/data.py gptme/llm/models/__init__.py gptme/llm/models/resolution.py gptme/llm/llm_anthropic_models_deprecated.py gptme/llm/llm_openai_subscription.py gptme/llm/recovery.py gptme/llm/constants.py gptme/llm/retry_abort.py gptme/llm/retry_policy.py gptme/llm/llm_openai_models_deprecated.py gptme/llm/llm_openai_models.py gptme/llm/llm_grok_subscription.py gptme/llm/local_discovery.py gptme/llm/validate.py gptme/llm/llm_openrouter_subscription.py gptme/llm/request_limits.py gptme/llm/llm_gptme.py gptme/llm/responses_phase.py gptme/llm/llm_anthropic.py gptme/llm/llm_openai.py gptme/llm/__init__.py gptme/llm/openai_responses.py gptme/llm/provider_plugins.py gptme/llm/_degeneration.py gptme/__init__.py gptme/executor.py gptme/cli/setup.py gptme/cli/cmd_memory.py gptme/cli/cmd_skills.py gptme/cli/util.py gptme/cli/cmd_snapshot.py gptme/cli/cmd_dataset.py gptme/cli/cmd_agents.py gptme/cli/main.py gptme/cli/wut.py gptme/cli/doctor.py gptme/cli/cmd_batch.py gptme/cli/cmd_tutorial.py gptme/cli/cmd_review_pr.py gptme/cli/cmd_init.py gptme/cli/cmd_mcp.py gptme/cli/cmd_chats.py gptme/cli/cmd_resume.py gptme/cli/cmd_computer.py gptme/cli/cmd_knowledge.py gptme/cli/cmd_slop.py gptme/cli/cmd_status.py gptme/cli/cmd_stats.py gptme/cli/cmd_capabilities.py gptme/cli/cmd_hooks.py gptme/cli/auth.py gptme/cli/__init__.py gptme/cli/cmd_explain.py gptme/cli/cmd_attest.py gptme/cli/cmd_sound.py gptme/cli/onboard.py gptme/cli/cmd_review.py gptme/cli/cmd_mcp_serve.py gptme/cli/cmd_service.py gptme/cli/cmd_review_watch.py gptme/cli/checkpoint.py gptme/model_attestation.py gptme/profiles.py gptme/plugins/entrypoints.py gptme/plugins/registry.py gptme/plugins/plugin.py gptme/plugins/__init__.py gptme/plugins/security.py gptme/tui/main.py gptme/tui/app.py gptme/tui/__init__.py gptme/tui/statusline.py gptme/server/api_v2_common.py gptme/server/computer_api.py gptme/server/openapi_docs.py gptme/server/cli.py gptme/server/api_v2.py gptme/server/panels_api.py gptme/server/skills_api.py gptme/server/app.py gptme/server/constants.py gptme/server/token_file.py gptme/server/external_sessions.py gptme/server/a2a_api.py gptme/server/client.py gptme/server/metrics.py gptme/server/tts_api.py gptme/server/session_models.py gptme/server/__main__.py gptme/server/tasks_api.py gptme/server/auth.py gptme/server/__init__.py gptme/server/workspace_api.py gptme/server/preview_proxy_api.py gptme/server/tools_api.py gptme/server/api_v2_sessions.py gptme/server/acp_session_runtime.py gptme/server/api_v2_agents.py gptme/server/session_step.py gptme/server/artifacts_api.py gptme/agent/service.py gptme/agent/workspace.py gptme/agent/cli.py gptme/agent/doctor.py gptme/agent/__init__.py gptme/peers.py gptme/workspace_snapshot.py gptme/eval/execenv.py gptme/eval/run.py gptme/eval/main.py gptme/eval/filestore.py gptme/eval/tbench/run.py gptme/eval/tbench/agent.py gptme/eval/tbench/__init__.py gptme/eval/swebench/utils.py gptme/eval/swebench/main.py gptme/eval/swebench/evaluate.py gptme/eval/swebench/__main__.py gptme/eval/swebench/info.py gptme/eval/swebench/__init__.py gptme/eval/swebench/retrieval.py gptme/eval/types.py gptme/eval/agents/swebench.py gptme/eval/agents/__init__.py gptme/eval/agents/claude_code.py gptme/eval/cost.py gptme/eval/pass_rate_gate.py gptme/eval/__main__.py gptme/eval/suites/practical7.py gptme/eval/suites/practical30.py gptme/eval/suites/practical26.py gptme/eval/suites/practical20.py gptme/eval/suites/practical2.py gptme/eval/suites/practical25.py gptme/eval/suites/practical22.py gptme/eval/suites/practical11.py gptme/eval/suites/init_projects.py gptme/eval/suites/practical6.py gptme/eval/suites/practical28.py gptme/eval/suites/practical24.py gptme/eval/suites/practical33.py gptme/eval/suites/practical13.py gptme/eval/suites/practical5.py gptme/eval/suites/computer.py gptme/eval/suites/practical16.py gptme/eval/suites/practical18.py gptme/eval/suites/practical.py gptme/eval/suites/practical3.py gptme/eval/suites/practical8.py gptme/eval/suites/practical12.py gptme/eval/suites/practical23.py gptme/eval/suites/practical32.py gptme/eval/suites/practical15.py gptme/eval/suites/practical14.py gptme/eval/suites/practical19.py gptme/eval/suites/practical21.py gptme/eval/suites/practical29.py gptme/eval/suites/browser.py gptme/eval/suites/practical17.py gptme/eval/suites/practical31.py gptme/eval/suites/behavioral/implement_event_emitter.py gptme/eval/suites/behavioral/fix_data_mutation.py gptme/eval/suites/behavioral/circuit_breaker.py gptme/eval/suites/behavioral/add_logging.py gptme/eval/suites/behavioral/root_cause_pipeline_debug.py gptme/eval/suites/behavioral/fix_mutable_default.py gptme/eval/suites/behavioral/merge_conflict_resolution.py gptme/eval/suites/behavioral/stage_new_files.py gptme/eval/suites/behavioral/implement_priority_queue.py gptme/eval/suites/behavioral/noisy_worktree_fix.py gptme/eval/suites/behavioral/extract_function_refactor.py gptme/eval/suites/behavioral/refactor_for_testability.py gptme/eval/suites/behavioral/add_docstrings.py gptme/eval/suites/behavioral/git_selective_commit.py gptme/eval/suites/behavioral/remove_dead_code.py gptme/eval/suites/behavioral/_common.py gptme/eval/suites/behavioral/add_deprecation_warning.py gptme/eval/suites/behavioral/validate_user_input.py gptme/eval/suites/behavioral/add_type_hints.py gptme/eval/suites/behavioral/test_driven_error_handling.py gptme/eval/suites/behavioral/scope_discipline_bugfix.py gptme/eval/suites/behavioral/add_feature_preserve_default.py gptme/eval/suites/behavioral/rate_limiting.py gptme/eval/suites/behavioral/implement_memoization.py gptme/eval/suites/behavioral/iterative_debug.py gptme/eval/suites/behavioral/bounded_bugfix_with_decoys.py gptme/eval/suites/behavioral/write_test_suite.py gptme/eval/suites/behavioral/debug_data_pipeline.py gptme/eval/suites/behavioral/retry_with_backoff.py gptme/eval/suites/behavioral/__init__.py gptme/eval/suites/behavioral/optimize_n_squared.py gptme/eval/suites/behavioral/handle_specific_exception.py gptme/eval/suites/behavioral/multi_file_rename.py gptme/eval/suites/behavioral/minimal_feature_preserve_default_with_decoys.py gptme/eval/suites/behavioral/use_existing_helper.py gptme/eval/suites/behavioral/implement_lru_cache.py gptme/eval/suites/behavioral/fix_security_path_traversal.py gptme/eval/suites/__init__.py gptme/eval/suites/subagent.py gptme/eval/suites/basic.py gptme/eval/suites/constraint_satisfaction.py gptme/eval/suites/practical9.py gptme/eval/suites/practical4.py gptme/eval/suites/practical27.py gptme/eval/suites/practical10.py gptme/eval/__init__.py gptme/eval/leaderboard.py gptme/eval/swe_extra/swe_bench_test_spec.py gptme/eval/swe_extra/swe_bench_extra_data.py gptme/eval/swe_extra/run_swe_extra.py gptme/eval/swe_extra/__init__.py gptme/eval/swe_extra/swe_bench_constants.py gptme/eval/trends.py gptme/eval/dspy/cli.py gptme/eval/dspy/metrics.py gptme/eval/dspy/__main__.py gptme/eval/dspy/tasks.py gptme/eval/dspy/hybrid_optimizer.py gptme/eval/dspy/__init__.py gptme/eval/dspy/experiments.py gptme/eval/dspy/signatures.py gptme/eval/dspy/prompt_optimizer.py gptme/checkpoint.py tests/test_tools_request_tool_change.py tests/test_llm_auth.py tests/test_file_publication.py tests/test_util_clipboard_paste.py tests/test_tui_frames.py tests/test_tools_convert_publication.py tests/test_check_model_freshness.py tests/test_tui_skill_events.py tests/test_llm_utils.py tests/test_prompt_tools.py tests/test_docker_lockfile.py tests/test_minimax_models.py tests/test_cli_hooks_settings_shape.py tests/test_cli_fatal_error_envelope.py tests/test_tools_restart.py tests/test_shell_issue772.py tests/test_confirmation_header_tui.py tests/test_tui_conversation_name.py tests/test_eval_tool_efficiency.py tests/test_codeblock.py tests/test_shell_parser.py tests/test_responses_phase.py tests/test_llm_openai_subscription.py tests/test_hooks_cwd_changed.py tests/test_chat_transient_recovery.py tests/test_server_v2_sse.py tests/test_computer_x11_integration.py tests/test_browser_markdown_literals.py tests/test_cli_non_utf8_input.py tests/test_tools_parameter_conformance.py tests/test_tools_pruner.py tests/test_memory_migrate_knowledge.py tests/test_python_kernel_raster.py tests/test_setup_api_key.py tests/test_subagent_planner_roles.py tests/test_tools_convert_docx_literals.py tests/test_workspace_snapshot_namespace.py tests/test_guardrail_secret_reach.py tests/test_eval_behavioral.py tests/test_chats_json.py tests/test_util_review.py tests/test_openrouter_reported_cost.py tests/test_checkpoint.py tests/test_server_v2_hooks.py tests/test_eval_practical19.py tests/test_workspace_snapshot.py tests/test_message.py tests/test_auto_naming.py tests/test_chats_stats.py tests/test_sdk_recovery_redirects.py tests/test_execute_msg_defensive.py tests/test_responses_partial_tools.py tests/test_peers.py tests/test_docs_tool_formats_coverage.py tests/test_shell_allowlist_autoconfirm.py tests/context/test_adaptive_compressor.py tests/context/test_task_analyzer.py tests/test_browser_blockage.py tests/lessons/test_wildcard_matching.py tests/lessons/test_bm25_parity.py tests/test_tools_convert_video_filenames.py tests/test_lessons_selector.py tests/test_subagent_unit.py tests/test_subagent_yield.py tests/test_shell_stream_oneshot.py tests/test_chats_matching_snippets.py tests/test_agent_service_timeouts.py tests/test_lessons_parser.py tests/test_timings.py tests/test_tools_convert_sources.py tests/fixtures/hol_guard_shell_hook.py tests/fixtures/retry_server.py tests/fixtures/provider_test_scaffold.py tests/test_mcp_server.py tests/test_util_cli_attest.py tests/test_tools_form.py tests/test_server_workspace.py tests/test_memory_scope_execution.py tests/test_server_default_profile.py tests/test_agents_md_inject.py tests/test_server_panels.py tests/test_anti_slop.py tests/test_util_cli_skills.py tests/test_tui_program_status.py tests/test_lessons_matcher.py tests/test_preview_proxy.py tests/test_tools_computer.py tests/test_tools_python.py tests/test_tauri_apt_setup.py tests/test_cli_sound.py tests/test_tools_precommit.py tests/test_tui_before_tool_execution.py tests/test_tools_convert_literal_paths.py tests/test_plugin_security.py tests/test_terminal_startup_latency.py tests/test_dirs.py tests/test_workspace_agents.py tests/test_util_terminal.py tests/test_foreground_output_dedup.py tests/test_tools_elicit.py tests/test_snapshot_command.py tests/test_shell_memory.py tests/test_tools_patch_many.py tests/test_lessons_auto_include.py tests/test_server_skill_events.py tests/test_memory_index_policy.py tests/test_computer_semantic_fixtures.py tests/test_commands.py tests/test_cli.py tests/test_browser.py tests/test_cli_completion.py tests/test_recovery_stream_overload.py tests/test_computer_task.py tests/test_credential_output_integration.py tests/test_uri.py tests/test_computer_actions.py tests/test_hooks.py tests/test_tools_rag.py tests/test_util_context_savings.py tests/test_noninteractive_drain.py tests/test_docs_structure.py tests/test_compaction_reminder.py tests/test_logmanager_corrupt_lines.py tests/test_util_output_storage.py tests/test_shell_output_mixing_issue408.py tests/test_acp_session_runtime.py tests/test_llm_image_attachments.py tests/test_context_budget.py tests/test_acp_protocol_logging.py tests/test_url_safety.py tests/test_lessons_status.py tests/test_prompt_skills_summary.py tests/test_browser_session_persistence.py tests/test_generation_pre_snapshot_boundary.py tests/test_server_v2.py tests/test_shell_completion_wait.py tests/test_chat_config_readonly.py tests/test_mcp_discovery.py tests/test_computer_demo_cmd.py tests/test_browser_open_page_session.py tests/test_tools_choice.py tests/test_init.py tests/test_subagent_drain_cancel.py tests/test_browser_navigation.py tests/test_recovery_nested_budget.py tests/test_llm_openai_sampling.py tests/test_message_command.py tests/test_local_discovery.py tests/test_block_budget.py tests/test_provider_plugins.py tests/test_util_install.py tests/test_tui.py tests/test_custom_providers.py tests/test_chats_export.py tests/test_lessons_index.py tests/test_tools_token_awareness.py tests/test_util_generate_name.py tests/test_master_context.py tests/test_overflow_recovery.py tests/test_skill_events.py tests/test_tools_precommit_paths.py tests/test_subagent_summary.py tests/test_memory_cli_metadata.py tests/test_memory_tool.py tests/test_tools_convert_document_publication.py tests/test_gptme_token_publication.py tests/test_prompt_queue.py tests/test_shell_for_loop_issue724.py tests/test_conversations.py tests/test_eval_leaderboard.py tests/test_prompt_templates.py tests/test_config.py tests/test_computer_risk_streaming.py tests/test_chats_native_snippets.py tests/test_tools_browser.py tests/test_tools_patch_many_confirmation.py tests/test_python_kernel_stdin.py tests/test_tools_gh.py tests/test_execenv.py tests/test_tools_chats.py tests/test_computer_record.py tests/test_tasks_api.py tests/retry_compat.py tests/test_ephemeral.py tests/test_shell_foreground_promotion.py tests/test_completion_verification.py tests/test_util_keyword_matching.py tests/test_screenshot.py tests/test_util_context_dedup.py tests/test_server_cli_tools.py tests/test_browser_screenshot.py tests/test_tool_description_cap.py tests/test_hooks_knowledge_inject.py tests/test_track_tokens.py tests/test_compaction_native_anthropic.py tests/test_patch_exact_uniqueness.py tests/test_acp_recovery.py tests/test_util_cli_review_watch.py tests/test_tools_mcp.py tests/test_constants.py tests/test_session.py tests/test_acp_e2e_smoke.py tests/test_program_status.py tests/test_git_worktree_inspection.py tests/test_build_apt_retry.py tests/test_server_elicitation.py tests/test_setup_completions.py tests/test_tools_vision.py tests/test_server_subscription_connect.py tests/test_perf_tui.py tests/test_telemetry.py tests/test_eval_constraint_satisfaction.py tests/test_tui_completion.py tests/test_perf.py tests/test_tools_convert_percent_inputs.py tests/test_llm_summarize_terminal_projection.py tests/test_cli_llm_generate.py tests/test_tools_screenshot.py tests/test_browser_lynx.py tests/test_capabilities_export.py tests/test_tui_literal_thinking.py tests/test_computer_gate.py tests/test_tools_todo.py tests/test_guardrail_hook.py tests/test_tool_loading_duplicate.py tests/test_hooks_form_autodetect.py tests/test_agent_merge_project_config.py tests/test_native_tool_names.py tests/test_shell_state_contract.py tests/test_search_alias.py tests/test_cwe214_docker_env_leak.py tests/test_browser_markdown_packaging.py tests/test_server_v2_sessions.py tests/test_server_artifacts.py tests/conftest.py tests/test_context_status.py tests/test_tui_peer_wake.py tests/test_responses_stream_errors.py tests/test_shell_escaped_pipes.py tests/test_tree.py tests/test_computer_audit.py tests/test_llm_generation_recovery.py tests/test_appimage_release.py tests/test_mcp_adapter.py tests/test_shell_redact_secrets.py tests/test_commands_account.py tests/test_agent_workspace_timeouts.py tests/test_file_selector_integration.py tests/test_tools_subagent.py tests/test_eval_computer_suite.py tests/test_useredit.py tests/test_python_kernel_raster_limits.py tests/test_cli_peers.py tests/test_eval_claude_code.py tests/test_tools_tmux_quoting.py tests/test_llm_retry_policy.py tests/test_sdk_stream_terminal.py tests/test_browser_github_routing.py tests/test_tui_work_acceptance.py tests/test_swebench_utils.py tests/test_backtrack_identity.py tests/test_chat_turn_boundary.py tests/test_computer_docker_config.py tests/test_llm_models.py tests/test_eval_practical18.py tests/test_cc_memory.py tests/test_util_hooks.py tests/test_tui_e2e.py tests/test_tools_shell.py tests/test_restart_argv.py tests/test_cli_context_files.py tests/test_browser_format.py tests/test_subagent_tool_format.py tests/test_server_api_v2_common.py tests/test_acp_client.py tests/test_doctor.py tests/test_browser_state_load_failure.py tests/test_project_config_list_types.py tests/test_tools_convert.py tests/test_confirmation_header.py tests/test_pytest_timeout_retry_interaction.py tests/test_subagent_concurrency.py tests/test_computer_artifacts.py tests/test_knowledge.py tests/test_release_preflight.py tests/test_llm_empty_stream.py tests/test_xml_format.py tests/test_tools_shell_validation.py tests/test_llm_anthropic.py tests/test_lessons.py tests/test_hooks_server_confirm.py tests/test_lessons_emissions.py tests/test_server_v2_auto_stepping.py tests/test_agent_memory.py tests/test_prompt.py tests/test_eval_practical16.py tests/test_save_confirmation_baseline.py tests/test_chats_rename.py tests/test_served_model_metadata.py tests/test_agent.py tests/test_build_distribution.py tests/test_server_client.py tests/test_cost_cache_cold_warning.py tests/test_tools.py tests/test_compaction_measurement.py tests/test_tools_hashline_edit.py tests/test_server_path_traversal.py tests/test_logmanager_locking.py tests/test_memory_store.py tests/test_eval_trends.py tests/test_context_providers.py tests/test_conversation_metadata_readonly.py tests/test_server.py tests/test_quota_skip.py tests/test_server_perf.py tests/test_active_context.py tests/test_eval_pass_rate_gate.py tests/test_backtrack.py tests/test_acp_adapter.py tests/test_markdown_validation.py tests/test_shell_memory_limit.py tests/test_computer_run_task_cli.py tests/test_hooks_cache_awareness.py tests/test_command_completion.py tests/test_checkpoint_restart.py tests/test_tui_recovery.py tests/test_llm_anthropic_system_messages.py tests/test_tools_convert_orientation.py tests/test_computer_milestone_integration.py tests/test_tools_append_hooks.py tests/test_tools_convert_literal_inputs.py tests/test_vent.py tests/test_tui_output_collapse.py tests/test_github_ci_self_heal.py tests/test_server_session_models.py tests/test_util_cli_batch.py tests/test_llm_models_resolution.py tests/test_tools_time_awareness.py tests/test_replay.py tests/test_util_gh.py tests/test_tools_watch_run_utf8.py tests/test_llm_grok_subscription.py tests/test_lesson_hook_latency.py tests/test_tools_native_kwargs.py tests/test_server_v2_agents.py tests/test_browser_executable_path_env.py tests/test_oauth_openrouter.py tests/test_util_tree.py tests/test_shell_fd_leak.py tests/test_policy_block.py tests/test_hooks_dirty_diff.py tests/test_opencode_go.py tests/test_gptme_provider.py tests/test_chats_read.py tests/test_toolspec_read_only.py tests/test_summary_model.py tests/test_util_interrupt.py tests/test_python_streams.py tests/test_tutorial.py tests/test_llm_validate.py tests/test_shell_sigterm.py tests/test_server_auth.py tests/test_util_cli_batch_stop_metadata.py tests/test_compaction_recall.py tests/test_cli_context_non_utf8.py tests/test_chats_clean.py tests/test_k_best.py tests/test_unified_plugins.py tests/test_release_source.py tests/test_shell_output_boundaries.py tests/test_vision_transport.py tests/test_chats_external_search.py tests/test_config_encoding.py tests/test_util_tokens.py tests/test_cli_stats.py tests/test_config_workspace_publication.py tests/test_computer_doctor_cmd.py tests/test_tools_shell_multiline.py tests/test_skill_metrics.py tests/test_build_changelog.py tests/test_prompt_fragments.py tests/test_windows_signing.py tests/test_server_tts_api.py tests/test_tools_browser_thread.py tests/test_sandbox.py tests/test_attachment_loading.py tests/test_logmanager_fork_locking.py tests/test_cmd_init_toml_name.py tests/test_tools_complete.py tests/test_server_metrics.py tests/test_eval_practical17.py tests/test_cmd_service.py tests/test_tools_tmux.py tests/test_subscription_pricing.py tests/test_output_format.py tests/test_nvidia.py tests/test_subagent_integration.py tests/test_patch_literal_comments.py tests/test_execute_msg_hook_call_id.py tests/test_github_bot.py tests/test_cli_status.py tests/test_computer_use_integration.py tests/test_cost_tracker.py tests/test_work_snapshots.py tests/test_python_backend_selection.py tests/test_server_bad_input.py tests/test_credentials_integration.py tests/test_eval.py tests/test_skill_installer.py tests/test_llm_openai.py tests/test_compaction_review_regressions.py tests/test_chats_clean_safety.py tests/test_server_cors.py tests/test_config_trust.py tests/test_subagent_retention.py tests/test_subagent_stale_cancel.py tests/test_transcript_durability.py tests/test_browser_reconnect_owner.py tests/test_tools_morph.py tests/test_user_config_isolation.py tests/thread_leak.py tests/test_workspace_api.py tests/test_tools_autocommit.py tests/test_config_validate.py tests/test_eval_timeouts.py tests/test_knowledge_subprocess.py tests/test_server_config_workspace_containment.py tests/test_tools_tmux_native_panes.py tests/test_auto_compact.py tests/test_hooks_mcp_namespace_hint.py tests/test_util_export.py tests/test_model_selection_trace_export.py tests/test_profiles.py tests/test_credential_output.py tests/test_cli_mcp_cleanup.py tests/test_shell_issue729.py tests/test_prompts.py tests/test_pdf_to_images.py tests/test_computer_settle.py tests/test_cli_explain.py tests/test_shell_restart.py tests/test_integration_phase4.py tests/test_llm_request_limits.py tests/test_eval_swebench.py tests/test_util_gh_mocked.py tests/test_server_cli_fallback.py tests/test_util_tool_format.py tests/test_util_cli_generate.py tests/test_browser_navigation_live.py tests/test_mcp_client_env.py tests/test_lessons_commands.py tests/test_tools_tmux_compounds.py tests/test_agent_fork_command.py tests/test_server_startup.py tests/test_server_v2_tool_confirmation.py tests/test_utils.py tests/test_cli_confirm_hook.py tests/test_git_worktree.py tests/test_morph_source_admission.py tests/test_eval_subagent.py tests/test_tools_convert_tiff.py tests/test_chat_history.py tests/test_webui_redirects.py tests/test_peer_messages_hook.py tests/test_server_host_validation.py tests/test_util_file_storage.py tests/test_tools_base.py tests/test_plugins.py tests/test_relevance_pruning.py tests/test_subagent_shell_pgid_kill.py tests/test_snapshot_list.py tests/test_dspy_integration.py tests/test_subagent_parent_isolation.py tests/test_tui_visual.py tests/test_cli_auth.py tests/test_tools_convert_pdf_first_page.py tests/test_misc_subprocess_timeouts.py tests/test_computer_latency_cmd.py tests/test_tools_save.py tests/test_logmanager_reader_context.py tests/test_server_audio_transcription.py tests/test_agent_doctor.py tests/test_dependabot_automerge.py tests/test_git_cmd_resolver.py tests/test_util_cli_models.py tests/test_subagent_persistence.py tests/test_context_selector.py tests/test_acp_types.py tests/test_server_webui_dir.py tests/test_script_hooks.py tests/test_cli_resume.py tests/test_computer_screenshot_cli.py tests/test_computer_video_frames_cli.py tests/test_util_cli_mcp.py tests/test_reduce.py tests/test_util_cli.py tests/test_entrypoints.py tests/test_commands_llm.py tests/test_model_attestation.py tests/test_server_peer_wake.py tests/test_context_scout.py tests/test_eventlog.py tests/test_dspy_hybrid.py tests/test_util_content.py tests/test_browser_state_publication.py tests/test_util.py tests/test_subagent_worktree_isolation.py tests/test_openrouter_pricing_overrides.py tests/test_openrouter_cache_pricing.py tests/test_llm_mock.py tests/test_dataset_history.py tests/test_tui_work_unread.py tests/test_json_output.py tests/test_util_cli_providers.py tests/test_server_parent_death_watcher.py tests/test_chat_config.py tests/test_tools_todo_isolation.py tests/test_acp_agent.py tests/test_memory_match.py tests/test_lessons_frontmatter_name_type.py tests/test_context.py tests/test_subagent_budget.py tests/test_tools_write_encoding.py tests/test_eval_behavioral_solutions.py tests/test_server_skills_api.py tests/test_logmanager.py tests/test_skill_install_replacement.py tests/test_check_rst_formatting.py tests/test_commands_rag.py tests/test_util_cost.py tests/test_server_tools_query.py tests/test_executor.py tests/test_hol_guard_shell_hook.py tests/test_server_tools_allowlist.py tests/test_acp_stdout.py tests/test_tools_gh_pagination.py tests/test_dspy_gepa.py tests/test_treeofthoughts.py tests/test_tools_watch_timer_deadline.py tests/test_tool_memory_native.py tests/test_llm_retry_abort.py tests/test_cli_init.py tests/test_credentials.py tests/test_eval_swebench_retrieval.py tests/test_complete.py tests/test_cli_elicitation.py tests/test_util_safety.py tests/test_tool_preview_content.py tests/test_tool_conditionals.py tests/test_hashline_confirmation_ownership.py tests/test_shell_high_fd.py tests/test_tools_read_range_decoding.py tests/test_import_boundaries.py tests/test_validate_release_package.py tests/test_tools_watch.py tests/test_dataset.py tests/test_tools_read.py tests/test_logs_home_isolation.py tests/test_llm_openai_reasoning_effort.py tests/test_eval_practical20.py tests/test_python_support.py tests/test_circuit_breaker.py tests/test_subagent_outcome_review.py tests/test_hooks_registry.py tests/test_info.py tests/test_server_fresh_bad_input.py tests/test_tools_gh_merge_guards.py tests/test_lessons_tool.py tests/test_tool_use.py tests/test_hooks_cost_awareness.py tests/test_skill_commands.py tests/test_block_budget_server.py tests/test_openai_responses_input.py tests/test_mcp.py tests/test_eval_format_routing.py tests/test_subagent_log_lock.py tests/test_package_exports.py tests/test_thread_leak.py tests/test_cli_from_turn.py tests/test_tools_convert_docx_hyperlinks.py tests/test_external_sessions.py tests/test_server_etag.py tests/test_shell_max_output_bytes.py tests/test_lessons_integration.py tests/test_util_export_browser.py tests/test_shell_job_spool.py tests/test_tui_work_view.py tests/test_workspace_memory_policy.py tests/test_subscription_terminal_recovery.py tests/test_session_allowlist_isolation.py tests/test_subagent_roundtrip.py tests/test_browser_state.py tests/test_demo_capture.py tests/test_dspy_basic.py tests/test_tools_python_kernel.py tests/test_hybrid_lessons.py tests/test_tools_vision_exif.py tests/test_python_kernel_review_regressions.py tests/test_cost_display.py tests/test_pytest_retry_tmp_path_interaction.py tests/test_recovery_strict_exhaustion.py tests/test_onboard.py tests/test_cost_awareness_delayed_warning.py tests/test_server_a2a.py tests/test_subagent_writer_lock.py tests/test_explicit_attachments.py tests/test_shell_completion_loop.py tests/test_shell_background.py tests/test_fold_mid_system.py tests/test_computer_transport.py tests/test_autocompact_scoring.py tests/test_tools_lessons.py tests/test_chat.py tests/test_tools_convert_docx.py tests/test_computer_api.py tests/test_tools_patch.py scripts/auto_rename_logs.py scripts/demo_capture.py scripts/eval_trends.py scripts/analyze_compression.py scripts/eval_phase0_pruning.py scripts/measure_output_capture.py scripts/docs_structure.py scripts/validate_release_package.py scripts/train/collect.py scripts/check_docs_repo_links.py scripts/github_ci_self_heal.py scripts/treeofthoughts.py scripts/github_bot.py scripts/check_rst_formatting.py scripts/eval_leaderboard.py scripts/verify_cloudflare_pages_deep_links.py scripts/check_model_freshness.py scripts/smoke_frozen_server.py --by-file --hide-rate --quiet | tail -n +2
-------------------------------------------------------------------------------------------------------------------------------
File blank comment code
-------------------------------------------------------------------------------------------------------------------------------
tests/test_subagent_unit.py 1595 753 6518
tests/test_server_v2.py 1038 406 4655
tests/test_llm_openai.py 957 576 3893
tests/test_auto_compact.py 1065 574 3660
gptme/tui/app.py 547 1086 3542
tests/test_tui.py 694 365 3384
gptme/server/api_v2.py 545 503 3289
tests/test_util_review.py 616 419 3039
tests/test_tools_subagent.py 899 464 3006
gptme/tools/shell.py 404 770 2980
tests/test_doctor.py 596 241 2820
tests/test_config.py 674 648 2743
tests/test_server_v2_sessions.py 387 278 2728
gptme/llm/llm_openai.py 389 625 2246
tests/test_tools_shell.py 581 567 1970
gptme/cli/doctor.py 252 239 1908
tests/test_chat.py 510 290 1798
tests/test_codeblock.py 637 1141 1761
gptme/tools/shell_background.py 192 296 1731
tests/test_cli.py 459 186 1698
tests/test_memory_store.py 219 81 1685
tests/test_tools_complete.py 331 274 1684
gptme/tools/computer.py 437 867 1657
gptme/tools/subagent/api.py 250 604 1598
tests/test_init.py 258 147 1597
tests/test_util_cli.py 415 246 1593
gptme/cli/cmd_computer.py 242 295 1577
gptme/cli/util.py 328 318 1531
tests/test_tools_watch.py 256 67 1522
gptme/server/session_step.py 221 509 1494
tests/test_acp_agent.py 410 197 1490
tests/test_util_gh.py 289 196 1417
tests/test_tools_convert.py 318 144 1394
tests/test_tools_gh.py 206 103 1379
tests/test_eval_behavioral.py 867 967 1357
gptme/cli/main.py 223 310 1339
tests/test_tools_shell_validation.py 383 258 1321
tests/test_tools_browser.py 359 80 1304
gptme/logmanager/manager.py 223 383 1291
tests/test_util_cli_review_watch.py 317 189 1283
tests/test_tools_todo_isolation.py 160 11 1265
gptme/tools/subagent/execution.py 218 521 1261
tests/test_tools_computer.py 438 271 1259
gptme/hooks/workspace_agents.py 238 155 1248
gptme/util/gh.py 248 319 1243
gptme/acp/agent.py 206 344 1233
tests/test_mcp_adapter.py 274 137 1222
gptme/llm/llm_anthropic.py 277 372 1216
tests/test_llm_anthropic.py 264 91 1194
tests/test_tools_hashline_edit.py 227 228 1170
tests/test_server.py 301 206 1147
gptme/chat.py 172 343 1146
gptme/tools/autocompact/resume.py 159 328 1112
tests/test_llm_utils.py 310 142 1108
gptme/hooks/tests/test_agents_md_inject.py 231 116 1098
gptme/tools/base.py 215 349 1090
gptme/tools/watch.py 155 208 1061
tests/test_tools_base.py 340 114 1054
gptme/tools/convert.py 156 154 1025
tests/test_eval.py 189 108 999
tests/test_shell_background.py 214 105 993
gptme/util/review.py 183 336 989
gptme/server/api_v2_sessions.py 134 203 982
tests/test_cmd_service.py 219 194 981
tests/test_info.py 183 78 972
tests/test_logmanager.py 270 192 970
tests/test_lessons_auto_include.py 256 220 968
gptme/llm/__init__.py 182 318 958
tests/test_tools_patch_many.py 190 114 958
gptme/hooks/tests/test_workspace_agents.py 193 49 956
tests/test_computer_audit.py 264 183 955
gptme/codeblock.py 96 488 954
gptme/tools/mcp_adapter.py 262 312 948
gptme/eval/main.py 110 133 944
gptme/server/openapi_docs.py 309 210 941
tests/test_dataset.py 192 50 930
gptme/tools/complete.py 167 288 928
tests/test_tools_python_kernel.py 303 122 926
tests/test_compaction_recall.py 187 17 902
gptme/util/context.py 182 303 893
tests/test_eval_leaderboard.py 126 104 883
gptme/cli/cmd_review_pr.py 148 342 882
tests/test_subagent_persistence.py 139 34 870
gptme/config/user.py 156 243 861
tests/test_noninteractive_drain.py 164 20 858
tests/test_llm_openai_subscription.py 186 80 853
tests/test_knowledge.py 323 71 842
gptme/tools/python_kernel.py 132 257 836
tests/test_tasks_api.py 185 69 831
gptme/tools/chats.py 140 176 830
tests/test_eval_computer_suite.py 328 149 819
tests/test_util_gh_mocked.py 157 122 819
gptme/tools/gh.py 155 166 818
tests/test_tools_precommit.py 136 98 818
gptme/eval/leaderboard.py 149 485 817
tests/test_prompt_templates.py 260 193 812
tests/test_cli_completion.py 128 4 808
tests/test_context.py 319 133 806
tests/test_tui_work_view.py 139 84 805
tests/test_sandbox.py 195 105 801
gptme/tools/_browser_playwright.py 253 327 795
tests/test_guardrail_secret_reach.py 163 81 791
tests/test_tools_lessons.py 164 58 788
gptme/llm/models/data.py 18 174 776
tests/test_cost_display.py 110 68 776
tests/test_shell_foreground_promotion.py 152 36 767
gptme/cli/cmd_memory.py 102 111 755
tests/test_acp_session_runtime.py 232 78 750
tests/test_server_workspace.py 149 154 743
gptme/eval/execenv.py 114 215 733
gptme/cli/cmd_review_watch.py 122 233 732
gptme/eval/suites/computer.py 111 245 732
tests/test_subagent_yield.py 103 76 731
gptme/cli/setup.py 154 74 723
tests/test_tools.py 240 120 722
gptme/tools/subagent/batch.py 135 482 721
gptme/tools/__init__.py 177 219 719
tests/test_eventlog.py 163 94 717
tests/test_hooks_registry.py 253 97 716
gptme/eval/suites/basic.py 138 55 715
tests/test_computer_transport.py 267 91 713
gptme/hooks/_secret_reach.py 50 72 711
gptme/server/session_models.py 111 225 709
tests/test_tools_restart.py 157 67 708
tests/test_agent.py 205 115 707
gptme/tools/browser.py 281 457 696
tests/test_message.py 230 148 692
gptme/llm/openai_responses.py 118 77 691
gptme/server/tasks_api.py 193 130 680
tests/test_tui_e2e.py 108 134 680
tests/test_llm_models_resolution.py 223 181 677
tests/test_relevance_pruning.py 266 134 672
gptme/tools/python.py 158 220 671
tests/test_gptme_provider.py 199 102 667
tests/test_memory_match.py 126 51 661
gptme/lessons/installer.py 151 179 653
gptme/tools/shell_validation.py 153 359 649
tests/test_commands.py 187 81 649
tests/test_json_output.py 114 84 643
tests/test_cli_status.py 246 138 642
tests/test_context_scout.py 109 89 641
gptme/eval/dspy/tasks.py 170 374 639
gptme/llm/llm_openai_subscription.py 148 175 637
gptme/util/completion_verification.py 81 28 635
tests/conftest.py 183 321 634
tests/test_server_session_models.py 206 159 631
tests/test_shell_job_spool.py 98 45 631
tests/test_subagent_retention.py 113 71 627
tests/test_tools_read.py 204 74 627
tests/test_subagent_budget.py 166 144 626
tests/test_skill_install_replacement.py 131 3 613
gptme/util/prompt.py 137 179 611
tests/test_prompts.py 179 111 611
tests/test_chat_transient_recovery.py 103 16 610
tests/test_config_validate.py 154 51 610
tests/test_explicit_attachments.py 84 9 609
tests/test_computer_doctor_cmd.py 88 58 607
tests/test_util_cli_mcp.py 141 71 604
gptme/lessons/index.py 153 196 599
tests/test_dirs.py 135 93 598
scripts/github_bot.py 109 107 597
gptme/hooks/tests/test_anomaly_watchdog.py 166 150 596
tests/test_mcp_server.py 139 49 596
gptme/eval/run.py 75 126 592
gptme/prompts/__init__.py 78 90 592
tests/test_unified_plugins.py 150 62 587
tests/test_server_panels.py 65 40 585
tests/test_server_subscription_connect.py 160 39 584
gptme/tools/subagent/types.py 112 278 583
tests/test_tui_completion.py 82 11 582
tests/test_tools_request_tool_change.py 117 43 578
gptme/cli/cmd_chats.py 112 100 576
tests/test_served_model_metadata.py 116 24 573
tests/test_shell_redact_secrets.py 113 44 569
tests/test_lessons_index.py 185 171 568
gptme/tools/computer_transport.py 151 125 567
gptme/memory/store.py 79 118 562
gptme/util/capabilities_export.py 60 71 560
gptme/tools/tmux.py 103 203 559
tests/test_llm_models.py 174 118 558
tests/test_util_hooks.py 116 113 554
gptme/server/a2a_api.py 103 46 551
tests/test_memory_index_policy.py 98 39 551
tests/test_eval_subagent.py 119 56 547
tests/test_computer_actions.py 165 125 546
tests/test_execenv.py 99 68 539
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_model_attestation.py 115 30 537
tests/test_memory_migrate_knowledge.py 82 30 534
tests/test_responses_phase.py 54 16 534
gptme/message.py 139 284 533
tests/test_reduce.py 140 161 533
tests/test_server_peer_wake.py 84 42 533
gptme/tools/subagent/hooks.py 108 174 530
tests/test_cc_memory.py 113 108 530
tests/test_hooks_cost_awareness.py 73 61 525
tests/test_server_bad_input.py 122 106 524
tests/test_lessons.py 156 153 517
gptme/tools/hashline_edit.py 128 416 513
gptme/prompts/workspace.py 75 153 509
tests/test_workspace_api.py 116 22 508
tests/test_capabilities_export.py 65 27 506
tests/test_file_publication.py 96 23 504
tests/test_mcp.py 138 77 504
gptme/hooks/registry.py 102 87 503
tests/test_checkpoint.py 131 26 503
tests/test_provider_plugins.py 110 43 501
tests/test_subagent_worktree_isolation.py 159 86 501
tests/test_overflow_recovery.py 72 8 498
gptme/server/workspace_api.py 101 104 497
gptme/dataset/trajectory_to_env.py 95 140 495
tests/test_config_workspace_publication.py 79 14 492
tests/test_conversations.py 70 44 492
gptme/tools/lessons.py 129 150 491
gptme/tools/autocompact/hook.py 60 164 487
tests/test_hooks_cache_awareness.py 151 44 484
tests/test_computer_demo_cmd.py 144 75 482
tests/test_snapshot_command.py 117 57 476
gptme/tools/todo.py 117 146 475
gptme/cli/cmd_hooks.py 119 110 472
gptme/hooks/tests/test_cost_awareness.py 84 53 472
tests/test_work_snapshots.py 97 24 472
tests/test_chats_stats.py 89 37 471
tests/test_plugin_security.py 96 37 471
tests/test_llm_openai_sampling.py 99 12 469
gptme/tools/read.py 66 107 462
tests/test_tools_save.py 124 42 462
tests/test_server_skill_events.py 58 4 461
tests/test_skill_installer.py 138 154 459
tests/test_llm_auth.py 153 55 458
gptme/telemetry.py 103 74 456
gptme/hooks/tests/test_time_awareness.py 95 75 455
tests/test_tools_time_awareness.py 152 59 453
scripts/check_rst_formatting.py 112 124 450
tests/test_tools_browser_thread.py 117 49 450
tests/test_cli_from_turn.py 81 23 447
scripts/analyze_compression.py 103 68 446
scripts/demo_capture.py 104 83 445
gptme/mcp/client.py 106 161 444
tests/test_hooks_dirty_diff.py 178 27 444
gptme/util/_telemetry.py 112 159 443
tests/test_telemetry.py 112 232 443
tests/test_tools_mcp.py 111 23 443
tests/test_python_kernel_raster.py 62 13 440
tests/test_util_cli_providers.py 93 42 438
gptme/plugins/security.py 72 148 437
gptme/lessons/auto_include.py 108 211 436
tests/test_cli_resume.py 100 22 436
tests/test_compaction_native_anthropic.py 78 23 436
tests/test_tools_rag.py 115 39 436
gptme/config/chat.py 68 130 433
tests/test_lesson_hook_latency.py 110 40 429
gptme/workspace_snapshot.py 54 70 425
tests/test_cost_tracker.py 50 27 424
tests/test_lessons_commands.py 157 82 422
gptme/tools/patch_many.py 63 82 421
tests/test_external_sessions.py 116 67 421
gptme/eval/dspy/prompt_optimizer.py 109 89 420
tests/test_chats_clean_safety.py 81 21 419
gptme/agent/workspace.py 131 231 418
tests/context/test_task_analyzer.py 90 44 418
gptme/cli/auth.py 84 56 417
tests/test_lessons_parser.py 188 239 417
gptme/cli/cmd_service.py 130 377 415
tests/test_server_artifacts.py 66 32 415
tests/test_llm_grok_subscription.py 121 28 414
gptme/tools/autocompact/engine.py 91 199 410
tests/test_tools_precommit_paths.py 56 25 407
gptme/util/cost_display.py 81 80 406
tests/test_lessons_matcher.py 104 87 406
tests/test_llm_validate.py 78 64 404
gptme/logmanager/conversations.py 91 136 402
gptme/llm/llm_openai_models.py 6 61 401
gptme/agent/service.py 108 103 400
tests/test_mcp_discovery.py 114 43 397
tests/test_tools_morph.py 101 70 396
tests/test_hybrid_lessons.py 100 58 395
tests/test_profiles.py 88 37 395
gptme/agent/cli.py 108 137 394
gptme/eval/suites/subagent.py 90 70 394
scripts/eval_phase0_pruning.py 74 107 394
gptme/tools/save.py 84 84 393
tests/test_computer_latency_cmd.py 93 42 393
gptme/agent/doctor.py 90 45 391
gptme/config/models.py 129 130 389
tests/test_chats_external_search.py 87 63 389
tests/test_tui_literal_thinking.py 52 3 386
tests/test_util_cli_attest.py 91 7 386
tests/test_guardrail_hook.py 95 74 385
tests/test_search_alias.py 65 56 385
tests/test_server_v2_auto_stepping.py 72 55 383
gptme/init.py 72 122 382
gptme/llm/llm_grok_subscription.py 94 81 379
gptme/tools/restart.py 94 126 379
tests/test_lessons_selector.py 55 38 374
gptme/hooks/anomaly_watchdog.py 138 213 373
gptme/server/external_sessions.py 59 92 372
gptme/cli/cmd_status.py 95 103 371
tests/test_github_ci_self_heal.py 71 6 371
tests/test_anti_slop.py 108 61 370
tests/test_preview_proxy.py 98 46 370
tests/test_server_v2_agents.py 67 28 370
tests/test_util_export.py 80 31 370
gptme/hooks/dirty_diff.py 59 108 369
tests/test_subagent_writer_lock.py 73 53 369
tests/test_lessons_emissions.py 59 3 368
gptme/hooks/tests/test_guardrails.py 116 58 367
gptme/info.py 98 80 365
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
tests/test_skill_commands.py 116 50 364
gptme/checkpoint.py 81 54 363
tests/test_replay.py 120 110 361
tests/test_subscription_terminal_recovery.py 42 5 360
tests/test_context_providers.py 183 121 356
tests/test_tui_work_acceptance.py 31 12 355
gptme/tools/subagent/__init__.py 67 227 353
tests/test_workspace_agents.py 154 59 353
tests/test_tools_convert_publication.py 55 17 352
gptme/llm/local_discovery.py 64 35 351
tests/test_complete.py 84 72 351
gptme/eval/dspy/experiments.py 94 60 350
gptme/hooks/tests/test_tool_target_instructions.py 61 50 350
gptme/sandbox.py 95 208 350
tests/test_computer_use_integration.py 140 143 349
scripts/docs_structure.py 61 25 348
gptme/hooks/tests/test_confirm.py 108 60 347
tests/test_dataset_history.py 43 36 347
gptme/eval/dspy/metrics.py 97 98 345
gptme/hooks/tests/test_elicitation.py 91 45 343
gptme/tools/mcp.py 103 103 340
tests/test_computer_semantic_fixtures.py 92 107 340
tests/test_hol_guard_shell_hook.py 52 10 340
tests/test_agent_doctor.py 74 35 338
gptme/hooks/cost_awareness.py 84 81 337
tests/test_completion_verification.py 78 1 337
tests/test_script_hooks.py 55 7 336
tests/test_eval_trends.py 35 22 335
tests/test_context_selector.py 94 48 334
tests/test_program_status.py 92 22 334
tests/test_llm_anthropic_system_messages.py 41 5 331
tests/test_tools_python.py 133 74 331
tests/test_tools_vision.py 65 40 331
gptme/util/safety.py 57 63 330
gptme/cli/cmd_knowledge.py 63 114 329
tests/test_minimax_models.py 37 6 328
gptme/eval/suites/practical.py 35 30 326
tests/test_llm_generation_recovery.py 82 2 326
tests/test_util_output_storage.py 83 18 326
tests/test_tools_tmux_quoting.py 33 8 325
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_util_safety.py 96 22 321
scripts/treeofthoughts.py 59 91 320
tests/test_workspace_snapshot.py 105 46 319
gptme/util/reduce.py 79 100 318
tests/test_browser_open_page_session.py 66 49 318
gptme/eval/trends.py 59 31 317
tests/test_util_cli_batch.py 64 12 317
gptme/hooks/time_awareness.py 66 95 316
gptme/tools/shell_flags.py 60 257 315
tests/test_util_cli_skills.py 118 89 315
gptme/context/scout.py 83 106 314
gptme/tools/_browser_thread.py 63 78 313
gptme/commands/llm.py 58 61 312
tests/test_skill_metrics.py 38 2 312
gptme/hooks/agents_md_inject.py 69 146 310
tests/test_browser.py 140 71 308
gptme/attestation.py 71 2 307
gptme/server/cli.py 56 105 307
gptme/server/preview_proxy_api.py 86 150 306
tests/test_hooks_knowledge_inject.py 74 6 305
tests/test_tool_memory_native.py 53 4 304
gptme/llm/validate.py 45 64 303
tests/test_llm_request_limits.py 55 2 301
tests/test_config_encoding.py 154 195 300
tests/test_llm_openai_reasoning_effort.py 87 19 300
gptme/util/output_storage.py 89 94 299
gptme/llm/models/listing.py 61 65 298
tests/context/test_adaptive_compressor.py 58 44 298
tests/test_responses_partial_tools.py 39 1 298
gptme/prompts/templates.py 70 154 297
gptme/plugins/__init__.py 101 133 295
tests/test_eval_swebench.py 78 41 294
tests/test_tui_frames.py 49 40 293
tests/test_plugins.py 110 85 292
tests/test_git_worktree.py 73 41 291
gptme/acp/client.py 67 127 290
gptme/knowledge.py 76 101 288
tests/test_tools_todo.py 133 84 288
gptme/cli/cmd_init.py 94 164 287
gptme/cli/cmd_skills.py 75 45 287
gptme/commands/snapshot.py 43 32 287
tests/lessons/test_wildcard_matching.py 114 125 287
gptme/hooks/tests/test_token_awareness.py 40 28 285
tests/test_hooks_server_confirm.py 78 33 285
gptme/tools/precommit.py 82 114 284
tests/test_server_a2a.py 64 20 283
gptme/eval/dspy/hybrid_optimizer.py 141 345 282
tests/test_util_tokens.py 130 71 282
gptme/eval/swe_extra/swe_bench_test_spec.py 53 29 280
tests/test_shell_completion_loop.py 26 11 280
tests/test_tui_work_unread.py 32 8 279
tests/test_util_file_storage.py 68 40 278
gptme/tools/patch.py 64 108 277
tests/test_auto_naming.py 80 48 277
tests/test_commands_llm.py 32 1 276
gptme/cli/onboard.py 73 79 275
tests/test_computer_video_frames_cli.py 67 12 274
tests/test_tool_conditionals.py 89 1 274
gptme/util/tool_display.py 36 23 273
tests/test_block_budget.py 56 48 273
tests/test_python_kernel_raster_limits.py 55 5 273
tests/test_transcript_durability.py 51 22 272
gptme/llm/models/resolution.py 62 86 271
tests/test_computer_docker_config.py 59 92 271
tests/test_hooks.py 130 49 271
gptme/tools/subagent/persistence.py 43 67 270
tests/test_subagent_outcome_review.py 39 5 269
tests/test_subagent_roundtrip.py 79 53 269
gptme/profiles.py 66 68 268
tests/test_tauri_apt_setup.py 29 19 267
gptme/cli/cmd_resume.py 48 42 266
tests/lessons/test_bm25_parity.py 67 70 266
tests/test_shell_completion_wait.py 47 5 266
tests/test_url_safety.py 113 38 266
gptme/hooks/elicitation.py 96 136 264
gptme/memory/schema.py 49 24 264
gptme/tools/rag.py 91 148 264
tests/test_compaction_review_regressions.py 45 13 264
tests/test_confirmation_header.py 42 1 262
tests/test_server_startup.py 39 65 261
gptme/anti_slop.py 43 112 260
tests/test_tools_parameter_conformance.py 54 79 260
tests/test_tui_peer_wake.py 33 4 260
tests/test_memory_scope_execution.py 36 2 259
tests/test_shell_restart.py 67 46 259
tests/test_tools_autocommit.py 99 47 259
gptme/llm/recovery.py 52 57 258
gptme/logmanager/eventlog.py 74 70 258
tests/test_terminal_startup_latency.py 77 32 257
gptme/eval/suites/constraint_satisfaction.py 101 196 256
tests/test_tool_use.py 60 66 255
tests/test_opencode_go.py 24 4 254
gptme/hooks/tests/test_form_autodetect.py 73 25 253
gptme/tools/autocompact/scoring.py 97 180 253
tests/test_custom_providers.py 74 103 253
tests/test_eval_claude_code.py 66 27 253
tests/test_lessons_integration.py 97 66 252
gptme/eval/suites/practical16.py 64 100 251
gptme/server/tools_api.py 58 49 250
tests/test_prompt_tools.py 57 30 249
tests/test_tools_screenshot.py 59 52 249
tests/test_vision_transport.py 39 4 249
tests/test_util_cli_models.py 43 44 248
gptme/hooks/tests/test_injection_screening.py 78 13 247
scripts/check_model_freshness.py 54 44 247
tests/test_skill_events.py 49 2 246
tests/test_agents_md_inject.py 44 40 245
tests/test_track_tokens.py 63 29 245
tests/test_subagent_stale_cancel.py 45 15 243
tests/test_util_clipboard_paste.py 55 30 243
tests/test_llm_retry_policy.py 90 19 242
tests/test_local_discovery.py 63 18 242
tests/test_tools_convert_tiff.py 20 10 242
tests/test_tools_patch_many_confirmation.py 47 4 242
gptme/hooks/__init__.py 22 51 241
tests/test_cli_context_files.py 31 23 241
tests/test_compaction_measurement.py 43 12 241
tests/test_responses_stream_errors.py 37 3 241
tests/test_tools_convert_sources.py 36 21 241
tests/test_computer_x11_integration.py 87 87 240
gptme/eval/swebench/main.py 32 23 239
gptme/commands/meta.py 54 20 238
gptme/context/task_analyzer.py 100 124 237
tests/test_model_selection_trace_export.py 70 19 237
tests/test_server_default_profile.py 78 44 236
gptme/cli/cmd_mcp.py 60 39 235
tests/test_tools_patch.py 118 226 235
gptme/tui/main.py 37 34 234
tests/test_cli_stats.py 62 27 234
gptme/context/adaptive_compressor.py 76 130 232
gptme/util/redact.py 61 199 232
tests/test_onboard.py 56 49 232
tests/test_util_cli_batch_stop_metadata.py 52 9 232
gptme/memory/match.py 61 76 231
tests/test_shell_allowlist_autoconfirm.py 58 62 231
gptme/llm/llm_gptme.py 74 136 230
gptme/lessons/parser.py 77 124 229
tests/test_computer_settle.py 90 78 228
gptme/config/validate.py 27 44 227
tests/test_hooks_cwd_changed.py 55 24 227
gptme/util/auto_naming.py 67 74 226
tests/test_chats_json.py 32 17 225
tests/test_cli_fatal_error_envelope.py 46 40 225
tests/test_release_source.py 20 10 225
gptme/mcp/registry.py 59 70 224
tests/test_server_fresh_bad_input.py 46 44 224
gptme/eval/suites/behavioral/__init__.py 9 11 223
gptme/model_attestation.py 63 78 223
gptme/prompt_queue.py 44 39 223
scripts/measure_output_capture.py 15 20 223
gptme/server/auth.py 77 118 222
gptme/server/computer_api.py 51 55 222
tests/test_tui_recovery.py 31 7 222
gptme/eval/suites/practical6.py 56 46 221
gptme/tools/yield_checkpoint.py 41 58 221
tests/test_browser_lynx.py 70 16 220
tests/test_server_tools_query.py 59 39 220
gptme/lessons/commands.py 91 48 219
gptme/lessons/selector.py 19 21 219
gptme/util/git_worktree.py 48 81 219
gptme/hooks/tests/test_cli_confirm.py 75 23 218
gptme/util/_sound_sounddevice.py 57 50 218
tests/test_sdk_stream_terminal.py 27 2 218
tests/test_util_keyword_matching.py 75 46 218
gptme/hooks/aw_watcher_agent.py 49 21 217
tests/test_chats_read.py 29 4 217
gptme/server/api_v2_common.py 113 96 216
tests/test_lessons_tool.py 62 34 216
tests/test_llm_retry_abort.py 85 62 216
gptme/commands/session.py 69 59 215
gptme/commands/base.py 71 80 214
gptme/cli/cmd_batch.py 32 6 213
gptme/config/cli_setup.py 37 61 213
gptme/eval/swe_extra/swe_bench_extra_data.py 69 51 213
tests/test_config_trust.py 94 43 212
tests/test_conversation_metadata_readonly.py 31 16 212
tests/test_perf.py 67 54 212
tests/test_tools_append_hooks.py 43 1 212
tests/test_context_budget.py 72 38 209
tests/test_executor.py 50 31 209
tests/test_server_api_v2_common.py 55 52 209
tests/test_workspace_memory_policy.py 40 3 209
gptme/eval/swebench/evaluate.py 39 61 208
gptme/lessons/skill_events.py 33 26 208
tests/test_autocompact_scoring.py 86 39 208
tests/test_browser_state.py 83 33 208
tests/test_server_v2_hooks.py 80 60 207
tests/test_cli_elicitation.py 45 2 206
tests/test_tui_skill_events.py 24 5 206
tests/test_oauth_openrouter.py 62 9 205
tests/test_openrouter_pricing_overrides.py 36 5 205
gptme/server/panels_api.py 51 51 204
tests/test_shell_stream_oneshot.py 71 44 204
gptme/hooks/guardrails.py 69 91 203
tests/test_perf_tui.py 57 51 203
tests/test_subagent_parent_isolation.py 56 30 202
gptme/eval/suites/practical7.py 57 81 201
gptme/hooks/auto_snapshots.py 51 66 201
tests/test_acp_client.py 72 36 201
gptme/util/sound.py 65 72 200
tests/test_recovery_stream_overload.py 27 3 200
tests/test_tutorial.py 85 7 200
tests/test_tools_tmux_compounds.py 37 1 199
gptme/hooks/tests/test_active_context.py 37 29 198
tests/test_browser_state_load_failure.py 19 6 198
tests/test_vent.py 39 10 198
gptme/tools/morph.py 43 56 197
gptme/util/export.py 40 42 197
gptme/hooks/tests/test_server_elicit.py 58 23 196
tests/test_chats_clean.py 46 18 196
tests/test_execute_msg_hook_call_id.py 70 52 196
tests/test_shell_memory.py 43 7 196
tests/test_subagent_summary.py 32 5 196
tests/test_util_interrupt.py 68 44 196
gptme/util/clipboard.py 26 19 193
tests/test_save_confirmation_baseline.py 32 1 193
tests/test_memory_tool.py 42 14 192
tests/test_tools_convert_percent_inputs.py 19 4 192
gptme/config/core.py 59 88 191
gptme/eval/suites/practical8.py 68 62 191
tests/test_shell_max_output_bytes.py 76 84 191
tests/test_tui_program_status.py 34 9 191
gptme/hooks/script.py 21 8 189
gptme/tools/memory.py 34 38 189
tests/test_computer_task.py 116 31 189
tests/test_credential_output_integration.py 34 25 189
tests/test_summary_model.py 46 3 189
gptme/tools/pruner.py 44 0 188
tests/test_misc_subprocess_timeouts.py 51 30 188
gptme/eval/agents/claude_code.py 41 33 187
gptme/memory/recall.py 35 14 187
gptme/hooks/tests/test_server_confirm.py 48 32 186
tests/test_file_selector_integration.py 53 24 186
tests/test_openai_responses_input.py 23 15 186
tests/test_tools_convert_docx.py 33 3 186
tests/test_tui_conversation_name.py 48 15 186
gptme/eval/suites/practical14.py 64 52 185
tests/test_tools_convert_docx_literals.py 19 3 185
gptme/mcp/server.py 51 68 184
gptme/tools/autocompact/recovery.py 25 37 184
tests/test_chats_matching_snippets.py 13 6 184
tests/test_native_tool_names.py 28 1 184
tests/test_tools_chats.py 43 22 184
tests/test_tools_gh_pagination.py 24 1 184
tests/test_workspace_snapshot_namespace.py 17 3 184
tests/test_computer_screenshot_cli.py 53 12 183
tests/test_fold_mid_system.py 74 43 183
tests/test_foreground_output_dedup.py 38 16 182
tests/test_k_best.py 76 23 182
tests/test_setup_completions.py 42 7 182
gptme/context/selector/file_selector.py 50 63 181
gptme/hooks/_credential_output.py 18 22 181
gptme/llm/responses_phase.py 22 29 181
gptme/cli/cmd_stats.py 51 36 180
gptme/tools/autocompact/events.py 30 25 179
tests/test_dspy_hybrid.py 65 45 179
tests/test_tools_tmux.py 77 65 179
tests/test_dspy_basic.py 66 44 177
gptme/cli/cmd_tutorial.py 50 37 176
gptme/eval/suites/practical4.py 47 24 176
gptme/llm/models/types.py 69 129 176
tests/test_sdk_recovery_redirects.py 15 2 176
gptme/util/tokens.py 54 76 175
tests/test_chats_native_snippets.py 31 2 175
tests/test_block_budget_server.py 22 11 174
tests/test_subagent_shell_pgid_kill.py 40 31 174
gptme/tools/request_tool_change.py 35 33 173
tests/test_tools_choice.py 59 26 173
tests/test_chats_export.py 48 17 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_toolspec_read_only.py 40 12 171
gptme/eval/agents/swebench.py 35 22 170
gptme/tools/shell_memory.py 37 29 170
tests/test_browser_navigation_live.py 28 9 170
gptme/server/acp_session_runtime.py 34 30 169
gptme/util/cost_tracker.py 56 99 169
gptme/util/tool_format.py 48 76 169
tests/test_tools_form.py 34 19 169
gptme/hooks/cache_awareness.py 118 186 168
gptme/oauth/openrouter.py 48 43 168
tests/test_util_terminal.py 52 34 168
tests/test_memory_cli_metadata.py 16 8 167
tests/test_python_streams.py 27 2 167
tests/test_tools_elicit.py 50 25 167
gptme/hooks/cli_confirm.py 52 59 165
gptme/llm/utils.py 56 92 165
gptme/tools/vision.py 38 49 165
gptme/eval/suites/practical2.py 46 18 164
tests/test_chat_config.py 65 51 164
tests/test_tui_visual.py 50 47 164
tests/test_uri.py 56 31 164
gptme/dirs.py 72 101 163
gptme/hooks/types.py 96 136 163
tests/test_backtrack.py 39 11 163
tests/test_util_cost.py 29 26 163
gptme/cli/cmd_dataset.py 26 31 162
gptme/llm/_degeneration.py 41 74 162
gptme/cli/cmd_explain.py 33 26 161
gptme/util/__init__.py 37 33 160
tests/test_acp_protocol_logging.py 56 15 160
tests/test_tree.py 64 40 160
gptme/server/app.py 41 145 159
gptme/eval/suites/practical3.py 27 19 158
tests/test_acp_stdout.py 76 37 158
tests/test_server_v2_tool_confirmation.py 33 33 158
gptme/llm/llm_openai_models_deprecated.py 5 14 157
gptme/tools/autocompact/handlers.py 32 31 157
gptme/tools/subagent/drain.py 34 54 157
tests/test_tools_convert_orientation.py 34 11 157
tests/test_commands_account.py 37 6 156
gptme/eval/suites/practical15.py 65 92 154
tests/test_eval_pass_rate_gate.py 48 9 154
tests/test_git_cmd_resolver.py 45 34 154
tests/test_patch_exact_uniqueness.py 19 2 153
tests/test_server_config_workspace_containment.py 42 46 153
tests/test_timings.py 66 50 153
tests/test_gptme_token_publication.py 34 26 152
tests/test_subagent_integration.py 48 21 152
gptme/commands/account.py 46 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_prompt_queue.py 48 17 151
tests/test_util_tree.py 44 33 151
gptme/lessons/skill_commands.py 47 58 149
gptme/server/client.py 63 79 149
tests/test_tools_gh_merge_guards.py 18 1 149
gptme/tools/form.py 42 65 148
tests/fixtures/provider_test_scaffold.py 76 68 148
tests/test_util_install.py 34 31 148
gptme/eval/agents/__init__.py 24 15 147
gptme/hooks/token_awareness.py 47 50 147
tests/test_master_context.py 39 24 147
gptme/acp/__main__.py 52 57 146
tests/test_tools_watch_timer_deadline.py 20 2 146
tests/test_tui_output_collapse.py 20 4 145
tests/test_credential_output.py 8 2 144
tests/test_peers.py 23 2 144
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
tests/test_dependabot_automerge.py 27 11 141
tests/test_server_elicitation.py 47 17 141
tests/test_backtrack_identity.py 27 2 140
tests/test_tools_token_awareness.py 59 47 140
gptme/commands/backtrack.py 31 29 139
gptme/server/api_v2_agents.py 25 17 139
tests/test_computer_risk_streaming.py 58 46 139
tests/test_dspy_integration.py 54 32 139
gptme/config/trust.py 54 45 138
gptme/eval/suites/practical5.py 67 80 138
gptme/tools/elicit.py 40 123 138
tests/test_computer_milestone_integration.py 61 59 138
tests/test_tools_convert_pdf_first_page.py 16 8 138
tests/test_util_content.py 49 25 137
gptme/hooks/tool_target_instructions.py 37 47 136
tests/test_browser_blockage.py 46 97 136
gptme/eval/swebench/utils.py 30 10 135
gptme/tools/autocompact/context_provider.py 51 54 135
tests/test_browser_executable_path_env.py 28 32 135
tests/test_cli_explain.py 53 18 135
tests/test_prompt_fragments.py 20 1 135
gptme/commands/export.py 32 25 134
tests/test_browser_state_publication.py 18 4 134
gptme/llm/request_limits.py 26 19 133
tests/test_computer_gate.py 76 40 133
gptme/cli/cmd_attest.py 21 5 131
gptme/eval/suites/practical17.py 64 137 131
tests/test_git_worktree_inspection.py 19 2 131
tests/test_server_cli_fallback.py 23 19 131
tests/test_shell_parser.py 31 17 131
gptme/eval/suites/behavioral/minimal_feature_preserve_default_with_decoys.py 41 72 130
gptme/util/replay.py 42 49 129
tests/test_agent_workspace_timeouts.py 41 22 129
tests/test_morph_source_admission.py 19 20 129
tests/test_snapshot_list.py 45 7 129
gptme/util/program_status.py 32 46 128
tests/test_acp_adapter.py 42 33 128
tests/test_build_distribution.py 14 7 128
tests/test_cwe214_docker_env_leak.py 42 41 128
tests/test_server_webui_dir.py 61 23 128
gptme/hooks/confirm.py 58 98 127
gptme/hooks/tests/test_markdown_validation.py 29 21 127
tests/test_server_tools_allowlist.py 47 2 127
gptme/eval/suites/practical21.py 76 184 126
gptme/hooks/injection_screening.py 33 39 126
tests/test_active_context.py 41 22 126
tests/test_docs_structure.py 31 29 126
gptme/hooks/server_confirm.py 52 59 125
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_chats_rename.py 48 19 125
tests/test_util_context_dedup.py 61 43 125
gptme/server/metrics.py 37 19 124
tests/test_prompt.py 36 36 124
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
gptme/tools/recall.py 25 20 123
tests/test_llm_image_attachments.py 17 1 123
gptme/eval/suites/practical11.py 53 26 122
gptme/eval/suites/practical12.py 56 49 122
tests/test_subagent_planner_roles.py 39 30 121
gptme/tools/vent.py 40 67 120
tests/test_eval_format_routing.py 30 25 120
tests/test_tui_before_tool_execution.py 21 9 120
gptme/plugins/registry.py 40 41 119
gptme/util/ask_execute.py 26 45 119
tests/test_integration_phase4.py 22 19 119
gptme/eval/suites/practical20.py 77 190 118
tests/test_compaction_reminder.py 29 1 118
tests/test_cost_cache_cold_warning.py 33 8 118
tests/test_cli_non_utf8_input.py 28 8 117
gptme/eval/suites/behavioral/add_type_hints.py 40 97 116
tests/test_agent_service_timeouts.py 19 18 116
scripts/auto_rename_logs.py 34 23 115
tests/test_browser_navigation.py 20 4 115
tests/thread_leak.py 34 55 115
gptme/eval/suites/practical18.py 52 117 114
gptme/plugins/entrypoints.py 28 60 114
tests/test_tools_tmux_native_panes.py 22 2 114
gptme/hooks/server_elicit.py 52 56 113
gptme/llm/llm_openrouter_subscription.py 35 43 113
tests/test_cli_auth.py 24 4 113
tests/test_lessons_status.py 67 96 113
gptme/lessons/matcher.py 41 56 112
tests/test_server_host_validation.py 46 29 112
tests/test_subagent_tool_format.py 31 17 112
tests/test_tools_convert_document_publication.py 17 5 112
tests/test_hashline_confirmation_ownership.py 12 2 111
tests/test_tools_write_encoding.py 20 2 111
gptme/eval/types.py 35 69 110
gptme/tools/computer_semantic.py 61 129 110
gptme/tui/statusline.py 16 13 110
tests/test_python_kernel_stdin.py 16 3 110
tests/test_tools_convert_video_filenames.py 9 2 110
tests/test_computer_run_task_cli.py 40 14 109
gptme/tools/choice.py 34 41 108
gptme/util/master_context.py 37 57 108
tests/test_browser_session_persistence.py 62 33 108
tests/test_cost_awareness_delayed_warning.py 42 32 108
tests/test_restart_argv.py 9 3 108
tests/test_util_export_browser.py 14 14 108
tests/test_validate_release_package.py 29 2 108
gptme/eval/suites/practical29.py 69 129 107
gptme/peers.py 18 27 107
gptme/util/interrupt.py 46 38 107
tests/test_build_changelog.py 24 13 107
tests/test_server_perf.py 23 38 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
scripts/train/collect.py 35 52 104
tests/test_server_parent_death_watcher.py 25 38 103
gptme/eval/suites/practical23.py 75 190 102
gptme/eval/suites/practical30.py 68 110 102
gptme/tools/autocompact/decision.py 36 75 102
tests/test_appimage_release.py 9 5 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/server/tts_api.py 24 18 101
gptme/tools/subagent/control.py 23 9 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/_computer_gate.py 33 61 100
gptme/tools/autocompact/native_anthropic.py 30 30 100
gptme/tools/screenshot.py 30 45 100
gptme/util/context_measurement.py 18 26 100
tests/test_command_completion.py 33 23 100
tests/test_eval_constraint_satisfaction.py 24 8 100
tests/test_hooks_mcp_namespace_hint.py 30 14 100
tests/test_python_support.py 18 8 100
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
tests/test_generation_pre_snapshot_boundary.py 38 39 99
tests/test_knowledge_subprocess.py 8 4 99
tests/test_shell_output_boundaries.py 13 4 99
tests/test_tools_convert_docx_hyperlinks.py 21 4 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_util.py 46 86 96
tests/test_util_context_savings.py 21 6 96
gptme/__version__.py 21 17 95
gptme/config/__init__.py 7 16 95
tests/test_agent_fork_command.py 18 5 95
tests/test_openrouter_cache_pricing.py 28 5 95
tests/test_policy_block.py 29 9 95
tests/test_session.py 40 21 95
tests/test_server_v2_sse.py 26 27 94
tests/test_tools_convert_literal_inputs.py 7 1 93
tests/test_tools_convert_literal_paths.py 9 1 93
gptme/cli/cmd_slop.py 17 10 92
gptme/util/context_budget.py 21 53 92
gptme/prompts/chat_history.py 34 27 91
gptme/tools/_url_safety.py 32 50 91
scripts/smoke_frozen_server.py 15 14 91
tests/test_logmanager_locking.py 20 5 91
tests/test_server_etag.py 22 5 91
tests/test_shell_sigterm.py 11 57 91
gptme/acp/types.py 25 13 90
gptme/commands/__init__.py 19 23 90
gptme/hooks/knowledge_inject.py 21 37 90
tests/test_agent_memory.py 26 17 90
gptme/eval/tbench/run.py 16 12 89
tests/test_python_backend_selection.py 22 1 89
tests/test_swebench_utils.py 27 2 89
gptme/constants.py 43 50 88
gptme/llm/models/recommended.py 19 31 88
tests/test_commands_rag.py 16 2 88
tests/test_server_cors.py 33 20 88
tests/test_tools_vision_exif.py 12 3 88
gptme/eval/suites/behavioral/circuit_breaker.py 53 118 87
gptme/prompts/context_cmd.py 12 18 87
gptme/util/context_savings.py 22 9 87
gptme/util/tree.py 21 15 87
scripts/verify_cloudflare_pages_deep_links.py 17 1 87
tests/test_browser_github_routing.py 27 0 86
tests/test_browser_screenshot.py 14 1 86
tests/test_shell_state_contract.py 7 4 86
tests/test_subagent_drain_cancel.py 10 3 86
gptme/eval/suites/behavioral/implement_memoization.py 50 112 85
gptme/logmanager/fork.py 16 13 85
gptme/tools/_browser_lynx.py 11 8 85
gptme/tools/progress.py 28 59 85
tests/test_mcp_client_env.py 17 2 85
tests/test_output_format.py 29 21 84
gptme/eval/suites/behavioral/validate_user_input.py 33 55 83
gptme/hooks/tests/test_cwd_awareness.py 16 13 83
gptme/logmanager/conv_checkpoints.py 25 24 83
tests/test_shell_high_fd.py 28 29 83
gptme/eval/suites/behavioral/add_docstrings.py 47 103 82
gptme/eval/suites/behavioral/add_feature_preserve_default.py 27 40 82
tests/test_cli_llm_generate.py 19 12 82
tests/test_cli_sound.py 26 2 82
tests/test_tool_description_cap.py 29 13 82
gptme/tools/autocommit.py 38 58 81
tests/test_eval_swebench_retrieval.py 25 4 81
tests/test_release_preflight.py 5 2 81
tests/test_cli_mcp_cleanup.py 26 8 80
tests/test_prompt_skills_summary.py 44 44 80
tests/test_windows_signing.py 5 2 80
gptme/cli/cmd_agents.py 19 14 79
gptme/eval/suites/behavioral/rate_limiting.py 52 118 78
gptme/llm/models/__init__.py 4 12 77
gptme/logmanager/cleanup.py 12 20 77
tests/fixtures/hol_guard_shell_hook.py 28 25 77
tests/test_eval_timeouts.py 32 33 77
tests/test_xml_format.py 33 91 77
gptme/cli/cmd_capabilities.py 8 6 76
gptme/cli/cmd_sound.py 26 15 76
gptme/context/compress.py 63 131 76
gptme/llm/provider_plugins.py 40 39 76
tests/test_attachment_loading.py 17 5 76
gptme/eval/pass_rate_gate.py 23 44 75
gptme/memory/policy.py 11 7 75
scripts/check_docs_repo_links.py 14 14 75
tests/test_acp_recovery.py 13 2 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/util/generate_name.py 5 6 74
tests/test_logmanager_fork_locking.py 19 156 74
tests/test_patch_literal_comments.py 15 1 74
tests/test_setup_api_key.py 19 1 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_llm_empty_stream.py 33 4 72
gptme/context/selector/llm_based.py 30 37 71
tests/test_acp_e2e_smoke.py 23 27 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
tests/test_server_audio_transcription.py 20 15 69
gptme/util/_sound_cmd.py 22 18 68
gptme/util/file_write.py 8 20 68
scripts/validate_release_package.py 14 4 68
tests/test_hooks_form_autodetect.py 22 34 68
tests/test_browser_markdown_literals.py 13 1 67
tests/test_chat_turn_boundary.py 16 2 67
tests/test_docs_tool_formats_coverage.py 16 15 67
tests/test_tools_watch_run_utf8.py 11 2 67
gptme/eval/swe_extra/swe_bench_constants.py 9 9 66
gptme/tools/autocompact/__init__.py 3 14 66
gptme/eval/suites/behavioral/fix_mutable_default.py 31 57 65
gptme/eval/tbench/agent.py 20 24 65
tests/test_computer_api.py 90 401 65
tests/test_eval_tool_efficiency.py 20 11 64
tests/test_tools_native_kwargs.py 23 6 64
gptme/eval/filestore.py 11 8 63
gptme/lessons/skills/python-repl/python_helpers.py 28 26 63
gptme/memory/roots.py 18 18 63
gptme/util/uri.py 29 43 63
gptme/context/config.py 20 46 62
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
tests/test_build_apt_retry.py 5 30 62
tests/test_cli_hooks_settings_shape.py 12 1 62
gptme/eval/suites/behavioral/add_logging.py 27 39 61
gptme/util/terminal.py 36 32 61
gptme/llm/retry_policy.py 19 24 60
gptme/tools/_browser_perplexity.py 22 16 60
tests/test_entrypoints.py 26 37 60
tests/test_llm_mock.py 22 12 60
tests/test_shell_escaped_pipes.py 9 2 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
tests/test_eval_practical20.py 27 8 59
tests/test_logmanager_corrupt_lines.py 17 11 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/logmanager/durability.py 13 21 58
gptme/prompts/skills.py 16 10 58
tests/test_useredit.py 16 3 58
gptme/tools/clarify.py 17 26 57
tests/test_openrouter_reported_cost.py 18 1 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
tests/test_cli_init.py 19 2 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
tests/test_browser_reconnect_owner.py 11 3 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
tests/test_context_status.py 11 2 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_checkpoint_restart.py 10 1 51
tests/test_github_bot.py 12 1 51
gptme/eval/suites/behavioral/remove_dead_code.py 40 63 50
tests/test_util_generate_name.py 19 11 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/logmanager/locking.py 9 11 49
gptme/tools/subagent/concurrency.py 12 10 49
gptme/util/keyword_matching.py 37 73 49
tests/test_execute_msg_defensive.py 19 19 49
gptme/tools/_allowlist.py 18 15 48
gptme/util/file_storage.py 30 50 48
tests/test_recovery_strict_exhaustion.py 7 2 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
gptme/context/selector/hybrid.py 14 18 46
tests/test_dspy_gepa.py 18 9 46
tests/test_import_boundaries.py 8 12 46
gptme/eval/suites/behavioral/debug_data_pipeline.py 30 61 45
gptme/lessons/__init__.py 12 21 45
tests/test_demo_capture.py 19 9 45
tests/test_recovery_nested_budget.py 11 2 45
gptme/logmanager/__init__.py 4 9 44
tests/test_nvidia.py 15 2 43
tests/test_pdf_to_images.py 13 13 43
gptme/eval/suites/behavioral/stage_new_files.py 12 18 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
tests/test_cli_context_non_utf8.py 11 1 41
gptme/eval/cost.py 18 25 40
tests/test_check_rst_formatting.py 28 59 40
tests/test_tools_read_range_decoding.py 7 2 40
tests/test_shell_fd_leak.py 23 16 39
gptme/__init__.py 10 4 38
tests/test_utils.py 14 17 38
tests/test_cli_peers.py 10 1 37
gptme/cli/wut.py 13 12 36
gptme/commands/rag.py 17 8 36
gptme/util/useredit.py 15 18 36
tests/test_message_command.py 14 13 36
tests/test_python_kernel_review_regressions.py 13 1 36
gptme/eval/suites/behavioral/iterative_debug.py 28 39 35
tests/test_tools_pruner.py 9 0 35
tests/test_chat_config_readonly.py 15 1 34
tests/test_cli_confirm_hook.py 24 20 34
tests/test_credentials.py 16 0 34
tests/test_logmanager_reader_context.py 9 62 34
gptme/context/__init__.py 8 8 33
gptme/memory/__init__.py 3 4 33
gptme/util/summary.py 8 6 33
tests/test_shell_for_loop_issue724.py 16 24 33
tests/test_subagent_log_lock.py 9 3 33
gptme/eval/suites/behavioral/_common.py 9 5 32
gptme/hooks/tests/test_auto_confirm.py 12 4 32
gptme/tools/native_names.py 10 8 32
gptme/context/selector/__init__.py 12 16 31
gptme/mcp/display.py 14 27 31
gptme/server/token_file.py 13 13 31
tests/test_logs_home_isolation.py 10 1 31
gptme/util/content.py 18 24 30
gptme/util/install.py 13 25 30
tests/test_docker_lockfile.py 9 3 30
tests/test_project_config_list_types.py 6 1 30
tests/test_user_config_isolation.py 10 3 30
gptme/hooks/cwd_awareness.py 11 18 29
gptme/util/git_cmd.py 12 30 29
gptme/util/notification_ready.py 9 6 29
tests/test_agent_merge_project_config.py 16 11 29
tests/test_package_exports.py 10 3 29
gptme/eval/swebench/__init__.py 1 0 28
tests/test_cmd_init_toml_name.py 12 1 28
tests/test_eval_practical16.py 11 0 28
tests/test_lessons_frontmatter_name_type.py 11 1 28
tests/test_tool_preview_content.py 12 3 28
gptme/context/selector/config.py 9 9 26
tests/test_browser_markdown_packaging.py 3 1 26
tests/test_check_model_freshness.py 8 5 26
tests/test_quota_skip.py 5 3 26
gptme/acp/adapter.py 19 22 25
gptme/executor.py 18 26 25
gptme/util/clock.py 13 16 25
tests/fixtures/retry_server.py 11 13 25
tests/test_peer_messages_hook.py 4 1 25
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/conversation_ids.py 7 4 22
tests/test_confirmation_header_tui.py 6 1 22
tests/test_credentials_integration.py 8 0 22
gptme/acp/__init__.py 5 13 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/dspy/__init__.py 11 13 17
gptme/eval/suites/browser.py 5 0 17
gptme/plugins/plugin.py 25 39 17
tests/test_session_allowlist_isolation.py 14 31 17
gptme/cli/__init__.py 10 13 15
tests/test_llm_summarize_terminal_projection.py 9 9 15
tests/test_screenshot.py 9 6 15
gptme/hooks/_policy_block.py 10 13 14
gptme/util/multiprompt.py 6 8 14
gptme/__main__.py 2 0 12
gptme/util/stdio.py 8 9 12
gptme/hooks/peer_messages.py 6 2 11
gptme/server/__init__.py 5 8 9
gptme/server/constants.py 7 11 9
gptme/eval/tbench/__init__.py 13 22 8
gptme/tools/subagent/context.py 4 10 8
gptme/util/rich_text.py 6 10 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/dataset/__init__.py 4 7 2
gptme/oauth/__init__.py 1 4 0
gptme/tui/__init__.py 4 12 0
-------------------------------------------------------------------------------------------------------------------------------
SUM: 90969 81811 383414
-------------------------------------------------------------------------------------------------------------------------------
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: 1157
Total blocks: 25787
Average complexity: 4.026369876294257
Most Complex Functions (D+):
gptme/prompts/chat_history.py
F 20:0 prompt_chat_history - E
gptme/prompts/workspace.py
gptme/prompts/__init__.py
F 261:0 _build_prompt_sections - E
gptme/prompts/templates.py
F 91:0 prompt_gptme - E
gptme/context/selector/file_selector.py
gptme/context/selector/rule_based.py
M 27:4 RuleBasedSelector.select - D
gptme/lessons/hybrid_matcher.py
M 394:4 HybridLessonMatcher._match_with_bm25 - D
gptme/lessons/index.py
M 288:4 LessonIndex._default_dirs - E
M 703:4 LessonIndex._load_manifest_skill_stubs - D
M 526:4 LessonIndex._index_directory - D
gptme/lessons/selector.py
gptme/lessons/installer.py
F 288:0 _install_local_skill - E
F 438:0 install_skill - D
F 683:0 check_dependencies - D
gptme/lessons/parser.py
F 284:0 parse_lesson - D
gptme/lessons/auto_include.py
F 270:0 _classify_lesson - D
gptme/chat.py
F 1127:0 _should_prompt_for_input - D
F 272:0 chat - D
F 1485:0 step - D
gptme/telemetry.py
F 442:0 record_llm_request - E
F 362:0 _calculate_llm_cost - D
gptme/memory/schema.py
gptme/config/chat.py
M 166:4 ChatConfig.from_dict - E
M 323:4 ChatConfig._workspace_transition - D
gptme/config/cli_setup.py
gptme/config/validate.py
F 32:0 _repaired_providers_text - D
gptme/config/user.py
F 1131:0 _merge_config_data - E
gptme/config/core.py
M 90:4 Config.mcp - D
gptme/config/models.py
M 470:4 ProjectConfig.from_dict - D
gptme/util/completion_verification.py
F 136:0 _split_shell_statements - E
F 229:0 _mask_inert_shell_text - D
F 670:0 discover_verification_command - D
gptme/util/gh.py
F 1129:0 get_github_run_logs - D
F 1348:0 search_github_issues - D
F 1454:0 search_github_prs - D
F 1556:0 merge_github_pr - D
gptme/util/context.py
gptme/util/review.py
F 1422:0 validate_artifact_dict - D
M 893:4 ReviewArtifact._from_forge_neutral - D
M 262:4 ReviewFinding.from_dict - D
gptme/util/tool_format.py
F 104:0 format_tools_list - D
gptme/util/ask_execute.py
F 70:0 execute_with_confirmation - D
gptme/util/reduce.py
F 373:0 limit_log - E
F 302:0 _drop_orphaned_tool_pairs - D
gptme/util/_telemetry.py
F 326:0 init_telemetry - D
gptme/util/cost_display.py
F 392:0 display_costs - D
F 227:0 gather_conversation_costs - D
gptme/util/prompt.py
gptme/util/capabilities_export.py
F 549:0 validate_snapshot - D
gptme/tools/complete.py
F 466:0 _complete_hook - E
F 271:0 _run_verify_cmd - D
F 1212:0 stuck_detect_hook - D
gptme/tools/save.py
F 175:0 execute_save_impl - D
gptme/tools/shell_validation.py
F 395:0 _has_sensitive_args - D
F 1023:0 check_with_shellcheck - D
F 869:0 _interpreter_gets_program - D
gptme/tools/lessons.py
gptme/tools/mcp_adapter.py
gptme/tools/subagent/api.py
F 2162:0 subagent_snapshots - D
gptme/tools/subagent/execution.py
F 834:0 _run_subagent_subprocess - E
F 147:0 _resolve_profile_tools - D
gptme/tools/subagent/types.py
M 757:4 Subagent._read_log - E
M 532:4 Subagent._read_usage - D
gptme/tools/subagent/batch.py
gptme/tools/gh.py
F 224:0 _wait_for_checks - D
F 547:0 _handle_pr_merge - D
gptme/tools/python_kernel.py
M 628:4 KernelBackend._ensure_started - D
gptme/tools/tmux.py
gptme/tools/precommit.py
F 180:0 run_precommit_checks - D
gptme/tools/restart.py
F 349:0 _filter_same_interface_args - D
gptme/tools/shell_background.py
M 1010:4 BackgroundJob._read_output - D
F 1916:0 background_job_wait_hook - D
M 668:4 BackgroundJob._commit_spool_bytes - D
gptme/tools/mcp.py
gptme/tools/computer.py
F 1387:0 _dispatch_transport - D
gptme/tools/memory.py
F 129:0 _parse_memory_call - D
gptme/tools/shell_flags.py
F 414:0 _split_lines - D
F 560:0 _check_segment - D
gptme/tools/chats.py
F 428:0 _format_message_with_context - D
F 546:0 read_chat - D
gptme/tools/shell.py
M 1471:4 ShellSession._read_output_windows - E
F 3583:0 _explicit_timeout_seconds - D
M 990:4 ShellSession._run_with_tty - D
gptme/tools/base.py
F 397:0 render_tool_conditionals - D
gptme/tools/convert.py
M 825:4 DocumentToTextConverter._convert - E
M 528:4 ImageConverter._convert - D
gptme/tools/read.py
F 491:0 execute_read - D
gptme/tools/autocompact/engine.py
gptme/tools/autocompact/resume.py
F 943:0 _apply_native_compaction - E
gptme/tools/autocompact/hook.py
gptme/tools/python.py
F 655:0 execute_python - E
gptme/tools/hashline_edit.py
F 852:0 execute_hashline_edit - D
gptme/tools/patch_many.py
F 262:0 _publish_patches - D
gptme/tools/__init__.py
F 318:0 _init_file_plugin_tools - D
F 532:0 get_toolchain - D
F 419:0 init_tools - D
gptme/tools/vision.py
F 67:0 view_image - D
gptme/tools/todo.py
F 218:0 _restore_todos - E
gptme/tools/watch.py
F 1196:0 _watch - E
gptme/codeblock.py
F 117:0 _find_heredoc_terminator - E
F 255:0 _scan_ipython_triple_quote - D
gptme/acp/agent.py
M 655:4 GptmeAgent.new_session - E
M 1128:4 GptmeAgent.prompt - D
gptme/commands/snapshot.py
F 42:0 _print_prunable - D
gptme/commands/llm.py
F 198:0 cmd_tools - D
F 289:0 cmd_context - D
gptme/commands/export.py
F 107:0 _replay_tool - D
gptme/commands/backtrack.py
F 66:0 cmd_backtrack - D
gptme/commands/meta.py
F 142:0 cmd_plugin - E
gptme/commands/checkpoint.py
F 43:0 cmd_checkpoint - D
gptme/logmanager/manager.py
M 783:4 LogManager.write - D
M 292:4 LogManager.__init__ - D
gptme/hooks/time_awareness.py
F 307:0 add_time_message - E
gptme/hooks/elicitation.py
F 346:0 _cli_form - D
gptme/hooks/guardrails.py
F 252:0 guardrail_hook - D
gptme/hooks/_credential_output.py
F 115:0 _command_reason - D
F 175:0 credential_output_reason - D
F 41:0 _unwrap - D
gptme/hooks/cli_confirm.py
F 182:0 _looks_like_diff - D
gptme/hooks/registry.py
M 178:4 HookRegistry.trigger - D
gptme/hooks/_secret_reach.py
F 654:0 _matches_values - E
F 68:0 _parse_grep - E
F 512:0 _glob_patterns - D
gptme/hooks/tool_target_instructions.py
F 67:0 _extract_paths - D
gptme/hooks/token_awareness.py
F 93:0 add_token_usage_warning - D
gptme/hooks/workspace_agents.py
F 1345:0 scan_agents - D
gptme/hooks/__init__.py
F 115:0 init_hooks - D
gptme/info.py
F 431:0 format_version_info - D
gptme/init.py
F 159:0 init_model - D
F 319:0 _record_selection_trace - D
gptme/message.py
F 717:0 format_msgs - D
F 824:0 print_msg - D
gptme/llm/models/resolution.py
gptme/llm/recovery.py
F 226:0 is_transient_provider_error - D
gptme/llm/llm_anthropic.py
F 1697:0 _prepare_messages_for_api - E
F 1554:0 _transform_system_messages - D
F 949:0 chat - D
gptme/llm/llm_openai.py
F 614:0 init - E
F 906:0 _handle_openai_transient_error - E
F 1633:0 extra_body - D
F 2463:0 _handle_tools - D
F 283:0 _record_usage - D
gptme/llm/__init__.py
gptme/llm/openai_responses.py
M 504:4 _ResponseFunctionCalls.get - D
F 367:0 _messages_to_responses_input - D
F 569:0 _stream_responses_events - D
gptme/cli/cmd_memory.py
F 606:0 memory_migrate_knowledge_jsonl - E
gptme/cli/cmd_skills.py
F 18:0 skills_list - D
gptme/cli/util.py
F 1033:0 context_files - E
F 1229:0 llm_generate - D
F 1917:0 models_test - D
F 1822:0 models_info - D
gptme/cli/cmd_agents.py
F 25:0 run_scan - D
gptme/cli/main.py
M 104:4 _DynamicHelpCommand.parse_args - D
gptme/cli/doctor.py
F 1872:0 _check_plugins - E
F 506:0 _provider_repair_needed - D
F 1228:0 _check_computer - D
F 2291:0 main - D
gptme/cli/cmd_review_pr.py
F 1107:0 review_pr - D
F 657:0 _spawn_review_session - D
gptme/cli/cmd_resume.py
F 60:0 _task_from_user_content - D
gptme/cli/cmd_computer.py
F 1249:0 doctor_cmd - E
F 1010:0 latency_cmd - D
F 1591:0 demo_cmd - D
gptme/cli/cmd_knowledge.py
F 288:0 knowledge_search_cmd - D
gptme/cli/cmd_hooks.py
F 269:0 run - E
gptme/cli/auth.py
F 57:0 auth_login - D
gptme/cli/cmd_service.py
F 597:0 init - E
gptme/cli/cmd_review_watch.py
gptme/plugins/__init__.py
F 205:0 _load_plugin - D
gptme/tui/app.py
M 4499:4 GptmeApp._generation_body - E
M 1255:4 StreamingMessage._update_hidden_segments - D
M 1914:4 ChatInput._on_key - D
F 1546:0 renderables_for_message - D
F 1704:0 complete_input - D
M 2003:4 ChatInput._cycle_completion - D
gptme/server/openapi_docs.py
F 1179:0 _convert_to_openapi_nullable - D
gptme/server/api_v2.py
F 1736:0 api_conversation_put - E
F 2216:0 api_conversation_edit_message - E
F 3011:0 api_conversation_config_patch - E
F 1597:0 api_conversation - E
F 1970:0 api_conversation_post - E
F 651:0 _parse_mcp_request - D
gptme/server/a2a_api.py
F 494:0 _task_from_conversation - D
gptme/server/session_models.py
M 831:4 SessionManager.clean_inactive_sessions - D
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 669:0 api_conversation_tool_confirm - E
F 1162:0 api_conversation_transcript - D
F 932:0 api_conversation_rerun - D
gptme/server/api_v2_agents.py
F 57:0 api_agents_put - D
gptme/server/session_step.py
F 638:0 _acp_step - E
gptme/agent/doctor.py
F 344:0 check_lessons - E
gptme/workspace_snapshot.py
F 463:0 prune_by_age - D
gptme/eval/run.py
F 333:0 execute - E
gptme/eval/main.py
gptme/eval/suites/practical16.py
F 68:0 check_queue_all_producers_mentioned - D
gptme/eval/suites/constraint_satisfaction.py
F 255:0 check_boundary_domain_no_infra_import - D
gptme/eval/leaderboard.py
F 928:0 compute_rate_trends - D
F 692:0 aggregate_per_test - D
gptme/eval/trends.py
F 157:0 compute_diff - D
gptme/eval/dspy/hybrid_optimizer.py
C 239:0 TaskComplexity - D
M 283:4 TaskComplexity.analyze - D
tests/test_tui_frames.py
F 230:0 test_prompt_queued_during_tool_waits_below_it_then_joins - D
tests/test_responses_phase.py
F 555:0 test_review_attachments_decline_text_only_replay - D
tests/test_tools_parameter_conformance.py
F 110:0 _extract_executor_kwargs_keys - E
tests/test_memory_migrate_knowledge.py
F 468:0 test_migrate_preserves_unparseable_occupied_destinations - D
tests/test_util_review.py
M 3817:4 TestSchemaFixtures.test_full_fixture_preserves_all_union_fields - D
tests/test_server_default_profile.py
F 255:0 test_runtime_fragments_survive_patch_and_restart - D
tests/test_tui_before_tool_execution.py
F 27:0 test_reply_visible_before_tools_and_not_duplicated - D
tests/test_tools_convert_literal_paths.py
F 21:0 test_image_output_filename_is_literal - D
tests/test_llm_image_attachments.py
F 75:0 test_provider_preserves_image_attachment - D
tests/test_skill_events.py
F 32:0 test_queue_is_not_completion_and_terminal_requires_valid_transition - D
tests/test_config.py
F 2337:0 test_runtime_config_builtin_defaults_lifecycle - E
F 1104:0 test_project_config_loaded_from_toml - D
F 1141:0 test_project_config_loaded_from_json - D
tests/test_tui_work_acceptance.py
tests/test_browser_state_load_failure.py
F 95:0 test_real_browser_preserves_draft_and_loads_valid_state - D
tests/test_server_v2_auto_stepping.py
F 16:0 test_auto_stepping - E
F 382:0 test_multi_tool_per_message - D
tests/test_build_distribution.py
F 33:0 test_build_distribution_roundtrip - E
tests/test_memory_store.py
M 819:4 TestStore.test_concurrent_supersede_keeps_links_consistent - D
tests/test_server.py
F 315:0 test_api_conversation_list_detail_flag - D
tests/test_tui_recovery.py
F 40:0 test_retry_resets_only_uncommitted_preview - D
tests/test_release_source.py
F 133:0 test_stable_publish_does_not_rewind_master - D
tests/test_skill_metrics.py
F 100:0 test_ledger_and_metrics_agree_without_duplicate_terminal_counts - E
tests/test_workspace_api.py
M 501:4 TestAttachmentResourceEndpoint.test_model_relative_resources_and_legacy_routes - D
tests/test_server_v2_tool_confirmation.py
F 15:0 test_tool_confirmation_flow - D
tests/test_util_cli.py
F 779:0 test_tools_list - D
F 992:0 test_models_list - D
F 835:0 test_tools_info - D
F 1534:0 test_context_tree_respects_gitignore_anchored_and_negation - D
tests/test_commands_llm.py
F 219:0 test_commands_refresh_runtime_fragments_from_live_config - D
tests/test_dataset_history.py
F 67:0 history - D
tests/test_eval_behavioral_solutions.py
F 55:0 _apply_solution - E
tests/test_hashline_confirmation_ownership.py
F 23:0 test_confirmation_preserves_target_ownership - D
tests/test_openai_responses_input.py
F 20:0 test_missing_tool_results_are_paired_without_replacing_real_results - D
tests/test_cli_from_turn.py
F 432:0 test_chats_fork_retains_only_explicit_policy - D
tests/test_tui_work_view.py
F 921:0 test_work_overview_renders_one_physical_row_per_child - D
tests/test_tools_vision_exif.py
F 42:0 test_large_exif_display_pixels - D
scripts/auto_rename_logs.py
F 32:0 auto_rename_logs - D
scripts/demo_capture.py
F 485:0 main - D
scripts/eval_phase0_pruning.py
F 376:0 main - D
scripts/measure_output_capture.py
F 80:0 measure - D
scripts/docs_structure.py
F 263:0 check_nav - E
scripts/treeofthoughts.py
F 183:0 tree_search - D
scripts/github_bot.py
F 554:0 main - D
scripts/check_rst_formatting.py
F 66:0 check_lines - E
Largest Files (>300 SLOC):
6520 tests/test_subagent_unit.py
4667 tests/test_server_v2.py
3907 tests/test_llm_openai.py
3863 gptme/tui/app.py
3701 tests/test_auto_compact.py
3384 tests/test_tui.py
3290 gptme/server/api_v2.py
3093 tests/test_config.py
3079 tests/test_util_review.py
3076 gptme/tools/shell.py
3011 tests/test_tools_subagent.py
2820 tests/test_doctor.py
2730 tests/test_server_v2_sessions.py
2252 tests/test_eval_behavioral.py
2246 gptme/llm/llm_openai.py
2184 tests/test_codeblock.py
2179 tests/test_tools_shell.py
1937 gptme/tools/computer.py
1908 gptme/cli/doctor.py
1848 tests/test_chat.py
1734 gptme/tools/shell_background.py
1708 tests/test_cli.py
1693 tests/test_memory_store.py
1688 tests/test_tools_complete.py
1598 gptme/tools/subagent/api.py
1597 tests/test_util_cli.py
1597 tests/test_init.py
1578 gptme/cli/cmd_computer.py
1537 gptme/cli/util.py
1522 tests/test_tools_watch.py
1494 gptme/server/session_step.py
1490 tests/test_acp_agent.py
1417 tests/test_util_gh.py
1394 tests/test_tools_convert.py
1390 gptme/cli/main.py
1379 tests/test_tools_gh.py
1341 tests/test_tools_shell_validation.py
1304 tests/test_tools_browser.py
1300 tests/test_tools_computer.py
1296 gptme/logmanager/manager.py
1285 tests/test_util_cli_review_watch.py
1265 tests/test_tools_todo_isolation.py
1261 gptme/tools/subagent/execution.py
1260 gptme/util/gh.py
1249 gptme/hooks/workspace_agents.py
1233 gptme/acp/agent.py
1230 tests/test_tools_hashline_edit.py
1222 tests/test_mcp_adapter.py
1219 gptme/llm/llm_anthropic.py
1196 tests/test_llm_anthropic.py
1187 gptme/eval/leaderboard.py
1153 tests/test_server.py
1146 gptme/chat.py
1136 gptme/tools/autocompact/resume.py
1127 tests/test_eval_behavioral_solutions.py
1108 tests/test_llm_utils.py
1098 gptme/hooks/tests/test_agents_md_inject.py
1096 gptme/tools/base.py
1086 tests/test_tools_base.py
1063 gptme/tools/watch.py
1033 tests/test_tools_patch_many.py
1028 gptme/tools/convert.py
1018 tests/test_eval.py
993 tests/test_shell_background.py
990 gptme/util/review.py
987 tests/test_lessons_auto_include.py
985 gptme/server/api_v2_sessions.py
982 tests/test_cmd_service.py
972 tests/test_info.py
970 tests/test_logmanager.py
965 gptme/server/openapi_docs.py
962 gptme/codeblock.py
958 gptme/llm/__init__.py
956 gptme/hooks/tests/test_workspace_agents.py
948 gptme/tools/mcp_adapter.py
947 gptme/eval/dspy/tasks.py
946 gptme/eval/main.py
942 gptme/tools/complete.py
934 gptme/tools/python_kernel.py
930 tests/test_dataset.py
926 tests/test_tools_python_kernel.py
913 gptme/util/context.py
912 gptme/llm/models/data.py
903 gptme/cli/cmd_review_pr.py
902 tests/test_compaction_recall.py
889 tests/test_eval_leaderboard.py
877 gptme/tools/gh.py
870 tests/test_subagent_persistence.py
867 tests/test_guardrail_secret_reach.py
863 gptme/config/user.py
858 tests/test_noninteractive_drain.py
856 tests/test_llm_openai_subscription.py
843 tests/test_knowledge.py
840 gptme/tools/chats.py
831 tests/test_tasks_api.py
826 tests/test_util_gh_mocked.py
820 gptme/eval/suites/computer.py
819 tests/test_eval_computer_suite.py
818 tests/test_tools_precommit.py
816 tests/test_prompt_templates.py
810 tests/test_tui_work_view.py
810 gptme/tools/_browser_playwright.py
808 tests/test_cli_completion.py
806 tests/test_context.py
801 tests/test_sandbox.py
788 tests/test_tools_lessons.py
783 tests/test_subagent_yield.py
781 tests/test_cost_display.py
781 gptme/tools/browser.py
770 tests/test_shell_foreground_promotion.py
758 tests/test_tools.py
755 gptme/cli/cmd_memory.py
751 gptme/eval/execenv.py
750 tests/test_acp_session_runtime.py
743 tests/test_server_workspace.py
740 gptme/tools/hashline_edit.py
732 gptme/cli/setup.py
732 gptme/cli/cmd_review_watch.py
726 gptme/tools/subagent/batch.py
722 gptme/tools/__init__.py
720 gptme/tools/python.py
717 tests/test_eventlog.py
716 tests/test_hooks_registry.py
715 gptme/eval/suites/basic.py
713 tests/test_computer_transport.py
711 gptme/hooks/_secret_reach.py
709 gptme/server/session_models.py
708 tests/test_tools_restart.py
707 tests/test_agent.py
703 tests/test_message.py
691 gptme/llm/openai_responses.py
683 gptme/cli/cmd_service.py
680 tests/test_tui_e2e.py
680 gptme/server/tasks_api.py
679 tests/test_gptme_provider.py
677 tests/test_llm_models_resolution.py
677 gptme/tools/shell_validation.py
675 tests/test_memory_match.py
672 tests/test_relevance_pruning.py
671 gptme/lessons/installer.py
660 gptme/llm/llm_openai_subscription.py
655 tests/conftest.py
649 tests/test_commands.py
643 tests/test_json_output.py
643 gptme/tools/tmux.py
642 tests/test_context_scout.py
635 gptme/util/completion_verification.py
633 tests/test_shell_job_spool.py
631 tests/test_server_session_models.py
631 gptme/util/prompt.py
628 tests/test_prompts.py
627 tests/test_tools_read.py
627 tests/test_subagent_retention.py
626 tests/test_subagent_budget.py
623 tests/test_telemetry.py
620 tests/test_config_validate.py
613 tests/test_skill_install_replacement.py
612 tests/test_lessons.py
610 tests/test_chat_transient_recovery.py
609 tests/test_explicit_attachments.py
609 scripts/github_bot.py
607 tests/test_computer_doctor_cmd.py
604 tests/test_util_cli_mcp.py
602 tests/test_lessons_index.py
599 tests/test_util_hooks.py
599 gptme/util/capabilities_export.py
599 gptme/lessons/index.py
598 tests/test_dirs.py
596 tests/test_mcp_server.py
596 gptme/hooks/tests/test_anomaly_watchdog.py
595 tests/test_server_panels.py
595 gptme/prompts/__init__.py
593 gptme/eval/run.py
591 tests/test_shell_redact_secrets.py
587 tests/test_unified_plugins.py
585 tests/test_server_subscription_connect.py
583 gptme/tools/subagent/types.py
582 tests/test_tui_completion.py
578 tests/test_tools_request_tool_change.py
576 tests/test_lessons_parser.py
576 gptme/cli/cmd_chats.py
573 tests/test_skill_installer.py
573 tests/test_served_model_metadata.py
569 gptme/tools/subagent/__init__.py
567 scripts/github_ci_self_heal.py
567 gptme/tools/computer_transport.py
562 gptme/memory/store.py
558 tests/test_llm_models.py
555 gptme/server/a2a_api.py
554 tests/test_eval_subagent.py
551 tests/test_memory_index_policy.py
550 tests/test_server_peer_wake.py
546 tests/test_computer_actions.py
541 gptme/server/artifacts_api.py
540 gptme/message.py
539 tests/test_server_path_traversal.py
539 tests/test_execenv.py
538 tests/test_cc_memory.py
537 tests/test_model_attestation.py
534 tests/test_responses_phase.py
534 tests/test_memory_migrate_knowledge.py
533 tests/test_reduce.py
530 gptme/tools/subagent/hooks.py
525 tests/test_hooks_cost_awareness.py
524 tests/test_server_bad_input.py
523 gptme/tools/todo.py
522 tests/test_file_publication.py
511 gptme/tools/lessons.py
510 tests/test_mcp.py
509 gptme/prompts/workspace.py
508 tests/test_workspace_api.py
506 tests/test_capabilities_export.py
503 tests/test_checkpoint.py
503 gptme/hooks/registry.py
501 tests/test_subagent_worktree_isolation.py
501 tests/test_provider_plugins.py
498 tests/test_overflow_recovery.py
497 gptme/server/workspace_api.py
496 gptme/dataset/trajectory_to_env.py
495 gptme/tools/read.py
495 gptme/tools/autocompact/hook.py
492 tests/test_conversations.py
492 tests/test_config_workspace_publication.py
484 tests/test_hooks_cache_awareness.py
482 tests/test_computer_demo_cmd.py
479 tests/test_plugin_security.py
477 tests/test_snapshot_command.py
472 tests/test_work_snapshots.py
472 gptme/hooks/tests/test_cost_awareness.py
472 gptme/cli/cmd_hooks.py
471 tests/test_chats_stats.py
469 tests/test_llm_openai_sampling.py
467 gptme/agent/workspace.py
462 tests/test_tools_save.py
461 tests/test_server_skill_events.py
458 tests/test_llm_auth.py
456 tests/test_tools_time_awareness.py
456 gptme/telemetry.py
455 gptme/hooks/tests/test_time_awareness.py
454 gptme/llm/llm_openai_models.py
452 gptme/tools/patch_many.py
451 scripts/demo_capture.py
451 scripts/check_rst_formatting.py
450 tests/test_tools_browser_thread.py
450 tests/test_lesson_hook_latency.py
447 tests/test_cli_from_turn.py
447 gptme/util/_telemetry.py
447 gptme/plugins/security.py
445 scripts/analyze_compression.py
444 tests/test_hooks_dirty_diff.py
444 gptme/mcp/client.py
443 tests/test_tools_mcp.py
442 gptme/tools/shell_flags.py
440 tests/test_python_kernel_raster.py
438 tests/test_util_cli_providers.py
436 tests/test_tools_rag.py
436 tests/test_computer_api.py
436 tests/test_compaction_native_anthropic.py
436 tests/test_cli_resume.py
436 gptme/lessons/auto_include.py
433 tests/test_chats_clean_safety.py
433 gptme/config/chat.py
427 gptme/workspace_snapshot.py
426 tests/test_lessons_matcher.py
424 tests/test_cost_tracker.py
423 tests/test_external_sessions.py
422 tests/test_lessons_commands.py
421 tests/test_tools_patch.py
421 gptme/eval/dspy/prompt_optimizer.py
419 gptme/agent/service.py
418 tests/context/test_task_analyzer.py
418 gptme/tools/save.py
417 gptme/cli/auth.py
415 tests/test_server_artifacts.py
414 tests/test_llm_grok_subscription.py
410 gptme/tools/autocompact/engine.py
407 tests/test_tools_precommit_paths.py
406 gptme/util/cost_display.py
405 tests/test_lessons_selector.py
404 tests/test_llm_validate.py
404 gptme/logmanager/conversations.py
402 gptme/tools/restart.py
399 gptme/eval/suites/subagent.py
397 tests/test_mcp_discovery.py
397 gptme/cli/cmd_init.py
396 tests/test_tools_morph.py
395 tests/test_profiles.py
395 tests/test_hybrid_lessons.py
395 gptme/prompts/templates.py
394 gptme/agent/cli.py
393 tests/test_computer_latency_cmd.py
393 scripts/eval_phase0_pruning.py
391 gptme/agent/doctor.py
389 tests/test_chats_external_search.py
389 gptme/config/models.py
386 tests/test_util_cli_attest.py
386 tests/test_tui_literal_thinking.py
385 tests/test_search_alias.py
385 tests/test_guardrail_hook.py
384 gptme/init.py
383 tests/test_server_v2_auto_stepping.py
383 tests/test_computer_use_integration.py
379 gptme/llm/llm_grok_subscription.py
373 gptme/hooks/anomaly_watchdog.py
372 tests/test_util_export.py
372 tests/test_anti_slop.py
372 gptme/server/external_sessions.py
371 tests/test_github_ci_self_heal.py
371 gptme/cli/cmd_status.py
370 tests/test_server_v2_agents.py
370 tests/test_preview_proxy.py
370 gptme/hooks/dirty_diff.py
369 tests/test_subagent_writer_lock.py
369 tests/test_skill_commands.py
368 tests/test_lessons_emissions.py
367 gptme/hooks/tests/test_guardrails.py
365 tests/test_util_cli_skills.py
365 tests/test_tools_convert_publication.py
365 gptme/info.py
364 tests/test_computer_record.py
364 gptme/lessons/hybrid_matcher.py
364 gptme/eval/dspy/cli.py
364 gptme/checkpoint.py
363 tests/test_replay.py
362 tests/test_subscription_terminal_recovery.py
362 gptme/sandbox.py
356 tests/test_context_providers.py
355 tests/test_tui_work_acceptance.py
355 gptme/tools/mcp.py
355 gptme/eval/dspy/experiments.py
353 tests/test_workspace_agents.py
353 tests/test_complete.py
351 gptme/llm/local_discovery.py
350 scripts/docs_structure.py
350 gptme/hooks/tests/test_tool_target_instructions.py
350 gptme/eval/dspy/metrics.py
347 tests/test_dataset_history.py
347 gptme/hooks/tests/test_confirm.py
346 tests/test_browser_open_page_session.py
346 tests/lessons/test_wildcard_matching.py
343 gptme/hooks/tests/test_elicitation.py
342 tests/test_script_hooks.py
340 tests/test_tools_python.py
340 tests/test_hol_guard_shell_hook.py
340 tests/test_context_selector.py
340 tests/test_computer_semantic_fixtures.py
338 tests/test_agent_doctor.py
337 tests/test_completion_verification.py
337 gptme/hooks/cost_awareness.py
336 tests/test_eval_trends.py
334 tests/test_program_status.py
332 gptme/eval/suites/constraint_satisfaction.py
332 gptme/cli/cmd_knowledge.py
331 tests/test_tools_vision.py
331 tests/test_llm_anthropic_system_messages.py
330 gptme/util/safety.py
328 tests/test_minimax_models.py
326 tests/test_util_output_storage.py
326 tests/test_llm_generation_recovery.py
326 scripts/treeofthoughts.py
326 gptme/eval/suites/practical.py
325 tests/test_tools_tmux_quoting.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_ephemeral.py
318 gptme/util/reduce.py
318 gptme/hooks/time_awareness.py
317 tests/test_util_cli_batch.py
317 gptme/tools/patch.py
317 gptme/eval/suites/practical16.py
316 tests/test_custom_providers.py
316 gptme/tools/rag.py
316 gptme/eval/trends.py
314 tests/test_eval_swebench.py
314 gptme/hooks/agents_md_inject.py
313 gptme/tools/_browser_thread.py
312 tests/test_skill_metrics.py
312 tests/test_plugins.py
312 gptme/commands/llm.py
308 tests/test_browser.py
307 gptme/server/cli.py
307 gptme/attestation.py
306 gptme/server/preview_proxy_api.py
305 tests/test_hooks_knowledge_inject.py
304 tests/test_tool_memory_native.py
303 gptme/llm/validate.py
301 tests/test_llm_request_limits.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.4.3
Clone found (python)
- __init__.py [34:47 - 45:30] (12 lines, 54 tokens)
context/__init__.py [36:55 - 47:30]
Clone found (python)
- __init__.py [34:47 - 45:30] (12 lines, 54 tokens)
context/selector/__init__.py [46:61 - 57:30]
Clone found (python)
- acp/client.py [239:9 - 246:9] (8 lines, 85 tokens)
acp/client.py [459:5 - 466: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)
- chat.py [1300:5 - 1317:36] (18 lines, 103 tokens)
tui/app.py [3144:9 - 3161:40]
Clone found (python)
- cli/auth.py [382:5 - 398:60] (17 lines, 90 tokens)
llm/llm_grok_subscription.py [298:5 - 313:60]
Clone found (python)
- cli/auth.py [401:5 - 419:76] (19 lines, 108 tokens)
llm/llm_grok_subscription.py [319:5 - 336:81]
Clone found (python)
- cli/auth.py [425:40 - 433:86] (9 lines, 54 tokens)
llm/llm_grok_subscription.py [342:58 - 350:86]
Clone found (python)
- cli/auth.py [471:9 - 484:18] (14 lines, 58 tokens)
llm/llm_grok_subscription.py [394:5 - 407:14]
Clone found (python)
- cli/cmd_batch.py [45:67 - 58:17] (14 lines, 74 tokens)
cli/main.py [248:77 - 261:17]
Clone found (python)
- cli/cmd_batch.py [139:5 - 152:39] (14 lines, 54 tokens)
cli/cmd_review_watch.py [582:5 - 595:39]
Clone found (python)
- cli/cmd_batch.py [152:37 - 166:38] (15 lines, 61 tokens)
cli/cmd_review_watch.py [597:45 - 611: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_dataset.py [40:25 - 60:13] (21 lines, 92 tokens)
cli/cmd_dataset.py [101:26 - 121:13]
Clone found (python)
- cli/cmd_init.py [62:1 - 73:61] (12 lines, 70 tokens)
cli/cmd_service.py [317:1 - 328:61]
Clone found (python)
- cli/cmd_mcp.py [237:21 - 257:4] (21 lines, 80 tokens)
cli/cmd_mcp_serve.py [14:28 - 34:4]
Clone found (python)
- cli/cmd_mcp.py [282:5 - 292:24] (11 lines, 65 tokens)
cli/cmd_mcp_serve.py [62:5 - 72:24]
Clone found (python)
- cli/cmd_review_watch.py [101:5 - 112:14] (12 lines, 87 tokens)
cli/cmd_review_watch.py [134:5 - 145:14]
Clone found (python)
- cli/cmd_review_watch.py [863:86 - 877:80] (15 lines, 55 tokens)
cli/cmd_review_watch.py [1030:64 - 1048:33]
Clone found (python)
- cli/doctor.py [688:37 - 703:40] (16 lines, 60 tokens)
cli/doctor.py [710:47 - 725:40]
Clone found (python)
- cli/util.py [529:5 - 546:49] (18 lines, 68 tokens)
cli/util.py [569:5 - 586:49]
Clone found (python)
- cli/util.py [2081:9 - 2088:72] (8 lines, 54 tokens)
cli/util.py [2114:5 - 2121: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/chat.py [58:10 - 77:4] (20 lines, 132 tokens)
tools/autocompact/events.py [59:23 - 78:4]
Clone found (python)
- config/chat.py [62:13 - 77:4] (16 lines, 100 tokens)
logmanager/eventlog.py [102:13 - 117:4]
Clone found (python)
- config/user.py [1052:5 - 1064:4] (13 lines, 62 tokens)
config/user.py [1119:5 - 1131:4]
Clone found (python)
- context/__init__.py [40:16 - 49:75] (10 lines, 57 tokens)
context/selector/__init__.py [50:16 - 59:75]
Clone found (python)
- context/adaptive_compressor.py [56:1 - 69:23] (14 lines, 92 tokens)
tools/autocompact/scoring.py [287:1 - 300:23]
Clone found (python)
- context/adaptive_compressor.py [175:1 - 186:79] (12 lines, 53 tokens)
tools/autocompact/scoring.py [397:61 - 408:79]
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 [193:9 - 214:62] (22 lines, 63 tokens)
eval/execenv.py [799:9 - 820:62]
Clone found (python)
- eval/execenv.py [220:13 - 233:11] (14 lines, 59 tokens)
eval/execenv.py [825:13 - 838:11]
Clone found (python)
- eval/execenv.py [220:13 - 233:11] (14 lines, 59 tokens)
eval/execenv.py [1035:13 - 1048:11]
Clone found (python)
- eval/execenv.py [250:57 - 261:33] (12 lines, 94 tokens)
eval/filestore.py [59:60 - 70:33]
Clone found (python)
- eval/execenv.py [677:5 - 696:22] (20 lines, 137 tokens)
eval/execenv.py [902:5 - 921:22]
Clone found (python)
- eval/execenv.py [712:17 - 731:29] (20 lines, 82 tokens)
eval/execenv.py [932:17 - 951:29]
Clone found (python)
- eval/execenv.py [827:35 - 844:16] (18 lines, 82 tokens)
eval/execenv.py [1037:35 - 1054:16]
Clone found (python)
- eval/leaderboard.py [221:5 - 227:46] (7 lines, 61 tokens)
eval/leaderboard.py [702:5 - 708:85]
Clone found (python)
- eval/leaderboard.py [317:28 - 332:28] (16 lines, 63 tokens)
eval/leaderboard.py [377:68 - 392:28]
Clone found (python)
- eval/leaderboard.py [474:3 - 480:27] (7 lines, 82 tokens)
eval/leaderboard.py [848:3 - 854:27]
Clone found (python)
- eval/leaderboard.py [474:3 - 480:27] (7 lines, 82 tokens)
eval/leaderboard.py [1156:3 - 1162: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/_secret_reach.py [343:20 - 357:64] (15 lines, 73 tokens)
hooks/_secret_reach.py [412:22 - 426:64]
Clone found (python)
- hooks/_secret_reach.py [343:20 - 357:64] (15 lines, 73 tokens)
hooks/_secret_reach.py [543:24 - 557:64]
Clone found (python)
- hooks/anomaly_watchdog.py [681:66 - 688:36] (8 lines, 78 tokens)
hooks/aw_watcher_agent.py [252:69 - 259:36]
Clone found (python)
- hooks/anomaly_watchdog.py [712:53 - 721:10] (10 lines, 50 tokens)
hooks/aw_watcher_agent.py [275:48 - 284:10]
Clone found (python)
- hooks/dirty_diff.py [95:5 - 106:4] (12 lines, 59 tokens)
hooks/knowledge_inject.py [84:5 - 95:4]
Clone found (python)
- hooks/dirty_diff.py [111:9 - 119:36] (9 lines, 54 tokens)
hooks/knowledge_inject.py [43:9 - 51:36]
Clone found (python)
- hooks/dirty_diff.py [456:22 - 463:7] (8 lines, 55 tokens)
hooks/knowledge_inject.py [95:29 - 102:7]
Clone found (python)
- hooks/registry.py [127:9 - 133:91] (7 lines, 64 tokens)
hooks/registry.py [643:5 - 649:87]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [77:9 - 86:34] (10 lines, 56 tokens)
hooks/tests/test_agents_md_inject.py [146:9 - 155:34]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [171:74 - 186:35] (16 lines, 68 tokens)
hooks/tests/test_agents_md_inject.py [206:46 - 221:35]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [171:74 - 186:40] (16 lines, 71 tokens)
hooks/tests/test_agents_md_inject.py [254:55 - 269:40]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [171:74 - 185:68] (15 lines, 62 tokens)
hooks/tests/test_agents_md_inject.py [278:54 - 293:58]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [171:74 - 186:40] (16 lines, 71 tokens)
hooks/tests/test_agents_md_inject.py [304:48 - 319:40]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [261:21 - 270:19] (10 lines, 50 tokens)
hooks/tests/test_agents_md_inject.py [311:21 - 320:19]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [350:68 - 365:35] (16 lines, 71 tokens)
hooks/tests/test_agents_md_inject.py [387:44 - 402:35]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [522:57 - 530:8] (9 lines, 54 tokens)
hooks/tests/test_agents_md_inject.py [536:38 - 545:8]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [770:42 - 777:61] (8 lines, 52 tokens)
hooks/tests/test_agents_md_inject.py [1344:41 - 1351:61]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [822:42 - 832:8] (11 lines, 62 tokens)
hooks/tests/test_agents_md_inject.py [1184:41 - 1194:8]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [1213:25 - 1225:8] (13 lines, 74 tokens)
hooks/tests/test_agents_md_inject.py [1263:66 - 1275:8]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [1239:59 - 1252:8] (14 lines, 79 tokens)
hooks/tests/test_agents_md_inject.py [1285:55 - 1298:8]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [1262:64 - 1272:15] (11 lines, 57 tokens)
hooks/tests/test_agents_md_inject.py [1413:37 - 1423:15]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [1263:65 - 1275:8] (13 lines, 75 tokens)
hooks/tests/test_agents_md_inject.py [1372:41 - 1384:8]
Clone found (python)
- hooks/tests/test_agents_md_inject.py [1362:70 - 1370:67] (9 lines, 63 tokens)
hooks/tests/test_agents_md_inject.py [1387:71 - 1395:67]
Clone found (python)
- hooks/tests/test_anomaly_watchdog.py [321:60 - 328:24] (8 lines, 56 tokens)
hooks/tests/test_anomaly_watchdog.py [348:61 - 355:24]
Clone found (python)
- hooks/tests/test_confirm.py [421:48 - 431:13] (11 lines, 57 tokens)
hooks/tests/test_confirm.py [443:55 - 453:13]
Clone found (python)
- hooks/tests/test_cost_awareness.py [363:78 - 377:29] (15 lines, 56 tokens)
hooks/tests/test_cost_awareness.py [395:76 - 409:29]
Clone found (python)
- hooks/tests/test_cost_awareness.py [484:72 - 501:46] (18 lines, 62 tokens)
hooks/tests/test_cost_awareness.py [507:82 - 524: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 [147:36 - 153:21] (7 lines, 52 tokens)
hooks/tests/test_time_awareness.py [165:32 - 171:21]
Clone found (python)
- hooks/tests/test_time_awareness.py [147:36 - 153:21] (7 lines, 52 tokens)
hooks/tests/test_time_awareness.py [179:31 - 185:21]
Clone found (python)
- hooks/tests/test_time_awareness.py [381:88 - 387:64] (7 lines, 56 tokens)
hooks/tests/test_time_awareness.py [575:89 - 581:64]
Clone found (python)
- hooks/tests/test_time_awareness.py [509:28 - 515:76] (7 lines, 52 tokens)
hooks/tests/test_time_awareness.py [544:71 - 550:12]
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 [268:36 - 278: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 [361:5 - 366:6] (6 lines, 52 tokens)
model_attestation.py [310:5 - 315:6]
Clone found (python)
- knowledge.py [275:5 - 282:14] (8 lines, 63 tokens)
knowledge.py [316:5 - 323:14]
Clone found (python)
- llm/__init__.py [407:21 - 413:32] (7 lines, 67 tokens)
llm/__init__.py [901:21 - 907:32]
Clone found (python)
- llm/__init__.py [598:19 - 606:5] (9 lines, 56 tokens)
llm/__init__.py [771:12 - 779:5]
Clone found (python)
- llm/__init__.py [629:9 - 655:17] (27 lines, 102 tokens)
llm/__init__.py [802:69 - 828:17]
Clone found (python)
- llm/llm_anthropic.py [219:29 - 236:68] (18 lines, 77 tokens)
llm/llm_openai.py [363:30 - 380:68]
Clone found (python)
- llm/llm_anthropic.py [587:5 - 604:21] (18 lines, 61 tokens)
llm/llm_openai.py [931:5 - 949:21]
Clone found (python)
- llm/llm_anthropic.py [733:13 - 751:30] (19 lines, 63 tokens)
llm/llm_openai.py [1146:45 - 1164:30]
Clone found (python)
- llm/llm_anthropic.py [949:9 - 956:32] (8 lines, 56 tokens)
llm/llm_anthropic.py [1094:11 - 1101:32]
Clone found (python)
- llm/llm_anthropic.py [950:5 - 956:32] (7 lines, 55 tokens)
llm/llm_anthropic.py [1127:5 - 1133:32]
Clone found (python)
- llm/llm_anthropic.py [973:5 - 1008:6] (36 lines, 161 tokens)
llm/llm_anthropic.py [1155:5 - 1190:6]
Clone found (python)
- llm/llm_anthropic.py [1095:28 - 1104:51] (10 lines, 77 tokens)
llm/llm_anthropic.py [1127:28 - 1136:51]
Clone found (python)
- llm/llm_grok_subscription.py [233:63 - 247:14] (15 lines, 51 tokens)
llm/llm_openai_subscription.py [424:50 - 437:27]
Clone found (python)
- llm/llm_grok_subscription.py [277:36 - 283:75] (7 lines, 53 tokens)
llm/llm_openrouter_subscription.py [66:74 - 72:75]
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 [1246:9 - 1254:5] (9 lines, 52 tokens)
llm/llm_openai.py [1932:11 - 1940:5]
Clone found (python)
- llm/llm_openai.py [1247:5 - 1254:5] (8 lines, 51 tokens)
llm/llm_openai.py [1961:5 - 1968:5]
Clone found (python)
- llm/llm_openai.py [1354:5 - 1371:82] (18 lines, 111 tokens)
llm/llm_openai.py [1999:5 - 2015:82]
Clone found (python)
- llm/llm_openai.py [1933:15 - 1941:18] (9 lines, 63 tokens)
llm/llm_openai.py [1961:15 - 1969:18]
Clone found (python)
- llm/llm_openai.py [2805:48 - 2812:52] (8 lines, 50 tokens)
llm/llm_openai.py [2818:32 - 2825:52]
Clone found (python)
- llm/llm_openai_models.py [384:20 - 393:7] (10 lines, 51 tokens)
llm/llm_openai_models.py [403:14 - 412:7]
Clone found (python)
- llm/llm_openai_models.py [384:20 - 393:7] (10 lines, 51 tokens)
llm/llm_openai_models.py [414:20 - 423:7]
Clone found (python)
- llm/llm_openai_models.py [425:24 - 434:7] (10 lines, 51 tokens)
llm/llm_openai_models.py [436:20 - 445:7]
Clone found (python)
- llm/llm_openai_models.py [425:24 - 434:7] (10 lines, 51 tokens)
llm/llm_openai_models.py [458:14 - 467:7]
Clone found (python)
- llm/models/data.py [192:26 - 205:15] (14 lines, 58 tokens)
llm/models/data.py [207:26 - 220:15]
Clone found (python)
- llm/models/data.py [277:35 - 287:11] (11 lines, 55 tokens)
llm/models/data.py [288:33 - 298:11]
Clone found (python)
- llm/openai_responses.py [353:74 - 364:59] (12 lines, 51 tokens)
llm/openai_responses.py [430:67 - 441:59]
Clone found (python)
- llm/openai_responses.py [569:29 - 574:59] (6 lines, 54 tokens)
llm/openai_responses.py [645:35 - 650:59]
Clone found (python)
- llm/validate.py [299:9 - 309:4] (11 lines, 55 tokens)
llm/validate.py [367:9 - 377:4]
Clone found (python)
- llm/validate.py [361:48 - 377:4] (17 lines, 78 tokens)
llm/validate.py [380:45 - 396:4]
Clone found (python)
- llm/validate.py [361:48 - 374:64] (14 lines, 77 tokens)
llm/validate.py [399:37 - 412:64]
Clone found (python)
- logmanager/manager.py [717:13 - 722:18] (6 lines, 60 tokens)
logmanager/manager.py [730:13 - 735:18]
Clone found (python)
- plugins/__init__.py [481:5 - 506:4] (26 lines, 110 tokens)
util/install.py [14:5 - 39:4]
Clone found (python)
- prompts/__init__.py [457:21 - 469:39] (13 lines, 91 tokens)
prompts/__init__.py [580:15 - 592:39]
Clone found (python)
- prompts/__init__.py [473:5 - 490:6] (18 lines, 73 tokens)
prompts/__init__.py [657:5 - 674:6]
Clone found (python)
- server/api_v2.py [1210:84 - 1228:4] (19 lines, 69 tokens)
server/api_v2.py [1262:5 - 1280:4]
Clone found (python)
- server/api_v2.py [1230:5 - 1246:15] (17 lines, 118 tokens)
server/api_v2.py [1301:5 - 1317:15]
Clone found (python)
- server/api_v2.py [1972:5 - 1979:76] (8 lines, 61 tokens)
server/api_v2.py [3014:5 - 3021:76]
Clone found (python)
- server/api_v2.py [2009:5 - 2029:30] (21 lines, 95 tokens)
server/api_v2.py [2628:5 - 2648:30]
Clone found (python)
- server/api_v2.py [2017:31 - 2029:30] (13 lines, 54 tokens)
server/api_v2.py [3078:33 - 3090:30]
Clone found (python)
- server/api_v2.py [2190:118 - 2205:11] (16 lines, 54 tokens)
server/api_v2.py [2346:97 - 2361:11]
Clone found (python)
- server/api_v2.py [2250:5 - 2268:40] (19 lines, 82 tokens)
server/api_v2.py [2375:5 - 2394:30]
Clone found (python)
- server/api_v2.py [2268:86 - 2287:14] (20 lines, 80 tokens)
server/api_v2.py [2394:78 - 2414:14]
Clone found (python)
- server/api_v2.py [2495:5 - 2506:10] (12 lines, 61 tokens)
server/api_v2.py [2521:9 - 2534:14]
Clone found (python)
- server/api_v2.py [3254:58 - 3267:38] (14 lines, 94 tokens)
server/api_v2.py [3290:51 - 3303:38]
Clone found (python)
- server/api_v2.py [3258:5 - 3267:38] (10 lines, 73 tokens)
server/api_v2.py [3927:5 - 3936:38]
Clone found (python)
- server/api_v2.py [3295:74 - 3306:15] (12 lines, 54 tokens)
server/api_v2.py [3928:74 - 3939:15]
Clone found (python)
- server/api_v2.py [3409:53 - 3414:76] (6 lines, 51 tokens)
server/api_v2.py [3510:52 - 3515:76]
Clone found (python)
- server/api_v2.py [3409:53 - 3416:40] (8 lines, 59 tokens)
server/api_v2.py [3794:64 - 3801:40]
Clone found (python)
- server/api_v2.py [3409:53 - 3414:76] (6 lines, 51 tokens)
server/api_v2.py [3862:50 - 3867:76]
Clone found (python)
- server/api_v2.py [3409:53 - 3414:76] (6 lines, 51 tokens)
server/api_v2.py [3967:54 - 3972:76]
Clone found (python)
- server/api_v2.py [3409:53 - 3414:76] (6 lines, 51 tokens)
server/api_v2.py [4016:54 - 4021:76]
Clone found (python)
- server/api_v2.py [3410:14 - 3417:12] (8 lines, 57 tokens)
server/api_v2.py [3795:14 - 3802:7]
Clone found (python)
- server/api_v2_agents.py [59:5 - 65:15] (7 lines, 52 tokens)
server/tasks_api.py [746:5 - 752:7]
Clone found (python)
- server/api_v2_sessions.py [349:96 - 361:81] (13 lines, 74 tokens)
server/api_v2_sessions.py [1255:60 - 1267:81]
Clone found (python)
- server/api_v2_sessions.py [365:5 - 376:15] (12 lines, 51 tokens)
server/api_v2_sessions.py [702:9 - 713:19]
Clone found (python)
- server/api_v2_sessions.py [698:9 - 713:19] (16 lines, 79 tokens)
server/api_v2_sessions.py [1265:5 - 1280:15]
Clone found (python)
- server/api_v2_sessions.py [699:27 - 713:19] (15 lines, 67 tokens)
server/api_v2_sessions.py [950:19 - 964:15]
Clone found (python)
- server/session_models.py [585:9 - 592:33] (8 lines, 54 tokens)
server/session_models.py [729:9 - 736:33]
Clone found (python)
- server/session_models.py [898:25 - 910:46] (13 lines, 76 tokens)
server/session_models.py [964:29 - 976:42]
Clone found (python)
- server/session_models.py [931:25 - 949:8] (19 lines, 70 tokens)
server/session_models.py [995:21 - 1013:8]
Clone found (python)
- server/session_step.py [921:5 - 928:69] (8 lines, 52 tokens)
server/session_step.py [2074:5 - 2081: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 [349:74 - 358:26] (10 lines, 73 tokens)
server/workspace_api.py [622:77 - 631:26]
Clone found (python)
- server/workspace_api.py [349:74 - 358:26] (10 lines, 73 tokens)
server/workspace_api.py [689:9 - 698:26]
Clone found (python)
- server/workspace_api.py [573:9 - 593:67] (21 lines, 149 tokens)
server/workspace_api.py [661:9 - 681:67]
Clone found (python)
- telemetry.py [66:24 - 88:8] (23 lines, 135 tokens)
util/_telemetry.py [323:34 - 345:8]
Clone found (python)
- telemetry.py [119:9 - 128:45] (10 lines, 60 tokens)
telemetry.py [597:5 - 606:41]
Clone found (python)
- tools/_browser_playwright.py [945:9 - 960:8] (16 lines, 89 tokens)
tools/browser.py [1132:9 - 1147:8]
Clone found (python)
- tools/_browser_playwright.py [962:60 - 974:52] (13 lines, 95 tokens)
tools/browser.py [1046:68 - 1058:52]
Clone found (python)
- tools/_browser_playwright.py [1096:69 - 1109:27] (14 lines, 77 tokens)
tools/browser.py [1230:44 - 1243:27]
Clone found (python)
- tools/_browser_playwright.py [1284:1 - 1299:43] (16 lines, 61 tokens)
tools/browser.py [1357:1 - 1372:43]
Clone found (python)
- tools/autocompact/engine.py [545:13 - 554:18] (10 lines, 57 tokens)
tools/autocompact/engine.py [597:17 - 606:22]
Clone found (python)
- tools/autocompact/resume.py [1042:9 - 1048:64] (7 lines, 57 tokens)
tools/autocompact/resume.py [1252:13 - 1258:68]
Clone found (python)
- tools/autocompact/resume.py [1058:5 - 1072:25] (15 lines, 87 tokens)
tools/autocompact/resume.py [1282:9 - 1297:29]
Clone found (python)
- tools/clarify.py [45:5 - 60:31] (16 lines, 83 tokens)
tools/complete.py [508:5 - 523:31]
Clone found (python)
- tools/complete.py [761:5 - 769:15] (9 lines, 50 tokens)
tools/complete.py [846:5 - 854:15]
Clone found (python)
- tools/computer.py [1485:13 - 1502:14] (18 lines, 71 tokens)
tools/computer.py [1874:13 - 1891:14]
Clone found (python)
- tools/computer.py [1631:13 - 1650:37] (20 lines, 93 tokens)
tools/computer_transport.py [262:13 - 281:37]
Clone found (python)
- tools/computer.py [1663:53 - 1674:30] (12 lines, 52 tokens)
tools/computer.py [1690:49 - 1701:30]
Clone found (python)
- tools/computer.py [1750:9 - 1759:19] (10 lines, 50 tokens)
tools/computer.py [1844:9 - 1853:19]
Clone found (python)
- tools/convert.py [525:19 - 540:35] (16 lines, 70 tokens)
tools/convert.py [995:18 - 1010:35]
Clone found (python)
- tools/convert.py [526:9 - 539:73] (14 lines, 64 tokens)
tools/convert.py [823:34 - 836:73]
Clone found (python)
- tools/convert.py [528:5 - 540:35] (13 lines, 68 tokens)
tools/convert.py [681:5 - 693:35]
Clone found (python)
- tools/patch.py [327:5 - 339:23] (13 lines, 55 tokens)
tools/save.py [187:5 - 199:23]
Clone found (python)
- tools/python_kernel.py [1039:36 - 1046:53] (8 lines, 57 tokens)
tools/python_kernel.py [1069:24 - 1076:53]
Clone found (python)
- tools/save.py [191:5 - 204:34] (14 lines, 56 tokens)
tools/save.py [322:5 - 335:34]
Clone found (python)
- tools/shell.py [498:5 - 512:4] (15 lines, 72 tokens)
tools/shell_background.py [119:5 - 133:4]
Clone found (python)
- tools/shell.py [619:71 - 640:4] (22 lines, 95 tokens)
tools/subagent/execution.py [1346:75 - 1367:4]
Clone found (python)
- tools/shell.py [1471:29 - 1485:11] (15 lines, 76 tokens)
tools/shell.py [1903:26 - 1917:11]
Clone found (python)
- tools/shell.py [1609:21 - 1618:40] (10 lines, 50 tokens)
tools/shell.py [1694:29 - 1703:48]
Clone found (python)
- tools/shell.py [1609:21 - 1628:26] (20 lines, 94 tokens)
tools/shell.py [1724:25 - 1743:30]
Clone found (python)
- tools/shell.py [1609:21 - 1628:26] (20 lines, 94 tokens)
tools/shell.py [1780:25 - 1799:30]
Clone found (python)
- tools/shell.py [1610:25 - 1630:39] (21 lines, 103 tokens)
tools/shell.py [1753:25 - 1773:39]
Clone found (python)
- tools/shell.py [1617:69 - 1631:27] (15 lines, 64 tokens)
tools/shell.py [1760:69 - 1774:31]
Clone found (python)
- tools/shell.py [1723:64 - 1743:30] (21 lines, 95 tokens)
tools/shell.py [1827:39 - 1847:26]
Clone found (python)
- tools/shell.py [1732:73 - 1745:25] (14 lines, 53 tokens)
tools/shell.py [1788:73 - 1801:25]
Clone found (python)
- tools/shell.py [2842:5 - 2852:31] (11 lines, 55 tokens)
tools/shell.py [2893:5 - 2903:31]
Clone found (python)
- tools/shell_validation.py [259:9 - 267:21] (9 lines, 53 tokens)
tools/shell_validation.py [626:9 - 634:21]
Clone found (python)
- tools/subagent/api.py [1337:9 - 1346:32] (10 lines, 59 tokens)
tools/subagent/api.py [1363:9 - 1372:32]
Clone found (python)
- tools/subagent/batch.py [505:33 - 518:5] (14 lines, 90 tokens)
tools/subagent/batch.py [1112:25 - 1125:5]
Clone found (python)
- tools/subagent/batch.py [542:53 - 552:43] (11 lines, 118 tokens)
tools/subagent/batch.py [676:54 - 686:43]
Clone found (python)
- tools/subagent/batch.py [547:27 - 552:81] (6 lines, 72 tokens)
tools/subagent/batch.py [1155:81 - 1160:81]
Clone found (python)
- tools/subagent/batch.py [820:13 - 835:14] (16 lines, 59 tokens)
tools/subagent/batch.py [945:13 - 960:14]
Clone found (python)
- tools/subagent/hooks.py [495:30 - 503:7] (9 lines, 52 tokens)
tools/subagent/hooks.py [561:35 - 569:7]
Clone found (python)
- tools/watch.py [539:32 - 544:53] (6 lines, 56 tokens)
tools/watch.py [657:73 - 662:53]
Clone found (python)
- tui/app.py [698:69 - 704:21] (7 lines, 54 tokens)
tui/app.py [748:73 - 754:21]
Clone found (python)
- tui/app.py [718:41 - 725:15] (8 lines, 83 tokens)
tui/app.py [732:38 - 739:15]
Clone found (python)
- tui/app.py [2216:24 - 2223:5] (8 lines, 50 tokens)
tui/app.py [2237:25 - 2244:5]
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 [1394:13 - 1403:23]
Clone found (python)
- util/gh.py [1378:17 - 1392:7] (15 lines, 55 tokens)
util/gh.py [1482:14 - 1496:7]
Clone found (python)
- util/output_storage.py [286:5 - 291:49] (6 lines, 69 tokens)
util/output_storage.py [353:9 - 358:53]
Clone found (python)
- util/redact.py [32:9 - 45:9] (14 lines, 73 tokens)
util/redact.py [101:9 - 109:9]
Clone found (python)
- util/redact.py [33:9 - 43:16] (11 lines, 60 tokens)
util/redact.py [60:9 - 70:16]
Clone found (python)
- util/review.py [806:9 - 818:65] (13 lines, 96 tokens)
util/review.py [1160:9 - 1172:65]
Clone found (python)
- util/review.py [820:73 - 842:10] (23 lines, 121 tokens)
util/review.py [1175:61 - 1197:10]
Clone found (python)
- util/review.py [850:9 - 855:67] (6 lines, 66 tokens)
util/review.py [1126:9 - 1131:67]
Clone found (python)
- util/review.py [872:36 - 893:8] (22 lines, 73 tokens)
util/review.py [1209:42 - 1230:8]
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 [435:5 - 449:26] (15 lines, 88 tokens)
workspace_snapshot.py [513:5 - 527: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 │ 11 │ 828 │ 3454 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ css │ 1 │ 174 │ 1100 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ javascript │ 1 │ 621 │ 3369 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ lua │ 1 │ 18 │ 70 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ markdown │ 8 │ 2011 │ 16292 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ markup │ 2 │ 487 │ 3265 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ python │ 533 │ 237962 │ 1169060 │ 220 │ 2843 (1.19%) │ 15389 (1.32%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ rest │ 54 │ 14538 │ 126503 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ text │ 2 │ 26 │ 267 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ txt │ 1 │ 25 │ 247 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ yaml │ 3 │ 257 │ 1648 │ 0 │ 0 (0.00%) │ 0 (0.00%) │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total: │ 617 │ 256947 │ 1325275 │ 220 │ 2843 (1.11%) │ 15389 (1.16%) │
└────────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
Found 220 clones.
time: 396.622ms
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