Repository Analysis

browser-use/workflow-use

⚙️ Create and run workflows (RPA 2.0)

26.8 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of browser-use/workflow-use, a Python project with 4,089 GitHub stars. SynthScan v2.0 examined 47,364 lines of code across 160 source files, recording 871 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 26.8 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).

26.8
Adjusted Score
26.8
Raw Score
100%
Time Factor
2026-07-13
Last Push
4.1K
Stars
Python
Language
47.4K
Lines of Code
160
Files
871
Pattern Hits
2026-07-14
Scan Date
0.31
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 49MEDIUM 97LOW 725

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 871 distinct pattern matches across 18 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.

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
HIGHworkflows/workflow_use/workflow/semantic_executor.py987 matches.push({{ element: el, text: text || ariaLabel || title, priority: 1 }});CODE
HIGHworkflows/workflow_use/workflow/semantic_executor.py987 matches.push({{ element: el, text: text || ariaLabel || title, priority: 1 }});CODE
HIGHworkflows/workflow_use/workflow/semantic_executor.py991 matches.push({{ element: el, text: text || ariaLabel || title, priority: 2 }});CODE
HIGHworkflows/workflow_use/workflow/semantic_executor.py991 matches.push({{ element: el, text: text || ariaLabel || title, priority: 2 }});CODE
HIGHworkflows/workflow_use/workflow/semantic_executor.py995 matches.push({{ element: el, text: text || ariaLabel || title, priority: 3 }});CODE
HIGHworkflows/workflow_use/workflow/semantic_executor.py995 matches.push({{ element: el, text: text || ariaLabel || title, priority: 3 }});CODE
HIGHworkflows/workflow_use/workflow/semantic_executor.py1000 if (targetWords.length > 0 && targetWords.every(word => allText.includes(word))) {{CODE
HIGHworkflows/workflow_use/workflow/semantic_executor.py1001 matches.push({{ element: el, text: text || ariaLabel || title, priority: 4 }});CODE
HIGHworkflows/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
HIGHworkflows/workflow_use/workflow/element_finder.py475 null,CODE
HIGHworkflows/workflow_use/workflow/element_finder.py482 return null;CODE
HIGHworkflows/workflow_use/workflow/element_finder.py488 const isVisible = rect.width > 0 && rect.height > 0 &&CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py216 function debugMessage(msg, data = null) {CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py219 debugLog.push({ message: msg, data: data, timestamp: Date.now() });CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py615 hints.push('click_date');CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py617 hints.push('selected_date');CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py621 hints.push('select_option');CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py623 hints.push('expanded');CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py627 hints.push('select_flight');CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py629 hints.push('selection_button');CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py698 if (!elementText && el.getAttribute('aria-label')) {CODE
HIGHworkflows/workflow_use/workflow/semantic_extractor.py700 } else if (!elementText && el.getAttribute('title')) {CODE
HIGHworkflows/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 Wrapping226 hits · 188 pts
SeverityFileLineSnippetContext
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
LOWworkflows/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_progress_tracking.py118 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
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
LOWworkflows/examples/scripts/demos/cloud_browser_demo.py46 except Exception as e:CODE
LOWworkflows/examples/scripts/demos/travel_booking_demo.py180 except Exception as e:CODE
LOWworkflows/examples/scripts/demos/travel_booking_demo.py342 except Exception:CODE
LOWworkflows/examples/scripts/demos/travel_booking_demo.py352 except Exception as e:CODE
166 more matches not shown…
Hyper-Verbose Identifiers183 hits · 163 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/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
LOWworkflows/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_callback_exception_handling(self):CODE
LOWworkflows/tests/test_progress_tracking.py123 def test_async_callback_pattern(self):CODE
LOWworkflows/tests/test_progress_tracking.py178 def test_description_generation(self):CODE
LOWworkflows/tests/test_progress_tracking.py246 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
LOWworkflows/tests/test_workflow_execution.py104 async def test_input_action_uses_multi_strategy(self):CODE
LOWworkflows/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
LOWworkflows/tests/test_xpath_optimization.py25 def test_xpath_optimization_generates_limited_strategies(self):CODE
LOWworkflows/tests/test_xpath_optimization.py55 def test_xpath_optimization_disabled_generates_single_strategy(self):CODE
123 more matches not shown…
Decorative Section Separators48 hits · 156 pts
SeverityFileLineSnippetContext
MEDIUMworkflows/tests/test_xpath_optimization.py22 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py24 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py52 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py54 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py74 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py76 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py84 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py86 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py94 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py96 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py104 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py106 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py114 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py116 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py124 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py126 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py134 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py136 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py144 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py146 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py182 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py184 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py210 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py212 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py237 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py239 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py258 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py260 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py287 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py289 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py297 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py299 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py320 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py322 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py346 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py348 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py369 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py371 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py391 # ============================================================================COMMENT
MEDIUMworkflows/tests/test_xpath_optimization.py393 # ============================================================================COMMENT
MEDIUMworkflows/examples/scripts/generate_workflow.py23# ============================================================================COMMENT
MEDIUMworkflows/examples/scripts/generate_workflow.py25# ============================================================================COMMENT
MEDIUMworkflows/examples/scripts/generate_workflow.py33# ============================================================================STRING
MEDIUMworkflows/examples/scripts/generate_workflow.py35# ============================================================================STRING
MEDIUMworkflows/examples/scripts/generate_workflow.py47# ============================================================================STRING
MEDIUMworkflows/examples/scripts/generate_workflow.py49# ============================================================================STRING
MEDIUMworkflows/workflow_use/workflow/service.py947 # ------------------------------------------------------------------COMMENT
MEDIUMworkflows/workflow_use/workflow/service.py949 # ------------------------------------------------------------------COMMENT
Redundant / Tautological Comments73 hits · 99 pts
SeverityFileLineSnippetContext
LOWworkflows/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
LOWworkflows/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
LOWworkflows/workflow_use/workflow/semantic_executor.py559 # Check if element exists firstCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py565 # Check if it's visibleCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py568 # Check if this selector resolves to multiple elements (strict mode violation)COMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py2168 # Check if we're still on the same form step/page when we should have progressedCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py2912 # Check if this is a calendar elementCOMMENT
LOWworkflows/workflow_use/workflow/semantic_executor.py2914 # Check if date matchesCOMMENT
LOWworkflows/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
LOWworkflows/workflow_use/workflow/step_verifier.py364 # Check if URL changedCOMMENT
LOWworkflows/workflow_use/workflow/step_verifier.py368 # Check if DOM changed significantlyCOMMENT
LOWworkflows/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
LOWworkflows/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.py178CODE
LOWworkflows/tests/test_progress_tracking.py213CODE
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…
Fake / Example Data54 hits · 57 pts
SeverityFileLineSnippetContext
LOWextension/src/entrypoints/content.ts46 "placeholder",CODE
LOWworkflows/cli.py729 semantic_info.get('placeholder', ''),CODE
LOWworkflows/cli.py2253 names = ['John Doe', 'Jane Smith', 'Bob Johnson']CODE
LOWworkflows/tests/test_selector_generator.py86 element_data = {'tag_name': 'input', 'text': '', 'attributes': {'placeholder': 'Enter your email'}}CODE
LOWworkflows/tests/test_selector_generator.py91 assert 'placeholder' in strategy_types, 'Missing placeholder strategy'CODE
LOWworkflows/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
LOWworkflows/tests/test_workflow_execution.py110 'selectorStrategies': [{'type': 'placeholder', 'value': 'Enter your email', 'priority': 4, 'metadata': {}}],CODE
LOWworkflows/tests/test_xpath_optimization.py192 'attributes': {'name': 'email', 'type': 'email', 'placeholder': 'Enter your email'},CODE
LOWworkflows/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
LOWworkflows/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
LOWworkflows/workflow_use/workflow/element_finder.py576 node_placeholder = getattr(node, 'placeholder', '') or ''CODE
LOWworkflows/workflow_use/workflow/element_finder.py577 if node_placeholder and element_data.get('placeholder'):CODE
LOWworkflows/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
LOWworkflows/workflow_use/workflow/semantic_extractor.py702 } else if (!elementText && el.getAttribute('placeholder')) {CODE
LOWworkflows/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.py554 or attrs.get('placeholder')CODE
LOWworkflows/workflow_use/healing/service.py624 or attrs.get('placeholder')CODE
LOW…kflows/workflow_use/healing/deterministic_converter.py362 for attr in ['aria-label', 'placeholder', 'title', 'alt']:CODE
LOWworkflows/workflow_use/healing/selector_generator.py153 if 'placeholder' in attrs and attrs['placeholder']:CODE
LOWworkflows/workflow_use/healing/selector_generator.py156 type='placeholder',CODE
LOWworkflows/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
LOWworkflows/workflow_use/healing/selector_generator.py444 if 'placeholder' in attrs and attrs['placeholder']:CODE
LOWworkflows/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
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.py367 # Create a mock DOMInteractedElement from captured dataCOMMENT
MEDIUMworkflows/workflow_use/healing/service.py370 # Create a simple object with the needed attributesCOMMENT
MEDIUMworkflows/workflow_use/healing/service.py457 # Create a shared map to capture element text during agent executionCOMMENT
MEDIUMworkflows/workflow_use/healing/service.py463 # Create a custom controller that captures element mappingsCOMMENT
MEDIUMworkflows/workflow_use/healing/service.py630 # 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
LOWworkflows/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
LOWworkflows/workflow_use/healing/service.py134 # Step 2: Clean up YAMLCOMMENT
LOWworkflows/workflow_use/healing/service.py89 # Step 1: Pattern-based variable identificationCOMMENT
Structural Annotation Overuse27 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
LOWworkflows/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
LOWworkflows/workflow_use/healing/service.py134 # Step 2: Clean up YAMLCOMMENT
LOWworkflows/workflow_use/healing/service.py89 # 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
MEDIUMworkflows/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
MEDIUMworkflows/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.py651 # 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.ts1061COMMENT
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
MEDIUMworkflows/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.py30CODE