Repository Analysis

andrewyng/openworker

16.6 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of andrewyng/openworker, a Python project with 11,856 GitHub stars. SynthScan v2.0 examined 103,194 lines of code across 417 source files, recording 1630 pattern matches distributed across 13 syntactic categories. The overall adjusted score of 16.6 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

16.6
Adjusted Score
16.6
Raw Score
100%
Time Factor
2026-08-01
Last Push
11.9K
Stars
Python
Language
103.2K
Lines of Code
417
Files
1.6K
Pattern Hits
2026-08-02
Scan Date
0.03
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 12MEDIUM 17LOW 1601

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 1630 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers997 hits · 1028 pts
SeverityFileLineSnippetContext
LOWtests/test_model_errors.py12def test_new_flagships_in_matrix_with_labels():CODE
LOWtests/test_model_errors.py26def test_flagships_are_the_defaults():CODE
LOWtests/test_model_errors.py33def test_no_access_errors_are_translated():CODE
LOWtests/test_model_errors.py51def test_quota_errors_are_translated():CODE
LOWtests/test_model_errors.py67def test_unrelated_errors_pass_through_raw():CODE
LOWtests/test_hubspot_portals.py48def test_legacy_private_app_default_migrates_to_one_portal(secrets):CODE
LOWtests/test_hubspot_portals.py65def test_managed_portals_list_with_access_and_sandbox(secrets):CODE
LOWtests/test_hubspot_portals.py81def test_default_repoints_on_disconnect(secrets):CODE
LOWtests/test_hubspot_portals.py113def test_tools_pick_the_requested_portal_by_id_or_name(secrets, monkeypatch):CODE
LOWtests/test_hubspot_portals.py136def test_hidden_fields_stripped_from_search_and_get(secrets, monkeypatch):CODE
LOWtests/test_hubspot_portals.py167def test_no_delete_tool_exists(secrets):CODE
LOWtests/test_hubspot_portals.py179def test_write_tools_carry_portal_and_no_stripping_needed(secrets, monkeypatch):CODE
LOWtests/test_hubspot_portals.py203def test_managed_callback_lands_in_portal_profile(client):CODE
LOWtests/test_hubspot_portals.py238def test_portal_routes_default_and_disconnect(client, monkeypatch):CODE
LOWtests/test_todo_tool.py18def test_schema_param_is_todos_not_items():CODE
LOWtests/test_todo_tool.py25def test_todos_key_writes_the_list():CODE
LOWtests/test_todo_tool.py31def test_legacy_items_key_still_executes():CODE
LOWtests/test_engine_stop.py68def test_stop_mid_stream_keeps_partial_text(tmp_path):CODE
LOWtests/test_engine_stop.py118def test_provider_error_mid_stream_keeps_partial_text(tmp_path):CODE
LOWtests/test_engine_stop.py159def test_retry_reruns_failed_turn_without_new_user_message(tmp_path):CODE
LOWtests/test_engine_stop.py181def test_retry_is_noop_unless_tail_is_error_notice(tmp_path):CODE
LOWtests/test_engine_stop.py199def test_stop_while_awaiting_approval(tmp_path):CODE
LOWtests/test_engine_stop.py231def test_stop_skips_remaining_tool_calls(tmp_path):CODE
LOWtests/test_engine_stop.py268def test_interrupt_hook_fires(tmp_path):CODE
LOWtests/test_engine_stop.py301def test_reasoning_streams_persists_and_never_reaches_providers(tmp_path):CODE
LOWtests/test_engine_stop.py323def test_stop_during_thinking_keeps_partial_reasoning(tmp_path):CODE
LOWtests/test_engine_stop.py358def test_retry_survives_model_switches(tmp_path):CODE
LOWtests/test_web_search.py40def test_tool_returns_results():CODE
LOWtests/test_web_search.py52def test_tool_clamps_max_results():CODE
LOWtests/test_web_search.py60def test_tool_reports_search_errors():CODE
LOWtests/test_web_search.py71def test_build_provider_default_is_keyless_duckduckgo():CODE
LOWtests/test_web_search.py77def test_build_provider_third_party_requires_key():CODE
LOWtests/test_web_search.py84def test_tool_surfaces_missing_key_error(tmp_path):CODE
LOWtests/test_web_search.py93def test_resolve_provider_from_secretstore(tmp_path):CODE
LOWtests/test_web_search.py128def test_engine_registers_web_search(tmp_path):CODE
LOWtests/test_compaction_smoke.py52def test_long_session_survives_repeated_compaction(tmp_path):CODE
LOWtests/test_automation_create.py19def test_create_automation_success(tmp_path, monkeypatch):CODE
LOWtests/test_automation_create.py39def test_create_automation_invalid_cron(tmp_path, monkeypatch):CODE
LOWtests/test_automation_create.py53def test_create_automation_missing_instructions(tmp_path, monkeypatch):CODE
LOWtests/test_automation_create.py67def test_create_automation_requires_schedule(tmp_path, monkeypatch):CODE
LOWtests/test_connectors_allowlist.py47def test_connectors_carry_allowlist_and_recent(tmp_path):CODE
LOWtests/test_connectors_allowlist.py78def test_allow_then_disallow_mutates_list(tmp_path):CODE
LOWtests/test_connectors_allowlist.py95def test_recent_absent_when_no_gateway(tmp_path):CODE
LOWtests/test_engine.py92def test_tool_turn_order_and_execution(tmp_path):CODE
LOWtests/test_engine.py117def test_write_requires_approval_then_approved(tmp_path):CODE
LOWtests/test_engine.py134def test_denied_tool_yields_error_and_continues(tmp_path):CODE
LOWtests/test_engine.py168def test_interrupt_between_iterations(tmp_path):CODE
LOWtests/test_engine.py189def test_steering_injects_next_turn(tmp_path):CODE
LOWtests/test_engine.py227def test_low_risk_tool_calls_run_concurrently(tmp_path):CODE
LOWtests/test_engine.py262def test_non_low_risk_tool_calls_stay_sequential(tmp_path):CODE
LOWtests/test_engine.py305def test_streaming_emits_deltas(tmp_path):CODE
LOWtests/test_engine.py336def test_outbound_adapts_pdf_for_non_pdf_models(tmp_path):CODE
LOWtests/test_engine.py352def test_outbound_keeps_pdf_for_native_models(tmp_path):CODE
LOWtests/test_engine.py367def test_provider_extras_persist_on_message_and_survive_outbound(tmp_path):CODE
LOWtests/test_engine.py386def test_switch_model_appends_notice_only_midsession(tmp_path):CODE
LOWtests/test_engine.py402def test_switch_model_warns_when_images_meet_text_only_model(tmp_path):CODE
LOWtests/test_engine.py422def test_outbound_replaces_images_for_non_vision_models(tmp_path):CODE
LOWtests/test_persona_loading.py35def test_consent_summary_lists_capabilities():STRING
LOWtests/test_persona_loading.py44def test_install_from_dir_lands_disabled_pending_consent(tmp_path):STRING
LOWtests/test_persona_loading.py60def test_installed_persona_persists_across_restart(tmp_path):STRING
937 more matches not shown…
Unused Imports340 hits · 322 pts
SeverityFileLineSnippetContext
LOWpackaging/make_update_manifest.py27CODE
LOWtests/test_hubspot_portals.py9CODE
LOWtests/test_engine_stop.py6CODE
LOWtests/test_web_search.py7CODE
LOWtests/test_automation_create.py7CODE
LOWtests/test_engine.py3CODE
LOWtests/test_persona_loading.py3CODE
LOWtests/test_risk_overrides.py3CODE
LOWtests/test_risk_overrides.py8CODE
LOWtests/conftest.py9CODE
LOWtests/test_skills_api.py8CODE
LOWtests/test_skills_api.py14CODE
LOWtests/test_slack_approval_owners.py3CODE
LOWtests/test_catalog.py8CODE
LOWtests/test_connector_registry.py8CODE
LOWtests/test_ui_refresh_e2e.py23CODE
LOWtests/test_standing_approvals.py8CODE
LOWtests/test_standing_approvals.py13CODE
LOWtests/test_inbox.py3CODE
LOWtests/test_providers.py3CODE
LOWtests/test_message_source.py12CODE
LOWtests/test_gemini_provider.py5CODE
LOWtests/test_mcp_connectors.py8CODE
LOWtests/test_pdf_support.py3CODE
LOWtests/test_slack_workspaces.py9CODE
LOWtests/test_gateway_inbox_reply.py7CODE
LOWtests/test_autotitle.py8CODE
LOWtests/test_session_persona.py7CODE
LOWtests/test_fake_slack.py8CODE
LOWtests/test_gmail_accounts.py10CODE
LOWtests/test_anthropic_provider.py5CODE
LOWtests/test_subscriptions.py5CODE
LOWtests/test_subagent.py3CODE
LOWtests/test_accounts.py6CODE
LOWtests/test_tools_permissions.py3CODE
LOWtests/test_tools_permissions.py10CODE
LOWtests/test_slack_relay.py5CODE
LOWtests/test_slack_relay.py14CODE
LOWtests/test_skills_sessions.py8CODE
LOWtests/test_skills_sessions.py15CODE
LOWtests/test_bedrock_provider.py3CODE
LOWtests/test_vertex_provider.py3CODE
LOWtests/test_automation.py7CODE
LOWtests/test_message_timestamps.py7CODE
LOWtests/test_persona_registry.py3CODE
LOWtests/test_inbox_routing.py3CODE
LOWtests/test_server.py3CODE
LOWtests/test_multiroot.py7CODE
LOWtests/test_multiroot.py17CODE
LOWtests/test_multiroot.py17CODE
LOWtests/test_config.py3CODE
LOWtests/test_config.py5CODE
LOWtests/test_anthropic_caching.py8CODE
LOWtests/test_email_tools.py3CODE
LOWtests/test_email_tools.py7CODE
LOWtests/test_team_allowlist.py9CODE
LOWtests/test_cloud_server.py4CODE
LOWtests/test_code_tools.py7CODE
LOWtests/test_code_tools.py12CODE
LOWtests/test_cloud.py9CODE
280 more matches not shown…
Excessive Try-Catch Wrapping146 hits · 152 pts
SeverityFileLineSnippetContext
LOWcoworker/pdf_support.py76 except Exception:CODE
LOWcoworker/pdf_support.py95 except Exception:CODE
LOWcoworker/pdf_support.py98 except Exception as exc:CODE
LOWcoworker/pdf_support.py124 except Exception:CODE
LOWcoworker/pdf_support.py193 except Exception:CODE
LOWcoworker/cloud.py682 except Exception as exc: # malformed manifest: surface, don't crashCODE
LOWcoworker/engine.py140 except Exception:CODE
LOWcoworker/engine.py218 except Exception:CODE
LOWcoworker/engine.py306 except Exception:CODE
LOWcoworker/engine.py363 except Exception as exc: # provider failureCODE
LOWcoworker/engine.py495 except Exception:CODE
LOWcoworker/engine.py520 except Exception:CODE
LOWcoworker/engine.py558 except Exception as exc: # surfaced to the awaiting consumerCODE
LOWcoworker/engine.py786 except Exception as exc:CODE
LOWcoworker/engine.py848 except Exception:CODE
MEDIUMcoworker/engine.py548def produce():CODE
LOWcoworker/agent.py126 except Exception:CODE
LOWcoworker/interactions.py38 except Exception:CODE
LOWcoworker/connectors/integration_tools.py347 except Exception as exc:CODE
LOWcoworker/connectors/integration_tools.py378 except Exception:CODE
LOWcoworker/connectors/slack_directory.py146 except Exception as exc:CODE
LOWcoworker/connectors/slack_directory.py186 except Exception as exc:CODE
LOWcoworker/connectors/gateway.py117 except Exception:CODE
LOWcoworker/connectors/gateway.py130 except Exception:CODE
LOWcoworker/connectors/gateway.py140 except Exception:CODE
LOWcoworker/connectors/gateway.py181 except Exception: # bad token / network — skip, don't break the serverCODE
LOWcoworker/connectors/gateway.py189 except Exception:CODE
LOWcoworker/connectors/tools.py316 except Exception as exc:CODE
LOWcoworker/connectors/relay_client.py118 except Exception as exc:CODE
LOWcoworker/connectors/relay_client.py134 except Exception:CODE
LOWcoworker/connectors/relay_client.py142 except Exception:CODE
LOWcoworker/connectors/relay_client.py167 except Exception as exc:CODE
LOWcoworker/connectors/relay_client.py177 except Exception:CODE
LOWcoworker/connectors/relay_client.py379 except Exception:CODE
LOWcoworker/connectors/relay_client.py417 except Exception:CODE
LOWcoworker/connectors/relay_client.py529 except Exception:CODE
MEDIUMcoworker/connectors/relay_client.py153def _reconnect(self) -> None:CODE
LOWcoworker/connectors/github_relay.py172 except Exception as exc:CODE
LOWcoworker/connectors/senders.py49 except Exception as exc: # network / decodeCODE
LOWcoworker/connectors/senders.py79 except Exception as exc:CODE
LOWcoworker/connectors/senders.py134 except Exception as exc:CODE
LOWcoworker/connectors/senders.py207 except Exception as exc: # network / decodeCODE
LOWcoworker/connectors/descriptors.py105 except Exception as exc:CODE
LOWcoworker/connectors/descriptors.py131 except Exception as exc:CODE
LOWcoworker/connectors/descriptors.py154 except Exception as exc:CODE
LOWcoworker/connectors/descriptors.py165 except Exception:CODE
LOWcoworker/connectors/attribution.py43 except Exception:CODE
LOWcoworker/connectors/browser_automation.py105 except Exception as exc:CODE
LOWcoworker/connectors/browser_automation.py136 except Exception as exc:CODE
LOWcoworker/connectors/browser_automation.py155 except Exception as exc:CODE
LOWcoworker/connectors/browser_automation.py194 except Exception as exc:CODE
LOWcoworker/connectors/browser_automation.py209 except Exception as exc:CODE
LOWcoworker/connectors/browser_automation.py243 except Exception:CODE
LOWcoworker/connectors/browser_automation.py257 except Exception:CODE
LOWcoworker/connectors/browser_automation.py264 except Exception as exc:CODE
MEDIUMcoworker/connectors/email_tools.py386def _logout(imap) -> None:CODE
LOWcoworker/connectors/email_tools.py662 except Exception as exc:CODE
LOWcoworker/connectors/email_tools.py666 except Exception as exc:CODE
LOWcoworker/connectors/email_tools.py671 except Exception:CODE
LOWcoworker/connectors/email_tools.py827 except Exception:CODE
86 more matches not shown…
Deep Nesting59 hits · 52 pts
SeverityFileLineSnippetContext
LOWtests/test_ui_refresh_e2e.py92CODE
LOWtests/test_email_tools.py49CODE
LOWcoworker/pdf_support.py102CODE
LOWcoworker/pdf_support.py106CODE
LOWcoworker/config.py105CODE
LOWcoworker/audit.py123CODE
LOWcoworker/subscriptions.py141CODE
LOWcoworker/attachments.py31CODE
LOWcoworker/attachments.py81CODE
LOWcoworker/engine.py288CODE
LOWcoworker/engine.py314CODE
LOWcoworker/engine.py673CODE
LOWcoworker/compaction.py269CODE
LOWcoworker/compaction.py337CODE
LOWcoworker/conversations.py134CODE
LOWcoworker/conversations.py168CODE
LOWcoworker/roots.py33CODE
LOWcoworker/connectors/integration_tools.py308CODE
LOWcoworker/connectors/relay_client.py128CODE
LOWcoworker/connectors/email_tools.py355CODE
LOWcoworker/connectors/email_tools.py392CODE
LOWcoworker/connectors/email_tools.py421CODE
LOWcoworker/connectors/email_tools.py532CODE
LOWcoworker/tools/files.py50CODE
LOWcoworker/tools/files.py53CODE
LOWcoworker/tools/search.py167CODE
LOWcoworker/tui/app.py173CODE
LOWcoworker/tui/app.py203CODE
LOWcoworker/providers/openai_responses.py80CODE
LOWcoworker/providers/openai_responses.py126CODE
LOWcoworker/providers/openai_responses.py236CODE
LOWcoworker/providers/openai_responses.py372CODE
LOWcoworker/providers/registry.py798CODE
LOWcoworker/providers/bedrock_provider.py120CODE
LOWcoworker/providers/bedrock_provider.py164CODE
LOWcoworker/providers/bedrock_provider.py353CODE
LOWcoworker/providers/bedrock_provider.py400CODE
LOWcoworker/providers/openai_provider.py408CODE
LOWcoworker/providers/openai_provider.py479CODE
LOWcoworker/providers/openai_provider.py211CODE
LOWcoworker/providers/anthropic_provider.py207CODE
LOWcoworker/providers/anthropic_provider.py236CODE
LOWcoworker/providers/anthropic_provider.py457CODE
LOWcoworker/providers/anthropic_provider.py523CODE
LOWcoworker/providers/gemini_provider.py138CODE
LOWcoworker/providers/gemini_provider.py183CODE
LOWcoworker/providers/gemini_provider.py275CODE
LOWcoworker/server/app.py167CODE
LOWcoworker/server/app.py444CODE
LOWcoworker/server/app.py1138CODE
LOWcoworker/server/app.py1538CODE
LOWcoworker/server/manager.py978CODE
LOWcoworker/server/manager.py1228CODE
LOWcoworker/server/manager.py1391CODE
LOWcoworker/server/manager.py2270CODE
LOWcoworker/server/manager.py2939CODE
LOWcoworker/server/manager.py3577CODE
LOWcoworker/mcp/client.py88CODE
LOWcoworker/skills/base.py64CODE
Cross-Language Confusion6 hits · 35 pts
SeverityFileLineSnippetContext
HIGHtests/test_permissions_risk.py106 "git status && rm -rf ~", # chainingCODE
HIGHtests/test_permissions_risk.py109 "git status || curl evil", # or-chainCODE
HIGHcoworker/connectors/browser_automation.py277 return style && style.visibility !== 'hidden' && style.display !== 'none' && rect.width > 0 && rect.height > 0;CODE
HIGHcoworker/connectors/browser_automation.py280 if (el.labels && el.labels.length) return Array.from(el.labels).map(l => l.innerText.trim()).filter(Boolean).join(' CODE
HIGHcoworker/connectors/browser_automation.py298 text: (el.innerText || el.value || '').trim().slice(0, 200),CODE
HIGHcoworker/server/app.py65 return 8 # numbers, booleans, null, separatorsCODE
Modern Structural Boilerplate31 hits · 32 pts
SeverityFileLineSnippetContext
LOWcoworker/pdf_support.py27logger = logging.getLogger(__name__)CODE
LOWcoworker/overrides.py70 def set_rule(self, pattern: str, risk: RiskClass | str) -> None:CODE
LOWcoworker/inbox_routing.py85 def set_persona_default(self, persona_id: str, inbox_name: str) -> None:CODE
LOWcoworker/inbox_routing.py90 def set_session_override(self, session_id: str, inbox_name: str) -> None:CODE
LOWcoworker/conversations.py257 def set_extra_roots(self, session_id: str, extra_roots: list[dict]) -> None:CODE
LOWcoworker/connectors/gateway.py62 def set_handler(self, handler: MessageHandler) -> None:CODE
LOWcoworker/connectors/github_relay.py97 def set_install(self, installation_id: str, info: dict[str, Any]) -> None:CODE
LOWcoworker/connectors/__init__.py41__all__ = [CODE
LOWcoworker/connectors/base.py151 def set_message_handler(self, handler: MessageHandler) -> None:CODE
LOWcoworker/connectors/base.py154 def set_interaction_handler(self, handler: InteractionHandler) -> None:CODE
LOWcoworker/connectors/adapters.py386 async def update_message(self, chat_id: str, message_id: str, text: str) -> None:CODE
LOWcoworker/tools/__init__.py3__all__ = ["ToolRegistry", "ToolSpec"]CODE
LOWcoworker/memory/__init__.py5__all__ = [CODE
LOWcoworker/tui/__init__.py3__all__ = ["CoworkerApp"]CODE
LOWcoworker/web/__init__.py17__all__ = [CODE
LOWcoworker/providers/__init__.py28__all__ = [CODE
LOWcoworker/agents/__init__.py8__all__ = [CODE
LOWcoworker/server/__init__.py4__all__ = ["create_app", "SessionManager"]CODE
LOWcoworker/mcp/__init__.py19__all__ = [CODE
LOWcoworker/mcp/oauth.py32logger = logging.getLogger(__name__)CODE
LOWcoworker/mcp/oauth.py75 async def set_tokens(self, tokens: OAuthToken) -> None:CODE
LOWcoworker/mcp/oauth.py87 async def set_client_info(self, info: OAuthClientInformationFull) -> None:CODE
LOWcoworker/personas/registry.py295 def set_enabled(self, persona_id: str, enabled: bool) -> None:CODE
LOWcoworker/personas/registry.py306 def set_surfaced(self, persona_id: str, surfaced: bool) -> None:CODE
LOWcoworker/personas/registry.py312 def set_default(self, persona_id: str) -> None:CODE
LOWcoworker/personas/registry.py411def set_registry(registry: PersonaRegistry) -> None:CODE
LOWcoworker/personas/__init__.py14__all__ = [CODE
LOWcoworker/testing/fake_slack/__init__.py10__all__ = ["FakeSlack"]CODE
LOWcoworker/skills/store.py265 def set_enabled(self, name: str, enabled: bool) -> None:CODE
LOWcoworker/skills/__init__.py10__all__ = [CODE
LOWcoworker/automation/__init__.py10__all__ = [CODE
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHtests/test_message_source.py0inbound delivery is gated on the connector being connected (§4.3). tests used to pass by riding the developer's real slaSTRING
HIGHtests/test_subscriptions.py0inbound delivery is gated on the connector being connected (§4.3). tests used to pass by riding the developer's real slaSTRING
HIGHtests/test_dm_routing.py0inbound delivery is gated on the connector being connected (§4.3). tests used to pass by riding the developer's real slaSTRING
HIGHcoworker/connectors/accounts.py0the default account email: the stored pointer if it still exists, else the first connected account, else "".STRING
HIGHcoworker/connectors/gmail_accounts.py0the default account email: the stored pointer if it still exists, else the first connected account, else "".STRING
HIGHcoworker/connectors/gcal_accounts.py0the default account email: the stored pointer if it still exists, else the first connected account, else "".STRING
AI Slop Vocabulary6 hits · 18 pts
SeverityFileLineSnippetContext
MEDIUMpyproject.toml42# aiohttp is slack-bolt's Socket Mode transport at runtime (and the FakeSlack test harnessCOMMENT
MEDIUMcoworker/connectors/adapters.py170 # slack_sdk's own reconnect stays on in production (seamless on Slack's graceful cycling);COMMENT
MEDIUMcoworker/connectors/adapters.py194 # Base-URL override so tests (and the FakeSlack harness) can redirect every Web APICOMMENT
MEDIUMsurfaces/gui/src/api.ts692 // bounded per-persona cards. Defaults to "flat" (absent → flat) so the GUI is robust to an olderCOMMENT
MEDIUMsurfaces/gui/src/api.ts706 // and attach-time thresholds. Optional so the GUI is robust to an older backend.COMMENT
MEDIUMsurfaces/gui/src/api.ts712 // Optional so the GUI is robust to an older backend.COMMENT
Fake / Example Data15 hits · 15 pts
SeverityFileLineSnippetContext
LOWtests/test_hubspot_portals.py217 "account": "Acme Inc",CODE
LOWtests/test_hubspot_portals.py230 "name": "Acme Inc",CODE
LOWcoworker/connectors/descriptors.py32 "placeholder": self.placeholder,CODE
LOWcoworker/connectors/browser_automation.py297 placeholder: el.getAttribute('placeholder') || '',CODE
LOWcoworker/providers/registry.py65 "placeholder": self.placeholder,CODE
LOWui-mocks/voice-input-settings.html119 <div class="placeholder">Ask OpenCoworker anything…</div>CODE
LOWsurfaces/gui/e2e/fixtures.ts504 { hub_id: "111", name: "Acme Inc", sandbox: false },CODE
LOWsurfaces/gui/e2e/provider-keys.spec.ts41 await expect(page.getByTestId("set-field-api_key")).toHaveAttribute("placeholder", "••••••••");CODE
LOWsurfaces/gui/e2e/provider-keys.spec.ts53 await expect(page.getByTestId("set-field-api_key")).toHaveAttribute("placeholder", "••••••••");CODE
LOWsurfaces/gui/e2e/onboarding.spec.ts81 await expect(page.getByTestId("ob-field-api_key")).toHaveAttribute("placeholder", "••••••••");CODE
LOWsurfaces/gui/e2e/hubspot-page.spec.ts35 await expect(page.getByTestId("connector-hubspot")).toContainText("Acme Inc", {CODE
LOWsurfaces/gui/e2e/hubspot-page.spec.ts61 await expect(page.getByTestId("connector-hubspot")).toContainText("Acme Inc", { timeout: 10_000 });CODE
LOWsurfaces/gui/e2e/hubspot-page.spec.ts84 await expect(page.getByTestId("connector-hubspot")).toContainText("Acme Inc", { timeout: 10_000 });CODE
LOWsurfaces/gui/e2e/chat.spec.ts68 "reply OK. " + "lorem ipsum dolor sit amet consectetur ".repeat(60) + tail; // ~2.4k charsCODE
LOWsurfaces/gui/e2e/chat.spec.ts68 "reply OK. " + "lorem ipsum dolor sit amet consectetur ".repeat(60) + tail; // ~2.4k charsCODE
Over-Commented Block14 hits · 14 pts
SeverityFileLineSnippetContext
LOWpackaging/build_dmg.sh1#!/usr/bin/env bashCOMMENT
LOWpackaging/build_dmg.sh21# `tauri build` signs the .app + the bundled sidecar with it. Left unset → UNSIGNED (first launchCOMMENT
LOWpackaging/build_dmg.sh81# stale onefile binary from pre-onedir builds.COMMENT
LOWcoworker/compaction.py21# Trigger: min(threshold_pct × context_window, cap_tokens). The cap exists so 1M-contextCOMMENT
LOWcoworker/connectors/descriptors.py61 # Registry metadata (UI-Refresh §1): the connector's brand color (hex; fallback gray) and aCOMMENT
LOWcoworker/connectors/descriptors.py81 # Manual token paste ALWAYS remains available — signed out or in — managedCOMMENT
LOWcoworker/providers/openai_provider.py321COMMENT
LOW.github/workflows/release.yml1# Desktop release builds — macOS (.dmg, arm64 + Intel) and Windows (.msi + NSIS .exe).COMMENT
LOWsurfaces/gui/src-tauri/src/lib.rs1//! OpenWorker desktop shell.COMMENT
LOWsurfaces/gui/src/App.tsx781 }COMMENT
LOWsurfaces/gui/src/streamGate.ts1// §33 refinement #3 (owner, 2026-07-14 — v2's gate only covered turn START; mid-turnCOMMENT
LOWsurfaces/gui/src/paths.ts1// Last path segment, for displaying a workspace/root as its folder name. Splits on bothCOMMENT
LOWsurfaces/gui/src/connectors/registry.tsx1// Connector logo registry — maps a stable `logo` id (from a connector's API descriptor) to theCOMMENT
LOWsurfaces/gui/src/components/ConnectorMessageCard.tsx1// ConnectorMessageCard — renders a connector-delivered inbound message (§3.3) as a structured card:COMMENT
Modern AI Meta-Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUMcoworker/compaction.py177# -- mechanical extraction (no LLM — zero hallucination risk) -----------------COMMENT
MEDIUMcoworker/server/app.py1450 # Auto-compaction overrides (OPE-27): threshold % of the context window, theCOMMENT
MEDIUMcoworker/server/manager.py1839 # {full id → context window in tokens}, verified matrix entries only —COMMENT
AI Structural Patterns6 hits · 6 pts
SeverityFileLineSnippetContext
LOWcoworker/engine.py54CODE
LOWcoworker/agent.py141CODE
LOWcoworker/inbox.py116CODE
LOWcoworker/connectors/email_tools.py421CODE
LOWcoworker/providers/vertex_provider.py76CODE
LOWcoworker/providers/bedrock_provider.py473CODE
Overly Generic Function Names1 hit · 2 pts
SeverityFileLineSnippetContext
LOWcoworker/automation/scheduler.py91 async def run_task(self, task: ScheduledTask, *, trigger: str) -> Optional[TaskRun]:CODE