[tech-debt] duplication/function — Batch: 68 findings
This issue batches all duplication/function findings detected on 2026-08-10T11:06:25Z.
| Field |
Value |
| Total |
68 findings across 30 files |
| Severity |
medium |
| Detected |
2026-08-10T11:06:25Z |
Findings
Recommendation
Extract the shared logic into a reusable helper or intentionally document why the copies must diverge.
Labels
tech-debt, category:duplication, severity:medium
[tech-debt] duplication/function — Batch: 68 findings
This issue batches all duplication/function findings detected on 2026-08-10T11:06:25Z.
Findings
conductor/scripts/profile-bootstrap-apply.py:102— iter_canonical_skill_files() duplicate function body in 2 functions across 2 files (fp c24f0e6a09db2df8): conductor/scripts/profile-bootstrap-apply.py:102 iter_canonical_skill_fileconductor/v2/api_server.pre-4.0a-full.py:83— _workflow_to_dict() duplicate function body in 2 functions across 2 files (fp 125b1b2ee601f556): conductor/v2/api_server.pre-4.0a-full.py:83 _workflow_to_dict(); conductor/v2/api_sconductor/v2/api_server.pre-4.0a-full.py:145— _instance_to_dict() duplicate function body in 2 functions across 2 files (fp 94afc1e147494886): conductor/v2/api_server.pre-4.0a-full.py:145 instance_to_dict(); conductor/v2/apiconductor/v2/api_server.pre-4.0a-full.py:169— _atomic_write_yaml() duplicate function body in 2 functions across 2 files (fp 8ed2592cc9670e14): conductor/v2/api_server.pre-4.0a-full.py:169 _atomic_write_yaml(); conductor/v2/apconductor/v2/api_server.pre-4.0a-full.py:204— _list_run_state_files() duplicate function body in 2 functions across 2 files (fp 421d95d40d4bdc9f): conductor/v2/api_server.pre-4.0a-full.py:204 _list_run_state_files(); conductorconductor/v2/api_server.pre-4.0a-full.py:216— _load_runs_for_definition() duplicate function body in 2 functions across 2 files (fp 46183103185ece8f): conductor/v2/api_server.pre-4.0a-full.py:216 _load_runs_for_definition(); cconductor/v2/api_server.pre-4.0a-full.py:312— health() duplicate function body in 2 functions across 2 files (fp 0fb624253c697a63): conductor/v2/api_server.pre-4.0a-full.py:312 health(); conductor/v2/api_server.py:348 health()conductor/v2/api_server.pre-4.0a-full.py:327— list_workflows() duplicate function body in 2 functions across 2 files (fp 8bdba3b67a98de9f): conductor/v2/api_server.pre-4.0a-full.py:327 list_workflows(); conductor/v2/api_serverconductor/v2/api_server.pre-4.0a-full.py:369— get_workflow() duplicate function body in 2 functions across 2 files (fp d7189985dfd11c8c): conductor/v2/api_server.pre-4.0a-full.py:369 get_workflow(); conductor/v2/api_server.py:conductor/v2/api_server.pre-4.0a-full.py:395— put_workflow() duplicate function body in 2 functions across 2 files (fp 2fb1f0dadeaa42b8): conductor/v2/api_server.pre-4.0a-full.py:395 put_workflow(); conductor/v2/api_server.py:conductor/v2/api_server.pre-4.0a-full.py:537— delete_workflow() duplicate function body in 2 functions across 2 files (fp c867dacc0cdb43f7): conductor/v2/api_server.pre-4.0a-full.py:537 delete_workflow(); conductor/v2/api_servconductor/v2/api_server.pre-4.0a-full.py:577— validate_endpoint() duplicate function body in 2 functions across 2 files (fp 17fcf08cad51858e): conductor/v2/api_server.pre-4.0a-full.py:577 validate_endpoint(); conductor/v2/api_conductor/v2/api_server.pre-4.0a-full.py:618— run_workflow() duplicate function body in 2 functions across 2 files (fp 3ac4b49792cbec5b): conductor/v2/api_server.pre-4.0a-full.py:618 run_workflow(); conductor/v2/api_server.py:conductor/v2/api_server.pre-4.0a-full.py:682— list_runs() duplicate function body in 2 functions across 2 files (fp 2ace0ae7643b8005): conductor/v2/api_server.pre-4.0a-full.py:682 list_runs(); conductor/v2/api_server.py:718 liconductor/v2/api_server.pre-4.0a-full.py:741— event_generator() duplicate function body in 2 functions across 2 files (fp 3e042ba42d3ae48c): conductor/v2/api_server.pre-4.0a-full.py:741 event_generator(); conductor/v2/api_servconductor/v2/tests/test_backbone_e2e.py:206— _make_handoff() duplicate function body in 2 functions across 2 files (fp 60f2fcf15a93f10e): conductor/v2/tests/test_backbone_e2e.py:206 _make_handoff(); conductor/v2/tests/test_reconductor/v2/tests/test_daemon_consumes_inbox.py:60— _new_engine() duplicate function body in 3 functions across 3 files (fp 5d439e3f8b4fcd36): conductor/v2/tests/test_daemon_consumes_inbox.py:60 _new_engine(); conductor/v2/tests/tescron/pantheon-sync/adapters/base.py:88— _get_n8n_api_key() duplicate function body in 2 functions across 2 files (fp 8e578ff1028bc10c): cron/pantheon-sync/adapters/base.py:88 _get_n8n_api_key(); webui/api/onboarding.py:1examples/morning-briefing/morning-briefing.py:66— collect_hades() duplicate function body in 2 functions across 2 files (fp 9ee02eeda4bb8fc2): examples/morning-briefing/morning-briefing.py:66 collect_hades(); scripts/morning-briefexamples/morning-briefing/morning-briefing.py:87— collect_dawn_patrol() duplicate function body in 2 functions across 2 files (fp 11f057dc515fa5dd): examples/morning-briefing/morning-briefing.py:87 collect_dawn_patrol(); scripts/mexamples/morning-briefing/morning-briefing.py:118— collect_git_status() duplicate function body in 2 functions across 2 files (fp 5224f98cd5d14bd6): examples/morning-briefing/morning-briefing.py:118 collect_git_status(); scripts/moexamples/morning-briefing/morning-briefing.py:135— main() duplicate function body in 2 functions across 2 files (fp 155df900a86d5699): examples/morning-briefing/morning-briefing.py:135 main(); scripts/morning-briefing.py:135 main()god-packages/shared-skills/last30days/scripts/lib/reddit_listing.py:59— _to_epoch() duplicate function body in 2 functions across 2 files (fp f8bd6ea07b3f48ad): god-packages/shared-skills/last30days/scripts/lib/reddit_listing.py:59 _to_epoch(); god-paclib/clawforge/adjustment_exporter.py:67— load_token() duplicate function body in 3 functions across 3 files (fp 158d215224883b94): lib/clawforge/adjustment_exporter.py:67 load_token(); lib/clawforge/learning_exporter.py:9lib/clawforge/learning_exporter.py:68— _find_token_path() duplicate function body in 2 functions across 2 files (fp d1268f8787e5757c): lib/clawforge/learning_exporter.py:68 _find_token_path(); lib/clawforge/pattern_expolib/clawforge/recommendation_applier.py:74— _atomic_write_json() duplicate function body in 4 functions across 4 files (fp 78a1703f04ac4733): lib/clawforge/recommendation_applier.py:74 _atomic_write_json(); scripts/clawforgelib/ichor/entities/dream.py:123— _parse_db_datetime() duplicate function body in 2 functions across 2 files (fp 8ef7a9e1faf5bd92): lib/ichor/entities/dream.py:123 _parse_db_datetime(); lib/ichor/entities/recency.plib/ichor/entities/dream.py:169— _temporal_clause() duplicate function body in 2 functions across 2 files (fp 74098946b2e4625f): lib/ichor/entities/dream.py:169 _temporal_clause(); lib/ichor/entities/traversal.py:pantheon-core/gods/graph_client.py:83— _ensure_schema() duplicate function body in 2 functions across 2 files (fp 2e8b09f360b5723f): pantheon-core/gods/graph_client.py:83 _ensure_schema(); plugins/pantheon/graph_client.pantheon-core/gods/graph_client.py:145— upsert_node() duplicate function body in 2 functions across 2 files (fp e5898a626ab6c80a): pantheon-core/gods/graph_client.py:145 upsert_node(); plugins/pantheon/graph_client.py:14pantheon-core/gods/graph_client.py:185— get_node() duplicate function body in 2 functions across 2 files (fp e6b495f2dc81815d): pantheon-core/gods/graph_client.py:185 get_node(); plugins/pantheon/graph_client.py:185 get_pantheon-core/gods/graph_client.py:208— find_nodes() duplicate function body in 2 functions across 2 files (fp a24af5b96f121e26): pantheon-core/gods/graph_client.py:208 find_nodes(); plugins/pantheon/graph_client.py:208pantheon-core/gods/graph_client.py:239— search_nodes() duplicate function body in 2 functions across 2 files (fp 3a34b8fb44cd9d68): pantheon-core/gods/graph_client.py:239 search_nodes(); plugins/pantheon/graph_client.py:pantheon-core/gods/graph_client.py:258— _sync_fts() duplicate function body in 2 functions across 2 files (fp f61766a58d3a06d4): pantheon-core/gods/graph_client.py:258 _sync_fts(); plugins/pantheon/graph_client.py:258 _spantheon-core/gods/graph_client.py:286— add_edge() duplicate function body in 2 functions across 2 files (fp 0aacfca0699a8ae6): pantheon-core/gods/graph_client.py:286 add_edge(); plugins/pantheon/graph_client.py:286 add_pantheon-core/gods/graph_client.py:336— remove_edge() duplicate function body in 2 functions across 2 files (fp 95cd007d15b078de): pantheon-core/gods/graph_client.py:336 remove_edge(); plugins/pantheon/graph_client.py:33pantheon-core/gods/graph_client.py:348— get_edges() duplicate function body in 2 functions across 2 files (fp bc79d7fb4d2107f3): pantheon-core/gods/graph_client.py:348 get_edges(); plugins/pantheon/graph_client.py:348 gepantheon-core/gods/graph_client.py:391— get_neighbors() duplicate function body in 2 functions across 2 files (fp 732b5c81adbc177b): pantheon-core/gods/graph_client.py:391 get_neighbors(); plugins/pantheon/graph_client.ppantheon-core/gods/graph_client.py:407— _get_direct_neighbors() duplicate function body in 2 functions across 2 files (fp 10d260dd42691ca9): pantheon-core/gods/graph_client.py:407 _get_direct_neighbors(); plugins/pantheopantheon-core/gods/graph_client.py:431— _bfs() duplicate function body in 2 functions across 2 files (fp 51fa161aed21c63a): pantheon-core/gods/graph_client.py:431 _bfs(); plugins/pantheon/graph_client.py:431 _bfs()pantheon-core/gods/graph_client.py:459— shortest_path() duplicate function body in 2 functions across 2 files (fp d57eb52638eb8456): pantheon-core/gods/graph_client.py:459 shortest_path(); plugins/pantheon/graph_client.ppantheon-core/gods/graph_client.py:517— register_file() duplicate function body in 2 functions across 2 files (fp 7edd457c5a7bf47f): pantheon-core/gods/graph_client.py:517 register_file(); plugins/pantheon/graph_client.ppantheon-core/gods/graph_client.py:537— register_session() duplicate function body in 2 functions across 2 files (fp 65c42716730ef012): pantheon-core/gods/graph_client.py:537 register_session(); plugins/pantheon/graph_clpantheon-core/gods/graph_client.py:549— register_entity() duplicate function body in 2 functions across 2 files (fp def1869835a7f365): pantheon-core/gods/graph_client.py:549 register_entity(); plugins/pantheon/graph_cliepantheon-core/gods/graph_client.py:578— stats() duplicate function body in 2 functions across 2 files (fp f46e6e5aaa908c8a): pantheon-core/gods/graph_client.py:578 stats(); plugins/pantheon/graph_client.py:578 stats()scripts/clawforge-effectiveness-validator.py:427— load_token() duplicate function body in 3 functions across 3 files (fp abeeb21ea68db4ff): scripts/clawforge-effectiveness-validator.py:427 load_token(); scripts/clawforge-pattern-ascripts/clawforge-effectiveness-validator.py:465— _read_registry() duplicate function body in 2 functions across 2 files (fp 64a6a01c0ad16239): scripts/clawforge-effectiveness-validator.py:465 _read_registry(); scripts/clawforge-fscripts/clawforge-effectiveness-validator.py:482— _read_profiles() duplicate function body in 2 functions across 2 files (fp d8af12930139a889): scripts/clawforge-effectiveness-validator.py:482 _read_profiles(); scripts/clawforge-ftests/test_ichor_v2_phase4.py:12— _seed_test_db() duplicate function body in 2 functions across 2 files (fp 21fb6967a8576935): tests/test_ichor_v2_phase4.py:12 _seed_test_db(); tests/test_ichor_v2_phase6.py:27 _seewebui/api/onboarding.py:207— _load_env_file() duplicate function body in 2 functions across 2 files (fp 48fe988f12ead34e): webui/api/onboarding.py:207 _load_env_file(); webui/api/providers.py:130 _load_env_filwebui/tests/test_1694_prompt_ownership.py:15— _body_from_brace() duplicate function body in 2 functions across 2 files (fp 0040cebb74a42378): webui/tests/test_1694_prompt_ownership.py:15 _body_from_brace(); webui/tests/test_16webui/tests/test_approval_unblock.py:52— post() duplicate function body in 4 functions across 4 files (fp 8001e096f1219453): webui/tests/test_approval_unblock.py:52 post(); webui/tests/test_sprint1.py:41 post(); webui/teswebui/tests/test_chinese_locale.py:13— extract_locale_block() duplicate function body in 4 functions across 4 files (fp 887086b71f381ab1): webui/tests/test_chinese_locale.py:13 extract_locale_block(); webui/tests/test_jwebui/tests/test_custom_provider_display_name.py:12— _strip_at_prefix() duplicate function body in 2 functions across 2 files (fp b89d265f5c55055c): webui/tests/test_custom_provider_display_name.py:12 _strip_at_prefix(); webui/tests/webui/tests/test_custom_provider_display_name.py:26— _isolate_models_cache() duplicate function body in 4 functions across 4 files (fp 76ba634df9f73da4): webui/tests/test_custom_provider_display_name.py:26 _isolate_models_cache(); wewebui/tests/test_custom_provider_display_name.py:39— _models_with_cfg() duplicate function body in 2 functions across 2 files (fp 7c6d6d88b2efa446): webui/tests/test_custom_provider_display_name.py:39 _models_with_cfg(); webui/tests/webui/tests/test_custom_providers_in_panel.py:14— _install_fake_hermes_cli() duplicate function body in 5 functions across 5 files (fp 18664db681304b71): webui/tests/test_custom_providers_in_panel.py:14 _install_fake_hermes_cli();webui/tests/test_issue1094_provider_bugs.py:32— _post() duplicate function body in 2 functions across 2 files (fp b19e55a126b1f079): webui/tests/test_issue1094_provider_bugs.py:32 _post(); webui/tests/test_provider_management.pywebui/tests/test_issue1144_session_time_sync.py:66— _extract_function() duplicate function body in 2 functions across 2 files (fp 95341ddfb3f77acc): webui/tests/test_issue1144_session_time_sync.py:66 _extract_function(); webui/testswebui/tests/test_issue1298_cancel_and_activity.py:31— _isolate_session_dir() duplicate function body in 3 functions across 3 files (fp d0da9b4712ea2a3e): webui/tests/test_issue1298_cancel_and_activity.py:31 _isolate_session_dir(); webwebui/tests/test_issue1298_cancel_and_activity.py:44— _isolate_stream_state() duplicate function body in 2 functions across 2 files (fp 334f1c89507f07df): webui/tests/test_issue1298_cancel_and_activity.py:44 _isolate_stream_state(); wwebui/tests/test_issue1420_lmstudio_provider_env_var.py:69— _swap_in_test_config() duplicate function body in 5 functions across 5 files (fp df55ed8f7ece3fe5): webui/tests/test_issue1420_lmstudio_provider_env_var.py:69 _swap_in_test_config(webui/tests/test_issue1446_glued_heading_lift.py:230— _render() duplicate function body in 3 functions across 3 files (fp 995053c556da4f6e): webui/tests/test_issue1446_glued_heading_lift.py:230 _render(); webui/tests/test_issue1618_yawebui/tests/test_issue1538_nous_live_catalog.py:119— _scrub_provider_env() duplicate function body in 3 functions across 3 files (fp f18e185e42aa048f): webui/tests/test_issue1538_nous_live_catalog.py:119 _scrub_provider_env(); webui/webui/tests/test_issue673.py:38— _post() duplicate function body in 5 functions across 5 files (fp 030feda1ed2a68ee): webui/tests/test_issue673.py:38 _post(); webui/tests/test_login_locale.py:19 post(); webui/testwebui/tests/test_issue765_streaming_persistence.py:22— _isolate_session_dir() duplicate function body in 2 functions across 2 files (fp ae8c8bf9c742fefb): webui/tests/test_issue765_streaming_persistence.py:22 _isolate_session_dir(); wewebui/tests/test_logs_ui_static.py:11— _function_body() duplicate function body in 2 functions across 2 files (fp f3583de6cc1fc364): webui/tests/test_logs_ui_static.py:11 function_body(); webui/tests/test_ui_tool_callwebui/tests/test_onboarding_existing_config.py:266— _http_post() duplicate function body in 2 functions across 2 files (fp c6e38dc745ccb20d): webui/tests/test_onboarding_existing_config.py:266 _http_post(); webui/tests/test_onboardiRecommendation
Extract the shared logic into a reusable helper or intentionally document why the copies must diverge.
Labels
tech-debt,category:duplication,severity:medium