Open-source developer platform to power your entire infra and turn scripts into webhooks, workflows and UIs. Fastest workflow engine (13x vs Airflow). Open-source alternative to Retool and Temporal.
This report presents the forensic synthetic code analysis of windmill-labs/windmill, a Rust project with 17,148 GitHub stars. SynthScan v2.0 examined 1,191,339 lines of code across 6993 source files, recording 2532 pattern matches distributed across 26 syntactic categories. The overall adjusted score of 3.0 places this repository in the Likely human-written 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).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
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.
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.
The scanner identified 2532 distinct pattern matches across 26 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.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | system_prompts/generate.py | 632 | def generate_cli_commands_markdown(cli_data: dict) -> str: | CODE |
| LOW | system_prompts/generate.py | 343 | def extract_named_command_block(content: str, var_name: str) -> str | None: | CODE |
| LOW | system_prompts/generate.py | 359 | def extract_exported_command_block(content: str) -> str | None: | CODE |
| LOW | system_prompts/generate.py | 973 | def generate_workspace_tool_zod_schemas(backend_schemas: dict, openflow_schemas: dict) -> None: | CODE |
| LOW | system_prompts/generate.py | 1340 | def _extract_ts_exported_function(content: str, name: str) -> str: | CODE |
| LOW | system_prompts/generate.py | 1463 | def _extract_py_function_signature(tree: ast.Module, name: str) -> str: | CODE |
| LOW | system_prompts/generate.py | 1479 | def _extract_py_class_signature(tree: ast.Module, name: str) -> str: | CODE |
| LOW | system_prompts/generate.py | 1780 | def generate_skills_ts_export(skills: list[str], schema_yaml_content: dict[str, str] | None = None) -> str: | CODE |
| LOW | system_prompts/generate.py | 1855 | def format_schema_for_markdown(schema_yaml: str, schema_name: str, file_pattern: str) -> str: | CODE |
| LOW | system_prompts/generate.py | 1866 | def render_plugin_skill_content(skill_name: str, schema_yaml_content: dict[str, str]) -> str: | CODE |
| LOW | system_prompts/generate.py | 1896 | def resolve_plugin_skills_dir(plugin_dir: Path) -> Path: | CODE |
| LOW | system_prompts/generate.py | 1965 | def extract_agents_md_template() -> str: | CODE |
| LOW | system_prompts/generate.py | 1988 | def _unescape_ts_template_literal(raw: str) -> str: | CODE |
| LOW | system_prompts/generate.py | 2002 | def render_agents_md_for_docs( | CODE |
| LOW | system_prompts/generate.py | 2037 | def _looks_like_windmill_manifest(path: Path) -> bool: | CODE |
| LOW | system_prompts/utils.py | 477 | def format_schema_for_markdown(schema: dict, schema_name: str, as_json_schema: bool = False) -> str: | CODE |
| LOW | system_prompts/auto-generated/script.md | 2032 | def worker_has_internal_server() -> bool | CODE |
| LOW | system_prompts/auto-generated/script.md | 2102 | def run_inline_script_preview(content: str, language: str, args: dict = None) -> Any | CODE |
| LOW | system_prompts/auto-generated/script.md | 2274 | def get_duckdb_connection_settings(s3_resource_path: str = '') -> DuckDbConnectionSettings | None | CODE |
| LOW | system_prompts/auto-generated/script.md | 2278 | def get_polars_connection_settings(s3_resource_path: str = '') -> PolarsConnectionSettings | CODE |
| LOW | system_prompts/auto-generated/script.md | 2465 | def request_interactive_slack_approval(slack_resource_path: str, channel_id: str, message: str = None, approver: str = N | CODE |
| LOW | system_prompts/auto-generated/script.md | 2537 | def duckdb_connection_settings(s3_resource_path: str = '') -> DuckDbConnectionSettings | CODE |
| LOW | system_prompts/auto-generated/script.md | 2541 | def polars_connection_settings(s3_resource_path: str = '') -> PolarsConnectionSettings | CODE |
| LOW | system_prompts/auto-generated/prompts.ts | 1619 | def worker_has_internal_server() -> bool | CODE |
| LOW | system_prompts/auto-generated/prompts.ts | 1689 | def run_inline_script_preview(content: str, language: str, args: dict = None) -> Any | CODE |
| LOW | system_prompts/auto-generated/prompts.ts | 1861 | def get_duckdb_connection_settings(s3_resource_path: str = '') -> DuckDbConnectionSettings | None | CODE |
| LOW | system_prompts/auto-generated/prompts.ts | 1865 | def get_polars_connection_settings(s3_resource_path: str = '') -> PolarsConnectionSettings | CODE |
| LOW | system_prompts/auto-generated/prompts.ts | 2052 | def request_interactive_slack_approval(slack_resource_path: str, channel_id: str, message: str = None, approver: str = N | CODE |
| LOW | system_prompts/auto-generated/prompts.ts | 2124 | def duckdb_connection_settings(s3_resource_path: str = '') -> DuckDbConnectionSettings | CODE |
| LOW | system_prompts/auto-generated/prompts.ts | 2128 | def polars_connection_settings(s3_resource_path: str = '') -> PolarsConnectionSettings | CODE |
| LOW | system_prompts/auto-generated/sdks/python.md | 5 | def worker_has_internal_server() -> bool | CODE |
| LOW | system_prompts/auto-generated/sdks/python.md | 75 | def run_inline_script_preview(content: str, language: str, args: dict = None) -> Any | CODE |
| LOW | system_prompts/auto-generated/sdks/python.md | 247 | def get_duckdb_connection_settings(s3_resource_path: str = '') -> DuckDbConnectionSettings | None | CODE |
| LOW | system_prompts/auto-generated/sdks/python.md | 251 | def get_polars_connection_settings(s3_resource_path: str = '') -> PolarsConnectionSettings | CODE |
| LOW | system_prompts/auto-generated/sdks/python.md | 438 | def request_interactive_slack_approval(slack_resource_path: str, channel_id: str, message: str = None, approver: str = N | CODE |
| LOW | system_prompts/auto-generated/sdks/python.md | 510 | def duckdb_connection_settings(s3_resource_path: str = '') -> DuckDbConnectionSettings | CODE |
| LOW | system_prompts/auto-generated/sdks/python.md | 514 | def polars_connection_settings(s3_resource_path: str = '') -> PolarsConnectionSettings | CODE |
| LOW | …ts/auto-generated/skills/write-script-python3/SKILL.md | 190 | def worker_has_internal_server() -> bool | CODE |
| LOW | …ts/auto-generated/skills/write-script-python3/SKILL.md | 260 | def run_inline_script_preview(content: str, language: str, args: dict = None) -> Any | CODE |
| LOW | …ts/auto-generated/skills/write-script-python3/SKILL.md | 432 | def get_duckdb_connection_settings(s3_resource_path: str = '') -> DuckDbConnectionSettings | None | CODE |
| LOW | …ts/auto-generated/skills/write-script-python3/SKILL.md | 436 | def get_polars_connection_settings(s3_resource_path: str = '') -> PolarsConnectionSettings | CODE |
| LOW | …ts/auto-generated/skills/write-script-python3/SKILL.md | 623 | def request_interactive_slack_approval(slack_resource_path: str, channel_id: str, message: str = None, approver: str = N | CODE |
| LOW | …ts/auto-generated/skills/write-script-python3/SKILL.md | 695 | def duckdb_connection_settings(s3_resource_path: str = '') -> DuckDbConnectionSettings | CODE |
| LOW | …ts/auto-generated/skills/write-script-python3/SKILL.md | 699 | def polars_connection_settings(s3_resource_path: str = '') -> PolarsConnectionSettings | CODE |
| LOW | docker/test_windmill_extra.ts | 413 | async function testDebuggerTypescriptExecution(): Promise<void> { | CODE |
| LOW | docker/test_windmill_extra.ts | 456 | async function testDebuggerPythonExecution(): Promise<void> { | CODE |
| LOW | frontend/e2e/DbManagerPage.ts | 9 | export async function runDbManagerSimpleCRUDTest(page: Page, dbType: _DbType) { | CODE |
| LOW | frontend/e2e/DbManagerPage.ts | 49 | export async function runDbManagerAlterTableTest(page: Page, dbType: _DbType) { | CODE |
| LOW | frontend/e2e/db-manager.spec.ts | 327 | async function setupNewResourceAndOpenDbManager(page: Page, dbType: DbType) { | CODE |
| LOW | frontend/src/lib/workspaceProtectionRules.svelte.ts | 84 | export async function fetchProtectionRulesForWorkspace( | CODE |
| LOW | frontend/src/lib/workspaceProtectionRules.svelte.ts | 192 | export function canUserBypassRuleKindInRulesets( | CODE |
| LOW | frontend/src/lib/workspaceProtectionRules.svelte.ts | 219 | export function getActiveRulesetsForKindInRulesets( | CODE |
| LOW | frontend/src/lib/userDraftMigrationErrors.svelte.ts | 40 | export function openDraftMigrationErrorModal(): void { | CODE |
| LOW | frontend/src/lib/userDraftMigrationErrors.svelte.ts | 49 | export function reportDraftMigrationError(error: DraftMigrationError): void { | CODE |
| LOW | frontend/src/lib/userDraftMigrationErrors.svelte.ts | 61 | export function deleteDraftMigrationError(key: string): void { | CODE |
| LOW | frontend/src/lib/userDraftMigrationErrors.svelte.ts | 71 | export function deleteAllDraftMigrationErrors(): void { | CODE |
| LOW | frontend/src/lib/ansibleUtils.ts | 14 | export function updateDelegateToGitRepoField(code: string, fieldName: string, value: string | undefined): string { | CODE |
| LOW | frontend/src/lib/ansibleUtils.ts | 55 | export function updateDelegateToGitRepoConfig(code: string, config: DelegateToGitRepoConfig): string { | CODE |
| LOW | frontend/src/lib/ansibleUtils.ts | 75 | export function insertDelegateToGitRepoInCode(code: string, resourcePath: string): string { | CODE |
| LOW | frontend/src/lib/ansibleUtils.ts | 85 | function insertDelegateToGitRepoSection(code: string, config: DelegateToGitRepoConfig): string { | CODE |
| 809 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-compose.yml | 121 | # deploy: | COMMENT |
| LOW | system_prompts/generate.py | 441 | # the last case by matching up to the next `)`. | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2041 | COMMENT | |
| LOW | system_prompts/auto-generated/script.md | 2061 | # HTTP response object | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2101 | # preview job and waiting for the result. | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2121 | # Cancel a specific job by ID. | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2141 | def get_job(job_id: str) -> dict | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2161 | COMMENT | |
| LOW | system_prompts/auto-generated/script.md | 2181 | # Get a variable value by path. | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2201 | # path: Resource path in Windmill | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2221 | # page: Optional page number for pagination | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2241 | # State value or None if not set | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2281 | # initiate an S3 connection using boto3 | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2301 | # with wmill.load_s3_file_reader(s3object, s3_resource_path) as file_reader: | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2321 | def write_s3_file(s3object: S3Object | str | None, file_content: BufferedReader | bytes, s3_resource_path: str | None, c | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2341 | COMMENT | |
| LOW | system_prompts/auto-generated/script.md | 2361 | # Example: | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2381 | # Get the current user information. | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2421 | # flow_level: If True, generate resume URLs for the parent flow instead of the | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2441 | # :type approver: str, optional | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2461 | # | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2481 | # DataTableClient instance | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2501 | def get_workspace() -> str | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2521 | # | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2541 | def polars_connection_settings(s3_resource_path: str = '') -> PolarsConnectionSettings | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2561 | def parse_s3_object(s3_object: S3Object | str) -> S3Object | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2581 | # sql: SQL query string with $1, $2, etc. placeholders | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2601 | # event-log table — for one `partition`, or the whole table when | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2641 | # Decorator that marks a function as a workflow task. | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2661 | # Usage:: | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2681 | # Decorator marking an async function as a workflow-as-code entry point. | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2701 | async def sleep(seconds: int) | COMMENT |
| LOW | system_prompts/auto-generated/script.md | 2721 | COMMENT | |
| LOW | system_prompts/auto-generated/prompts.ts | 1621 | def get_mocked_api() -> Optional[dict] | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 1641 | # | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 1681 | COMMENT | |
| LOW | system_prompts/auto-generated/prompts.ts | 1701 | # Job result when completed | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 1721 | # Get job details by ID. | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 1741 | # Args: | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 1761 | # job_id: UUID of the completed job | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 1781 | # value: Variable value to set | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 1801 | # resource_type: Resource type for creation | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 1821 | COMMENT | |
| LOW | system_prompts/auto-generated/prompts.ts | 1841 | # job_id: Job ID (defaults to current WM_JOB_ID) | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 1861 | def get_duckdb_connection_settings(s3_resource_path: str = '') -> DuckDbConnectionSettings | None | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 1881 | COMMENT | |
| LOW | system_prompts/auto-generated/prompts.ts | 1901 | # file_content = b'Hello Windmill!' | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 1921 | # | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 1941 | # Args: | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 1961 | # Signed public URL | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 2001 | # Get the state in the shared folder using pickle | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 2021 | # :param slack_resource_path: The path to the Slack resource in Windmill. | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 2041 | # ... slack_resource_path="/u/alex/my_slack_resource", | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 2061 | COMMENT | |
| LOW | system_prompts/auto-generated/prompts.ts | 2081 | COMMENT | |
| LOW | system_prompts/auto-generated/prompts.ts | 2101 | # tag: Override the worker tag the job runs on | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 2121 | COMMENT | |
| LOW | system_prompts/auto-generated/prompts.ts | 2141 | def parse_resource_syntax(s: str) -> Optional[str] | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 2161 | # Args: | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 2181 | # backfill / failure-recovery contract. | COMMENT |
| 821 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | system_prompts/generate.py | 627 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | system_prompts/generate.py | 629 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 66 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 68 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 159 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 161 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 281 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 283 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 773 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 775 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 818 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 820 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 1038 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 1040 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 1234 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 1236 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 1534 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 1536 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 1941 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 1943 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/generate.py | 2341 | # ============================================================================= | STRING |
| MEDIUM | system_prompts/generate.py | 2343 | # ============================================================================= | STRING |
| MEDIUM | system_prompts/utils.py | 17 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/utils.py | 19 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/utils.py | 35 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/utils.py | 37 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/utils.py | 67 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/utils.py | 69 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/utils.py | 81 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/utils.py | 83 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/utils.py | 202 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/utils.py | 204 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/utils.py | 242 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/utils.py | 244 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/utils.py | 350 | # ============================================================================= | COMMENT |
| MEDIUM | system_prompts/utils.py | 352 | # ============================================================================= | COMMENT |
| MEDIUM | …c/lib/components/sessions/sessionDeployModel.svelte.ts | 185 | // ── Stale drafts (base ≠ deployed head) ────────────────────────────────── | COMMENT |
| MEDIUM | …c/lib/components/sessions/sessionDeployModel.svelte.ts | 208 | // ── Deploy permission ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …c/lib/components/sessions/sessionDeployModel.svelte.ts | 228 | // ── Deploy execution ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …c/lib/components/sessions/sessionDeployModel.svelte.ts | 302 | // ── Diff values (one resolver for tree + column) ───────────────────────── | COMMENT |
| MEDIUM | …src/lib/components/sessions/WorkspaceDiffDrawer.svelte | 156 | // ── Badge presentation ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/lib/components/sessions/WorkspaceDiffDrawer.svelte | 235 | // ── Tree ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/lib/components/sessions/WorkspaceDiffDrawer.svelte | 357 | // ── Keyboard nav ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/lib/components/sessions/WorkspaceDiffDrawer.svelte | 476 | // ── Diff values (lazy Monaco mount, one resolver via the model) ────────── | COMMENT |
| MEDIUM | …/src/lib/components/sessions/PipelineEditorView.svelte | 208 | // ── Run dispatch + live run state ────────────────────────────────────────── | COMMENT |
| MEDIUM | …tend/src/lib/components/sessions/sessionDeployModel.ts | 16 | // ── Item taxonomy bridge ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tend/src/lib/components/sessions/sessionDeployModel.ts | 45 | // ── Public types ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tend/src/lib/components/sessions/sessionDeployModel.ts | 84 | // ── Build: draft list + mask-only deployed rows into unified items ────────── | COMMENT |
| MEDIUM | …tend/src/lib/components/sessions/sessionDeployModel.ts | 179 | // ── Status badge ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tend/src/lib/components/sessions/sessionDeployModel.ts | 197 | // ── Action ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tend/src/lib/components/sessions/sessionDeployModel.ts | 218 | // ── Diff base ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tend/src/lib/components/sessions/sessionDeployModel.ts | 235 | // ── Deploy plan (executed by the reactive layer) ───────────────────────────── | COMMENT |
| MEDIUM | …src/lib/components/sessions/sessionDeployModel.test.ts | 16 | // ── Fixtures ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/lib/components/sessions/sessionDeployModel.test.ts | 34 | // ── buildDeployItems ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/lib/components/sessions/sessionDeployModel.test.ts | 121 | // ── badge ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/lib/components/sessions/sessionDeployModel.test.ts | 138 | // ── action ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/lib/components/sessions/sessionDeployModel.test.ts | 167 | // ── diff base ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …src/lib/components/sessions/sessionDeployModel.test.ts | 199 | // ── deploy plan ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/routes/(root)/(logged)/pipeline/[folder]/+page.svelte | 1576 | // ── Bounded-cascade selective execution ────────────────────────────── | COMMENT |
| MEDIUM⚡ | sandbox-image/entrypoint.sh | 4 | # ── Nix profile ────────────────────────────────────────────────────────────── | COMMENT |
| 106 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/src/lib/components/graph/noteEditor.svelte.ts | 244 | // Step 1: Clean invalid nodes from existing group notes | COMMENT |
| LOW | frontend/src/lib/components/graph/noteEditor.svelte.ts | 255 | // Step 2: Complete paths for each group using the DAG algorithm | COMMENT |
| LOW | frontend/src/lib/components/graph/compoundLayout.ts | 313 | // Step 1: detect compound groups at this level | COMMENT |
| LOW | frontend/src/lib/components/graph/compoundLayout.ts | 436 | // Step 4: Build flattened node list for sugiyama | COMMENT |
| LOW | frontend/src/lib/components/graph/compoundLayout.ts | 461 | // Step 5: Run sugiyama on flattened nodes | COMMENT |
| LOW | frontend/src/lib/components/graph/compoundLayout.ts | 479 | // Step 6: Resolve absolute positions | COMMENT |
| LOW⚡ | …ntend/src/lib/components/graph/GroupModuleIcons.svelte | 45 | // Step 1: try all badges with full ids | COMMENT |
| LOW⚡ | …ntend/src/lib/components/graph/GroupModuleIcons.svelte | 50 | // Step 2: try all badges with ids capped at 8rem | COMMENT |
| LOW⚡ | …ntend/src/lib/components/graph/GroupModuleIcons.svelte | 55 | // Step 3: remove last modules until capped badges fit | COMMENT |
| LOW | …ib/components/tutorials/FlowBuilderLiveTutorial.svelte | 527 | // Step 1: Move to and click plug button | COMMENT |
| LOW | …ib/components/tutorials/FlowBuilderLiveTutorial.svelte | 547 | // Step 2: Move to and click flow_input.celsius | COMMENT |
| LOW | …ib/components/tutorials/FlowBuilderLiveTutorial.svelte | 564 | // Step 3: Move to and click Test this step tab | COMMENT |
| LOW | …ib/components/tutorials/FlowBuilderLiveTutorial.svelte | 575 | // Step 4: Move to and click Run button | COMMENT |
| LOW | …ib/components/tutorials/FlowBuilderLiveTutorial.svelte | 642 | // Step 1: Click on script 'b' | COMMENT |
| LOW | …ib/components/tutorials/FlowBuilderLiveTutorial.svelte | 672 | // Step 2: Move to and click on script 'c' | COMMENT |
| LOW | …mponents/workspaceSettings/ForkDatatableSection.svelte | 114 | // Step 1: Create the database | COMMENT |
| LOW | …mponents/workspaceSettings/ForkDatatableSection.svelte | 133 | // Step 2: Import data | COMMENT |
| LOW | frontend/src/lib/components/flows/multiSelectUtils.ts | 55 | // Step 1: Filter out virtual IDs | COMMENT |
| LOW⚡ | integration_tests/test/git_sync_test.py | 719 | # Step 1: Create git branches for the fork | COMMENT |
| LOW⚡ | integration_tests/test/git_sync_test.py | 725 | # Step 2: Create the fork workspace | COMMENT |
| LOW | .agents/skills/native-trigger/SKILL.md | 177 | ### Step 1: Database Migration | COMMENT |
| LOW | .agents/skills/native-trigger/SKILL.md | 194 | ### Step 2: Update windmill-common Enums | COMMENT |
| LOW | .agents/skills/native-trigger/SKILL.md | 204 | ### Step 3: Backend Service Module | COMMENT |
| LOW | .agents/skills/native-trigger/SKILL.md | 464 | ### Step 4: Update lib.rs Registry | COMMENT |
| LOW | .agents/skills/native-trigger/SKILL.md | 486 | ### Step 5: Update handler.rs Routes | COMMENT |
| LOW | .agents/skills/native-trigger/SKILL.md | 505 | ### Step 6: Update sync.rs | COMMENT |
| LOW⚡ | .agents/skills/native-trigger/SKILL.md | 528 | ### Step 7: Frontend Service Registry | COMMENT |
| LOW⚡ | .agents/skills/native-trigger/SKILL.md | 534 | ### Step 8: Frontend Trigger Form Component | COMMENT |
| LOW⚡ | .agents/skills/native-trigger/SKILL.md | 538 | ### Step 9: Frontend Icon Component | COMMENT |
| LOW⚡ | .agents/skills/native-trigger/SKILL.md | 542 | ### Step 10: Update NativeTriggerEditor | COMMENT |
| LOW⚡ | .agents/skills/native-trigger/SKILL.md | 546 | ### Step 11: Workspace Integration UI | COMMENT |
| LOW | .agents/skills/native-trigger/SKILL.md | 569 | ### Step 12: Update `frontend/src/lib/components/triggers/utils.ts` | COMMENT |
| LOW⚡ | .agents/skills/native-trigger/SKILL.md | 581 | ### Step 13: Update TriggersBadge Component | COMMENT |
| LOW⚡ | .agents/skills/native-trigger/SKILL.md | 589 | ### Step 14: Update TriggersWrapper.svelte | COMMENT |
| LOW⚡ | .agents/skills/native-trigger/SKILL.md | 595 | ### Step 15: Update AddTriggersButton.svelte | COMMENT |
| LOW⚡ | .agents/skills/native-trigger/SKILL.md | 604 | ### Step 16: Update TriggersEditor.svelte Delete Handling | COMMENT |
| LOW⚡ | .agents/skills/native-trigger/SKILL.md | 610 | ### Step 17: Update `getUsedTriggers` for Sidebar Visibility | COMMENT |
| LOW | .agents/skills/native-trigger/SKILL.md | 621 | ### Step 18: Update OpenAPI Spec and Regenerate Types | COMMENT |
| LOW | .claude/skills/native-trigger/SKILL.md | 177 | ### Step 1: Database Migration | COMMENT |
| LOW | .claude/skills/native-trigger/SKILL.md | 194 | ### Step 2: Update windmill-common Enums | COMMENT |
| LOW | .claude/skills/native-trigger/SKILL.md | 204 | ### Step 3: Backend Service Module | COMMENT |
| LOW | .claude/skills/native-trigger/SKILL.md | 464 | ### Step 4: Update lib.rs Registry | COMMENT |
| LOW | .claude/skills/native-trigger/SKILL.md | 486 | ### Step 5: Update handler.rs Routes | COMMENT |
| LOW | .claude/skills/native-trigger/SKILL.md | 505 | ### Step 6: Update sync.rs | COMMENT |
| LOW⚡ | .claude/skills/native-trigger/SKILL.md | 528 | ### Step 7: Frontend Service Registry | COMMENT |
| LOW⚡ | .claude/skills/native-trigger/SKILL.md | 534 | ### Step 8: Frontend Trigger Form Component | COMMENT |
| LOW⚡ | .claude/skills/native-trigger/SKILL.md | 538 | ### Step 9: Frontend Icon Component | COMMENT |
| LOW⚡ | .claude/skills/native-trigger/SKILL.md | 542 | ### Step 10: Update NativeTriggerEditor | COMMENT |
| LOW⚡ | .claude/skills/native-trigger/SKILL.md | 546 | ### Step 11: Workspace Integration UI | COMMENT |
| LOW | .claude/skills/native-trigger/SKILL.md | 569 | ### Step 12: Update `frontend/src/lib/components/triggers/utils.ts` | COMMENT |
| LOW⚡ | .claude/skills/native-trigger/SKILL.md | 581 | ### Step 13: Update TriggersBadge Component | COMMENT |
| LOW⚡ | .claude/skills/native-trigger/SKILL.md | 589 | ### Step 14: Update TriggersWrapper.svelte | COMMENT |
| LOW⚡ | .claude/skills/native-trigger/SKILL.md | 595 | ### Step 15: Update AddTriggersButton.svelte | COMMENT |
| LOW⚡ | .claude/skills/native-trigger/SKILL.md | 604 | ### Step 16: Update TriggersEditor.svelte Delete Handling | COMMENT |
| LOW⚡ | .claude/skills/native-trigger/SKILL.md | 610 | ### Step 17: Update `getUsedTriggers` for Sidebar Visibility | COMMENT |
| LOW | .claude/skills/native-trigger/SKILL.md | 621 | ### Step 18: Update OpenAPI Spec and Regenerate Types | COMMENT |
| LOW⚡ | …indmill-api-integration-tests/tests/native_triggers.rs | 450 | // Step 1: Delete triggers | COMMENT |
| LOW⚡ | …indmill-api-integration-tests/tests/native_triggers.rs | 455 | // Step 2: Cleanup OAuth resources | COMMENT |
| LOW⚡ | …indmill-api-integration-tests/tests/native_triggers.rs | 465 | // Step 3: Delete workspace integration | COMMENT |
| LOW | backend/windmill-worker/src/bun_executor.rs | 2706 | // Step 1: Save checkpoint, suspend parent, and seed child checkpoints | COMMENT |
| 85 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docker/test_windmill_extra.ts | 468 | print(f"Hello {name}") | CODE |
| HIGH⚡ | frontend/src/lib/script_helpers.ts | 15 | print("message", message) | CODE |
| HIGH⚡ | frontend/src/lib/script_helpers.ts | 16 | print("name", name) | CODE |
| HIGH⚡ | frontend/src/lib/script_helpers.ts | 17 | print("step_id", step_id) | CODE |
| HIGH⚡ | frontend/src/lib/script_helpers.ts | 63 | print(f"Hello World and a warm welcome especially to {name}") | CODE |
| HIGH⚡ | frontend/src/lib/script_helpers.ts | 64 | print("and its acolytes..", age, obj, l, len(file_)) | CODE |
| HIGH⚡ | frontend/src/lib/script_helpers.ts | 71 | print(f"The variable at \`f/examples/secret\`: {secret}") | CODE |
| HIGH | frontend/src/lib/components/graph/wacToFlow.test.ts | 17 | expect(isWorkflowAsCode('@workflow\nasync def main():\n return None\n', 'python3')).toBe(true) | CODE |
| HIGH | …/src/lib/components/flows/content/s3Scripts/python3.ts | 24 | print(input_obj) | CODE |
| HIGH | …/src/lib/components/flows/content/s3Scripts/python3.ts | 34 | print(downloaded_file.read()) | CODE |
| HIGH | …/src/lib/components/flows/content/s3Scripts/python3.ts | 80 | print(output_df) | CODE |
| HIGH⚡ | cli/test/lock_cache_unit.test.ts | 352 | print("hello")`; | CODE |
| HIGH⚡ | cli/test/lock_cache_unit.test.ts | 362 | print("hello")`; | CODE |
| HIGH⚡ | cli/test/lock_cache_unit.test.ts | 365 | print("world")`; | CODE |
| HIGH⚡ | cli/test/lock_cache_unit.test.ts | 373 | print("hello")`; | CODE |
| HIGH⚡ | cli/test/lock_cache_unit.test.ts | 376 | print("hello")`; | CODE |
| HIGH⚡ | cli/test/lock_cache_unit.test.ts | 383 | print("hello")`; | CODE |
| HIGH⚡ | cli/test/lock_cache_unit.test.ts | 385 | print("hello")`; | CODE |
| HIGH⚡ | cli/test/lock_cache_unit.test.ts | 392 | print("hello")`; | CODE |
| HIGH⚡ | cli/test/lock_cache_unit.test.ts | 394 | print("hello")`; | CODE |
| HIGH⚡ | cli/test/lock_cache_unit.test.ts | 442 | print("hello")`; | CODE |
| HIGH⚡ | cli/test/lock_cache_unit.test.ts | 444 | print("hello")`; | CODE |
| HIGH⚡ | cli/test/lock_cache_unit.test.ts | 453 | print("hello")`; | CODE |
| HIGH⚡ | cli/test/lock_cache_unit.test.ts | 455 | print("hello")`; | CODE |
| HIGH | cli/test/lock_cache_unit.test.ts | 305 | print("hello")`; | CODE |
| HIGH | cli/test/lock_cache_unit.test.ts | 406 | print("hello")`; | CODE |
| HIGH | cli/test/lock_cache_unit.test.ts | 475 | print("hello")`; | CODE |
| HIGH | cli/test/lock_cache_unit.test.ts | 478 | print("world")`; | CODE |
| HIGH | debugger/dap_debug_service.ts | 967 | print("__WINDMILL_RESULT__:" + json.dumps(_result)) | CODE |
| HIGH | debugger/test_debug_service.ts | 45 | print(f"PY: Hello {name}") | CODE |
| HIGH | debugger/test_debug_service.ts | 62 | print(f"ENV: Workspace={workspace}") | CODE |
| HIGH | debugger/test_debug_service.ts | 102 | print(f"Requests version: {version}") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/src/lib/components/graph/noteEditor.svelte.ts | 244 | // Step 1: Clean invalid nodes from existing group notes | COMMENT |
| LOW | frontend/src/lib/components/graph/noteEditor.svelte.ts | 255 | // Step 2: Complete paths for each group using the DAG algorithm | COMMENT |
| LOW | frontend/src/lib/components/graph/compoundLayout.ts | 313 | // Step 1: detect compound groups at this level | COMMENT |
| LOW | frontend/src/lib/components/graph/compoundLayout.ts | 436 | // Step 4: Build flattened node list for sugiyama | COMMENT |
| LOW | frontend/src/lib/components/graph/compoundLayout.ts | 461 | // Step 5: Run sugiyama on flattened nodes | COMMENT |
| LOW | frontend/src/lib/components/graph/compoundLayout.ts | 479 | // Step 6: Resolve absolute positions | COMMENT |
| LOW⚡ | …ntend/src/lib/components/graph/GroupModuleIcons.svelte | 45 | // Step 1: try all badges with full ids | COMMENT |
| LOW⚡ | …ntend/src/lib/components/graph/GroupModuleIcons.svelte | 50 | // Step 2: try all badges with ids capped at 8rem | COMMENT |
| LOW⚡ | …ntend/src/lib/components/graph/GroupModuleIcons.svelte | 55 | // Step 3: remove last modules until capped badges fit | COMMENT |
| LOW | …ib/components/tutorials/FlowBuilderLiveTutorial.svelte | 527 | // Step 1: Move to and click plug button | COMMENT |
| LOW | …ib/components/tutorials/FlowBuilderLiveTutorial.svelte | 547 | // Step 2: Move to and click flow_input.celsius | COMMENT |
| LOW | …ib/components/tutorials/FlowBuilderLiveTutorial.svelte | 564 | // Step 3: Move to and click Test this step tab | COMMENT |
| LOW | …ib/components/tutorials/FlowBuilderLiveTutorial.svelte | 575 | // Step 4: Move to and click Run button | COMMENT |
| LOW | …ib/components/tutorials/FlowBuilderLiveTutorial.svelte | 642 | // Step 1: Click on script 'b' | COMMENT |
| LOW | …ib/components/tutorials/FlowBuilderLiveTutorial.svelte | 672 | // Step 2: Move to and click on script 'c' | COMMENT |
| LOW | …mponents/workspaceSettings/ForkDatatableSection.svelte | 114 | // Step 1: Create the database | COMMENT |
| LOW | …mponents/workspaceSettings/ForkDatatableSection.svelte | 133 | // Step 2: Import data | COMMENT |
| LOW | frontend/src/lib/components/flows/multiSelectUtils.ts | 55 | // Step 1: Filter out virtual IDs | COMMENT |
| LOW⚡ | integration_tests/test/git_sync_test.py | 719 | # Step 1: Create git branches for the fork | COMMENT |
| LOW⚡ | integration_tests/test/git_sync_test.py | 725 | # Step 2: Create the fork workspace | COMMENT |
| LOW⚡ | …indmill-api-integration-tests/tests/native_triggers.rs | 450 | // Step 1: Delete triggers | COMMENT |
| LOW⚡ | …indmill-api-integration-tests/tests/native_triggers.rs | 455 | // Step 2: Cleanup OAuth resources | COMMENT |
| LOW⚡ | …indmill-api-integration-tests/tests/native_triggers.rs | 465 | // Step 3: Delete workspace integration | COMMENT |
| LOW | backend/windmill-worker/src/bun_executor.rs | 2706 | // Step 1: Save checkpoint, suspend parent, and seed child checkpoints | COMMENT |
| LOW | backend/windmill-worker/src/bun_executor.rs | 2782 | // Step 2: Push child jobs (now visible to workers). | COMMENT |
| LOW | backend/windmill-worker/src/prepare_deps.rs | 197 | // Step 1: Create virtual environment using uv | COMMENT |
| LOW | backend/windmill-worker/src/prepare_deps.rs | 230 | // Step 2: Install packages using uv pip install | COMMENT |
| LOW | backend/windmill-worker/src/prepare_deps.rs | 374 | // Step 1: Run build.js to generate package.json | COMMENT |
| LOW | backend/windmill-worker/src/prepare_deps.rs | 460 | // Step 2: Run bun install | COMMENT |
| LOW | backend/windmill-api-workspaces/src/workspaces.rs | 6276 | // Step 1: Disable all schedules and clear their queued jobs | COMMENT |
| LOW | backend/windmill-api-workspaces/src/workspaces.rs | 6342 | // Step 2: Get all remaining queued jobs for this workspace (non-schedule jobs) | COMMENT |
| LOW | backend/windmill-api-workspaces/src/workspaces.rs | 6355 | // Step 3: Cancel all remaining jobs using the existing cancel_jobs function | COMMENT |
| LOW | backend/windmill-api-workspaces/src/workspaces.rs | 8182 | // Step 1: Group paths by (workspace, kind) | COMMENT |
| LOW | backend/windmill-api-workspaces/src/workspaces.rs | 8195 | // Step 2: Batch query for each (workspace, kind) combination, each in its | COMMENT |
| LOW | backend/windmill-api-workspaces/src/workspaces.rs | 8213 | // Step 3: Filter diffs based on visibility | COMMENT |
| LOW | backend/tests/relock_skip.rs | 114 | // Step 1: Redeploy leaf_1 - first time, no hashes exist, all should relock | COMMENT |
| LOW | backend/tests/relock_skip.rs | 142 | // Step 2: Redeploy leaf_2 - first time for leaf_2, should relock | COMMENT |
| LOW | backend/tests/relock_skip.rs | 169 | // Step 3: Redeploy leaf_2 with trivial change (comment) - lock stays same, should SKIP | COMMENT |
| LOW | backend/tests/relock_skip.rs | 203 | // Step 4: Redeploy leaf_2 with actual dependency change (add tiny via comment) - should NOT skip | COMMENT |
| LOW | backend/tests/relock_skip.rs | 256 | // Step 1: Redeploy default (unnamed) workspace deps - first time, should relock | COMMENT |
| LOW | backend/tests/relock_skip.rs | 285 | // Step 2: Redeploy default workspace deps again - should SKIP | COMMENT |
| LOW | backend/tests/relock_skip.rs | 306 | // Step 3: Redeploy default workspace deps with different content - should NOT skip | COMMENT |
| LOW | backend/tests/relock_skip.rs | 332 | // Step 4: Deploy named workspace deps first time - should relock (no hash exists yet) | COMMENT |
| LOW | backend/tests/relock_skip.rs | 359 | // Step 5: Deploy named workspace deps again with no change - should SKIP | COMMENT |
| LOW | backend/tests/relock_skip.rs | 386 | // Step 6: Deploy named workspace deps with small change - should NOT skip | COMMENT |
| LOW | backend/tests/ci_tests.rs | 53 | // Step 1: Create the test script with a CI annotation targeting deploy_target. | COMMENT |
| LOW | backend/tests/ci_tests.rs | 71 | // Step 2: Create the target script. Its dependency job, once processed, | COMMENT |
| LOW⚡ | backend/tests/instance_config.rs | 661 | // Step 1: Seed initial state | COMMENT |
| LOW⚡ | backend/tests/instance_config.rs | 671 | // Step 2: Read via from_db | COMMENT |
| LOW⚡ | backend/tests/instance_config.rs | 680 | // Step 3: Modify — change base_url, add a new setting, remove retention | COMMENT |
| LOW⚡ | backend/tests/instance_config.rs | 689 | // Step 4: Diff + apply (Merge mode — no deletes) | COMMENT |
| LOW⚡ | backend/tests/instance_config.rs | 697 | // Step 5: Read back and verify | COMMENT |
| LOW | backend/tests/ws_specific.rs | 253 | // Step 1: create resource with ws_specific=true. | COMMENT |
| LOW | backend/tests/ws_specific.rs | 278 | // Step 2: upsert (update_if_exists=true) with ws_specific=false — must | COMMENT |
| LOW | backend/tests/ws_specific.rs | 305 | // Step 3: upsert without ws_specific (None) leaves whatever's there | COMMENT |
| LOW | backend/windmill-runtime-nativets/tests/otel_init.rs | 46 | // Step 1: reproduce the footgun. `OtelConfig::default()` has | COMMENT |
| LOW | backend/windmill-runtime-nativets/tests/otel_init.rs | 66 | // Step 2: re-call init with the exact config shape that the EE | COMMENT |
| LOW⚡ | …kend/windmill-common/tests/secret_backend_migration.rs | 242 | // Step 1: Migrate to Vault | COMMENT |
| LOW⚡ | …kend/windmill-common/tests/secret_backend_migration.rs | 250 | // Step 2: Clear database values | COMMENT |
| LOW⚡ | …kend/windmill-common/tests/secret_backend_migration.rs | 257 | // Step 3: Migrate back from Vault | COMMENT |
| 49 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | system_prompts/auto-generated/prompts.ts | 1651 | # Create a new authentication token. | COMMENT |
| MEDIUM⚡ | system_prompts/auto-generated/prompts.ts | 1660 | # Create a script job and return its job id. | COMMENT |
| MEDIUM⚡ | system_prompts/auto-generated/prompts.ts | 1665 | # Create a script job by path and return its job id. | COMMENT |
| MEDIUM⚡ | system_prompts/auto-generated/prompts.ts | 1668 | # Create a script job by hash and return its job id. | COMMENT |
| MEDIUM⚡ | system_prompts/auto-generated/prompts.ts | 1671 | # Create a flow job and return its job id. | COMMENT |
| MEDIUM | system_prompts/auto-generated/prompts.ts | 2055 | # This method is particularly useful for apps that require the email address of the viewer. | COMMENT |
| MEDIUM | system_prompts/auto-generated/prompts.ts | 2246 | # Create a task that dispatches to a separate Windmill script. | COMMENT |
| MEDIUM | system_prompts/auto-generated/prompts.ts | 2257 | # Create a task that dispatches to a separate Windmill flow. | COMMENT |
| MEDIUM | system_prompts/auto-generated/prompts.ts | 2474 | # Create a task that dispatches to a separate Windmill script. | COMMENT |
| MEDIUM | system_prompts/auto-generated/prompts.ts | 2485 | # Create a task that dispatches to a separate Windmill flow. | COMMENT |
| MEDIUM | frontend/src/lib/script_helpers.ts | 1163 | # Define the arguments of the windmill script | COMMENT |
| MEDIUM | …components/instanceSettings/SecretBackendConfig.svelte | 600 | # Create a policy for Windmill secrets | COMMENT |
| MEDIUM | …components/instanceSettings/SecretBackendConfig.svelte | 610 | # Create the JWT role. bound_audiences must match the Vault server | COMMENT |
| MEDIUM⚡ | integration_tests/test/agent_workers.py | 235 | # Create a simple bash script tagged to run on the agent | COMMENT |
| MEDIUM⚡ | integration_tests/test/agent_workers.py | 245 | # Create the script with the agent_test tag so it runs on our agent | STRING |
| MEDIUM⚡ | lsp/pyls_launcher.py | 91 | # Create an instance of the language server | COMMENT |
| MEDIUM⚡ | lsp/pyls_launcher.py | 99 | # Create a writer that formats json messages with the correct LSP headers | COMMENT |
| MEDIUM⚡ | lsp/pyls_launcher.py | 102 | # Create a reader for consuming stdout of the language server. We need to | COMMENT |
| MEDIUM | backend/test_debounce_e2e.sh | 374 | # Create a sync script at a folder path where the 2nd segment is a number >= 28103. | COMMENT |
| MEDIUM | backend/parsers/windmill-parser-yaml/src/lib.rs | 978 | # Define the arguments of the windmill script | COMMENT |
| MEDIUM | backend/windmill-worker/src/bash_executor.rs | 163 | # Create a named pipe | COMMENT |
| MEDIUM⚡ | cli/src/guidance/skills.gen.ts | 3890 | # Create a new authentication token. | COMMENT |
| MEDIUM⚡ | cli/src/guidance/skills.gen.ts | 3899 | # Create a script job and return its job id. | COMMENT |
| MEDIUM⚡ | cli/src/guidance/skills.gen.ts | 3904 | # Create a script job by path and return its job id. | COMMENT |
| MEDIUM⚡ | cli/src/guidance/skills.gen.ts | 3907 | # Create a script job by hash and return its job id. | COMMENT |
| MEDIUM⚡ | cli/src/guidance/skills.gen.ts | 3910 | # Create a flow job and return its job id. | COMMENT |
| MEDIUM | cli/src/guidance/skills.gen.ts | 4294 | # This method is particularly useful for apps that require the email address of the viewer. | COMMENT |
| MEDIUM | cli/src/guidance/skills.gen.ts | 4485 | # Create a task that dispatches to a separate Windmill script. | COMMENT |
| MEDIUM | cli/src/guidance/skills.gen.ts | 4496 | # Create a task that dispatches to a separate Windmill flow. | COMMENT |
| MEDIUM | cli/src/guidance/skills.gen.ts | 4934 | ## Creating a Flow | COMMENT |
| MEDIUM | cli/src/guidance/skills.gen.ts | 5346 | ## Creating a Raw App | COMMENT |
| MEDIUM | cli/src/guidance/skills.gen.ts | 6460 | # Create a task that dispatches to a separate Windmill script. | COMMENT |
| MEDIUM | cli/src/guidance/skills.gen.ts | 6471 | # Create a task that dispatches to a separate Windmill flow. | COMMENT |
| MEDIUM | examples/deploy/aws-eks-cloudformation/quicklaunch.yaml | 360 | # Create the installation script | COMMENT |
| MEDIUM | …amples/deploy/instance-config-iac/windmill-config.yaml | 3 | # This file is applied to the database via: windmill sync-config <file> | COMMENT |
| MEDIUM | examples/deploy/aws-ecs-terraform/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | .github/workflows/backend-test.yml | 205 | # Create a simple test package | COMMENT |
| MEDIUM | debugger/dap_websocket_server.py | 595 | # Create a streaming output wrapper that sends output events in real-time | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | system_prompts/auto-generated/script.md | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # my_obj_content = client.load_s3_f | STRING |
| HIGH | system_prompts/auto-generated/prompts.ts | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # my_obj_content = client.load_s3_f | STRING |
| HIGH | system_prompts/auto-generated/sdks/python.md | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # my_obj_content = client.load_s3_f | STRING |
| HIGH | …ts/auto-generated/skills/write-script-python3/SKILL.md | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # my_obj_content = client.load_s3_f | STRING |
| HIGH | cli/src/guidance/skills.gen.ts | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # my_obj_content = client.load_s3_f | STRING |
| HIGH | system_prompts/auto-generated/script.md | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # with wmill.load_s3_file_reader(s3 | STRING |
| HIGH | system_prompts/auto-generated/prompts.ts | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # with wmill.load_s3_file_reader(s3 | STRING |
| HIGH | system_prompts/auto-generated/sdks/python.md | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # with wmill.load_s3_file_reader(s3 | STRING |
| HIGH | …ts/auto-generated/skills/write-script-python3/SKILL.md | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # with wmill.load_s3_file_reader(s3 | STRING |
| HIGH | cli/src/guidance/skills.gen.ts | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # with wmill.load_s3_file_reader(s3 | STRING |
| HIGH | system_prompts/auto-generated/script.md | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # # # for an in memory bytes array: | STRING |
| HIGH | system_prompts/auto-generated/prompts.ts | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # # # for an in memory bytes array: | STRING |
| HIGH | system_prompts/auto-generated/sdks/python.md | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # # # for an in memory bytes array: | STRING |
| HIGH | …ts/auto-generated/skills/write-script-python3/SKILL.md | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # # # for an in memory bytes array: | STRING |
| HIGH | cli/src/guidance/skills.gen.ts | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # # # for an in memory bytes array: | STRING |
| HIGH | system_prompts/auto-generated/script.md | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # client.delete_s3_object(s3_obj) # | STRING |
| HIGH | system_prompts/auto-generated/prompts.ts | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # client.delete_s3_object(s3_obj) # | STRING |
| HIGH | system_prompts/auto-generated/sdks/python.md | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # client.delete_s3_object(s3_obj) # | STRING |
| HIGH | …ts/auto-generated/skills/write-script-python3/SKILL.md | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # client.delete_s3_object(s3_obj) # | STRING |
| HIGH | cli/src/guidance/skills.gen.ts | 0 | python # from wmill import s3object # # s3_obj = s3object(s3="/path/to/my_file.txt") # client.delete_s3_object(s3_obj) # | STRING |
| HIGH | integration_tests/ai_agent_tests/conftest.py | 0 | export function main(a: number, b: number): number { return a + b; } | STRING |
| HIGH | integration_tests/ai_agent_tests/test_output_schema.py | 0 | export function main(a: number, b: number): number { return a + b; } | STRING |
| HIGH | integration_tests/ai_agent_tests/test_tool_calling.py | 0 | export function main(a: number, b: number): number { return a + b; } | STRING |
| HIGH | integration_tests/ai_agent_tests/test_streaming.py | 0 | export function main(a: number, b: number): number { return a + b; } | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | system_prompts/generate.py | 495 | except Exception as e: | CODE |
| LOW | system_prompts/generate.py | 607 | except Exception as e: | CODE |
| LOW⚡ | integration_tests/test/git_sync_test.py | 167 | except Exception: | CODE |
| LOW | integration_tests/test/git_sync_test.py | 42 | except Exception as e: | CODE |
| LOW | integration_tests/test/git_sync_test.py | 48 | except Exception as e: | CODE |
| MEDIUM | integration_tests/test/wmill_integration_test_utils.py | 328 | print(f"Error retrieving global custom tags: Status {response.status_code}, Response: {response.content. | CODE |
| LOW | integration_tests/test/wmill_integration_test_utils.py | 330 | except Exception as e: | CODE |
| MEDIUM | integration_tests/test/wmill_integration_test_utils.py | 365 | print(f"Error adding tag to global custom tags: Status {response.status_code}, Response: {response.conte | CODE |
| LOW | integration_tests/test/wmill_integration_test_utils.py | 367 | except Exception as e: | CODE |
| MEDIUM | integration_tests/test/wmill_integration_test_utils.py | 402 | print(f"Error removing tag from global custom tags: Status {response.status_code}, Response: {response.c | CODE |
| LOW | integration_tests/test/wmill_integration_test_utils.py | 404 | except Exception as e: | CODE |
| MEDIUM | integration_tests/test/wmill_integration_test_utils.py | 434 | print(f"Error retrieving workers list: Status {response.status_code}, Response: {response.content.decode | CODE |
| LOW | integration_tests/test/wmill_integration_test_utils.py | 436 | except Exception as e: | CODE |
| LOW | integration_tests/test/agent_workers.py | 26 | except Exception as e: | CODE |
| LOW | integration_tests/test/agent_workers.py | 28 | except Exception as e: | CODE |
| LOW⚡ | integration_tests/test/agent_workers.py | 139 | except Exception as e: | CODE |
| MEDIUM⚡ | integration_tests/test/agent_workers.py | 140 | print(f"Error initializing Docker client for cleanup: {e}") | CODE |
| LOW⚡ | integration_tests/test/agent_workers.py | 149 | except Exception as e: | CODE |
| MEDIUM⚡ | integration_tests/test/agent_workers.py | 150 | print(f"Error cleaning up container using object: {e}") | CODE |
| LOW⚡ | integration_tests/test/agent_workers.py | 159 | except Exception as e: | CODE |
| MEDIUM⚡ | integration_tests/test/agent_workers.py | 160 | print(f"Error cleaning up container by name: {e}") | CODE |
| MEDIUM | python-client/wmill/tests/test_workflow.py | 901 | def wf(): | CODE |
| LOW | python-client/wmill/tests/test_workflow.py | 839 | except Exception as e: | CODE |
| LOW | python-client/wmill/tests/test_workflow.py | 866 | except Exception: | CODE |
| LOW | python-client/wmill/tests/test_workflow.py | 905 | except Exception as e: | CODE |
| MEDIUM | python-client/wmill/wmill/client.py | 2541 | def _run(self): | CODE |
| MEDIUM | python-client/wmill/wmill/client.py | 2552 | def _record(self, status, snapshot_id, row_count, error): | CODE |
| LOW | python-client/wmill/wmill/client.py | 84 | except Exception as e: | CODE |
| LOW | python-client/wmill/wmill/client.py | 669 | except Exception as e: | CODE |
| LOW | python-client/wmill/wmill/client.py | 1009 | except Exception as e: | CODE |
| LOW | python-client/wmill/wmill/client.py | 1044 | except Exception as e: | CODE |
| LOW | python-client/wmill/wmill/client.py | 2544 | except Exception as e: | CODE |
| LOW | python-client/wmill/wmill/client.py | 2567 | except Exception: | CODE |
| LOW | python-client/wmill/wmill/client.py | 2834 | except Exception as _e: | CODE |
| LOW | python-client/wmill/wmill/client.py | 3184 | except Exception: | CODE |
| LOW | lsp/pyls_launcher.py | 14 | except Exception: # pylint: disable=broad-except | CODE |
| LOW⚡ | lsp/pyls_launcher.py | 112 | except Exception as e: | CODE |
| MEDIUM | lsp/pyls_launcher.py | 109 | def on_listen(msg): | CODE |
| LOW | typescript-client/tests/e2e_wac_v1.py | 35 | except Exception: | CODE |
| MEDIUM | backend/summarize_schema.py | 189 | print(f"Error: The file '{input_file}' was not found.") | CODE |
| LOW | backend/summarize_schema.py | 191 | except Exception as e: | CODE |
| LOW | …kend/parsers/windmill-parser-wac/tests/python_tests.rs | 165 | except Exception: | CODE |
| MEDIUM | …kend/parsers/windmill-parser-wac/tests/python_tests.rs | 162 | def my_etl(): | CODE |
| MEDIUM⚡ | backend/windmill-worker/loader.py | 77 | print(f"Error fetching script {script_path}: HTTP {e.code} - {e.reason} - {duration}s") | CODE |
| LOW⚡ | backend/windmill-worker/loader.py | 79 | except Exception as e: | CODE |
| MEDIUM⚡ | backend/windmill-worker/loader.py | 86 | print(f"Error fetching script {script_path}: {e} - {duration}s") | CODE |
| LOW | …end/generate_mcp_endpoints_tools/generate_mcp_tools.py | 28 | except Exception as e: | CODE |
| MEDIUM | …end/generate_mcp_endpoints_tools/generate_mcp_tools.py | 29 | print(f"Error loading OpenAPI spec: {e}", file=sys.stderr) | CODE |
| LOW | …end/generate_mcp_endpoints_tools/generate_mcp_tools.py | 226 | except Exception as e: | CODE |
| LOW | debugger/test_dap_server.py | 297 | except Exception as e: | CODE |
| LOW | debugger/test_dap_server.py | 300 | except Exception as e: | CODE |
| LOW | debugger/test_dap_server.py | 406 | except Exception as e: | CODE |
| LOW | debugger/test_dap_server.py | 409 | except Exception as e: | CODE |
| LOW | debugger/test_dap_server.py | 509 | except Exception: | CODE |
| LOW | debugger/test_dap_server.py | 512 | except Exception as e: | CODE |
| MEDIUM | debugger/test_dap_server.py | 69 | def _receive_messages(self): | CODE |
| LOW | debugger/dap_websocket_server.py | 383 | except Exception as e: | CODE |
| LOW | debugger/dap_websocket_server.py | 665 | except Exception as e: | CODE |
| LOW | debugger/dap_websocket_server.py | 766 | except Exception: | CODE |
| LOW | debugger/dap_websocket_server.py | 801 | except Exception as e: | CODE |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/static/tailwind.js | 25 | https://www.w3ctech.com/topic/2226`));let o=t(...a);return o.postcssPlugin=e,o.postcssVersion=new ba().version,o}let s;r | CODE |
| LOW | frontend/src/lib/components/SimpleEditor.svelte | 705 | id="placeholder" | CODE |
| LOW | frontend/src/lib/components/PrefixedInput.svelte | 24 | 'prefix' | 'value' | 'placeholder' | 'autofocus' | 'class' | CODE |
| LOW | …rc/lib/components/instanceSettings/SmtpSettings.svelte | 93 | placeholder: 'user@example.com', | CODE |
| LOW⚡ | frontend/src/lib/components/copilot/lib.ts | 410 | apiKey: 'fake-key', | CODE |
| LOW⚡ | frontend/src/lib/components/copilot/lib.ts | 421 | apiKey: 'fake-key', | CODE |
| LOW | …b/components/triggers/http/OpenAPISpecGenerator.svelte | 267 | <input type="text" placeholder="Jane Doe" bind:value={contactName} /> | CODE |
| LOW | …/components/raw_apps/RawAppInlineScriptRunnable.svelte | 258 | placeholder={meta?.['placeholder']} | CODE |
| LOW | …end/src/lib/components/sessions/sessionState.svelte.ts | 70 | export type SessionSummarySource = 'placeholder' | 'generated' | 'manual' | CODE |
| LOW | …end/src/lib/components/sessions/sessionState.svelte.ts | 158 | s.summarySource !== 'placeholder' && | CODE |
| LOW | …end/src/lib/components/sessions/sessionState.svelte.ts | 687 | summarySource: 'placeholder', | CODE |
| LOW | …end/src/lib/components/sessions/sessionState.svelte.ts | 854 | if (s.summarySource !== 'placeholder') return false | CODE |
| LOW | …ntend/src/lib/components/sessions/sessionState.test.ts | 214 | summarySource: 'placeholder' | CODE |
| LOW | …ntend/src/lib/components/sessions/sessionState.test.ts | 235 | summarySource: 'placeholder' | CODE |
| LOW | …d/src/lib/components/sessions/sessionRuntime.svelte.ts | 287 | if (!session || session.summarySource !== 'placeholder') return | CODE |
| LOW | frontend/src/lib/components/wizards/NavbarWizard.svelte | 53 | placeholder={value.label?.['placeholder']} | CODE |
| LOW | frontend/src/lib/components/wizards/NavbarWizard.svelte | 107 | placeholder={value.disabled?.['placeholder']} | CODE |
| LOW | frontend/src/lib/components/wizards/NavbarWizard.svelte | 123 | placeholder={value.hidden?.['placeholder']} | CODE |
| LOW | …ontend/src/lib/components/wizards/ChartJSWizard.svelte | 61 | placeholder={value.value?.['placeholder']} | CODE |
| LOW | …d/src/lib/components/wizards/TableActionsWizard.svelte | 69 | placeholder={actionsOrder?.['placeholder']} | CODE |
| LOW | frontend/src/lib/components/wizards/PlotlyWizard.svelte | 122 | placeholder={value.value?.['placeholder']} | CODE |
| LOW | …ts/apps/components/inputs/AppCodeInputComponent.svelte | 60 | <InputValue key="placeholder" {id} input={configuration.placeholder} bind:value={placeholder} /> | CODE |
| LOW | …omponents/apps/components/inputs/AppQuillEditor.svelte | 100 | <InputValue key="placeholder" {id} input={configuration.placeholder} bind:value={placeholder} /> | CODE |
| LOW | …nts/apps/editor/settingsPanel/InputsSpecsEditor.svelte | 94 | placeholder={meta?.['placeholder']} | CODE |
| LOW | …apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte | 136 | placeholder={config?.['placeholder']} | CODE |
| LOW | …ponents/apps/editor/settingsPanel/GridCondition.svelte | 169 | placeholder={condition?.['placeholder']} | CODE |
| LOW | …nts/apps/editor/settingsPanel/AGChartRichEditor.svelte | 34 | placeholder={xData?.['placeholder']} | CODE |
| LOW | …nts/apps/editor/settingsPanel/AGChartRichEditor.svelte | 54 | placeholder={datasets?.['placeholder']} | CODE |
| LOW | …ponents/apps/editor/settingsPanel/GridTabHidden.svelte | 57 | placeholder={field?.['placeholder']} | CODE |
| LOW | …nts/apps/editor/settingsPanel/ChartJSRichEditor.svelte | 34 | placeholder={xData?.['placeholder']} | CODE |
| LOW | …nts/apps/editor/settingsPanel/ChartJSRichEditor.svelte | 54 | placeholder={datasets?.['placeholder']} | CODE |
| LOW | …ents/apps/editor/settingsPanel/PlotlyRichEditor.svelte | 34 | placeholder={xData?.['placeholder']} | CODE |
| LOW | …ents/apps/editor/settingsPanel/PlotlyRichEditor.svelte | 54 | placeholder={datasets?.['placeholder']} | CODE |
| LOW | …nents/apps/editor/settingsPanel/GridTabDisabled.svelte | 57 | placeholder={field?.['placeholder']} | CODE |
| LOW | …ontend/src/lib/monaco_workers/graphql.worker.bundle.js | 85 | `))}},ac=class extends Error{constructor(t,n){super(t),this.name="ListenerLeakError",this.stack=n}},uc=class extends Err | CODE |
| LOW | frontend/src/routes/kitchen_sink/+page.svelte | 61 | label: 'Lorem ipsum', | CODE |
| LOW | backend/oauth_connect.json | 151 | "placeholder": "your-instance", | CODE |
| LOW | backend/oauth_connect.json | 205 | "placeholder": "<orgname>-<account_name>", | CODE |
| LOW | backend/oauth_connect.json | 244 | "placeholder": "<instance> (e.g. dev12345)", | CODE |
| LOW | backend/oauth_connect.json | 259 | "placeholder": "<account id> as in your NetSuite domain, e.g. 1234567 or 1234567-sb1", | CODE |
| LOW | …ckend/windmill-api-integration-tests/tests/settings.rs | 90 | .json(&json!({"to": "test@test.com", "subject": "test", "content": "test"})), | CODE |
| LOW | backend/windmill-store/src/resources.rs | 2839 | email: "test@test.com".to_string(), | CODE |
| LOW | backend/windmill-worker/src/common.rs | 2164 | permissioned_as_email: "test@test.com".to_string(), | CODE |
| LOW | backend/windmill-git-sync/src/lib.rs | 259 | let obj = DeployedObject::User { email: "user@example.com".to_string() }; | CODE |
| LOW | backend/windmill-git-sync/src/lib.rs | 293 | let obj = DeployedObject::User { email: "user@example.com".to_string() }; | CODE |
| LOW | backend/tests/flow_engine_parity.rs | 852 | assert_eq!(result["full_name"], "John Doe"); | CODE |
| LOW | backend/windmill-api/banned_domains.txt | 1310 | fake-email.pp.ua | CODE |
| LOW | backend/windmill-api/src/slack_approvals.rs | 628 | "placeholder": { | CODE |
| LOW | backend/windmill-api/src/slack_approvals.rs | 647 | "placeholder": { | CODE |
| LOW | backend/windmill-api/src/slack_approvals.rs | 693 | "placeholder": { | CODE |
| LOW | backend/windmill-common/tests/notify_events.rs | 371 | VALUES ($1, $2, 'session', 'test@test.com', 'test-workspace', 'test-user', now() + interval '1 hour')", | CODE |
| LOW | backend/windmill-common/src/oauth2.rs | 84 | "user@example.com" | CODE |
| LOW | backend/windmill-common/src/webhook.rs | 369 | owner: "user@example.com".into(), | CODE |
| LOW | backend/windmill-common/src/webhook.rs | 377 | owner: "user@example.com".into(), | CODE |
| LOW | backend/windmill-common/src/instance_config.rs | 1623 | {"email": "admin@example.com"}, | CODE |
| LOW | backend/windmill-common/src/instance_config.rs | 1763 | {"email": "admin@example.com"}, | CODE |
| LOW | backend/windmill-oauth/src/lib.rs | 1287 | "placeholder": "x", | CODE |
| LOW | backend/windmill-oauth/src/lib.rs | 1296 | "placeholder": "dev12345", | CODE |
| LOW | backend/windmill-oauth/src/lib.rs | 1310 | "label": "x", "placeholder": "x", | CODE |
| LOW | backend/windmill-oauth/src/lib.rs | 1317 | "label": "x", "placeholder": "x", | CODE |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | system_prompts/generate.py | 201 | # Check if has default | COMMENT |
| LOW | system_prompts/generate.py | 473 | # Check if second arg is a string (description) or a variable (imported command) | COMMENT |
| LOW | system_prompts/auto-generated/prompts.ts | 4708 | # Write file to S3 | COMMENT |
| LOW | docker/entrypoint-extra.sh | 94 | # Check if any services were started | COMMENT |
| LOW | integration_tests/ai_agent_tests/conftest.py | 255 | # Check if script already exists | COMMENT |
| LOW | integration_tests/test/wmill_integration_test_utils.py | 707 | # Check if file exists (to get SHA for update) | COMMENT |
| LOW | integration_tests/test/agent_workers.py | 111 | # Check if any worker is in the "agent" worker_group | COMMENT |
| LOW | .claude/hooks/format-backend.sh | 13 | # Check if the file is in the backend directory and is a Rust file | COMMENT |
| LOW | .claude/hooks/format-frontend.sh | 13 | # Check if the file is in the frontend directory | COMMENT |
| LOW | .claude/hooks/format-frontend.sh | 15 | # Check if it's a formattable file type | COMMENT |
| LOW | .claude/hooks/notify-user.sh | 4 | # Check if we're in an SSH session | COMMENT |
| LOW | backend/update_sqlx.sh | 5 | # Check if running on macOS | COMMENT |
| LOW | backend/test_debounce_e2e.sh | 436 | # Check if items were aggregated in the executed (non-skipped) job(s) | COMMENT |
| LOW | backend/run_until_fail.sh | 20 | # Check if the command failed (non-zero exit code) | COMMENT |
| LOW⚡ | backend/windmill-worker/loader.py | 81 | # Check if this is errno 104 (Connection reset by peer) and we have retries left | COMMENT |
| LOW | backend/windmill-worker/src/pwsh_executor.rs | 114 | # Check if module is already installed with the required version (case-insensitive) | COMMENT |
| LOW | …end/generate_mcp_endpoints_tools/generate_mcp_tools.py | 238 | # Check if this is an external file reference | COMMENT |
| LOW | cli/build.sh | 3 | # Set script to exit on any error | COMMENT |
| LOW | cli/windmill-utils-internal/gen_wm_client.sh | 3 | # Set script to exit on any error | COMMENT |
| LOW | cli/windmill-utils-internal/remove-ts-ext.sh | 3 | # Set script to exit on any error | COMMENT |
| LOW | cli/src/guidance/skills.gen.ts | 3843 | # Write file to S3 | COMMENT |
| LOW | ephemeral-backends/install.sh | 14 | # Check if running as root | COMMENT |
| LOW⚡ | ephemeral-backends/install.sh | 36 | # Check if sandbox user exists | COMMENT |
| LOW⚡ | ephemeral-backends/install.sh | 43 | # Check if repository directory exists | COMMENT |
| LOW⚡ | ephemeral-backends/install.sh | 50 | # Check if bun is installed for the service user | COMMENT |
| LOW⚡ | ephemeral-backends/install.sh | 57 | # Check if bubblewrap is installed | COMMENT |
| LOW⚡ | ephemeral-backends/install.sh | 66 | # Check if cloudflared is installed | COMMENT |
| LOW | ephemeral-backends/install.sh | 89 | # Check if docker is installed and service user has access | COMMENT |
| LOW | .github/workflows/shareable-discord-notification.yml | 66 | # Check if thread already exists | COMMENT |
| LOW | .github/workflows/helmchart_on_release.yml | 33 | # Check if branch already exists remotely | COMMENT |
| LOW | debugger/test_dap_server.py | 375 | # Check if our args are present | COMMENT |
| LOW | debugger/dap_websocket_server.py | 123 | # Check if we should stop here | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | frontend/package-lock.json | 5873 | "resolved": "https://registry.npmjs.org/esm-env-robust/-/esm-env-robust-0.0.3.tgz", | CODE |
| MEDIUM | frontend/package-lock.json | 11695 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", | CODE |
| MEDIUM | frontend/src/lib/utils.ts | 1829 | rootMargin: '0px 1000px', // Essentially making horizontal checks irrelevant | CODE |
| MEDIUM | frontend/src/lib/utils/workspaceHierarchy.ts | 40 | return true // Definitely a root | CODE |
| MEDIUM | frontend/src/lib/components/S3FilePreview.svelte | 92 | // "not found" substring (case-insensitive) to be robust against | COMMENT |
| MEDIUM | …/routes/(root)/(logged)/pipeline/[folder]/+page.svelte | 1393 | // success/failure badge is seamless (no flicker back to running). | COMMENT |
| MEDIUM | backend/windmill-duckdb-ffi-internal/src/lib.rs | 477 | // TODO : Better error return to leverage different error kinds on the worker side | COMMENT |
| MEDIUM | cli/src/guidance/skills.gen.ts | 5548 | ### Migration best practices | COMMENT |
| MEDIUM | …ackage-registry-tls/verdaccio_conf/config.default.yaml | 3 | # please read carefully the documentation and best practices to | COMMENT |
| MEDIUM | …ackage-registry-tls/verdaccio_conf/config.default.yaml | 13 | # Read about the best practices | COMMENT |
| MEDIUM⚡ | .github/workflows/ai-evals-test.yml | 4 | # the ai_evals harness, one case across one cheap model per provider. Runs only | COMMENT |
| MEDIUM⚡ | .github/workflows/ai-evals-test.yml | 5 | # when the eval harness or the global chat code change, since each run makes real | COMMENT |
| MEDIUM⚡ | .github/workflows/ai-evals-test.yml | 7 | # harness routes model calls through; the global tools/drafts run in-process in | COMMENT |
| MEDIUM | .github/workflows/ai-evals-test.yml | 20 | # The eval harness runs production frontend code in-process; these are the | COMMENT |
| MEDIUM | .github/workflows/ai-evals-test.yml | 33 | # The eval harness runs production frontend code in-process; these are the | COMMENT |
| MEDIUM | .github/workflows/ai-evals-test.yml | 144 | # The CLI exits 0 when the harness records failed attempts, so gate | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | system_prompts/generate.py | 164 | CODE | |
| LOW | system_prompts/generate.py | 251 | CODE | |
| LOW | system_prompts/generate.py | 381 | CODE | |
| LOW | system_prompts/generate.py | 632 | CODE | |
| LOW | system_prompts/generate.py | 911 | CODE | |
| LOW | system_prompts/generate.py | 1113 | CODE | |
| LOW | system_prompts/generate.py | 1264 | CODE | |
| LOW | system_prompts/generate.py | 1479 | CODE | |
| LOW | system_prompts/utils.py | 247 | CODE | |
| LOW | system_prompts/utils.py | 268 | CODE | |
| LOW | system_prompts/utils.py | 355 | CODE | |
| LOW | system_prompts/utils.py | 424 | CODE | |
| LOW | system_prompts/utils.py | 477 | CODE | |
| LOW | integration_tests/test/wmill_integration_test_utils.py | 121 | CODE | |
| LOW | integration_tests/test/wmill_integration_test_utils.py | 161 | CODE | |
| LOW | integration_tests/test/wmill_integration_test_utils.py | 606 | CODE | |
| LOW | python-client/wmill/wmill/client.py | 2571 | CODE | |
| LOW | python-client/wmill/wmill/client.py | 3126 | CODE | |
| LOW | python-client/wmill/wmill/client.py | 363 | CODE | |
| LOW | backend/summarize_schema.py | 10 | CODE | |
| LOW | backend/summarize_schema.py | 138 | CODE | |
| LOW | backend/windmill-worker/loader.py | 26 | CODE | |
| LOW | …end/generate_mcp_endpoints_tools/generate_mcp_tools.py | 64 | CODE | |
| LOW | debugger/test_dap_server.py | 178 | CODE | |
| LOW | debugger/test_dap_server.py | 309 | CODE | |
| LOW | debugger/test_dap_server.py | 430 | CODE | |
| LOW | debugger/test_dap_server.py | 69 | CODE | |
| LOW | debugger/dap_websocket_server.py | 68 | CODE | |
| LOW | debugger/dap_websocket_server.py | 112 | CODE | |
| LOW | debugger/dap_websocket_server.py | 739 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …components/assets/AssetGraph/pipelineTemplates.test.ts | 67 | // identity), so the scaffold teaches the one grain-agnostic filter line. | COMMENT |
| MEDIUM | …/lib/components/assets/AssetGraph/pipelineTemplates.ts | 709 | // the scaffold light; docs cover dynamic-grain keys. | COMMENT |
| MEDIUM | …onents/assets/AssetGraph/DucklakeVersionPreview.svelte | 42 | // the duckdb scaffold ATTACHes the ducklake under, so the reference is | COMMENT |
| MEDIUM | backend/parsers/windmill-parser/src/asset_parser.rs | 319 | // • Run-time write guardrails for the persist-and-mutate strategies | COMMENT |
| MEDIUM | …nd/windmill-api-workspaces/src/datatable_migrations.rs | 809 | /// so keep them to a safe path-segment charset (matches the CLI scaffold). | COMMENT |
| MEDIUM | docs/pipeline-local-dev.md | 38 | ### Headless CLI (agentic loop) — `cli/src/commands/pipeline/` | COMMENT |
| MEDIUM | docs/pipelines-vs-dbt.md | 480 | 3. **Template updates** — when `// partitioned X` is present, scaffold | CODE |
| MEDIUM | cli/src/commands/pipeline/docs.ts | 2 | // pointer) describing a folder's pipeline so an editor or agentic loop has the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | frontend/src/lib/utils.ts | 2019 | // AI generated | COMMENT |
| HIGH | …lib/components/copilot/chat/flow/rawscriptLang.test.ts | 6 | // language here silently rejects AI-generated flow edits that use it in the | COMMENT |
| HIGH | …/lib/components/copilot/chat/flow/providerKind.test.ts | 6 | // provider kind here silently rejects AI-generated flow edits for that provider | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integration_tests/test/identity_script_test.py | 2 | CODE | |
| LOW | integration_tests/test/increment_flow_test.py | 1 | CODE | |
| LOW | integration_tests/test/increment_flow_test.py | 3 | CODE | |
| LOW | integration_tests/test/__init__.py | 1 | CODE | |
| LOW | integration_tests/test/__init__.py | 2 | CODE | |
| LOW | integration_tests/test/__init__.py | 3 | CODE | |
| LOW | integration_tests/test/__init__.py | 4 | CODE | |
| LOW | integration_tests/test/__init__.py | 5 | CODE | |
| LOW | integration_tests/test/windmill_sdk_test.py | 1 | CODE | |
| LOW | python-client/wmill/tests/test_workflow.py | 6 | CODE | |
| LOW | python-client/wmill/tests/test_workflow.py | 6 | CODE | |
| LOW | python-client/wmill/wmill/client.py | 1 | CODE | |
| LOW | python-client/wmill/wmill/client.py | 6 | CODE | |
| LOW | python-client/wmill/wmill/__init__.py | 1 | CODE | |
| LOW | python-client/wmill/wmill/__init__.py | 2 | CODE | |
| LOW | debugger/dap_websocket_server.py | 31 | CODE | |
| LOW | debugger/dap_websocket_server.py | 32 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | system_prompts/generate.py | 2613 | if (language == null) { | CODE |
| HIGH | system_prompts/generate.py | 2636 | if (language == null) { | CODE |
| HIGH | …gration_tests/ai_agent_tests/test_completion_params.py | 5 | - Default parameters (undefined) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | README.md | 312 | env DATABASE_URL=<YOUR_DATABASE_URL> sqlx migrate run | CODE |
| HIGH | README.md | 326 | 1. `env DATABASE_URL=<YOUR_DATABASE_URL> RUST_LOG=info cargo run` | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …lib/components/graph/renderers/nodes/AIToolNode.svelte | 100 | }[] = node.data.module.value.tools.map((t, idx) => { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python-client/wmill/wmill/client.py | 594 | def set_variable(self, path: str, value: str, is_secret: bool = False) -> None: | CODE |
| LOW | python-client/wmill/wmill/client.py | 743 | def set_state(self, value: Any, path: str | None = None) -> None: | CODE |
| LOW | python-client/wmill/wmill/client.py | 807 | def set_flow_user_state(self, key: str, value: Any) -> None: | CODE |
| LOW | python-client/wmill/wmill/client.py | 1216 | def set_shared_state_pickle(value: Any, path: str = "state.pickle") -> None: | CODE |
| LOW | python-client/wmill/wmill/client.py | 1236 | def set_shared_state(value: Any, path: str = "state.json") -> None: | CODE |
| LOW | python-client/wmill/wmill/client.py | 1882 | def set_resource(path: str, value: Any, resource_type: str = "any") -> None: | CODE |
| LOW | python-client/wmill/wmill/client.py | 1920 | def set_state(value: Any, path: str | None = None) -> None: | CODE |
| LOW | python-client/wmill/wmill/client.py | 1928 | def set_progress(value: int, job_id: Optional[str] = None) -> None: | CODE |
| LOW | python-client/wmill/wmill/client.py | 1943 | def set_shared_state_pickle(value: Any, path="state.pickle") -> None: | CODE |
| LOW | python-client/wmill/wmill/client.py | 1958 | def set_shared_state(value: Any, path="state.json") -> None: | CODE |
| LOW | python-client/wmill/wmill/client.py | 1981 | def set_variable(path: str, value: str, is_secret: bool = False) -> None: | CODE |
| LOW | python-client/wmill/wmill/client.py | 1997 | def set_flow_user_state(key: str, value: Any) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ontend/src/lib/components/GitRepoResourcePicker.svelte | 158 | // TODO: Add error feedback | COMMENT |
| LOW | backend/windmill-worker/src/worker.rs | 5195 | // TODO: implement | COMMENT |
| LOW | backend/windmill-common/src/schema.rs | 323 | // TODO: Implement validation on these | COMMENT |
| LOW | backend/windmill-api-jobs/src/job_metrics.rs | 284 | // TODO: implement sampling | COMMENT |
| LOW | backend/windmill-types/src/runnable_settings.rs | 75 | // TODO: Add validation logic. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | frontend/src/lib/script_helpers.ts | 50 | # you can use typed resources by doing a type alias to dict | COMMENT |
| MEDIUM | …deploy/private-package-registry-tls/docker-compose.yml | 55 | # - DENO_TLS_CA_STORE=system # alternatively, you can use this but you'll need to manually trust the RootCA at the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python-client/wmill/wmill/client.py | 371 | Wait for a job to complete and return its result. Args: job_id: ID of the job to wait for | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | integration_tests/ai_agent_tests/conftest.py | 330 | CODE | |
| LOW | python-client/wmill/tests/test_workflow.py | 129 | CODE | |
| LOW | python-client/wmill/tests/test_workflow.py | 135 | CODE | |
| LOW | python-client/wmill/tests/test_workflow.py | 162 | CODE | |
| LOW | python-client/wmill/wmill/client.py | 2088 | CODE | |
| LOW | python-client/wmill/wmill/client.py | 2852 | CODE | |
| LOW | python-client/wmill/wmill/client.py | 257 | CODE | |
| LOW | python-client/wmill/wmill/client.py | 281 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cli/test/relative_imports_wasm.test.ts | 163 | def helper(): | CODE |
| LOW⚡ | cli/test/relative_imports_wasm.test.ts | 569 | `import pandas\n\ndef helper():\n return pandas.__version__\n` | CODE |
| LOW | cli/test/script_modules_unit.test.ts | 257 | content: "def helper(): pass\n", | CODE |
| LOW | debugger/dap_websocket_server.py | 863 | async def handle_request(self, request: dict) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cli/src/utils/local_encryption.ts | 90 | // // Example usage: | COMMENT |
| LOW | examples/deploy/instance-config-iac/docker-compose.yml | 5 | # Usage: | COMMENT |