AI Slop Code RIsk Monitor

browser-use/workflow-use

⚙️ Create and run workflows (RPA 2.0)

29.2 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for browser-use/workflow-use, a Python project with 4,219 GitHub stars. SynthScan examined 45,992 lines of code across 164 source files, recording 898 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 29.2 (Elevated pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

29.2
Adjusted Signal
29.2
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
4.2K
Stars
Python
Language
46.0K
Lines of Code
164
Files
898
Pattern Hits
2026-10-12
Scan Date
0.38
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 46.6/100 · MEDIUM

Can maintainers explain intent, assumptions, and trade-offs? 479 finding(s).

Hallucinated Dependency & Supply Chain Risk 27.0/100 · MEDIUM

Are imports declared and package/API names verified? 95 finding(s).

Agent Over-Engineering Ratio 50.4/100 · HIGH

Are wrappers, guards, and repeated structures necessary? 515 finding(s).

PR Review Velocity Impact 78.3/100 · CRITICAL

Which changes need focused human review? 898 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 62MEDIUM 98LOW 738

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 898 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Cross-Language Confusion35 hits · 228 pts
SeverityFileLineSnippetContext
HIGH…es/scripts/variables/create_workflow_with_variables.py8Run: cd workflows && uv run python examples/create_workflow_with_variables.pySTRING
HIGH…/examples/scripts/demos/hierarchical_selection_demo.py240 let element = null;CODE
HIGH⚡workflows/workflow_use/workflow/semantic_executor.py987 matches.push({{ element: el, text: text || ariaLabel || title, priority: 1 }});CODE
HIGH⚡workflows/workflow_use/workflow/semantic_executor.py987 matches.push({{ element: el, text: text || ariaLabel || title, priority: 1 }});CODE
HIGH⚡workflows/workflow_use/workflow/semantic_executor.py991 matches.push({{ element: el, text: text || ariaLabel || title, priority: 2 }});CODE
HIGH⚡workflows/workflow_use/workflow/semantic_executor.py991 matches.push({{ element: el, text: text || ariaLabel || title, priority: 2 }});CODE
HIGH⚡workflows/workflow_use/workflow/semantic_executor.py995 matches.push({{ element: el, text: text || ariaLabel || title, priority: 3 }});CODE
HIGH⚡workflows/workflow_use/workflow/semantic_executor.py995 matches.push({{ element: el, text: text || ariaLabel || title, priority: 3 }});CODE
HIGH⚡workflows/workflow_use/workflow/semantic_executor.py1000 if (targetWords.length > 0 && targetWords.every(word => allText.includes(word))) {{CODE
HIGH⚡workflows/workflow_use/workflow/semantic_executor.py1001 matches.push({{ element: el, text: text || ariaLabel || title, priority: 4 }});CODE
HIGH⚡workflows/workflow_use/workflow/semantic_executor.py1001 matches.push({{ element: el, text: text || ariaLabel || title, priority: 4 }});CODE
HIGHworkflows/workflow_use/workflow/semantic_executor.py783 null,CODE
HIGHworkflows/workflow_use/workflow/semantic_executor.py959 if (rect.width === 0 || rect.height === 0 ||CODE
HIGHworkflows/workflow_use/workflow/step_verifier.py488 return selected ? selected.text : null;STRING
HIGH⚡workflows/workflow_use/workflow/element_finder.py475 null,CODE
HIGH⚡workflows/workflow_use/workflow/element_finder.py482 return null;CODE
HIGH⚡workflows/workflow_use/workflow/element_finder.py488 const isVisible = rect.width > 0 && rect.height > 0 &&CODE
HIGH⚡workflows/workflow_use/workflow/semantic_extractor.py216 function debugMessage(msg, data = null) {CODE
HIGH⚡workflows/workflow_use/workflow/semantic_extractor.py219 debugLog.push({ message: msg, data: data, timestamp: Date.now() });CODE
HIGH⚡workflows/workflow_use/workflow/semantic_extractor.py615 hints.push('click_date');CODE
HIGH⚡workflows/workflow_use/workflow/semantic_extractor.py617 hints.push('selected_date');CODE
HIGH⚡workflows/workflow_use/workflow/semantic_extractor.py621 hints.push('select_option');CODE
HIGH⚡workflows/workflow_use/workflow/semantic_extractor.py623 hints.push('expanded');CODE
HIGH⚡workflows/workflow_use/workflow/semantic_extractor.py627 hints.push('select_flight');CODE
HIGH⚡workflows/workflow_use/workflow/semantic_extractor.py629 hints.push('selection_button');CODE
HIGH⚡workflows/workflow_use/workflow/semantic_extractor.py698 if (!elementText && el.getAttribute('aria-label')) {CODE
HIGH⚡workflows/workflow_use/workflow/semantic_extractor.py700 } else if (!elementText && el.getAttribute('title')) {CODE
HIGH⚡workflows/workflow_use/workflow/semantic_extractor.py702 } else if (!elementText && el.getAttribute('placeholder')) {CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py267 .filter(attr => attr.name && attr.name.startsWith('data-'))CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py481 while (current && current !== document.body && path.length < 5) {CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py490 if (firstClass && firstClass.match(/^[a-zA-Z_-][a-zA-Z0-9_-]*$/)) {CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py548 if (cellText && cellText.length < 50) {CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py650 if (rect.width === 0 || rect.height === 0 ||CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py682 if (el.type && el.type !== 'submit' && el.type !== 'button' && el.type !== '') {CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py746 elements.push(elementData);CODE
Excessive Try-Catch Wrapping231 hits · 192 pts
SeverityFileLineSnippetContext
LOWworkflows/IMPLEMENTATION_SUMMARY.md202except Exception as e:CODE
LOWworkflows/migrate_json_to_yaml.py56 except Exception as e:CODE
LOWworkflows/migrate_json_to_yaml.py109 except Exception as e:CODE
MEDIUMworkflows/migrate_json_to_yaml.py208 print(f'Error: Directory does not exist: {directory}')STRING
MEDIUMworkflows/migrate_json_to_yaml.py212 print(f'Error: Not a directory: {directory}')STRING
LOW⚡workflows/cli.py1216 except Exception as e:CODE
LOWworkflows/cli.py39except Exception as e:CODE
LOWworkflows/cli.py110 except Exception as e:CODE
LOWworkflows/cli.py147 except Exception as e:CODE
LOWworkflows/cli.py192 except Exception as e:CODE
LOWworkflows/cli.py201 except Exception as e:CODE
LOWworkflows/cli.py240 except Exception as e:CODE
LOWworkflows/cli.py440 except Exception as e:CODE
LOWworkflows/cli.py456 except Exception as e:CODE
LOWworkflows/cli.py489 except Exception as e:CODE
LOWworkflows/cli.py639 except Exception as e:CODE
LOWworkflows/cli.py657 except Exception as e:CODE
LOWworkflows/cli.py790 except Exception as e:CODE
LOWworkflows/cli.py824 except Exception:CODE
LOWworkflows/cli.py930 except Exception as e:CODE
LOWworkflows/cli.py1008 except Exception as e:CODE
LOWworkflows/cli.py1159 except Exception as e:CODE
LOWworkflows/cli.py1176 except Exception as e:CODE
LOWworkflows/cli.py1320 except Exception as e:CODE
LOWworkflows/cli.py1372 except Exception as e:CODE
LOWworkflows/cli.py1383 except Exception as e:CODE
LOWworkflows/cli.py1516 except Exception as e:CODE
LOWworkflows/cli.py1609 except Exception as e:CODE
LOWworkflows/cli.py1736 except Exception as e:CODE
LOWworkflows/cli.py1829 except Exception as e:CODE
LOWworkflows/cli.py1872 except Exception as e:CODE
LOWworkflows/cli.py2015 except Exception as e:CODE
LOWworkflows/cli.py2095 except Exception as e:CODE
LOWworkflows/cli.py2295 except Exception as e:CODE
LOWworkflows/cli.py2392 except Exception as e:CODE
LOWworkflows/tests/test_selector_generator.py284 except Exception as e:CODE
LOWworkflows/tests/test_recorded_workflow.py22 except Exception as e:CODE
LOWworkflows/tests/test_element_finder.py318 except Exception as e:CODE
LOWworkflows/tests/test_workflow_execution.py220 except Exception as e:CODE
LOWworkflows/tests/test_go_back_fix.py39 except Exception as e:CODE
LOWworkflows/tests/test_go_back_fix.py59 except Exception as e:CODE
LOWworkflows/tests/test_xpath_optimization.py440 except Exception as e:CODE
LOWworkflows/backend/service.py189 except Exception as e:CODE
MEDIUMworkflows/backend/service.py190 print(f'Error loading workflow: {e}')CODE
LOWworkflows/backend/service.py226 except Exception as exc:CODE
LOWworkflows/backend/routers.py85 except Exception as exc:CODE
LOWworkflows/docs/PROGRESS_TRACKING.md347except Exception as e:CODE
LOWworkflows/docs/PROGRESS_TRACKING.md470 except Exception:CODE
LOWworkflows/docs/PROGRESS_TRACKING.md775 except Exception as e:CODE
MEDIUMworkflows/docs/PROGRESS_TRACKING.md462def main():CODE
LOW…s/scripts/deterministic/test_deterministic_workflow.py83 except Exception as e:CODE
LOW…s/scripts/deterministic/test_deterministic_workflow.py133 except Exception as e:CODE
LOW…ows/examples/scripts/deterministic/test_custom_task.py96 except Exception as e:STRING
LOW…amples/scripts/deterministic/auto_generate_workflow.py141 except Exception as e:STRING
LOW…ws/examples/scripts/deterministic/run_complete_test.py108 except Exception as e:CODE
LOW…ws/examples/scripts/deterministic/run_complete_test.py124 except Exception as e:CODE
LOW…mples/scripts/variables/run_workflow_with_variables.py34 except Exception as e:CODE
LOW…ows/examples/scripts/demos/semantic_extraction_demo.py74 except Exception as e:CODE
LOW…/examples/scripts/demos/hierarchical_selection_demo.py338 except Exception as e:STRING
LOW…/examples/scripts/demos/hierarchical_selection_demo.py791 except Exception as e:CODE
171 more matches not shown…
Hyper-Verbose Identifiers188 hits · 167 pts
SeverityFileLineSnippetContext
LOWextension/src/entrypoints/background.ts92 async function broadcastWorkflowDataUpdate(): Promise<Workflow> {CODE
LOWextension/src/entrypoints/background.ts299 function convertStoredEventsToSteps(events: StoredEvent[]): Step[] {CODE
LOWworkflows/cli.py65def _build_and_save_workflow_from_recording(CODE
LOWworkflows/cli.py153def _build_and_save_semantic_workflow_from_recording(CODE
LOWworkflows/cli.py245def _fix_missing_navigation_steps(steps):CODE
LOWworkflows/cli.py380async def _convert_recording_to_semantic_workflow(recording_data, description, simulate_interactions, auto_fix_navigatioCODE
LOWworkflows/cli.py525def _filter_redundant_click_events(steps):CODE
LOWworkflows/cli.py618def _select_best_click_from_group(click_group):CODE
LOWworkflows/cli.py687async def _convert_step_to_semantic(step, semantic_mapping, browser, simulate_interactions):CODE
LOWworkflows/cli.py796async def _simulate_step_interaction(step, browser):CODE
LOWworkflows/cli.py829def _find_best_semantic_match(element_text, semantic_mapping):CODE
LOWworkflows/cli.py850def _extract_target_from_selector(css_selector):CODE
LOWworkflows/cli.py1017def build_from_recording_command(CODE
LOWworkflows/cli.py1051def build_semantic_from_recording_command(CODE
LOWworkflows/cli.py1328def run_workflow_no_ai_command(CODE
LOWworkflows/cli.py1524def generate_semantic_mapping_command(CODE
LOWworkflows/cli.py1617def create_semantic_workflow_command(CODE
LOWworkflows/cli.py1631 async def _create_semantic_workflow():CODE
LOWworkflows/cli.py2186def generate_csv_template_command(CODE
LOWworkflows/cli.py2304def generate_workflow_from_task(CODE
LOWworkflows/BUGFIX_SUMMARY.md120def test_callbacks_are_optional(self):CODE
LOWworkflows/QUICK_START_PROGRESS_TRACKING.md9async def generate_without_tracking():CODE
LOWworkflows/tests/test_selector_generator_fix.py11def test_selector_generator_initialization():CODE
LOWworkflows/tests/test_selector_generator.py18 def test_button_with_text_generates_semantic_strategies(self):CODE
LOWworkflows/tests/test_selector_generator.py45 def test_no_css_id_strategies(self):CODE
LOW⚡workflows/tests/test_selector_generator.py84 def test_placeholder_strategy(self):CODE
LOWworkflows/tests/test_selector_generator.py147 def test_explicit_role_takes_precedence(self):CODE
LOWworkflows/tests/test_selector_generator.py153 def test_strategy_priority_ordering(self):CODE
LOWworkflows/tests/test_selector_generator.py172 def test_element_with_no_semantic_data(self):CODE
LOWworkflows/tests/test_selector_generator.py183 def test_generate_strategies_dict(self):CODE
LOWworkflows/tests/test_selector_generator.py201 def test_fuzzy_text_only_for_meaningful_text(self):CODE
LOWworkflows/tests/test_selector_generator.py226 def test_selector_strategy_serialization(self):CODE
LOWworkflows/tests/test_wait_times.py303async def test_run_with_no_ai_wait_logic():CODE
LOWworkflows/tests/test_progress_tracking.py44 def test_step_callback_data_structure(self):CODE
LOWworkflows/tests/test_progress_tracking.py72 def test_status_callback_messages(self):CODE
LOWworkflows/tests/test_progress_tracking.py94 def test_callbacks_are_optional(self):CODE
LOWworkflows/tests/test_progress_tracking.py108 def test_status_callback_exception_handling(self):CODE
LOWworkflows/tests/test_progress_tracking.py121 def test_async_callback_pattern(self):CODE
LOWworkflows/tests/test_progress_tracking.py181 def test_description_generation(self):CODE
LOWworkflows/tests/test_progress_tracking.py249 async def test_full_workflow_with_callbacks(self):CODE
LOWworkflows/tests/test_element_finder.py175 async def test_multiple_strategies_fallback(self):CODE
LOWworkflows/tests/test_element_finder.py202 async def test_no_match_returns_none(self):CODE
LOWworkflows/tests/test_element_finder.py222 async def test_empty_strategies_returns_none(self):CODE
LOWworkflows/tests/test_element_finder.py231 async def test_no_dom_state_returns_none(self):CODE
LOWworkflows/tests/test_element_finder.py243 async def test_empty_selector_map_returns_none(self):CODE
LOWworkflows/tests/test_element_finder.py257 async def test_fuzzy_matching_threshold(self):CODE
LOWworkflows/tests/test_element_finder.py275 async def test_fuzzy_matching_case_insensitive(self):CODE
LOWworkflows/tests/test_workflow_execution.py20 def test_go_back_uses_no_params_action(self):CODE
LOWworkflows/tests/test_workflow_execution.py37 def test_go_forward_uses_no_params_action(self):CODE
LOWworkflows/tests/test_workflow_execution.py52 def test_other_actions_preserve_params(self):CODE
LOWworkflows/tests/test_workflow_execution.py65 def test_action_model_format_for_empty_actions(self):CODE
LOWworkflows/tests/test_workflow_execution.py80 def test_navigation_step_schema(self):CODE
LOWworkflows/tests/test_workflow_execution.py88 async def test_click_action_uses_multi_strategy(self):CODE
LOW⚡workflows/tests/test_workflow_execution.py104 async def test_input_action_uses_multi_strategy(self):CODE
LOW⚡workflows/tests/test_workflow_execution.py118 async def test_actions_without_strategies_skip_multi_strategy(self):CODE
LOWworkflows/tests/test_workflow_execution.py131 async def test_element_index_injection(self):CODE
LOWworkflows/tests/test_workflow_execution.py146 def test_semantic_strategies_format(self):CODE
LOWworkflows/tests/test_workflow_execution.py168 def test_actions_requiring_wait(self):CODE
LOWworkflows/tests/test_step_counter_without_callback.py9def test_step_counter_increments_without_callback():CODE
LOWworkflows/tests/test_step_counter_without_callback.py77def test_status_update_uses_counter():CODE
128 more matches not shown…
Decorative Section Separators48 hits · 156 pts
SeverityFileLineSnippetContext
MEDIUM⚡workflows/tests/test_xpath_optimization.py22 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py24 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py52 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py54 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py74 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py76 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py84 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py86 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py94 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py96 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py104 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py106 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py114 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py116 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py124 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py126 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py134 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py136 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py144 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py146 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py182 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py184 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py210 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py212 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py237 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py239 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py258 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py260 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py287 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py289 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py297 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py299 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py320 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py322 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py346 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py348 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py369 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py371 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py391 # ============================================================================COMMENT
MEDIUM⚡workflows/tests/test_xpath_optimization.py393 # ============================================================================COMMENT
MEDIUM⚡workflows/examples/scripts/generate_workflow.py23# ============================================================================COMMENT
MEDIUM⚡workflows/examples/scripts/generate_workflow.py25# ============================================================================COMMENT
MEDIUM⚡workflows/examples/scripts/generate_workflow.py33# ============================================================================STRING
MEDIUM⚡workflows/examples/scripts/generate_workflow.py35# ============================================================================STRING
MEDIUM⚡workflows/examples/scripts/generate_workflow.py47# ============================================================================STRING
MEDIUM⚡workflows/examples/scripts/generate_workflow.py49# ============================================================================STRING
MEDIUMworkflows/workflow_use/workflow/service.py947 # ------------------------------------------------------------------COMMENT
MEDIUMworkflows/workflow_use/workflow/service.py949 # ------------------------------------------------------------------COMMENT
Redundant / Tautological Comments73 hits · 93 pts
SeverityFileLineSnippetContext
LOW⚡workflows/cli.py1226 # Check if all REQUIRED inputs have defaults (can skip prompting)COMMENT
LOWworkflows/cli.py267 # Check if this looks like a form progression (common patterns)COMMENT
LOWworkflows/cli.py334 # Check if this looks like a navigation button for our target pageCOMMENT
LOWworkflows/cli.py550 # Check if this is a duplicate click on the same targetCOMMENT
LOW⚡workflows/cli.py1225 if input_definitions: # Check if the list is not emptyCODE
LOWworkflows/cli.py1397 # Check if all REQUIRED inputs have defaults (can skip prompting)COMMENT
LOWworkflows/cli.py1919 # Check if we should stop execution due to critical failuresCOMMENT
LOWworkflows/cli.py2509 # Check if all REQUIRED inputs have defaults (can run without user input)COMMENT
LOWworkflows/cli.py1396 if input_definitions: # Check if the list is not emptyCODE
LOWworkflows/tests/test_step_counter_without_callback.py42 # Check if this line is NOT inside an "if self.on_step_recorded:" blockCOMMENT
LOWworkflows/tests/run_all_tests.py19 # Print outputCOMMENT
LOW…mples/scripts/variables/run_workflow_with_variables.py134 # Check if created by create scriptCOMMENT
LOWworkflows/workflow_use/controller/service.py127 # Check if it's a SELECT elementCOMMENT
LOWworkflows/workflow_use/schema/views.py247 # Check if last step is an extract stepCOMMENT
LOWworkflows/workflow_use/workflow/service.py570 # Check if placeholder wasn't resolved (value unchanged and still has placeholders)COMMENT
LOWworkflows/workflow_use/workflow/service.py646 # Check if this is a selector step without cssSelector - use semantic executionCOMMENT
LOWworkflows/workflow_use/workflow/service.py903 # Check if cancellation was requestedCOMMENT
LOWworkflows/workflow_use/workflow/service.py1094 # Check if cancellation was requestedCOMMENT
LOWworkflows/workflow_use/workflow/variable_identifier.py295 # Check if hints suggest this is a name fieldCOMMENT
LOWworkflows/workflow_use/workflow/validation_utils.py51 # Check if any are visibleCOMMENT
LOW⚡workflows/workflow_use/workflow/semantic_executor.py559 # Check if element exists firstCOMMENT
LOW⚡workflows/workflow_use/workflow/semantic_executor.py565 # Check if it's visibleCOMMENT
LOW⚡workflows/workflow_use/workflow/semantic_executor.py568 # Check if this selector resolves to multiple elements (strict mode violation)COMMENT
LOW⚡workflows/workflow_use/workflow/semantic_executor.py2168 # Check if we're still on the same form step/page when we should have progressedCOMMENT
LOW⚡workflows/workflow_use/workflow/semantic_executor.py2912 # Check if this is a calendar elementCOMMENT
LOW⚡workflows/workflow_use/workflow/semantic_executor.py2914 # Check if date matchesCOMMENT
LOW⚡workflows/workflow_use/workflow/semantic_executor.py2918 # Check if it's the right calendar typeCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py254 # Check if target matches either the full text or original textCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py306 # Check if target text is contained in element text, original text, OR label textCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py315 # Check if the target text matches the value or is close to the labelCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py389 # Check if text matches common ID/code patternsCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py412 # Check if element is in a structured containerCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py419 # Check if text looks like an ID/codeCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py445 # Check if any significant keyword appearsCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py1116 # Check if input has pointer-events: none (hidden input pattern)COMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py1212 # Check if this is a submit button that should trigger navigationCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py1903 # Check if we've hit global failure limits before startingCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py1999 # Check if we should stop due to verification failuresCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py2247 # Check if the target element for the next step is now availableCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py2291 # Check if expected elements are present on pageCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py2526 # Check if it's a SELECT elementCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py2984 # Check if this is a dropdown elementCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py2986 # Check if option text matchesCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py3048 # Check if this is a booking elementCOMMENT
LOW⚡workflows/workflow_use/workflow/step_verifier.py364 # Check if URL changedCOMMENT
LOW⚡workflows/workflow_use/workflow/step_verifier.py368 # Check if DOM changed significantlyCOMMENT
LOW⚡workflows/workflow_use/workflow/step_verifier.py373 # Check if visible elements changedCOMMENT
LOWworkflows/workflow_use/workflow/step_verifier.py343 # Check if page is in a loading stateCOMMENT
LOWworkflows/workflow_use/workflow/step_verifier.py521 # Check if output was capturedCOMMENT
LOWworkflows/workflow_use/workflow/element_finder.py202 # Check if element matches the strategyCOMMENT
LOWworkflows/workflow_use/workflow/element_finder.py233 # Check if node is visible - this is a hard requirementCOMMENT
LOWworkflows/workflow_use/workflow/element_finder.py276 # Check if target_text matches any text sourceCOMMENT
LOWworkflows/workflow_use/workflow/element_finder.py378 # Check if node is visible - this is a hard requirementCOMMENT
LOWworkflows/workflow_use/workflow/element_finder.py423 # Check if target_text matches any text sourceCOMMENT
LOWworkflows/workflow_use/workflow/semantic_extractor.py884 # Check if the selector contains the target as an ID or nameCOMMENT
LOWworkflows/workflow_use/workflow/semantic_extractor.py903 # Check if the context matchesCOMMENT
LOWworkflows/workflow_use/workflow/semantic_extractor.py907 # Check if context matches container or DOM pathCOMMENT
LOWworkflows/workflow_use/workflow/semantic_extractor.py1003 # Check if all parts of the target word appear in the element textCOMMENT
LOWworkflows/workflow_use/workflow/semantic_extractor.py1044 # Check if the base text matchesCOMMENT
LOW⚡workflows/workflow_use/recorder/service.py141 # Check if browser is still running by trying to get current pageCOMMENT
13 more matches not shown…
Deep Nesting102 hits · 68 pts
SeverityFileLineSnippetContext
LOWworkflows/migrate_json_to_yaml.py61CODE
LOWworkflows/cli.py245CODE
LOWworkflows/cli.py316CODE
LOWworkflows/cli.py380CODE
LOWworkflows/cli.py525CODE
LOWworkflows/cli.py618CODE
LOWworkflows/cli.py687CODE
LOWworkflows/cli.py796CODE
LOWworkflows/cli.py1182CODE
LOWworkflows/cli.py1328CODE
LOWworkflows/cli.py1524CODE
LOWworkflows/cli.py1617CODE
LOWworkflows/cli.py1744CODE
LOWworkflows/cli.py2186CODE
LOWworkflows/cli.py2439CODE
LOWworkflows/cli.py1198CODE
LOWworkflows/cli.py1352CODE
LOWworkflows/cli.py1538CODE
LOWworkflows/cli.py1631CODE
LOWworkflows/cli.py1805CODE
LOWworkflows/cli.py2021CODE
LOWworkflows/tests/test_progress_tracking.py181CODE
LOWworkflows/tests/test_progress_tracking.py216CODE
LOWworkflows/tests/test_step_counter_without_callback.py9CODE
LOWworkflows/examples/scripts/generate_workflow.py52CODE
LOW…ows/examples/scripts/deterministic/test_custom_task.py17CODE
LOW…ws/examples/scripts/deterministic/run_complete_test.py70CODE
LOW…scripts/deterministic/create_deterministic_workflow.py20CODE
LOW…/examples/scripts/demos/hierarchical_selection_demo.py343CODE
LOWworkflows/examples/scripts/demos/travel_booking_demo.py46CODE
LOWworkflows/examples/scripts/demos/travel_booking_demo.py184CODE
LOWworkflows/examples/scripts/demos/travel_booking_demo.py245CODE
LOWworkflows/examples/scripts/demos/travel_booking_demo.py273CODE
LOWworkflows/workflow_use/mcp/service.py27CODE
LOWworkflows/workflow_use/storage/service.py80CODE
LOWworkflows/workflow_use/controller/utils.py133CODE
LOWworkflows/workflow_use/workflow/service.py139CODE
LOWworkflows/workflow_use/workflow/service.py508CODE
LOWworkflows/workflow_use/workflow/service.py586CODE
LOWworkflows/workflow_use/workflow/service.py630CODE
LOWworkflows/workflow_use/workflow/service.py723CODE
LOWworkflows/workflow_use/workflow/service.py851CODE
LOWworkflows/workflow_use/workflow/service.py1047CODE
LOWworkflows/workflow_use/workflow/variable_identifier.py132CODE
LOWworkflows/workflow_use/workflow/validation_utils.py26CODE
LOWworkflows/workflow_use/workflow/validation_utils.py90CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py225CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py356CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py483CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py526CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py599CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py638CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py743CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py1046CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py1401CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py1550CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py1863CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py1901CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py2163CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py2273CODE
42 more matches not shown…
Empty Error Handlers13 hits · 65 pts
SeverityFileLineSnippetContext
HIGHworkflows/cli.py824except Exception:CODE
HIGHworkflows/workflow_use/workflow/validation_utils.py141except Exception:CODE
HIGHworkflows/workflow_use/workflow/semantic_executor.py3226except Exception:CODE
HIGHworkflows/workflow_use/workflow/semantic_executor.py2263except Exception:CODE
HIGHworkflows/workflow_use/workflow/semantic_executor.py620except Exception:CODE
HIGHworkflows/workflow_use/workflow/semantic_executor.py2537except Exception:CODE
HIGHworkflows/workflow_use/workflow/step_verifier.py437except Exception:CODE
HIGHworkflows/workflow_use/recorder/service.py201except asyncio.CancelledError: # If capture_workflow itself was cancelledCODE
HIGHworkflows/workflow_use/recorder/service.py212except asyncio.CancelledError:CODE
HIGHworkflows/workflow_use/recorder/service.py232except asyncio.CancelledError:CODE
HIGHworkflows/workflow_use/recorder/service.py154except Exception:CODE
HIGHworkflows/workflow_use/healing/service.py315except Exception:CODE
HIGHworkflows/workflow_use/healing/service.py733except Exception:CODE
Fake / Example Data54 hits · 57 pts
SeverityFileLineSnippetContext
LOWextension/src/entrypoints/content.ts47 "placeholder",CODE
LOWworkflows/cli.py729 semantic_info.get('placeholder', ''),CODE
LOWworkflows/cli.py2253 names = ['John Doe', 'Jane Smith', 'Bob Johnson']CODE
LOW⚡workflows/tests/test_selector_generator.py86 element_data = {'tag_name': 'input', 'text': '', 'attributes': {'placeholder': 'Enter your email'}}CODE
LOW⚡workflows/tests/test_selector_generator.py91 assert 'placeholder' in strategy_types, 'Missing placeholder strategy'CODE
LOW⚡workflows/tests/test_selector_generator.py93 placeholder = next(s for s in strategies if s.type == 'placeholder')CODE
LOWworkflows/tests/test_element_finder.py103 strategies = [{'type': 'placeholder', 'value': 'Enter your email', 'priority': 4, 'metadata': {}}]CODE
LOW⚡workflows/tests/test_workflow_execution.py110 'selectorStrategies': [{'type': 'placeholder', 'value': 'Enter your email', 'priority': 4, 'metadata': {}}],CODE
LOW⚡workflows/tests/test_xpath_optimization.py192 'attributes': {'name': 'email', 'type': 'email', 'placeholder': 'Enter your email'},CODE
LOW⚡workflows/tests/test_xpath_optimization.py200 assert 'placeholder' in strategy_types, 'Should have placeholder strategy'CODE
LOW⚡…mples/scripts/variables/run_workflow_with_variables.py326 valid = {'email': 'user@example.com', 'age': 25, 'subscribe': True}CODE
LOW⚡…mples/scripts/variables/run_workflow_with_variables.py333 print(" {'email': 'user@example.com'}")CODE
LOW⚡…mples/scripts/variables/run_workflow_with_variables.py337 print(" {'email': 'user@example.com', 'age': 'twenty-five'}")CODE
LOW⚡…mples/scripts/variables/run_workflow_with_variables.py341 print(" {'email': 'user@example.com', 'age': 25, 'extra': 'field'}")CODE
LOW…/examples/scripts/demos/hierarchical_selection_demo.py462 ('John Doe', 2), # First data row (after header)STRING
LOW…/examples/scripts/demos/hierarchical_selection_demo.py602 "await executor.find_element_in_container('Edit', container_text='John Doe')",STRING
LOW⚡workflows/workflow_use/controller/utils.py57 'placeholder',CODE
LOWworkflows/workflow_use/controller/utils.py143 for attr in ['placeholder', 'aria-label', 'title', 'name']:CODE
LOWworkflows/workflow_use/workflow/variable_identifier.py270 if 'placeholder' in context:CODE
LOWworkflows/workflow_use/workflow/variable_identifier.py271 hints.append(context['placeholder'].lower())CODE
LOWworkflows/workflow_use/workflow/variable_identifier.py351 for key in ['name', 'id', 'label', 'placeholder', 'target_text']:CODE
LOWworkflows/workflow_use/workflow/variable_identifier.py408 for key in ['labelText', 'placeholder', 'ariaLabel', 'name', 'id', 'textContent']:CODE
LOWworkflows/workflow_use/workflow/variable_identifier.py438 if 'placeholder' in context and context['placeholder']:CODE
LOWworkflows/workflow_use/workflow/variable_identifier.py439 return f'Enter {context["placeholder"].lower()}'CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py975 const placeholder = el.getAttribute('placeholder') || '';CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py2761 container_text: Text content to identify the container (e.g., "John Doe")STRING
LOW⚡workflows/workflow_use/workflow/element_finder.py576 node_placeholder = getattr(node, 'placeholder', '') or ''CODE
LOW⚡workflows/workflow_use/workflow/element_finder.py577 if node_placeholder and element_data.get('placeholder'):CODE
LOW⚡workflows/workflow_use/workflow/element_finder.py579 if node_placeholder == element_data['placeholder']:CODE
LOWworkflows/workflow_use/workflow/element_finder.py117 'placeholder',CODE
LOWworkflows/workflow_use/workflow/element_finder.py257 placeholder = get_attr(node, 'placeholder', '') or ''CODE
LOWworkflows/workflow_use/workflow/element_finder.py332 elif strategy_type == 'placeholder':CODE
LOWworkflows/workflow_use/workflow/element_finder.py333 placeholder = get_attr(node, 'placeholder', '') or ''CODE
LOWworkflows/workflow_use/workflow/element_finder.py404 placeholder = getattr(node, 'placeholder', '') or ''CODE
LOW⚡workflows/workflow_use/workflow/semantic_extractor.py702 } else if (!elementText && el.getAttribute('placeholder')) {CODE
LOW⚡workflows/workflow_use/workflow/semantic_extractor.py703 elementText = el.getAttribute('placeholder');CODE
LOWworkflows/workflow_use/workflow/semantic_extractor.py73 element_info.get('placeholder', ''),CODE
LOWworkflows/workflow_use/workflow/error_reporter.py252 not s.success and s.strategy_type in ['text_exact', 'role_text', 'aria_label', 'placeholder']CODE
LOW⚡…orkflow_use/workflow/tests/test_variable_identifier.py35 context = {'name': 'phone', 'placeholder': 'Enter phone number'}CODE
LOW…orkflow_use/workflow/tests/test_variable_identifier.py128 'semanticInfo': {'name': 'username', 'placeholder': 'Enter username'},CODE
LOW…orkflow_use/workflow/tests/test_variable_identifier.py169 'value': '555-1234',CODE
LOWworkflows/workflow_use/recorder/semantic_converter.py163 for field in ['placeholder', 'ariaLabel']:CODE
LOWworkflows/workflow_use/healing/service.py565 or attrs.get('placeholder')CODE
LOWworkflows/workflow_use/healing/service.py635 or attrs.get('placeholder')CODE
LOW…kflows/workflow_use/healing/deterministic_converter.py362 for attr in ['aria-label', 'placeholder', 'title', 'alt']:CODE
LOW⚡workflows/workflow_use/healing/selector_generator.py153 if 'placeholder' in attrs and attrs['placeholder']:CODE
LOW⚡workflows/workflow_use/healing/selector_generator.py156 type='placeholder',CODE
LOW⚡workflows/workflow_use/healing/selector_generator.py157 value=attrs['placeholder'],CODE
LOWworkflows/workflow_use/healing/selector_generator.py383 elif 'placeholder' in attrs and attrs['placeholder']:CODE
LOWworkflows/workflow_use/healing/selector_generator.py384 conditions.append(f'@placeholder={self._escape_xpath_value(attrs["placeholder"])}')CODE
LOW⚡workflows/workflow_use/healing/selector_generator.py444 if 'placeholder' in attrs and attrs['placeholder']:CODE
LOW⚡workflows/workflow_use/healing/selector_generator.py445 parts.append(f'[placeholder="{self._escape_quotes(attrs["placeholder"])}"]')CODE
LOW⚡…/workflow_use/healing/tests/test_variable_extractor.py25 assert markers[0][2] == 'user@example.com' # valueCODE
LOW…flow_use/healing/prompts/workflow_validation_prompt.md60 - Example: `{"value": "John Doe"}` in a search field → should be `{"value": "{{search_name}}"}`CODE
Structural Annotation Overuse31 hits · 56 pts
SeverityFileLineSnippetContext
LOWworkflows/QUICK_START_PROGRESS_TRACKING.md5### Step 1: Update Your Code (Add 6 Lines)COMMENT
LOWworkflows/QUICK_START_PROGRESS_TRACKING.md38## Step 2: For Database Storage (Browser-Use Cloud)COMMENT
LOWworkflows/QUICK_START_PROGRESS_TRACKING.md77## Step 3: Create Polling EndpointCOMMENT
LOWworkflows/QUICK_START_PROGRESS_TRACKING.md97## Step 4: Frontend (Poll Every 2 Seconds)COMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml27 # Step 1: Navigation stepCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml33 # Step 2: Click step (using semantic target_text)COMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml41 # Step 3: Extract content stepCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml47 # Step 4: Click on Issues tabCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml53 # Step 5: Click on New Issue buttonCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml59 # Step 6: Input text into title fieldCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml66 # Step 7: Input text into descriptionCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml73 # Step 8: Select dropdown optionCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml80 # Step 9: Checkbox interactionCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml87 # Step 10: Press keyboard keyCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml92 # Step 11: Agent step - for complex tasks that need AICOMMENT
LOW⚡workflows/examples/scripts/demos/travel_booking_demo.py173 # Step 7: Analyze and select flightCOMMENT
LOWworkflows/examples/scripts/demos/travel_booking_demo.py60 # Step 1: Handle departure city inputCOMMENT
LOWworkflows/examples/scripts/demos/travel_booking_demo.py73 # Step 2: Handle destination city inputCOMMENT
LOWworkflows/examples/scripts/demos/travel_booking_demo.py86 # Step 3: Handle departure date selectionCOMMENT
LOWworkflows/examples/scripts/demos/travel_booking_demo.py132 # Step 4: Handle return date selectionCOMMENT
LOWworkflows/examples/scripts/demos/travel_booking_demo.py146 # Step 5: Handle travelers and cabin classCOMMENT
LOWworkflows/examples/scripts/demos/travel_booking_demo.py160 # Step 6: Search for flightsCOMMENT
LOW…rkflows/examples/scripts/demos/generation_mode_demo.py50 # Step 1: Generate workflowCOMMENT
LOW⚡…rkflows/examples/scripts/demos/generation_mode_demo.py90 # Step 2: Save to storageCOMMENT
LOW⚡…rkflows/examples/scripts/demos/generation_mode_demo.py106 # Step 3: List workflowsCOMMENT
LOW⚡…rkflows/examples/scripts/demos/generation_mode_demo.py112 # Step 4: Retrieve and displayCOMMENT
LOW…rkflows/examples/scripts/demos/generation_mode_demo.py124 # Step 5: Run the workflowCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py2772 # Step 1: Find the containerCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py2793 # Step 2: Find the target element within the containerCOMMENT
LOW⚡workflows/workflow_use/healing/service.py146 # Step 2: Clean up YAMLCOMMENT
LOWworkflows/workflow_use/healing/service.py101 # Step 1: Pattern-based variable identificationCOMMENT
Self-Referential Comments18 hits · 52 pts
SeverityFileLineSnippetContext
MEDIUMworkflows/cli.py1361 # Create a dummy LLM instance since it's required by the constructor but won't be used for interactionsCOMMENT
MEDIUMworkflows/cli.py2230 # Create a basic template anywayCOMMENT
MEDIUMworkflows/tests/test_selector_generator_fix.py15 # Create a HealingService instanceCOMMENT
MEDIUMworkflows/tests/test_wait_times.py43 # Create a test workflow with various wait timesCOMMENT
MEDIUMworkflows/tests/test_wait_times.py119 # Create a simple test workflow YAMLCOMMENT
MEDIUMworkflows/tests/test_wait_times.py248 # Create a workflow with known wait timesCOMMENT
MEDIUMworkflows/tests/test_wait_times.py309 # Create a test workflow with various wait timesCOMMENT
MEDIUMworkflows/tests/test_go_back_fix.py17 # Create a minimal workflow with a go_back actionCOMMENT
MEDIUM…/examples/scripts/demos/hierarchical_selection_demo.py460 # Define the users and their row positionsSTRING
MEDIUMworkflows/workflow_use/mcp/service.py79 # Define the actual function that will be called by FastMCPCOMMENT
MEDIUMworkflows/workflow_use/healing/service.py379 # Create a mock DOMInteractedElement from captured dataCOMMENT
MEDIUMworkflows/workflow_use/healing/service.py382 # Create a simple object with the needed attributesCOMMENT
MEDIUMworkflows/workflow_use/healing/service.py468 # Create a shared map to capture element text during agent executionCOMMENT
MEDIUMworkflows/workflow_use/healing/service.py474 # Create a custom controller that captures element mappingsCOMMENT
MEDIUMworkflows/workflow_use/healing/service.py641 # Create a simplified dict with the data we needCOMMENT
MEDIUM…s/workflow_use/healing/tests/test_generate_workflow.py49 # Define the task promptCOMMENT
MEDIUMworkflows/workflow_use/healing/tests/test_validator.py34 # Create a sample workflow with known issuesCOMMENT
MEDIUMworkflows/workflow_use/builder/service.py54 # This function provides the detailed schema for the LLM.COMMENT
Verbosity Indicators27 hits · 50 pts
SeverityFileLineSnippetContext
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml27 # Step 1: Navigation stepCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml33 # Step 2: Click step (using semantic target_text)COMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml41 # Step 3: Extract content stepCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml47 # Step 4: Click on Issues tabCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml53 # Step 5: Click on New Issue buttonCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml59 # Step 6: Input text into title fieldCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml66 # Step 7: Input text into descriptionCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml73 # Step 8: Select dropdown optionCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml80 # Step 9: Checkbox interactionCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml87 # Step 10: Press keyboard keyCOMMENT
LOW⚡…rkflows/examples/workflows/basic/example_workflow.yaml92 # Step 11: Agent step - for complex tasks that need AICOMMENT
LOW⚡workflows/examples/scripts/demos/travel_booking_demo.py173 # Step 7: Analyze and select flightCOMMENT
LOWworkflows/examples/scripts/demos/travel_booking_demo.py60 # Step 1: Handle departure city inputCOMMENT
LOWworkflows/examples/scripts/demos/travel_booking_demo.py73 # Step 2: Handle destination city inputCOMMENT
LOWworkflows/examples/scripts/demos/travel_booking_demo.py86 # Step 3: Handle departure date selectionCOMMENT
LOWworkflows/examples/scripts/demos/travel_booking_demo.py132 # Step 4: Handle return date selectionCOMMENT
LOWworkflows/examples/scripts/demos/travel_booking_demo.py146 # Step 5: Handle travelers and cabin classCOMMENT
LOWworkflows/examples/scripts/demos/travel_booking_demo.py160 # Step 6: Search for flightsCOMMENT
LOW…rkflows/examples/scripts/demos/generation_mode_demo.py50 # Step 1: Generate workflowCOMMENT
LOW⚡…rkflows/examples/scripts/demos/generation_mode_demo.py90 # Step 2: Save to storageCOMMENT
LOW⚡…rkflows/examples/scripts/demos/generation_mode_demo.py106 # Step 3: List workflowsCOMMENT
LOW⚡…rkflows/examples/scripts/demos/generation_mode_demo.py112 # Step 4: Retrieve and displayCOMMENT
LOW…rkflows/examples/scripts/demos/generation_mode_demo.py124 # Step 5: Run the workflowCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py2772 # Step 1: Find the containerCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py2793 # Step 2: Find the target element within the containerCOMMENT
LOW⚡workflows/workflow_use/healing/service.py146 # Step 2: Clean up YAMLCOMMENT
LOWworkflows/workflow_use/healing/service.py101 # Step 1: Pattern-based variable identificationCOMMENT
AI Slop Vocabulary17 hits · 45 pts
SeverityFileLineSnippetContext
MEDIUM…/examples/scripts/demos/hierarchical_selection_demo.py441 # Example 4: Table row selection with comprehensive recordingSTRING
MEDIUM…/examples/scripts/demos/hierarchical_selection_demo.py650 # Generate the comprehensive interaction mappingSTRING
MEDIUM…/examples/scripts/demos/hierarchical_selection_demo.py739 """Generate the final interaction mapping with comprehensive examples"""STRING
MEDIUM⚡workflows/examples/scripts/demos/travel_booking_demo.py365 """Generate a comprehensive interaction report."""STRING
MEDIUMworkflows/workflow_use/schema/views.py39 # NEW: Multi-strategy selectors for robust element findingCOMMENT
MEDIUMworkflows/workflow_use/workflow/service.py212 # This way we leverage browser-use's robust action handlingCOMMENT
MEDIUMworkflows/workflow_use/workflow/service.py212 # This way we leverage browser-use's robust action handlingCOMMENT
MEDIUM⚡workflows/workflow_use/workflow/semantic_executor.py2087 # Create comprehensive error contextCOMMENT
MEDIUMworkflows/workflow_use/workflow/semantic_executor.py1951 # Run comprehensive step verification if enabledCOMMENT
MEDIUMworkflows/workflow_use/workflow/semantic_executor.py2108 # Generate and log comprehensive error reportCOMMENT
MEDIUMworkflows/workflow_use/recorder/recorder.py1# Enhanced recorder with comprehensive event types and intelligent mergingCOMMENT
MEDIUMworkflows/workflow_use/recorder/semantic_converter.py176 # Extract ID using regex - more robust approachCOMMENT
MEDIUMworkflows/workflow_use/healing/service.py662 # Generate multiple selector strategies for robust element findingCOMMENT
MEDIUM…kflows/workflow_use/healing/deterministic_converter.py631 # Add multi-strategy selectors for robust element findingCOMMENT
MEDIUM…kflows/workflow_use/healing/deterministic_converter.py742 # Add multi-strategy selectors for robust element findingCOMMENT
MEDIUMworkflows/workflow_use/healing/selector_generator.py199 # NEW: Use XPathOptimizer to generate multiple robust XPath alternativesCOMMENT
MEDIUMworkflows/workflow_use/healing/selector_generator.py217 # Priority starts at 3 for most robust, increases for less robustCOMMENT
Cross-File Repetition8 hits · 40 pts
SeverityFileLineSnippetContext
HIGHworkflows/examples/scripts/generate_workflow.py0go to github, search for the stagehand repository, click on it, and extract the star count.STRING
HIGH…amples/scripts/deterministic/auto_generate_workflow.py0go to github, search for the stagehand repository, click on it, and extract the star count.STRING
HIGH…scripts/deterministic/create_deterministic_workflow.py0go to github, search for the stagehand repository, click on it, and extract the star count.STRING
HIGH…ows/examples/scripts/deterministic/test_custom_task.py0go to github, search for the stagehand repository, click on it, and extract the star count.STRING
HIGH…flows/workflow_use/workflow/tests/run_workflow_tool.py0tests that the workflow is built correctly from a json file path.STRING
HIGHworkflows/workflow_use/workflow/tests/test_extract.py0tests that the workflow is built correctly from a json file path.STRING
HIGHworkflows/workflow_use/workflow/tests/run_workflow.py0tests that the workflow is built correctly from a json file path.STRING
HIGHworkflows/workflow_use/builder/tests/build_workflow.py0tests that the workflow is built correctly from a json file path.STRING
Docstring Block Structure6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHworkflows/workflow_use/workflow/semantic_executor.py2718Public method to find elements using hierarchical context. This method demonstrates how to use the enhanced hierarchiSTRING
HIGHworkflows/workflow_use/healing/xpath_optimizer.py16 Escape a string value for safe use in XPath expressions. XPath 1.0 doesn't have a native escape mechanism for quotesSTRING
HIGHworkflows/workflow_use/healing/xpath_optimizer.py74 Generate optimized XPath alternatives from an absolute XPath. Args: absolute_xpath: Full XPath like /html/boSTRING
HIGHworkflows/workflow_use/healing/selector_generator.py85 Generate selector strategies from captured element data. Generates semantic strategies first, then optionally addsSTRING
HIGHworkflows/workflow_use/healing/variable_extractor.py213Use LLM to suggest which values should be variables. Args: workflow: Workflow to analyze Returns: VariSTRING
HIGHworkflows/workflow_use/builder/service.py139 Generates an enhanced Workflow definition from an input workflow object using an LLM. Args: input_workflow: STRING
Modern Structural Boilerplate24 hits · 22 pts
SeverityFileLineSnippetContext
LOWworkflows/tests/test_recorded_workflow.py11logger = logging.getLogger(__name__)CODE
LOWworkflows/tests/test_button_click.py11logger = logging.getLogger(__name__)CODE
LOW…/examples/scripts/demos/hierarchical_selection_demo.py20logger = logging.getLogger(__name__)CODE
LOWworkflows/examples/scripts/demos/travel_booking_demo.py12logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/__init__.py4__all__ = ['WorkflowDefinitionSchema', 'Workflow']CODE
LOWworkflows/workflow_use/storage/service.py18logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/storage/__init__.py3__all__ = ['WorkflowStorageService', 'WorkflowMetadata']CODE
LOWworkflows/workflow_use/controller/service.py20logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/controller/utils.py4logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/workflow/variable_config.py228def set_config(config: VariableIdentificationConfig) -> None:CODE
LOWworkflows/workflow_use/workflow/service.py32logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/workflow/variable_identifier.py15logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/workflow/semantic_executor.py28logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/workflow/step_verifier.py13logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/workflow/element_finder.py17logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/workflow/semantic_extractor.py11logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/workflow/error_reporter.py14logger = logging.getLogger(__name__)CODE
LOW…rkflows/workflow_use/workflow/step_agent/controller.py6logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/recorder/semantic_converter.py5logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/healing/xpath_optimizer.py12logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/healing/selector_generator.py15logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/healing/_agent/controller.py8logger = logging.getLogger(__name__)CODE
LOW…s/workflow_use/healing/tests/test_exploration_agent.py13logger = logging.getLogger(__name__)CODE
LOWworkflows/workflow_use/builder/service.py17logger = logging.getLogger(__name__)CODE
Over-Commented Block12 hits · 10 pts
SeverityFileLineSnippetContext
LOWextension/src/entrypoints/content.ts1061 stopRecorder(); // Ensure rrweb is stoppedCOMMENT
LOWworkflows/workflow_use/mcp/tests/test_tools.py21 # async with Client(mcp) as client:COMMENT
LOWworkflows/workflow_use/workflow/service.py421 # async def _fallback_to_agent(COMMENT
LOWworkflows/workflow_use/workflow/service.py441 # # Determine the failed_value based on step type and attributesCOMMENT
LOWworkflows/workflow_use/workflow/service.py461COMMENT
LOWworkflows/workflow_use/workflow/service.py481 # )COMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py2161 return validation_errorsCOMMENT
LOWworkflows/workflow_use/recorder/service.py41 # async def log_requests(request: Request, call_next):COMMENT
LOW.github/workflows/lint.yml101 run: npm run compileCOMMENT
LOW.github/workflows/lint.yml121 #COMMENT
LOW.github/workflows/lint.yml141 # cache-dependency-path: ui/package-lock.jsonCOMMENT
LOW.github/workflows/lint.yml161 # cache: 'npm'COMMENT
Modern AI Meta-Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM⚡workflows/cli.py1206 # Pass llm_instance for potential agent fallbacks or agentic stepsCOMMENT
MEDIUMworkflows/workflow_use/workflow/semantic_executor.py2622 max_content_length = 50000 # Adjust based on your LLM's context windowCODE
Unused Imports6 hits · 5 pts
SeverityFileLineSnippetContext
LOWworkflows/workflow_use/__init__.py1CODE
LOWworkflows/workflow_use/__init__.py2CODE
LOWworkflows/workflow_use/storage/__init__.py1CODE
LOWworkflows/workflow_use/storage/__init__.py1CODE
LOWworkflows/workflow_use/workflow/service.py1CODE
LOWworkflows/workflow_use/workflow/semantic_extractor.py9CODE
AI Structural Patterns3 hits · 2 pts
SeverityFileLineSnippetContext
LOWworkflows/cli.py1744CODE
LOWworkflows/workflow_use/workflow/service.py42CODE
LOWworkflows/workflow_use/healing/service.py42CODE