AI Slop Code RIsk Monitor

Kiln-AI/Kiln

Build, Evaluate, and Optimize AI Systems. Includes evals, RAG, agents, fine-tuning, synthetic data generation, dataset management, MCP, and more.

18.0 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for Kiln-AI/Kiln, a Python project with 5,187 GitHub stars. SynthScan examined 621,843 lines of code across 2616 source files, recording 9511 pattern matches distributed across 26 syntactic categories. The legacy adjusted pattern signal is 18.0 (Elevated pattern signal); it is not an authorship estimate.

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

18.0
Adjusted Signal
18.0
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
5.2K
Stars
Python
Language
621.8K
Lines of Code
2.6K
Files
9.5K
Pattern Hits
2026-10-12
Scan Date
0.09
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 48.6/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 5.4/100 · LOW

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

Agent Over-Engineering Ratio 48.1/100 · MEDIUM

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

PR Review Velocity Impact 63.0/100 · HIGH

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

What These Metrics Mean

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

Pattern-Signal History

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

Severity Breakdown

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

CRITICAL 2HIGH 241MEDIUM 812LOW 8456

Directory Score Breakdown

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

Pattern Findings

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

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hyper-Verbose Identifiers6967 hits · 5931 pts
SeverityFileLineSnippetContext
LOW⚡conftest.py139def pytest_collection_modifyitems(config, items):CODE
LOWapp/desktop/test_start_background_syncs.py40async def test_start_background_syncs_passes_oauth_token(tmp_path: Path):CODE
LOWapp/desktop/test_start_background_syncs.py88async def test_start_background_syncs_passes_pat_token(tmp_path: Path):CODE
LOWapp/desktop/test_dev_server.py107def test_launcher_does_not_import_the_app_tree():STRING
LOWapp/desktop/test_dev_server.py122def test_serves_the_app_from_the_dev_app_module(run_dev_server_main):STRING
LOW⚡app/desktop/test_dev_server.py142def test_kiln_port_is_exported_for_reload_workers(run_dev_server_main):STRING
LOW⚡app/desktop/test_dev_server.py151def test_no_kiln_port_leaves_the_configured_port_alone(run_dev_server_main):STRING
LOW⚡app/desktop/test_dev_server.py160def test_launcher_sets_the_dev_env_vars(run_dev_server_main):STRING
LOW⚡app/desktop/test_dev_server.py169def test_dev_app_sets_dev_env_vars_before_importing_the_app(env_when_app_built):STRING
LOW⚡app/desktop/test_dev_server.py178def test_set_dev_env_vars_keeps_an_explicit_skip_remote_model_list():STRING
LOW⚡app/desktop/test_dev_server.py188def test_set_dev_env_vars_overrides_the_dev_mode_flags(env_var):STRING
LOWapp/desktop/test_desktop.py114 def test_quit_app_with_tray_and_root(self, mock_tk_root, mock_kiln_tray):CODE
LOWapp/desktop/test_desktop.py144 def test_on_quit_without_root(self, mock_tk_root):CODE
LOWapp/desktop/test_desktop.py163 def test_resource_path_with_meipass(self, mock_tk_root):CODE
LOWapp/desktop/test_desktop.py173 def test_resource_path_without_meipass(self, mock_tk_root):CODE
LOWapp/desktop/test_desktop.py211 def test_run_tray_already_exists(self, mock_tk_root, mock_kiln_tray):CODE
LOWapp/desktop/test_desktop.py223 def test_run_tray_windows_default(CODE
LOWapp/desktop/test_desktop.py237 def test_run_tray_macos_no_default(CODE
LOWapp/desktop/test_desktop.py251 def test_run_tray_linux_uses_sni_tray_when_available(CODE
LOWapp/desktop/test_desktop.py265 def test_run_tray_linux_falls_back_to_pystray(CODE
LOWapp/desktop/test_desktop.py283 def test_run_tray_other_platforms_skip_sni_tray(CODE
LOWapp/desktop/test_desktop.py304 def test_run_tray_linux_pystray_failure_is_not_fatal(CODE
LOWapp/desktop/test_desktop.py316 def test_start_linux_sni_tray_passes_menu_and_icons(self, mock_tk_root):CODE
LOW⚡app/desktop/test_desktop.py338 def test_start_linux_sni_tray_never_raises(self, mock_tk_root):CODE
LOW⚡app/desktop/test_desktop.py344 def test_linux_tray_icon_dir_is_bundled(self):CODE
LOW⚡app/desktop/test_desktop.py351 def test_close_splash_with_pyi_splash(self, mock_tk_root):CODE
LOW⚡app/desktop/test_desktop.py361 def test_close_splash_without_pyi_splash(self, mock_tk_root):CODE
LOWapp/desktop/test_desktop.py382 def test_run_in_thread_calls_app_on_quit(self, mock_tk_root):CODE
LOWapp/desktop/studio_server/copilot_api.py159async def copilot_passthrough_payload(CODE
LOWapp/desktop/studio_server/copilot_api.py343 def splits_must_name_test_once(CODE
LOWapp/desktop/studio_server/copilot_api.py429async def _get_data_guide_job_status(client: AuthenticatedClient, job_id: str) -> str:CODE
LOWapp/desktop/studio_server/copilot_api.py484async def _get_data_guide_job_result(client: AuthenticatedClient, job_id: str) -> str:CODE
LOWapp/desktop/studio_server/copilot_api.py613def _validate_structured_examples(input_json_schema: str, examples: list[str]) -> None:CODE
LOWapp/desktop/studio_server/multiturn_sdg_api.py176 def _exactly_one_target_config(self) -> Self:CODE
LOWapp/desktop/studio_server/multiturn_sdg_api.py236def resolve_target_run_config(CODE
LOW⚡app/desktop/studio_server/multiturn_sdg_api.py388def _case_dict_at_plan_offset(case: SdkCase, start: int) -> SyntheticUserCaseDict:CODE
LOW⚡app/desktop/studio_server/multiturn_sdg_api.py399def connect_multiturn_sdg_api(app: FastAPI) -> None:CODE
LOWapp/desktop/studio_server/test_run_config_api.py143def test_validate_input_transform_template_valid(client):CODE
LOWapp/desktop/studio_server/test_run_config_api.py154def test_validate_input_transform_template_invalid(client):CODE
LOWapp/desktop/studio_server/test_run_config_api.py167def test_validate_input_transform_template_empty(client):CODE
LOWapp/desktop/studio_server/test_run_config_api.py178def test_validate_mcp_input_schema_plaintext_success(mock_task):CODE
LOWapp/desktop/studio_server/test_run_config_api.py203def test_validate_mcp_input_schema_plaintext_fails(mock_task, tool_schema, error_match):CODE
LOWapp/desktop/studio_server/test_run_config_api.py209def test_validate_mcp_input_schema_structured_success(mock_task):CODE
LOWapp/desktop/studio_server/test_run_config_api.py221def test_validate_mcp_input_schema_structured_fails(mock_task):CODE
LOWapp/desktop/studio_server/test_run_config_api.py230def test_validate_mcp_output_schema_success(mock_task):CODE
LOWapp/desktop/studio_server/test_run_config_api.py258def test_validate_mcp_output_schema_fails(mock_task):CODE
LOWapp/desktop/studio_server/test_run_config_api.py267def test_load_mcp_tool_success(mock_task):CODE
LOWapp/desktop/studio_server/test_run_config_api.py285def test_load_mcp_tool_fails_not_mcp_tool_id(mock_task):CODE
LOWapp/desktop/studio_server/test_run_config_api.py297def test_load_mcp_tool_fails_wrong_type(mock_task):CODE
LOWapp/desktop/studio_server/test_run_config_api.py314async def test_load_mcp_input_schema_success():CODE
LOWapp/desktop/studio_server/test_run_config_api.py325async def test_load_mcp_input_schema_fails():CODE
LOWapp/desktop/studio_server/test_run_config_api.py338async def test_load_mcp_output_schema_success():CODE
LOWapp/desktop/studio_server/test_run_config_api.py352async def test_load_mcp_output_schema_fails():CODE
LOWapp/desktop/studio_server/test_run_config_api.py360def test_create_task_from_tool_plaintext(client, tmp_path):CODE
LOWapp/desktop/studio_server/test_run_config_api.py417def test_create_task_from_tool_structured(client, tmp_path):CODE
LOWapp/desktop/studio_server/test_run_config_api.py483def test_create_task_from_tool_sanitizes_names(client, tmp_path):CODE
LOWapp/desktop/studio_server/test_run_config_api.py549def test_create_task_from_tool_invalid_tool(client, tmp_path):CODE
LOWapp/desktop/studio_server/test_run_config_api.py580def test_create_mcp_run_config_with_provenance(client, tmp_path):CODE
LOWapp/desktop/studio_server/test_run_config_api.py679def test_create_task_from_tool_stamps_provenance(client, tmp_path):CODE
LOWapp/desktop/studio_server/test_run_config_api.py721def test_create_task_from_tool_rejects_derived_from_ids_before_any_write(CODE
6907 more matches not shown…
Decorative Section Separators407 hits · 1358 pts
SeverityFileLineSnippetContext
MEDIUMchecks.sh40# ── Parallel check runner ────────────────────────────────────────────COMMENT
MEDIUMchecks.sh135# ── Kick off all checks ──────────────────────────────────────────────COMMENT
MEDIUMchecks.sh171# ── Wait and summarize ────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_startup.sh71# ── Containers only ───────────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_startup.sh117# ── Locate the checkout ───────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_startup.sh157# ── Was this machine provisioned by setup_env.sh? ─────────────────────────────COMMENT
MEDIUM.config/utils/setup_startup.sh184# ── Hard dependencies ─────────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_startup.sh215# ── Agent configuration ───────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_startup.sh238# ── Pin the Python version ────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_startup.sh263# ── Seed node_modules from the VM's warm tree ─────────────────────────────────COMMENT
MEDIUM.config/utils/setup_startup.sh400# ── Sync this branch ──────────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_startup.sh463# ── Verify what the environment setup was supposed to provide ─────────────────COMMENT
MEDIUM.config/utils/setup_startup.sh501# ── Playwright ────────────────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_env.sh31# ── CONFIGURATION ─────────────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_env.sh43# ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_env.sh73# ── Project root discovery ────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_env.sh186# ── uv version ────────────────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_env.sh259# ── Python ────────────────────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_env.sh269# ── Warm this machine's caches ────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_env.sh382# ── Run setup_startup.sh from a Claude Code SessionStart hook ─────────────────COMMENT
MEDIUM.config/utils/setup_env.sh612# ── Playwright ────────────────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_env.sh856# ── Everything below here needs a checkout ────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_env.sh900# ── Dependencies ──────────────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_env.sh936# ── Agent configuration ───────────────────────────────────────────────────────COMMENT
MEDIUM.config/utils/setup_env.sh956# ── Optional workspace tooling ────────────────────────────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/multiturn_sdg_api.py95# ───────────────────────── Pydantic API models ─────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/multiturn_sdg_api.py214# ───────────────────────── helpers ─────────────────────────COMMENT
MEDIUM⚡app/desktop/studio_server/multiturn_sdg_api.py396# ───────────────────────── route registration ─────────────────────────COMMENT
MEDIUM⚡app/desktop/studio_server/test_eval_builder_api.py1897# ───────────────────────── judge_traces (SSE) ─────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_api.py163# ───────────────────────── run_judge_for_trace ─────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_api.py373# ───────────────────────── build_claims primitive ─────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_api.py549# ───────────────────────── author_judge ──────────────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_api.py903# ───────────────────────── refine_judge ──────────────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_api.py1045# ───────────────────────── multi_turn_pipeline (SSE) ─────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_api.py2355# ───────────────────────── single_turn_pipeline (SSE) ─────────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_api.py2898# ───────────────────────── preflight_model ─────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_api.py2987# ─────────────── both pipelines in a git auto-synced project ───────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_e2e_paid.py433 # ── Step 4a — PLAN (UI: on_plan_multi_turn) ─────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_e2e_paid.py447 # ── Step 4b — SU CASES (UI: on_drive_multi_turn, part 1) ────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_e2e_paid.py658 # ── Step 6 — SAVE (UI: on_save, multi-turn branch) ──────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_e2e_paid.py720 # ── Persisted answer key — what the builder leaves behind ───────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_e2e_paid.py873 # ── Step 7 — RUN THE SAVED EVAL (the evals UI's own endpoints) ──────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_e2e_paid.py1166# ─────────────────── tool-calling leg (saved run config) ───────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_e2e_paid.py1268 # ── SU CASES — one batch call from the hand-written scenarios. ──────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_e2e_paid.py1286 # ── PIPELINE — the drive references the SAVED run config by id. ─────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_e2e_paid.py1302 # ── Tool invocations in the DRIVEN trace, on disk. ──────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_eval_builder_e2e_paid.py1335 # ── Tool activity reached the judge. ────────────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_multiturn_sdg_api.py55# ───────────────────────── fixtures ─────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_multiturn_sdg_api.py212# ───────────────────────── generate_cases ─────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_multiturn_sdg_api.py339# ─────────────── generate_cases with per-case prompts (batch plan) ───────────────COMMENT
MEDIUMapp/desktop/studio_server/test_multiturn_sdg_api.py416# ─────────────── generate_cases chunking (plans over one call) ───────────────COMMENT
MEDIUMapp/desktop/studio_server/test_multiturn_sdg_api.py637# ───────────────────────── run_cases_batch (SSE) ─────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/test_multiturn_sdg_api.py1006# ───────────────────── target run config resolution ─────────────────────COMMENT
MEDIUM⚡app/desktop/studio_server/utils/test_copilot_utils.py916# ───────────────── delete_multi_turn_batch_chains ─────────────────COMMENT
MEDIUMapp/desktop/studio_server/utils/test_copilot_utils.py1064# ───────────── single-turn drive tags + delete_single_turn_batch_runs ───────COMMENT
MEDIUMapp/desktop/studio_server/utils/test_copilot_utils.py1168# ───────────────── multi-turn eval slice (EvalInput writer) ─────────────────COMMENT
MEDIUMapp/desktop/studio_server/synthetic_user/test_client.py76# ───────────────────────── happy path ─────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/synthetic_user/test_client.py123# ───────────────────────── 502 ─────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/synthetic_user/test_client.py160# ───────────────────────── 500 ─────────────────────────COMMENT
MEDIUMapp/desktop/studio_server/synthetic_user/test_client.py199# ───────────────────────── 401 ─────────────────────────COMMENT
347 more matches not shown…
Self-Referential Comments268 hits · 780 pts
SeverityFileLineSnippetContext
MEDIUMapp/desktop/linux_installer.sh190 # Create the desktop entry fileCOMMENT
MEDIUM…ktop/studio_server/test_prompt_optimization_job_api.py2614 # Create a target run configCOMMENT
MEDIUM…ktop/studio_server/test_prompt_optimization_job_api.py2889 # Create a promptCOMMENT
MEDIUM…ktop/studio_server/test_prompt_optimization_job_api.py2928 # Create a run configCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py3703 # Create an MCP tool server to trigger the RAG set inclusionCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py3766 # Create a RAG configCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py4349 # Create a test taskCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py4358 # Create a run config with ID "default" for the taskCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py4435 # Create a test taskCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py4444 # Create a run config with ID "default" for the taskCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py4485 # Create a test taskCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py4494 # Create a run config with ID "default" for the taskCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py4607 # Create a test taskCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py4616 # Create a run config with ID "default" for the taskCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py4674 # Create a test taskCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py4683 # Create a run config for the taskCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py388 # Create the tool with empty toolsCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py444 # Create the tool with successful validationCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py584 # Create the tool serverCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py724 # Create a mapping of server URLs to their toolsCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py816 # Create a tool serverCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py830 # Create the tool serverCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py1353 # Create a mock ExternalToolServerCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py1386 # Create a mock ExternalToolServerCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py1408 # Create a mock ExternalToolServerCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py1430 # Create a mock ExternalToolServerCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py1454 # Create a mock ExternalToolServer with kiln_task typeCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py1721 # Create a tool serverCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py1859 # Create the tool serverCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py1983 # Create a tool server with secret headersCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2003 # Create the tool server first (without mocking Config to avoid interference)COMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2088 # Create the tool server first (without mocking Config to avoid interference)COMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2133 # Create a tool server firstCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2149 # Create the tool server first (without mocking Config to avoid interference)COMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2193 # Create a tool server with secret headersCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2213 # Create the tool server first (without mocking Config to avoid interference)COMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2656 # Create a local MCP tool server with secret env varsCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2677 # Create the tool server first (without mocking Config to avoid interference)COMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2724 # Create a local MCP tool server without secret env varsCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2741 # Create the tool server first (without mocking Config to avoid interference)COMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2784 # Create a local MCP tool server with secret env varsCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2805 # Create the tool server first (without mocking Config to avoid interference)COMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2846 # Create a local MCP tool server firstCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2863 # Create the local tool server first (without mocking Config to avoid interference)COMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2922 # Create the tool with successful validationCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py2998 # Create the tool with successful validationCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3069 # Create the tool with successful validationCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3151 # Create the local MCP tool serverCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3226 # Create a test taskCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3244 # Create a Kiln task tool serverCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3378 # Create the local MCP tool serverCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3476 # Create the local MCP tool serverCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3717 # Create the MCP serverCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3780 # Create an MCP tool serverCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3794 # Create the MCP serverCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py4041 # Create a mock KilnTaskToolCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py4073 # Create a mock KilnTaskTool with minimal fieldsCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py4158 # Create a non-kiln task server to ensure it's filtered outCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py4213 # Create a non-kiln task serverCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py4246 # Create a valid task firstCOMMENT
208 more matches not shown…
Docstring Block Structure118 hits · 590 pts
SeverityFileLineSnippetContext
HIGH…_client/api/chat/list_sessions_v1_chat_sessions_get.py132List Sessions Args: limit (int | Unset): Default: 50. offset (int | Unset): Default: 0. RaisSTRING
HIGH…_client/api/chat/list_sessions_v1_chat_sessions_get.py173List Sessions Args: limit (int | Unset): Default: 50. offset (int | Unset): Default: 0. RaisSTRING
HIGH…_client/api/chat/list_sessions_v1_chat_sessions_get.py208List Sessions Args: limit (int | Unset): Default: 50. offset (int | Unset): Default: 0. RaisSTRING
HIGH…_client/api/chat/list_sessions_v1_chat_sessions_get.py247List Sessions Args: limit (int | Unset): Default: 50. offset (int | Unset): Default: 0. RaisSTRING
HIGH…t/delete_session_v1_chat_sessions_session_id_delete.py124Delete Session Args: session_id (str): Raises: errors.UnexpectedStatus: If the server returns STRING
HIGH…t/delete_session_v1_chat_sessions_session_id_delete.py162Delete Session Args: session_id (str): Raises: errors.UnexpectedStatus: If the server returns STRING
HIGH…t/delete_session_v1_chat_sessions_session_id_delete.py194Delete Session Args: session_id (str): Raises: errors.UnexpectedStatus: If the server returns STRING
HIGH…t/delete_session_v1_chat_sessions_session_id_delete.py230Delete Session Args: session_id (str): Raises: errors.UnexpectedStatus: If the server returns STRING
HIGH…pi/chat/get_session_v1_chat_sessions_session_id_get.py126Get Session Args: session_id (str): Raises: errors.UnexpectedStatus: If the server returns an STRING
HIGH…pi/chat/get_session_v1_chat_sessions_session_id_get.py164Get Session Args: session_id (str): Raises: errors.UnexpectedStatus: If the server returns an STRING
HIGH…pi/chat/get_session_v1_chat_sessions_session_id_get.py196Get Session Args: session_id (str): Raises: errors.UnexpectedStatus: If the server returns an STRING
HIGH…pi/chat/get_session_v1_chat_sessions_session_id_get.py232Get Session Args: session_id (str): Raises: errors.UnexpectedStatus: If the server returns an STRING
HIGH…_ai_server_client/api/chat/handle_chat_v1_chat_post.py121Handle Chat Args: body (ChatRequest): Raises: errors.UnexpectedStatus: If the server returns aSTRING
HIGH…_ai_server_client/api/chat/handle_chat_v1_chat_post.py159Handle Chat Args: body (ChatRequest): Raises: errors.UnexpectedStatus: If the server returns aSTRING
HIGH…_ai_server_client/api/chat/handle_chat_v1_chat_post.py191Handle Chat Args: body (ChatRequest): Raises: errors.UnexpectedStatus: If the server returns aSTRING
HIGH…_ai_server_client/api/chat/handle_chat_v1_chat_post.py227Handle Chat Args: body (ChatRequest): Raises: errors.UnexpectedStatus: If the server returns aSTRING
HIGH…i/copilot/clarify_spec_v1_copilot_clarify_spec_post.py74Clarify Spec Clarify a specification. Args: body (ClarifySpecInput): Raises: errors.UnexSTRING
HIGH…i/copilot/clarify_spec_v1_copilot_clarify_spec_post.py105Clarify Spec Clarify a specification. Args: body (ClarifySpecInput): Raises: errors.UnexSTRING
HIGH…i/copilot/clarify_spec_v1_copilot_clarify_spec_post.py131Clarify Spec Clarify a specification. Args: body (ClarifySpecInput): Raises: errors.UnexSTRING
HIGH…i/copilot/clarify_spec_v1_copilot_clarify_spec_post.py160Clarify Spec Clarify a specification. Args: body (ClarifySpecInput): Raises: errors.UnexSTRING
HIGH…copilot/question_spec_v1_copilot_question_spec_post.py74Question Spec Generate questions to help clarify a specification. Args: body (SpecQuestionerApiInput)STRING
HIGH…copilot/question_spec_v1_copilot_question_spec_post.py105Question Spec Generate questions to help clarify a specification. Args: body (SpecQuestionerApiInput)STRING
HIGH…copilot/question_spec_v1_copilot_question_spec_post.py131Question Spec Generate questions to help clarify a specification. Args: body (SpecQuestionerApiInput)STRING
HIGH…copilot/question_spec_v1_copilot_question_spec_post.py160Question Spec Generate questions to help clarify a specification. Args: body (SpecQuestionerApiInput)STRING
HIGH…_judge_prompt_v1_copilot_generate_judge_prompt_post.py74Generate Judge Prompt Author a judge prompt from a spec. The judge model is the caller's choice. Args: STRING
HIGH…_judge_prompt_v1_copilot_generate_judge_prompt_post.py106Generate Judge Prompt Author a judge prompt from a spec. The judge model is the caller's choice. Args: STRING
HIGH…_judge_prompt_v1_copilot_generate_judge_prompt_post.py133Generate Judge Prompt Author a judge prompt from a spec. The judge model is the caller's choice. Args: STRING
HIGH…_judge_prompt_v1_copilot_generate_judge_prompt_post.py163Generate Judge Prompt Author a judge prompt from a spec. The judge model is the caller's choice. Args: STRING
HIGH…ne_judge_prompt_v1_copilot_refine_judge_prompt_post.py74Refine Judge Prompt Refine a judge prompt from human grades on reviewed traces. Returns a proposed revision pSTRING
HIGH…ne_judge_prompt_v1_copilot_refine_judge_prompt_post.py108Refine Judge Prompt Refine a judge prompt from human grades on reviewed traces. Returns a proposed revision pSTRING
HIGH…ne_judge_prompt_v1_copilot_refine_judge_prompt_post.py137Refine Judge Prompt Refine a judge prompt from human grades on reviewed traces. Returns a proposed revision pSTRING
HIGH…ne_judge_prompt_v1_copilot_refine_judge_prompt_post.py169Refine Judge Prompt Refine a judge prompt from human grades on reviewed traces. Returns a proposed revision pSTRING
HIGH…claim_evidence_v1_copilot_build_claim_evidence_post.py74Build Claim Evidence Build a review card (overview plus claims) for one eval trace + judge decision. Args: STRING
HIGH…claim_evidence_v1_copilot_build_claim_evidence_post.py105Build Claim Evidence Build a review card (overview plus claims) for one eval trace + judge decision. Args: STRING
HIGH…claim_evidence_v1_copilot_build_claim_evidence_post.py131Build Claim Evidence Build a review card (overview plus claims) for one eval trace + judge decision. Args: STRING
HIGH…claim_evidence_v1_copilot_build_claim_evidence_post.py160Build Claim Evidence Build a review card (overview plus claims) for one eval trace + judge decision. Args: STRING
HIGH…th_answers_v1_copilot_refine_spec_with_answers_post.py74Refine Spec With Answers Refine a specification with answers. Deprecated: use /refine_spec_with_answers_and_nSTRING
HIGH…th_answers_v1_copilot_refine_spec_with_answers_post.py110Refine Spec With Answers Refine a specification with answers. Deprecated: use /refine_spec_with_answers_and_nSTRING
HIGH…th_answers_v1_copilot_refine_spec_with_answers_post.py141Refine Spec With Answers Refine a specification with answers. Deprecated: use /refine_spec_with_answers_and_nSTRING
HIGH…th_answers_v1_copilot_refine_spec_with_answers_post.py175Refine Spec With Answers Refine a specification with answers. Deprecated: use /refine_spec_with_answers_and_nSTRING
HIGH…pilot/generate_batch_v1_copilot_generate_batch_post.py74Generate Batch Generate a batch of data. Args: body (GenerateBatchInput): Input for batch generation STRING
HIGH…pilot/generate_batch_v1_copilot_generate_batch_post.py106Generate Batch Generate a batch of data. Args: body (GenerateBatchInput): Input for batch generation STRING
HIGH…pilot/generate_batch_v1_copilot_generate_batch_post.py133Generate Batch Generate a batch of data. Args: body (GenerateBatchInput): Input for batch generation STRING
HIGH…pilot/generate_batch_v1_copilot_generate_batch_post.py163Generate Batch Generate a batch of data. Args: body (GenerateBatchInput): Input for batch generation STRING
HIGH…t/api/copilot/batch_plan_v1_copilot_batch_plan_post.py74Batch Plan Plan a synthetic batch: turn batch guidance + count into one tailored generation prompt per input, STRING
HIGH…t/api/copilot/batch_plan_v1_copilot_batch_plan_post.py106Batch Plan Plan a synthetic batch: turn batch guidance + count into one tailored generation prompt per input, STRING
HIGH…t/api/copilot/batch_plan_v1_copilot_batch_plan_post.py133Batch Plan Plan a synthetic batch: turn batch guidance + count into one tailored generation prompt per input, STRING
HIGH…t/api/copilot/batch_plan_v1_copilot_batch_plan_post.py163Batch Plan Plan a synthetic batch: turn batch guidance + count into one tailored generation prompt per input, STRING
HIGH…t_data_guide_v1_copilot_draft_input_data_guide_post.py74Draft Input Data Guide Draft an input data guide from a heterogeneous list of input examples (manual entries, STRING
HIGH…t_data_guide_v1_copilot_draft_input_data_guide_post.py108Draft Input Data Guide Draft an input data guide from a heterogeneous list of input examples (manual entries, STRING
HIGH…t_data_guide_v1_copilot_draft_input_data_guide_post.py137Draft Input Data Guide Draft an input data guide from a heterogeneous list of input examples (manual entries, STRING
HIGH…t_data_guide_v1_copilot_draft_input_data_guide_post.py169Draft Input Data Guide Draft an input data guide from a heterogeneous list of input examples (manual entries, STRING
HIGH…e_v1_copilot_refine_spec_with_answers_and_name_post.py74Refine Spec With Answers And Name Refine a specification with answers, also returning a suggested eval name. STRING
HIGH…e_v1_copilot_refine_spec_with_answers_and_name_post.py110Refine Spec With Answers And Name Refine a specification with answers, also returning a suggested eval name. STRING
HIGH…e_v1_copilot_refine_spec_with_answers_and_name_post.py141Refine Spec With Answers And Name Refine a specification with answers, also returning a suggested eval name. STRING
HIGH…e_v1_copilot_refine_spec_with_answers_and_name_post.py175Refine Spec With Answers And Name Refine a specification with answers, also returning a suggested eval name. STRING
HIGH…api/copilot/refine_spec_v1_copilot_refine_spec_post.py74Refine Spec Refine a specification. Args: body (RefineSpecInput): Raises: errors.UnexpecSTRING
HIGH…api/copilot/refine_spec_v1_copilot_refine_spec_post.py105Refine Spec Refine a specification. Args: body (RefineSpecInput): Raises: errors.UnexpecSTRING
HIGH…api/copilot/refine_spec_v1_copilot_refine_spec_post.py131Refine Spec Refine a specification. Args: body (RefineSpecInput): Raises: errors.UnexpecSTRING
HIGH…api/copilot/refine_spec_v1_copilot_refine_spec_post.py160Refine Spec Refine a specification. Args: body (RefineSpecInput): Raises: errors.UnexpecSTRING
58 more matches not shown…
Unused Imports563 hits · 478 pts
SeverityFileLineSnippetContext
LOWapp/desktop/desktop.py21CODE
LOW…io_server/api_client/kiln_ai_server_client/__init__.py3CODE
LOW…io_server/api_client/kiln_ai_server_client/__init__.py3CODE
LOW…ent/models/refine_spec_from_answers_and_name_output.py1CODE
LOW…ion_v1_chat_sessions_session_id_delete_response_426.py1CODE
LOW…client/models/handle_chat_v1_chat_post_response_500.py1CODE
LOW…client/kiln_ai_server_client/models/task_skill_info.py1CODE
LOW…_ai_server_client/models/examples_for_feedback_item.py1CODE
LOW…ient/models/mcp_tool_reference_output_schema_type_0.py1CODE
LOW…r/api_client/kiln_ai_server_client/models/task_info.py1CODE
LOW…t/kiln_ai_server_client/models/question_with_answer.py1CODE
LOW…lient/kiln_ai_server_client/models/tools_run_config.py1CODE
LOW…api_client/kiln_ai_server_client/models/data_source.py1CODE
LOW…/api_client/kiln_ai_server_client/models/citation_1.py1CODE
LOW…server_client/models/data_guide_job_result_response.py1CODE
LOW…ient/models/chat_completion_developer_message_param.py1CODE
LOW…er/api_client/kiln_ai_server_client/models/citation.py1CODE
LOW…er_client/models/chat_completion_user_message_param.py1CODE
LOW…kiln_ai_server_client/models/chat_session_list_item.py1CODE
LOW…ent/kiln_ai_server_client/models/requirement_rating.py1CODE
LOW…server_client/models/spec_spec_field_current_values.py1CODE
LOW…client/models/handle_chat_v1_chat_post_response_404.py1CODE
LOW…ent/kiln_ai_server_client/models/task_output_rating.py1CODE
LOW…kiln_ai_server_client/models/data_source_properties.py1CODE
LOW…n_ai_server_client/models/mcp_run_config_properties.py1CODE
LOW…i_client/kiln_ai_server_client/models/chat_snapshot.py1CODE
LOW…lient/kiln_ai_server_client/models/validation_error.py1CODE
LOW…ai_server_client/models/api_key_verification_result.py1CODE
LOW…ient/kiln_ai_server_client/models/sample_job_output.py1CODE
LOW…_server_client/models/draft_input_data_guide_output.py1CODE
LOW…client/kiln_ai_server_client/models/kiln_base_model.py1CODE
LOW…client/models/handle_chat_v1_chat_post_response_400.py1CODE
LOW…_client/kiln_ai_server_client/models/task_tool_info.py1CODE
LOW…lient/kiln_ai_server_client/models/spec_spec_fields.py1CODE
LOW…ient/kiln_ai_server_client/models/refine_spec_input.py1CODE
LOW…erver_client/models/specification_input_spec_fields.py1CODE
LOW…iln_ai_server_client/models/create_api_key_response.py1CODE
LOW…er/api_client/kiln_ai_server_client/models/task_run.py1CODE
LOW…kiln_ai_server_client/models/submit_answers_request.py1CODE
LOW…dels/synthetic_data_generation_session_config_input.py1CODE
LOW…ient/kiln_ai_server_client/models/batch_plan_output.py1CODE
LOW…rver_client/models/kiln_agent_run_config_properties.py1CODE
LOW…ent/kiln_ai_server_client/models/mcp_tool_reference.py1CODE
LOW…ession_v1_chat_sessions_session_id_get_response_426.py1CODE
LOW…ls/chat_completion_message_function_tool_call_param.py1CODE
LOW…erver_client/models/generate_judge_prompt_api_input.py1CODE
LOW…er/api_client/kiln_ai_server_client/models/question.py1CODE
LOW…i_client/kiln_ai_server_client/models/task_metadata.py1CODE
LOW…er/api_client/kiln_ai_server_client/models/__init__.py3CODE
LOW…er/api_client/kiln_ai_server_client/models/__init__.py4CODE
LOW…er/api_client/kiln_ai_server_client/models/__init__.py5CODE
LOW…er/api_client/kiln_ai_server_client/models/__init__.py6CODE
LOW…er/api_client/kiln_ai_server_client/models/__init__.py7CODE
LOW…er/api_client/kiln_ai_server_client/models/__init__.py8CODE
LOW…er/api_client/kiln_ai_server_client/models/__init__.py9CODE
LOW…er/api_client/kiln_ai_server_client/models/__init__.py12CODE
LOW…er/api_client/kiln_ai_server_client/models/__init__.py13CODE
LOW…er/api_client/kiln_ai_server_client/models/__init__.py14CODE
LOW…er/api_client/kiln_ai_server_client/models/__init__.py15CODE
LOW…er/api_client/kiln_ai_server_client/models/__init__.py16CODE
503 more matches not shown…
Empty Error Handlers72 hits · 360 pts
SeverityFileLineSnippetContext
HIGHapp/desktop/desktop.py189except ModuleNotFoundError:CODE
HIGHapp/desktop/studio_server/provider_api.py104except Exception:CODE
HIGH…r/api_client/kiln_ai_server_client/models/task_info.py113except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…r/api_client/kiln_ai_server_client/models/task_info.py135except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…api_client/kiln_ai_server_client/models/data_source.py128except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…api_client/kiln_ai_server_client/models/data_source.py136except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…server_client/models/data_guide_job_result_response.py88except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…ient/models/chat_completion_developer_message_param.py81except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er_client/models/chat_completion_user_message_param.py157except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er_client/models/chat_completion_user_message_param.py128except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er_client/models/chat_completion_user_message_param.py136except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er_client/models/chat_completion_user_message_param.py144except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er/api_client/kiln_ai_server_client/models/task_run.py340except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er/api_client/kiln_ai_server_client/models/task_run.py366except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er/api_client/kiln_ai_server_client/models/task_run.py383except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er/api_client/kiln_ai_server_client/models/task_run.py402except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er/api_client/kiln_ai_server_client/models/task_run.py419except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er/api_client/kiln_ai_server_client/models/task_run.py511except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er/api_client/kiln_ai_server_client/models/task_run.py549except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er/api_client/kiln_ai_server_client/models/task_run.py466except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er/api_client/kiln_ai_server_client/models/task_run.py474except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er/api_client/kiln_ai_server_client/models/task_run.py482except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er/api_client/kiln_ai_server_client/models/task_run.py490except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…er/api_client/kiln_ai_server_client/models/task_run.py498except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…rver_client/models/kiln_agent_run_config_properties.py177except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…rver_client/models/kiln_agent_run_config_properties.py194except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…ent/kiln_ai_server_client/models/mcp_tool_reference.py126except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…ent/kiln_ai_server_client/models/mcp_tool_reference.py143except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…erver_client/models/generate_judge_prompt_api_input.py111except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…erver_client/models/generate_judge_prompt_api_input.py133except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…ient/models/prompt_optimization_job_result_response.py88except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…api_client/kiln_ai_server_client/models/task_output.py170except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…api_client/kiln_ai_server_client/models/task_output.py187except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…els/chat_completion_assistant_message_param_wrapper.py188except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…els/chat_completion_assistant_message_param_wrapper.py230except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…els/chat_completion_assistant_message_param_wrapper.py259except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…els/chat_completion_assistant_message_param_wrapper.py305except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…els/chat_completion_assistant_message_param_wrapper.py217except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…t/models/chat_completion_tool_message_param_wrapper.py107except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…_ai_server_client/models/sample_job_result_response.py88except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGH…_client/models/chat_completion_system_message_param.py81except (TypeError, ValueError, AttributeError, KeyError):CODE
HIGHapp/desktop/studio_server/chat/stream_session.py125except json.JSONDecodeError:CODE
HIGHapp/desktop/studio_server/utils/response_utils.py25except json.JSONDecodeError:CODE
HIGHapp/desktop/studio_server/jobs/test_registry.py586except asyncio.CancelledError:CODE
HIGHapp/desktop/studio_server/jobs/test_registry.py863except asyncio.CancelledError:CODE
HIGHapp/desktop/studio_server/jobs/test_registry.py483except asyncio.CancelledError:CODE
HIGHapp/desktop/studio_server/jobs/registry.py67except ValueError:CODE
HIGHapp/desktop/studio_server/jobs/registry.py502except asyncio.CancelledError:CODE
HIGHapp/desktop/studio_server/jobs/registry.py528except ValueError:CODE
HIGHapp/desktop/studio_server/jobs/error_log.py31except Exception:CODE
HIGHapp/desktop/studio_server/jobs/error_log.py66except Exception:CODE
HIGHapp/desktop/studio_server/jobs/test_api.py59except JobOperationError:CODE
HIGHapp/desktop/git_sync/git_sync_manager.py73except Exception:CODE
HIGHapp/desktop/git_sync/git_sync_manager.py624except Exception:CODE
HIGHapp/desktop/git_sync/test_middleware.py1218except Exception:CODE
HIGHapp/desktop/git_sync/clone.py418except Exception:CODE
HIGHapp/desktop/git_sync/clone.py514except Exception:CODE
HIGHapp/desktop/git_sync/integration_tests/conftest.py221except Exception:CODE
HIGH.agents/scripts/provider_utils.py340except ValueError:CODE
HIGHlibs/core/kiln_ai/tools/sandbox_bridge.py613except Exception:CODE
12 more matches not shown…
Modern AI Meta-Vocabulary111 hits · 342 pts
SeverityFileLineSnippetContext
MEDIUM.config/utils/setup_env.sh449# Capped, because this text is spent from the session's context window rather thanCOMMENT
MEDIUM.config/utils/setup_env.sh557 # spent from the context window. Re-running it on every compaction of a longCOMMENT
MEDIUMapp/desktop/studio_server/prompt_api.py40 # the UI can render the chain of thought as a separate, editable field.COMMENT
MEDIUMapp/desktop/studio_server/test_provider_api.py3666 # Should map to built-in embedding model by nameCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py3670# RAG-specific testsCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py3674 # Create some RAG configsCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py3699 # Save the RAG configsCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py3703 # Create an MCP tool server to trigger the RAG set inclusionCOMMENT
MEDIUM⚡app/desktop/studio_server/test_tool_api.py3766 # Create a RAG configCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3621 # Create some RAG configsCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3646 # Save the RAG configsCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3732 # Built-in AI Models set + RAG set.COMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3738 # Verify RAG tool details: name is the display name, function_nameCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3816 # Built-in AI Models + RAG + MCP sets.COMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3838 # Verify RAG toolsCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3886 # Create active and archived RAG configsCOMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3954 # Built-in AI Models + RAG + Kiln task sets.COMMENT
MEDIUMapp/desktop/studio_server/test_tool_api.py3968 # Only the active RAG config should be presentCOMMENT
MEDIUMapp/desktop/studio_server/eval_builder_api.py447 # frames); this catches orchestration bugs only.COMMENT
MEDIUMapp/desktop/studio_server/eval_builder_api.py940 # orchestration error surfaced by the job runner). The retryable wrapperCOMMENT
MEDIUMapp/desktop/studio_server/eval_api.py140 # Treat empty-string and missing chain-of-thought instructions as equivalentCOMMENT
MEDIUMapp/desktop/studio_server/tool_api.py333 # Add search tools (RAG)COMMENT
MEDIUM⚡app/desktop/studio_server/test_eval_api.py5554 # Only RAG template allows eval_configs_filter_id to be NoneCOMMENT
MEDIUMapp/desktop/studio_server/api_models/copilot_models.py336# 200k chars stays well under the model's context window even for prose. TheCOMMENT
MEDIUMapp/desktop/studio_server/jobs/models.py163 # (e.g. RAG's four-phase breakdown). Kept as a dict on the wire so the coreCOMMENT
MEDIUMspecs/projects/deep-cr-cleanup/project_overview.md30- Re-check Batch-1 #2's target (`_filter_output_to_score_keys`) — it may have been removed with the RAG templates.CODE
MEDIUMspecs/projects/deep-cr-cleanup/phase_plans/phase_1.md5# Phase 1: Verify the RAG PuntCOMMENT
MEDIUMspecs/projects/deep-cr-cleanup/phase_plans/phase_1.md29### 3. No RAG references remain across `libs/`, `app/`, `specs/` -- PASSCOMMENT
MEDIUM…ects/evals_v2/components/40_template_and_extraction.md370- **Few-shot examples:** users can author few-shot examples directly into their Jinja2 `prompt_template` or `system_promSTRING
MEDIUM…jects/evals_v2/components/80_extensibility_contract.md156### 4.2 First-party RAG templates as starting pointsCOMMENT
MEDIUMspecs/projects/evals_v2/components/90_open_risks.md182### 2.11 RAG judge templates + continuous scoring (punted from V2.0)COMMENT
MEDIUM…projects/evals_v2/components/45_runner_architecture.md188## 4. Multi-config orchestration and candidate calibration (C.9)COMMENT
MEDIUM⚡…projects/evals_v2/components/29_rag_judge_templates.md439### Step 3: Calculate the hallucination scoreCOMMENT
MEDIUM…projects/evals_v2/components/29_rag_judge_templates.md11# RAG Judge Templates -- Stage 5 DesignCOMMENT
MEDIUMspecs/projects/evals_v2/phase_plans/phase_4.md5# Phase 4: Enhanced `llm_judge` + RAG Judge TemplatesCOMMENT
MEDIUM⚡specs/projects/evals_v2/phase_plans/phase_4.md311### Step 7: Create RAG judge template libraryCOMMENT
MEDIUMspecs/projects/evals_v2/phase_plans/phase_2.md181### Step 5: Two-level adapter dispatch scaffolding (`libs/core/kiln_ai/adapters/eval/registry.py`)COMMENT
MEDIUMspecs/projects/evals_v2/reference/ALIGNMENT.md1332**Implementation detail deferred to Stage 5 `design/21_type_llm_judge.md`:** exact Jinja2 wrapping shape (which reservedCODE
MEDIUM…cs/projects/playwright_seed_project/functional_spec.md229### RAG indexesCOMMENT
MEDIUM…rojects/playwright_seed_project/phase_plans/phase_4.md5# Phase 4: Skills, the RAG chain, and the index-rebuild proofCOMMENT
MEDIUMspecs/projects/rag_templates/project_overview.md5# Project: RAG Judge Templates + Continuous ScoringCOMMENT
MEDIUMspecs/projects/git_sync_write_locks/architecture.md222### Threading `save_context` Through RAG ConstructionCOMMENT
MEDIUMlibs/core/README.md364## Taking Kiln RAG to productionCOMMENT
MEDIUMlibs/core/README.md377# Load your project and RAG configurationCOMMENT
MEDIUMlibs/core/README.md432### Deploy RAG without LlamaIndexCOMMENT
MEDIUM⚡libs/core/kiln_ai/tools/test_tool_registry.py241 # Create mock RAG configCOMMENT
MEDIUM⚡libs/core/kiln_ai/tools/test_tool_registry.py248 # Setup mock RAG configCOMMENT
MEDIUM⚡libs/core/kiln_ai/tools/test_tool_registry.py253 # Setup mock RAG toolCOMMENT
MEDIUMlibs/core/kiln_ai/tools/test_tool_registry.py266 # Test with RAG tool IDCOMMENT
MEDIUMlibs/core/kiln_ai/utils/dataset_import.py28# context window serializes to <10 MiB of text) while still bounding memoryCOMMENT
MEDIUMlibs/core/kiln_ai/synthetic_user/runner.py199 # orchestration layer and injected via AdapterConfig — the adapterCOMMENT
MEDIUMlibs/core/kiln_ai/synthetic_user/runner.py314# ───────────────────────── per-case orchestration ─────────────────────────COMMENT
MEDIUMlibs/core/kiln_ai/synthetic_user/runner.py339 # orchestration error surfaced by the job runner). The retryable wrapperCOMMENT
MEDIUMlibs/core/kiln_ai/adapters/ml_model_list.py452 # models have rate limits, which become very relevant when doing heavy processing like in RAGCOMMENT
MEDIUMlibs/core/kiln_ai/adapters/ml_model_list.py10621 # and let Kiln drive chain-of-thought via the multi-turn COT strategy.COMMENT
MEDIUM…s/core/kiln_ai/adapters/pytest_prerelease_whitelist.py50 # Default embedding for most RAG templates, and its model id tracks aCOMMENT
MEDIUMlibs/core/kiln_ai/adapters/test_ollama_tools.py257 # Check that embedding model aliases are recognizedCOMMENT
MEDIUMlibs/core/kiln_ai/adapters/test_ollama_tools.py260 # Check that embedding model aliases are NOT in the main model listsCOMMENT
MEDIUMlibs/core/kiln_ai/adapters/test_prompt_builders.py471 # Should match regular prompt since no chain of thoughtCOMMENT
MEDIUMlibs/core/kiln_ai/adapters/test_prompt_builders.py475 # Test chain of thought prompt builderCOMMENT
51 more matches not shown…
Excessive Try-Catch Wrapping268 hits · 272 pts
SeverityFileLineSnippetContext
LOWapp/desktop/custom_tray.py15except Exception:CODE
LOWapp/desktop/custom_tray.py50 except Exception:CODE
LOWapp/desktop/desktop.py152 except Exception:CODE
LOWapp/desktop/desktop.py180 except Exception:CODE
LOWapp/desktop/studio_server/copilot_api.py730 except Exception:CODE
LOWapp/desktop/studio_server/copilot_api.py740 except Exception:CODE
LOWapp/desktop/studio_server/multiturn_sdg_api.py516 except Exception as exc:CODE
LOWapp/desktop/studio_server/multiturn_sdg_api.py553 except Exception as e:CODE
MEDIUMapp/desktop/studio_server/multiturn_sdg_api.py531def event_generator():CODE
LOWapp/desktop/studio_server/webhost.py25 except Exception:CODE
LOWapp/desktop/studio_server/webhost.py74 except Exception as e:CODE
MEDIUMapp/desktop/studio_server/webhost.py20def studio_path():CODE
LOWapp/desktop/studio_server/settings_api.py75 except Exception as e:CODE
LOWapp/desktop/studio_server/settings_api.py98 except Exception as e:CODE
LOWapp/desktop/studio_server/prompt_api.py43 except Exception as e:CODE
LOWapp/desktop/studio_server/finetune_api.py446 except Exception as e:CODE
LOWapp/desktop/studio_server/finetune_api.py810 except Exception as e:CODE
LOWapp/desktop/studio_server/test_eval_builder_e2e_paid.py359 except Exception:CODE
LOWapp/desktop/studio_server/eval_builder_api.py172 except Exception as e:CODE
LOWapp/desktop/studio_server/eval_builder_api.py445 except Exception as e:CODE
LOWapp/desktop/studio_server/eval_builder_api.py509 except Exception:CODE
LOWapp/desktop/studio_server/eval_builder_api.py556 except Exception as e:CODE
LOWapp/desktop/studio_server/eval_builder_api.py1202 except Exception as e:CODE
LOWapp/desktop/studio_server/eval_builder_api.py1240 except Exception:CODE
LOWapp/desktop/studio_server/eval_builder_api.py1310 except Exception as exc:CODE
LOWapp/desktop/studio_server/eval_builder_api.py1545 except Exception as e:CODE
LOW⚡app/desktop/studio_server/provider_api.py1638 except Exception:CODE
LOWapp/desktop/studio_server/provider_api.py87 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py104 except Exception:CODE
LOWapp/desktop/studio_server/provider_api.py1140 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1180 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1235 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1259 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1290 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1328 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1351 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1383 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1415 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1449 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1488 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1526 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1559 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1611 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1726 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1766 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1795 except Exception as e:CODE
LOWapp/desktop/studio_server/provider_api.py1845 except Exception:CODE
LOWapp/desktop/studio_server/provider_api.py2419 except Exception:CODE
LOWapp/desktop/studio_server/data_gen_api.py493 except Exception as e:CODE
LOWapp/desktop/studio_server/data_gen_api.py507 except Exception as e:CODE
LOWapp/desktop/studio_server/data_gen_api.py546 except Exception as e:CODE
LOWapp/desktop/studio_server/data_gen_api.py560 except Exception as e:CODE
LOWapp/desktop/studio_server/data_gen_api.py1403 except Exception:CODE
LOWapp/desktop/studio_server/tool_api.py367 except Exception:CODE
LOWapp/desktop/studio_server/tool_api.py1053 except Exception as e:CODE
LOW…p/desktop/studio_server/prompt_optimization_job_api.py378 except Exception as cleanup_error:CODE
LOW…p/desktop/studio_server/prompt_optimization_job_api.py448 except Exception as e:CODE
LOW…p/desktop/studio_server/prompt_optimization_job_api.py503 except Exception as e:CODE
LOW…p/desktop/studio_server/prompt_optimization_job_api.py571 except Exception as e:CODE
LOW…p/desktop/studio_server/prompt_optimization_job_api.py679 except Exception as e:CODE
208 more matches not shown…
Structural Annotation Overuse128 hits · 231 pts
SeverityFileLineSnippetContext
LOW.config/legacy_guides/Fine Tuning LLM Models Guide.md42### Step 1: Define your Task and GoalsCOMMENT
LOW.config/legacy_guides/Fine Tuning LLM Models Guide.md50### Step 2: Generate Training Data with Synthetic Data GenerationCOMMENT
LOW.config/legacy_guides/Fine Tuning LLM Models Guide.md62### Step 3: Select Models to Fine TuneCOMMENT
LOW.config/legacy_guides/Fine Tuning LLM Models Guide.md74### Step 4: Dispatch Training JobsCOMMENT
LOW.config/legacy_guides/Fine Tuning LLM Models Guide.md82### Step 5: Deploy and Run Your ModelsCOMMENT
LOWapp/desktop/studio_server/test_repair_api.py302 # Step 1: original Run.COMMENT
LOWapp/desktop/studio_server/test_repair_api.py317 # Step 2: Repair, hitting the real endpoint with the persisted run.COMMENT
LOW⚡app/desktop/studio_server/test_tool_api.py1144 # Step 1: Create a tool serverCOMMENT
LOWapp/desktop/studio_server/test_tool_api.py1158 # Step 1: Create the tool serverCOMMENT
LOWapp/desktop/studio_server/test_tool_api.py1169 # Step 2: Verify it appears in the listCOMMENT
LOW…p)/tools/[project_id]/add_tools/code_tool/page.test.ts134 // Step 2: createCOMMENT
LOWspecs/projects/mcp_sessions/implementation_plan.md15## Step 1: Create `mcp_session_context.py`COMMENT
LOWspecs/projects/mcp_sessions/implementation_plan.md58## Step 2: Add session caching to `MCPSessionManager`COMMENT
LOWspecs/projects/mcp_sessions/implementation_plan.md272## Step 3: Update `BaseAdapter.invoke_returning_run_output()`COMMENT
LOWspecs/projects/mcp_sessions/implementation_plan.md338## Step 4: Update `MCPServerTool` to use session contextCOMMENT
LOWspecs/projects/mcp_sessions/implementation_plan.md419## Step 5: Write comprehensive testsCOMMENT
LOWspecs/projects/mcp_sessions/implementation_plan.md460## Step 6: Verification & quality checksCOMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_4.md13### Step 1: Task paths — singular → plural (3 endpoints)COMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_4.md19### Step 2: Prompt paths — `/task` → `/tasks` (3 endpoints)COMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_4.md26### Step 3: Spec path — singular → plural (1 endpoint)COMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_4.md30### Step 4: Eval paths — `/eval` → `/evals` (all eval endpoints + sub-paths)COMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_4.md47### Step 5: Run config path unification (3 endpoints)COMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_4.md55### Step 6: Repair endpoint path renames (2 endpoints)COMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_4.md60### Step 7: GET → POST for provider connect (2 endpoints)COMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_4.md65### Step 8: Update backend testsCOMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_4.md75### Step 9: Update frontend TypeScript/SvelteCOMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_4.md81### Step 10: Regenerate api_schema.d.tsCOMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_4.md84### Step 11: Run lint, format, testsCOMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_3.md15### Step 1: Core models in `basemodel.py`COMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_3.md18### Step 2: High-value domain modelsCOMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_3.md25### Step 3: Extraction and document modelsCOMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_3.md33### Step 4: Spec and prompt modelsCOMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_3.md41### Step 5: Remaining datamodel filesCOMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_3.md50### Step 6: Server API request/response modelsCOMMENT
LOW⚡specs/projects/document_api/phase_plans/phase_3.md57### Step 7: Desktop server API request/response modelsCOMMENT
LOWspecs/projects/document_api/phase_plans/phase_3.md72### Step 8: Run lint, format, typecheck, testsCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md121### Step 1: Extract claimsCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md124### Step 2: Verify each claimCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md131### Step 3: Calculate the faithfulness scoreCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md192### Step 1: Identify the user's intentCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md195### Step 2: Assess relevance dimensionsCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md202### Step 3: Assign a scoreCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md266### Step 1: Identify the information needCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md269### Step 2: Evaluate each chunkCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md276### Step 3: Calculate the context relevance scoreCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md345### Step 1: Understand the ideal answerCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md352### Step 2: Evaluate each retrieved chunk for usefulnessCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md362### Step 3: Calculate the precision scoreCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md426### Step 1: Extract claimsCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md431### Step 2: Classify each claimCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md439### Step 3: Calculate the hallucination scoreCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md506### Step 1: Extract key facts from the reference answerCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md511### Step 2: Check the response against each factCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md517### Step 3: Check for fabricated contentCOMMENT
LOW⚡…projects/evals_v2/components/29_rag_judge_templates.md522### Step 4: Calculate the correctness scoreCOMMENT
LOW⚡specs/projects/evals_v2/phase_plans/phase_1.md19### Step 1: Fix `validate_template_properties` bug (eval.py)COMMENT
LOW⚡specs/projects/evals_v2/phase_plans/phase_1.md31### Step 2: Thinking formatter fix (chat_formatter.py)COMMENT
LOW⚡specs/projects/evals_v2/phase_plans/phase_1.md41### Step 3: V2 enum + properties types (eval.py)COMMENT
LOW⚡specs/projects/evals_v2/phase_plans/phase_1.md55### Step 4: EvalConfig schema changes (eval.py)COMMENT
LOW⚡specs/projects/evals_v2/phase_plans/phase_1.md64### Step 5: Eval schema changes (eval.py)COMMENT
68 more matches not shown…
Over-Commented Block141 hits · 135 pts
SeverityFileLineSnippetContext
LOWconftest.py21 # Importing litellm costs several seconds, and pytest imports this conftest onCOMMENT
LOW.config/utils/claude_code_vm_setup.sh1#!/usr/bin/env bashCOMMENT
LOW.config/utils/claude_code_vm_setup.sh21#COMMENT
LOW.config/utils/setup_startup.sh1#!/usr/bin/env bashCOMMENT
LOW.config/utils/setup_startup.sh181EOFCOMMENT
LOW.config/utils/setup_startup.sh221# CLAUDE.md, .claude/skills/ and .mcp.json into a session's working copy.COMMENT
LOW.config/utils/setup_startup.sh261fiCOMMENT
LOW.config/utils/setup_startup.sh281# one `rm -rf` unlinks entries out of the other's tree mid-`cp -al` and the survivorsCOMMENT
LOW.config/utils/setup_startup.sh301# It is specifically *not* safe because of the age filter. `cp -al` impliesCOMMENT
LOW.config/utils/setup_startup.sh321 # Only this run's own path — a PID can be reused after a reboot, and cp -al ontoCOMMENT
LOW.config/utils/setup_startup.sh401branch="$(git -C "$PROJECT_ROOT" branch --show-current 2>/dev/null)"COMMENT
LOW.config/utils/setup_startup.sh501# ── Playwright ────────────────────────────────────────────────────────────────COMMENT
LOW.config/utils/setup_startup.sh541# where it looked. Naming the revision here turns that into one clear line.COMMENT
LOW.config/utils/setup_env.sh1#!/usr/bin/env bashCOMMENT
LOW.config/utils/setup_env.sh41CREATE_STARTUP_SCRIPT=false # true: run setup_startup.sh from a Claude Code SessionStart hook (cloud VMs)COMMENT
LOW.config/utils/setup_env.sh61WARM_NODE_MODULES="$VM_SETUP_DIR/node_modules"COMMENT
LOW.config/utils/setup_env.sh261# test modules and both OpenAPI schema scripts. uv-managed CPython bundles Tk.COMMENT
LOW.config/utils/setup_env.sh361 # inside the clone, the move and delete above invalidated it, and the very nextCOMMENT
LOW.config/utils/setup_env.sh381COMMENT
LOW.config/utils/setup_env.sh421# Claude Code SessionStart hook. Written by Kiln's .config/utils/setup_env.shCOMMENT
LOW.config/utils/setup_env.sh621# named anywhere below. It is whatever the checkout's own playwright asksCOMMENT
LOW.config/utils/setup_env.sh661COMMENT
LOWapp/desktop/dev_server.py1# Run a desktop server for development:COMMENT
LOWapp/desktop/dev_app.py1# The dev server's ASGI app object, in a module of its own.COMMENT
LOWapp/desktop/studio_server/copilot_api.py381 )COMMENT
LOWapp/desktop/studio_server/multiturn_sdg_api.py81# Persona cases asked for per kiln_server call. kiln_server accepts at mostCOMMENT
LOW…ktop/studio_server/test_prompt_optimization_job_api.py61 prompt_optimization_job_from_id,COMMENT
LOWapp/desktop/studio_server/eval_builder_api.py141# model client's per-request timeout), and a pathologically slow run isCOMMENT
LOWapp/desktop/studio_server/eval_builder_api.py1021 # Each case's (input, output) pair, recorded by the producer for theCOMMENT
LOW…esktop/studio_server/api_models/eval_builder_models.py241# One stream runs [drive → judge] (multi-turn multi_turn_pipeline) orCOMMENT
LOWapp/desktop/studio_server/api_models/copilot_models.py321 title="target_specification",COMMENT
LOWapp/desktop/studio_server/jobs/registry.py81 self._max_concurrent = _resolve_max_concurrent(max_concurrent)COMMENT
LOWapp/web_ui/playwright.config.ts61 // name: 'webkit',COMMENT
LOWapp/web_ui/src/lib/ui/json_span_map.ts1// Map a character span from one rendering of a JSON document onto another.COMMENT
LOWapp/web_ui/src/lib/ui/callout_card.svelte1<script lang="ts">COMMENT
LOWapp/web_ui/src/lib/ui/trace/chat_trace.svelte21 export let truncate_at_trace_index: number | null = nullCOMMENT
LOWapp/web_ui/src/lib/ui/trace/chat_trace.svelte201 // Keyed by `${trace_index}-${tool_call_index}` so each tool call within anCOMMENT
LOW…_ui/src/lib/ui/animations/questioning_animation.svelte101 /* ========== CONTAINER 1 - Visible on initial load ========== */COMMENT
LOW…_ui/src/lib/ui/animations/questioning_animation.svelte121 #c2-connector-3,COMMENT
LOW…b_ui/src/lib/ui/conversation/multiturn_composer.svelte61 let run_error: KilnError | null = nullCOMMENT
LOWapp/web_ui/src/lib/utils/built_in_tool_ids.ts1// Kiln's built-in tool IDs, mirroring KilnBuiltInToolId on the server. They are notCOMMENT
LOWapp/web_ui/src/lib/utils/task_response_tool.ts1// The synthetic tool a model calls to hand back a structured answer. The userCOMMENT
LOWapp/web_ui/src/lib/components/add_example_dialog.svelte41 export let include_output: boolean = trueCOMMENT
LOWapp/web_ui/src/lib/components/extractor_picker.svelte21 // Document-id allow-list scoping the run. When set, only these documents areCOMMENT
LOW…p/web_ui/src/lib/components/run_eval.component.test.ts1// @vitest-environment jsdomCOMMENT
LOWapp/web_ui/src/lib/eval/default_judge.ts1// The judge-config shapes shared across the eval builder. The judge MODELCOMMENT
LOW…/[task_id]/spec_builder/create_spec_judge_form.test.ts221 })COMMENT
LOW…cs/[project_id]/[task_id]/select_template/+page.svelte121 goto(judge_only_builder_url(project_id, task_id, id as V2EvalType))COMMENT
LOW…specs/[project_id]/[task_id]/builder/claim_card.svelte1<script lang="ts">COMMENT
LOW…specs/[project_id]/[task_id]/builder/claim_card.svelte81 : verdict.agrees === nullCOMMENT
LOW…s/[project_id]/[task_id]/builder/progress_count.svelte1<script lang="ts">COMMENT
LOW…app)/specs/[project_id]/[task_id]/builder/+page.svelte61 // Claim/Evidence replaces the read-the-trace pass/fail review: the reviewerCOMMENT
LOW…app)/specs/[project_id]/[task_id]/builder/+page.svelte281 function is_abort_error(error: unknown): boolean {COMMENT
LOW…app)/specs/[project_id]/[task_id]/builder/+page.svelte321 // are about making the eval that now exists. Back leaves the wizardCOMMENT
LOW…app)/specs/[project_id]/[task_id]/builder/+page.svelte381COMMENT
LOW…app)/specs/[project_id]/[task_id]/builder/+page.svelte821 // The builder authors issue specs only, end to end: save hardcodes theCOMMENT
LOW…app)/specs/[project_id]/[task_id]/builder/+page.svelte1001 }COMMENT
LOW…app)/specs/[project_id]/[task_id]/builder/+page.svelte1041 // the judge the user calibrated against is the judge that ships. BothCOMMENT
LOW…app)/specs/[project_id]/[task_id]/builder/+page.svelte1061 // The summary isn't regenerated when the user edits/deletes prompts — flagCOMMENT
LOW…app)/specs/[project_id]/[task_id]/builder/+page.svelte1181 minting_total = 0COMMENT
81 more matches not shown…
Deep Nesting150 hits · 132 pts
SeverityFileLineSnippetContext
LOWapp/desktop/studio_server/finetune_api.py215CODE
LOWapp/desktop/studio_server/finetune_api.py285CODE
LOWapp/desktop/studio_server/finetune_api.py310CODE
LOWapp/desktop/studio_server/finetune_api.py415CODE
LOWapp/desktop/studio_server/test_generate_docs.py37CODE
LOWapp/desktop/studio_server/test_eval_builder_e2e_paid.py241CODE
LOWapp/desktop/studio_server/test_eval_builder_e2e_paid.py429CODE
LOWapp/desktop/studio_server/test_tool_api.py853CODE
LOWapp/desktop/studio_server/eval_builder_api.py688CODE
LOWapp/desktop/studio_server/test_server.py274CODE
LOWapp/desktop/studio_server/agent_api.py228CODE
LOWapp/desktop/studio_server/provider_api.py262CODE
LOWapp/desktop/studio_server/provider_api.py1856CODE
LOWapp/desktop/studio_server/provider_api.py1935CODE
LOWapp/desktop/studio_server/provider_api.py1970CODE
LOWapp/desktop/studio_server/provider_api.py2064CODE
LOWapp/desktop/studio_server/provider_api.py2087CODE
LOWapp/desktop/studio_server/provider_api.py2253CODE
LOWapp/desktop/studio_server/provider_api.py282CODE
LOWapp/desktop/studio_server/provider_api.py428CODE
LOWapp/desktop/studio_server/provider_api.py495CODE
LOWapp/desktop/studio_server/provider_api.py696CODE
LOWapp/desktop/studio_server/eval_api.py1771CODE
LOWapp/desktop/studio_server/eval_api.py3033CODE
LOWapp/desktop/studio_server/eval_api.py3186CODE
LOWapp/desktop/studio_server/tool_api.py291CODE
LOWapp/desktop/studio_server/tool_api.py524CODE
LOW…p/desktop/studio_server/prompt_optimization_job_api.py511CODE
LOW…p/desktop/studio_server/prompt_optimization_job_api.py811CODE
LOW…er_client/models/chat_completion_user_message_param.py46CODE
LOW…er_client/models/chat_completion_user_message_param.py88CODE
LOW…er_client/models/chat_completion_user_message_param.py96CODE
LOW…er/api_client/kiln_ai_server_client/models/task_run.py108CODE
LOW…er/api_client/kiln_ai_server_client/models/task_run.py279CODE
LOW…er/api_client/kiln_ai_server_client/models/task_run.py425CODE
LOW…els/chat_completion_assistant_message_param_wrapper.py59CODE
LOW…els/chat_completion_assistant_message_param_wrapper.py164CODE
LOW…els/chat_completion_assistant_message_param_wrapper.py194CODE
LOWapp/desktop/studio_server/chat/test_routes.py1039CODE
LOWapp/desktop/studio_server/chat/test_integration.py58CODE
LOWapp/desktop/studio_server/chat/test_integration.py178CODE
LOWapp/desktop/studio_server/chat/test_integration.py235CODE
LOWapp/desktop/studio_server/chat/test_integration.py335CODE
LOWapp/desktop/studio_server/chat/stream_session.py101CODE
LOWapp/desktop/studio_server/jobs/events.py87CODE
LOWapp/desktop/studio_server/jobs/error_log.py35CODE
LOWapp/desktop/linux_tray/generate_icons.py55CODE
LOWapp/desktop/linux_tray/sni_tray.py185CODE
LOWapp/desktop/linux_tray/sni_tray.py262CODE
LOWapp/desktop/git_sync/git_sync_api.py448CODE
LOWapp/desktop/git_sync/git_sync_api.py714CODE
LOWapp/desktop/git_sync/clone.py61CODE
LOWapp/desktop/git_sync/clone.py274CODE
LOWapp/desktop/git_sync/clone.py78CODE
LOWapp/desktop/git_sync/integration_tests/conftest.py486CODE
LOW…/desktop/git_sync/integration_tests/test_decorators.py163CODE
LOW.agents/scripts/provider_utils.py208CODE
LOW.agents/scripts/provider_utils.py316CODE
LOW…ts/skills/kiln-conventions/scripts/conventions_gate.py144CODE
LOW…ts/skills/kiln-conventions/scripts/conventions_gate.py197CODE
90 more matches not shown…
Cross-Language Confusion26 hits · 129 pts
SeverityFileLineSnippetContext
HIGHapp/desktop/studio_server/multiturn_sdg_api.py106 "scenario_index?: int | null}. The synthetic_user_info value is an "CODE
HIGHapp/desktop/studio_server/test_eval_builder_api.py978 # claim with its grade (a blank why as an explicit null), and theCOMMENT
HIGHapp/desktop/studio_server/data_gen_api.py781 # we do not save the TaskRun to disk, so the ID is null, but we needCOMMENT
HIGHapp/desktop/studio_server/test_eval_api.py6462 # save_to_file writes the migrated shape (splits populated, legacy fields null).COMMENT
HIGHapp/desktop/studio_server/test_eval_api.py2776 synthetic-user field null, so the sum must be a no-op for them."""STRING
HIGHapp/desktop/git_sync/conftest.py86 remote.push([f"refs/heads/{branch}"])CODE
HIGHapp/desktop/git_sync/git_sync_manager.py460 remote.push([f"refs/heads/{branch_name}"], callbacks=callbacks)CODE
HIGHapp/desktop/git_sync/clone.py400 remote.push([f"refs/heads/{branch_name}"], callbacks=push_cb)CODE
HIGHapp/desktop/git_sync/clone.py462 remote.push([f"refs/heads/{branch_name}"], callbacks=push_cb)CODE
HIGHapp/desktop/git_sync/clone.py509 # a value that was never set. `or ""` covers null, missing and emptyCOMMENT
HIGH⚡…ktop/git_sync/integration_tests/test_crash_recovery.py125 remote.push([f"+refs/heads/{branch}"])CODE
HIGHlibs/core/kiln_ai/tools/test_memory_tools.py103 # schemas do not allow null, so a null the model was told to send ends the run.COMMENT
HIGHlibs/core/kiln_ai/adapters/parsers/test_json_parser.py66 "null": null,CODE
HIGH…s/core/kiln_ai/adapters/eval/test_v2_eval_code_eval.py305 save time (pydantic serializes NaN as null, so the saved file won't load)."""STRING
HIGHlibs/core/kiln_ai/adapters/repair/test_repair_task.py48 "default": null,CODE
HIGHlibs/core/kiln_ai/adapters/repair/test_repair_task.py92 output='{"setup": "Why did the chicken cross the road?", "punchline": "To get to the other side", "rating": STRING
HIGHlibs/core/kiln_ai/adapters/repair/test_repair_task.py126 == '{"setup": "Why did the chicken cross the road?", "punchline": "To get to the other side", "rating": null}'STRING
HIGHlibs/core/kiln_ai/datamodel/test_eval_model.py4018 checks; pydantic then serialized it as null, making the saved EvalRun fileSTRING
HIGHlibs/core/kiln_ai/datamodel/test_example_models.py1097 set (typically to null). It must still load — Pydantic's defaultSTRING
HIGHlibs/core/kiln_ai/datamodel/memory.py84 "the whole memory (leave content null). No newlines.",CODE
HIGHlibs/core/kiln_ai/datamodel/test_model_perf.py37 "default": null,CODE
HIGHlibs/core/kiln_ai/datamodel/test_json_schema.py45 "default": null,CODE
HIGHlibs/core/kiln_ai/datamodel/eval.py1438 the eval saves with both fields null, and re-running the validator — whichSTRING
HIGHlibs/server/kiln_server/test_run_api.py2106 '{"train": null, "test": 0.5}',CODE
HIGHlibs/server/kiln_server/run_api.py1024 # runner sets it. Checking the key also refuses `{"eval_source": null}`, whichCOMMENT
HIGHlibs/server/kiln_server/memory_api.py44 "(leave content null). No newlines.",CODE
Modern Structural Boilerplate122 hits · 123 pts
SeverityFileLineSnippetContext
LOWapp/desktop/desktop_server.py58logger = logging.getLogger(__name__)CODE
LOWapp/desktop/custom_tray.py6logger = logging.getLogger(__name__)CODE
LOWapp/desktop/dev_env.py6def set_dev_env_vars() -> None:CODE
LOWapp/desktop/desktop.py34logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/copilot_api.py156logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/multiturn_sdg_api.py78logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/code_tool_api.py35logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/finetune_api.py62logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/skill_api.py20logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/test_eval_builder_e2e_paid.py139logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/eval_builder_api.py126logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/provider_api.py64logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/eval_api.py124logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/data_gen_api.py50logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/tool_api.py44logger = logging.getLogger(__name__)CODE
LOW…p/desktop/studio_server/prompt_optimization_job_api.py64logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/world_api.py26logger = logging.getLogger(__name__)CODE
LOW…tudio_server/api_client/kiln_ai_server_client/types.py54__all__ = ["UNSET", "File", "FileTypes", "RequestFiles", "Response", "Unset"]CODE
LOW…udio_server/api_client/kiln_ai_server_client/errors.py16__all__ = ["UnexpectedStatus"]CODE
LOWapp/desktop/studio_server/chat/sse_parser.py19logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/chat/tool_metadata.py9logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/chat/__init__.py16__all__ = [CODE
LOWapp/desktop/studio_server/chat/test_integration.py28logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/chat/stream_session.py28logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/utils/copilot_utils.py69logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/synthetic_user/client.py36logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/synthetic_user/__init__.py12__all__ = [CODE
LOWapp/desktop/studio_server/jobs/registry.py29logger = logging.getLogger(__name__)CODE
LOWapp/desktop/studio_server/jobs/events.py75 def set_snapshot_provider(self, provider: SnapshotProvider) -> None:CODE
LOWapp/desktop/util/resource_limits.py4logger = logging.getLogger(__name__)CODE
LOWapp/desktop/linux_tray/sni_tray.py62logger = logging.getLogger(__name__)CODE
LOWapp/desktop/linux_tray/sni_tray.py142 def set_icon(self, icon: TrayIcon) -> None:CODE
LOWapp/desktop/git_sync/git_sync_manager.py25logger = logging.getLogger(__name__)CODE
LOWapp/desktop/git_sync/registry.py14logger = logging.getLogger(__name__)CODE
LOWapp/desktop/git_sync/background_sync.py8logger = logging.getLogger(__name__)CODE
LOWapp/desktop/git_sync/git_sync_api.py57logger = logging.getLogger(__name__)CODE
LOW⚡app/desktop/git_sync/test_sse_invariants.py15logger = logging.getLogger(__name__)CODE
LOWapp/desktop/git_sync/middleware.py27logger = logging.getLogger(__name__)CODE
LOWapp/desktop/git_sync/oauth.py13logger = logging.getLogger(__name__)CODE
LOWapp/desktop/git_sync/clone.py20logger = logging.getLogger(__name__)CODE
LOWapp/desktop/git_sync/integration_tests/conftest.py34__all__ = [CODE
LOWlibs/core/kiln_ai/run_context.py24def set_agent_run_id(run_id: str) -> None:CODE
LOWlibs/core/kiln_ai/tools/sandbox_bridge.py35logger = logging.getLogger(__name__)CODE
LOWlibs/core/kiln_ai/tools/mcp_session_manager.py28logger = logging.getLogger(__name__)CODE
LOWlibs/core/kiln_ai/tools/__init__.py4__all__ = [CODE
LOWlibs/core/kiln_ai/tools/code_tool.py36__all__ = [CODE
LOWlibs/core/kiln_ai/tools/code_tool.py42logger = logging.getLogger(__name__)CODE
LOWlibs/core/kiln_ai/tools/built_in_tools/__init__.py9__all__ = [CODE
LOWlibs/core/kiln_ai/memory/memory_store.py16logger = logging.getLogger(__name__)CODE
LOWlibs/core/kiln_ai/memory/__init__.py12__all__ = [CODE
LOWlibs/core/kiln_ai/worlds/session_manager.py50logger = logging.getLogger(__name__)CODE
LOWlibs/core/kiln_ai/utils/torn_read.py19logger = logging.getLogger(__name__)CODE
LOWlibs/core/kiln_ai/utils/config.py14logger = logging.getLogger(__name__)CODE
LOWlibs/core/kiln_ai/utils/dataset_import.py22logger = logging.getLogger(__name__)CODE
LOWlibs/core/kiln_ai/utils/async_job_runner.py7logger = logging.getLogger(__name__)CODE
LOWlibs/core/kiln_ai/utils/filesystem_cache.py9logger = logging.getLogger(__name__)CODE
LOWlibs/core/kiln_ai/utils/slow_operation.py13logger = logging.getLogger(__name__)CODE
LOWlibs/core/kiln_ai/utils/__init__.py10__all__ = [CODE
LOWlibs/core/kiln_ai/utils/test_dataset_import.py37logger = logging.getLogger(__name__)CODE
LOWlibs/core/kiln_ai/cli/__init__.py3__all__ = ["app"]CODE
62 more matches not shown…
Cross-File Repetition21 hits · 105 pts
SeverityFileLineSnippetContext
HIGHapp/desktop/git_sync/registry.py0singleton registry of gitsyncmanager instances, keyed by repo path.STRING
HIGH…/projects/desktop_lint_config_scope/functional_spec.md0singleton registry of gitsyncmanager instances, keyed by repo path.STRING
HIGHspecs/projects/git_auto_sync/architecture.md0singleton registry of gitsyncmanager instances, keyed by repo path.STRING
HIGHapp/desktop/git_sync/errors.py0git authentication failed or expired (bad/expired token, 401/403).STRING
HIGHspecs/projects/git_auth_recovery/architecture.md0git authentication failed or expired (bad/expired token, 401/403).STRING
HIGHspecs/projects/git_auth_recovery/phase_plans/phase_1.md0git authentication failed or expired (bad/expired token, 401/403).STRING
HIGHspecs/projects/agent_approvals/architecture.md0raised when an endpoint has no known policy (fail-safe block).STRING
HIGHspecs/projects/agent_approvals/functional_spec.md0raised when an endpoint has no known policy (fail-safe block).STRING
HIGH…server/kiln_server/utils/agent_checks/policy_lookup.py0raised when an endpoint has no known policy (fail-safe block).STRING
HIGHspecs/projects/templates/architecture.md0validate that the template compiles. raises valueerror on syntax error.STRING
HIGHspecs/projects/templates/functional_spec.md0validate that the template compiles. raises valueerror on syntax error.STRING
HIGHlibs/core/kiln_ai/utils/jinja_engine.py0validate that the template compiles. raises valueerror on syntax error.STRING
HIGHspecs/projects/templates/architecture.md0validate that a jinja2 expression compiles. raises valueerror on syntax error.STRING
HIGHspecs/projects/templates/functional_spec.md0validate that a jinja2 expression compiles. raises valueerror on syntax error.STRING
HIGHlibs/core/kiln_ai/utils/jinja_engine.py0validate that a jinja2 expression compiles. raises valueerror on syntax error.STRING
HIGHlibs/core/kiln_ai/adapters/repair/test_repair_task.py0{ "type": "object", "properties": { "setup": { "description": "the setup of the joke", "title": "setup", "type": "stringSTRING
HIGHlibs/core/kiln_ai/datamodel/test_model_perf.py0{ "type": "object", "properties": { "setup": { "description": "the setup of the joke", "title": "setup", "type": "stringSTRING
HIGHlibs/core/kiln_ai/datamodel/test_json_schema.py0{ "type": "object", "properties": { "setup": { "description": "the setup of the joke", "title": "setup", "type": "stringSTRING
HIGHlibs/core/kiln_ai/datamodel/test_extraction_model.py0we added discriminated union and the store_type in the properties, but older configs did not have the store_type in the STRING
HIGHlibs/core/kiln_ai/datamodel/test_chunk_models.py0we added discriminated union and the store_type in the properties, but older configs did not have the store_type in the STRING
HIGHlibs/core/kiln_ai/datamodel/test_vector_store.py0we added discriminated union and the store_type in the properties, but older configs did not have the store_type in the STRING
Redundant / Tautological Comments41 hits · 69 pts
SeverityFileLineSnippetContext
LOW⚡conftest.py121 # Check if we're running manually (eg, in vscode)COMMENT
LOW⚡conftest.py130 # Check if all of the items are the same prefix, expluding a.b.c[param]COMMENT
LOWapp/desktop/linux_installer.sh32# Check if we're on a supported platformCOMMENT
LOWapp/desktop/linux_installer.sh105 # Check if we can write to current directoryCOMMENT
LOWapp/desktop/linux_installer.sh239 # Check if the Kiln executable existsCOMMENT
LOWapp/desktop/linux_installer.sh245 # Check if this is an upgradeCOMMENT
LOWapp/desktop/studio_server/finetune_api.py900 # Check if the model supports tools via 'supportTools'COMMENT
LOW⚡app/desktop/studio_server/test_provider_api.py1335 # Check if all built-in models are present in the responseCOMMENT
LOW⚡app/desktop/studio_server/test_provider_api.py1341 # Check if the number of models in the response matches the number of built-in modelsCOMMENT
LOW⚡app/desktop/studio_server/test_provider_api.py3497 # Check if all built-in embedding models are present in the responseCOMMENT
LOW⚡app/desktop/studio_server/test_provider_api.py3503 # Check if the number of models in the response matches the number of built-in embedding modelsCOMMENT
LOW⚡app/desktop/studio_server/test_provider_api.py3764 # Check if all built-in reranker models are present in the responseCOMMENT
LOW⚡app/desktop/studio_server/test_provider_api.py3770 # Check if the number of models in the response matches the number of built-in reranker modelsCOMMENT
LOWapp/desktop/studio_server/provider_api.py704 # Check if provider is configuredCOMMENT
LOWapp/desktop/studio_server/eval_api.py3092 # Check if we should count this eval_run. Not every eval_run has to go into the stats:COMMENT
LOWapp/desktop/studio_server/eval_api.py3284 # Check if this item is expected for this evalCOMMENT
LOWapp/desktop/studio_server/data_gen_api.py709 # Set parent to task to ensure the correct path is usedCOMMENT
LOWapp/desktop/studio_server/tool_api.py574 # Check if the tool server has missing secrets (e.g. new user syncing existing project)COMMENT
LOW…p/desktop/studio_server/prompt_optimization_job_api.py601 # Check if eval has a default configCOMMENT
LOWlibs/core/kiln_ai/tools/mcp_session_manager.py347 # Check if the exception itself is of the target typeCOMMENT
LOWlibs/core/kiln_ai/tools/tool_registry.py115 # Check if this looks like an MCP or Kiln Task tool ID that requires a projectCOMMENT
LOW⚡libs/core/kiln_ai/utils/logging.py71 # Print the messages for the request in LiteLLM Message list, pretty printCOMMENT
LOW⚡libs/core/kiln_ai/utils/dataset_import.py241 # Assign tags to runsCOMMENT
LOWlibs/core/kiln_ai/utils/dataset_import.py360 # Check if we have headersCOMMENT
LOWlibs/core/kiln_ai/utils/validation.py57 # Check if name is None or emptyCOMMENT
LOWlibs/core/kiln_ai/utils/validation.py64 # Check if name contains only lowercase letters, numbers, and underscoresCOMMENT
LOWlibs/core/kiln_ai/adapters/prompt_builders.py494 # Check if the prompt_id matches any enum valueCOMMENT
LOW⚡libs/core/kiln_ai/adapters/test_prompt_adaptors.py73 # Check if Ollama API is runningCOMMENT
LOW⚡libs/core/kiln_ai/adapters/test_prompt_adaptors.py82 # Check if Ollama API is runningCOMMENT
LOW⚡libs/core/kiln_ai/adapters/test_prompt_adaptors.py91 # Check if Ollama API is runningCOMMENT
LOW⚡libs/core/kiln_ai/adapters/test_prompt_adaptors.py100 # Check if Ollama API is runningCOMMENT
LOWlibs/core/kiln_ai/adapters/test_remote_config.py1415 # Check if uv is availableCOMMENT
LOWlibs/core/kiln_ai/adapters/test_remote_config.py1487 # Check if the test passedSTRING
LOW…/core/kiln_ai/adapters/fine_tune/fireworks_finetune.py440 # Check if the model is already deployedCOMMENT
LOW…e/kiln_ai/adapters/fine_tune/test_together_finetune.py43 # Check if any status is missing from categorizationCOMMENT
LOW…e/kiln_ai/adapters/fine_tune/test_together_finetune.py49 # Check if any status appears in multiple categoriesCOMMENT
LOWlibs/core/kiln_ai/adapters/fine_tune/vertex_finetune.py178 # Check if bucket exists and create it if it doesn'tCOMMENT
LOW…ore/kiln_ai/adapters/model_adapters/litellm_adapter.py346 # Check if we were interrupted by tool callsCOMMENT
LOWlibs/core/kiln_ai/adapters/eval/test_eval_runner.py710 # Set filter to match the taskCOMMENT
LOWlibs/core/kiln_ai/datamodel/task_output.py87 # Check if we have the old format (dict of floats)COMMENT
LOW…bs/core/kiln_ai/datamodel/test_external_tool_server.py713 # Set ID to test retrieval from configCOMMENT
Fake / Example Data58 hits · 52 pts
SeverityFileLineSnippetContext
LOWapp/desktop/studio_server/test_tool_api.py3139 "DATABASE_PASSWORD": "placeholder",CODE
LOWapp/desktop/studio_server/test_tool_api.py3178 "DATABASE_PASSWORD": "placeholder",CODE
LOW⚡app/desktop/git_sync/integration_tests/test_fixtures.py155 sig = pygit2.Signature("Test", "test@test.com")CODE
LOWapp/web_ui/src/lib/utils/code_tool_helpers.test.ts339 expect(isCodeUnmodified("", "placeholder")).toBe(true)CODE
LOWapp/web_ui/src/lib/utils/code_tool_helpers.test.ts343 expect(isCodeUnmodified(" \n ", "placeholder")).toBe(true)CODE
LOWapp/web_ui/src/lib/git_sync/url_utils.test.ts51 expect(try_convert_ssh_to_https("user@example.com")).toBe(CODE
LOWapp/web_ui/src/lib/git_sync/url_utils.test.ts52 "user@example.com",CODE
LOW…ate/[project_id]/[task_id]/kiln_pro_batch_form.test.ts73 expect(guidance_box.getAttribute("placeholder")).toBe("Guidance")CODE
LOW…ate/[project_id]/[task_id]/kiln_pro_batch_form.test.ts82 expect(guidance_box.getAttribute("placeholder")).toBe(CODE
LOW…up/(setup)/connect_providers/connect_providers.test.ts244 ).map((input) => input.getAttribute("placeholder"))CODE
LOWlibs/core/README.md200 properties={"created_by": "John Doe"},CODE
LOWlibs/core/README.md206 properties={"created_by": "Jane Doe"},CODE
LOW…re/kiln_ai/adapters/model_adapters/test_jev_adapter.py108 super().__init__(api_key="fake-key")CODE
LOW…i/adapters/vector_store_loaders/test_lancedb_loader.py37 ["Lorem ipsum dolor sit amet, consectetur adipiscing elit." for _ in range(n)]CODE
LOW…i/adapters/vector_store_loaders/test_lancedb_loader.py37 ["Lorem ipsum dolor sit amet, consectetur adipiscing elit." for _ in range(n)]CODE
LOW…pters/vector_store_loaders/test_vector_store_loader.py31 ["Lorem ipsum dolor sit amet, consectetur adipiscing elit." for _ in range(n)]CODE
LOW…pters/vector_store_loaders/test_vector_store_loader.py31 ["Lorem ipsum dolor sit amet, consectetur adipiscing elit." for _ in range(n)]CODE
LOW…s/core/kiln_ai/adapters/eval/test_v2_eval_llm_judge.py855 mock_config_obj.open_ai_api_key = "fake-key"CODE
LOWlibs/core/kiln_ai/adapters/repair/test_repair_task.py89 type=DataSourceType.human, properties={"created_by": "Jane Doe"}STRING
LOW⚡libs/core/kiln_ai/datamodel/test_example_models.py40 properties={"created_by": "John Doe"},CODE
LOW⚡libs/core/kiln_ai/datamodel/test_example_models.py46 properties={"created_by": "John Doe"},CODE
LOW⚡libs/core/kiln_ai/datamodel/test_example_models.py58 assert task_run.input_source.properties == {"created_by": "John Doe"}CODE
LOW⚡libs/core/kiln_ai/datamodel/test_example_models.py61 assert task_run.output.source.properties == {"created_by": "John Doe"}CODE
LOW⚡libs/core/kiln_ai/datamodel/test_example_models.py90 properties={"created_by": "John Doe"},CODE
LOW⚡libs/core/kiln_ai/datamodel/test_example_models.py96 properties={"wrong_key": "John Doe"},CODE
LOW⚡libs/core/kiln_ai/datamodel/test_example_models.py240 == '{"name": "John Doe", "age": 31}'CODE
LOW⚡libs/core/kiln_ai/datamodel/test_example_models.py408 valid_task_output.input = '{"name": "John Doe", "age": "thirty"}'CODE
LOW⚡libs/core/kiln_ai/datamodel/test_example_models.py414 loaded_task_output.input = '{"name": "John Doe", "age": "thirty"}'CODE
LOW⚡libs/core/kiln_ai/datamodel/test_example_models.py420 input='{"name": "John Doe", "age": "thirty"}',CODE
LOW⚡libs/core/kiln_ai/datamodel/test_example_models.py442 properties={"created_by": "John Doe"},CODE
LOW⚡libs/core/kiln_ai/datamodel/test_example_models.py446 assert output.source.properties["created_by"] == "John Doe"CODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py169 output='{"name": "John Doe", "age": 30}',CODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py188 output='{"name": "John Doe", "age": 31}',CODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py196 output='{"name": "John Doe", "age": 31}',CODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py321 output='{"name": "John Doe", "age": 30}',CODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py335 task_output.output.output = '{"name": "John Doe", "age": "thirty"}'CODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py344 loaded_task_output.output.output = '{"name": "John Doe", "age": "forty"}'CODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py357 output='{"name": "John Doe", "age": "thirty"}',CODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py390 input='{"name": "John Doe", "age": 30}',CODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py683 output='{"name": "John Doe", "age": 30}',CODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py691 output='{"name": "John Doe", "age": 30}',CODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py711 output='{"name": "John Doe", "age": 30}',CODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py719 output='{"name": "John Doe", "age": 30', # missing closing braceCODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py737 output='{"name": "John Doe", "age": 30}',CODE
LOWlibs/core/kiln_ai/datamodel/test_example_models.py745 output='{"name": "John Doe", "age": "thirty"}', # invalid schemaCODE
LOW⚡libs/core/kiln_ai/datamodel/test_datasource.py9 type=DataSourceType.human, properties={"created_by": "John Doe"}CODE
LOW⚡libs/core/kiln_ai/datamodel/test_datasource.py12 assert data_source.properties["created_by"] == "John Doe"CODE
LOW⚡libs/core/kiln_ai/datamodel/test_datasource.py86 "created_by": "John Doe",CODE
LOWlibs/core/kiln_ai/datamodel/test_datasource.py102 "created_by": "John Doe",CODE
LOW⚡libs/server/kiln_server/test_run_api.py1041 type=DataSourceType.human, properties={"created_by": "Jane Doe"}CODE
LOW⚡libs/server/kiln_server/test_run_api.py1046 type=DataSourceType.human, properties={"created_by": "Jane Doe"}CODE
LOW⚡libs/server/kiln_server/test_run_api.py1053 type=DataSourceType.human, properties={"created_by": "Jane Doe"}CODE
LOWlibs/server/kiln_server/test_run_api.py485 type=DataSourceType.human, properties={"created_by": "Jane Doe"}CODE
LOWlibs/server/kiln_server/test_run_api.py490 type=DataSourceType.human, properties={"created_by": "Jane Doe"}CODE
LOWlibs/server/kiln_server/test_run_api.py528 type=DataSourceType.human, properties={"created_by": "Jane Doe"}CODE
LOWlibs/server/kiln_server/test_run_api.py533 type=DataSourceType.human, properties={"created_by": "Jane Doe"}CODE
LOWlibs/server/kiln_server/test_run_api.py649 type=DataSourceType.human, properties={"created_by": "Jane Doe"}CODE
LOWlibs/server/kiln_server/test_run_api.py654 type=DataSourceType.human, properties={"created_by": "Jane Doe"}CODE
AI Slop Vocabulary16 hits · 30 pts
SeverityFileLineSnippetContext
MEDIUMapp/desktop/studio_server/test_eval_builder_e2e_paid.py142# harness shrinks them without touching any code. Nine keeps the run cheapCOMMENT
MEDIUMapp/web_ui/src/routes/(app)/sidebar_rail_item.test.ts8// `container` so the assertions are robust to portaling. Also explicitlyCOMMENT
MEDIUM…cs/projects/eval_splits_v1_v2/phase3_mutation_sweep.py168 # lines away, and this harness applies one edit. It is covered byCOMMENT
MEDIUMlibs/core/kiln_ai/tools/test_rag_tools.py900 multiline_description = """This is a comprehensive search tool that:CODE
LOWlibs/core/kiln_ai/utils/dataset_import.py266 # note that we don't persist the run yet, we just create and validate itCOMMENT
LOWlibs/core/kiln_ai/utils/filesystem_cache.py26 # worst case we just return NoneCOMMENT
MEDIUMlibs/core/kiln_ai/adapters/test_adapter_registry.py588 """Mock all config values for comprehensive testing."""STRING
MEDIUM⚡libs/core/kiln_ai/adapters/test_remote_config.py519 """Test comprehensive handling of invalid models and providers during deserialization."""STRING
MEDIUM⚡libs/core/kiln_ai/adapters/test_remote_config.py660 """Test comprehensive handling of invalid embedding models and providers during deserialization."""STRING
LOW…e/kiln_ai/adapters/fine_tune/test_dataset_formatter.py759 # It should just use the reasoning output if both thinking and chain_of_thought are presentCOMMENT
LOW…e/kiln_ai/adapters/fine_tune/test_dataset_formatter.py812 # It should just use the reasoning output if both thinking and chain_of_thought are presentCOMMENT
LOW⚡…/adapters/model_adapters/test_litellm_adapter_tools.py236 # Usage should add up, not just return the last one.COMMENT
LOW…/adapters/model_adapters/test_litellm_adapter_tools.py325 # Usage should add up, not just return the last one.COMMENT
LOW…/kiln_ai/adapters/vector_store/test_lancedb_adapter.py950 # before inserting data, we should simply return an empty listCOMMENT
LOW⚡libs/core/kiln_ai/adapters/eval/test_eval_helpers.py281 # Invalid regex should not raise, just return FalseCOMMENT
MEDIUMlibs/core/kiln_ai/datamodel/strict_mode.py8# Strict mode enables extra validations that we want to enforce in Kiln App (and any other client that wants best practiCOMMENT
Hallucination Indicators2 hits · 25 pts
SeverityFileLineSnippetContext
CRITICAL⚡…iln_ai/tools/built_in_tools/test_kiln_api_call_tool.py145 query = route.calls.last.request.url.query.decode()CODE
CRITICAL…iln_ai/tools/built_in_tools/test_kiln_api_call_tool.py721 query = route.calls.last.request.url.query.decode()CODE
Synthetic Comment Markers3 hits · 22 pts
SeverityFileLineSnippetContext
HIGH…_guide_setup_copilot/existing_run_picker_dialog.svelte3 // by tag; the union of the chosen tags is added. Synthetic (AI-generated) runsCOMMENT
HIGH…_guide_setup_copilot/existing_run_picker_dialog.svelte78 // Warn when any selected run (pulled in via a chosen tag) is AI-generated.COMMENT
HIGH…ore/kiln_ai/adapters/chunkers/test_semantic_chunker.py284 # random paragraphs generated by ChatGPT - the idea is they are about very different topics so shouldCOMMENT
Overly Generic Function Names10 hits · 10 pts
SeverityFileLineSnippetContext
LOW…op/studio_server/api_client/test_kiln_server_client.py167 async def handle_request(request: httpx.Request) -> httpx.Response:CODE
LOW…i/src/lib/utils/eval_types/reference_data_gate.test.ts77 def helper():CODE
LOWlibs/core/kiln_ai/adapters/eval/base_eval.py573 async def run_task(CODE
LOWlibs/core/kiln_ai/sandbox/test_code_tool_execution.py194 async def helper():CODE
LOWlibs/core/kiln_ai/sandbox/test_code_tool_execution.py304 def helper():CODE
LOW⚡libs/core/kiln_ai/datamodel/test_eval_model.py3875 CodeEvalProperties(code="def helper():\n pass\n")CODE
LOW⚡libs/core/kiln_ai/datamodel/test_eval_model.py5304 "def helper():\n pass\n", encoding="utf-8"CODE
LOW⚡libs/core/kiln_ai/datamodel/test_code_tool.py51 _make_code_tool(code="def helper():\n pass\n")CODE
LOW⚡libs/core/kiln_ai/datamodel/test_code_tool.py363 "def helper():\n pass\n", encoding="utf-8"CODE
LOWlibs/server/kiln_server/run_api.py751 async def run_task(CODE
Verbosity Indicators6 hits · 7 pts
SeverityFileLineSnippetContext
LOWapp/desktop/studio_server/test_repair_api.py302 # Step 1: original Run.COMMENT
LOWapp/desktop/studio_server/test_repair_api.py317 # Step 2: Repair, hitting the real endpoint with the persisted run.COMMENT
LOW⚡app/desktop/studio_server/test_tool_api.py1144 # Step 1: Create a tool serverCOMMENT
LOWapp/desktop/studio_server/test_tool_api.py1158 # Step 1: Create the tool serverCOMMENT
LOWapp/desktop/studio_server/test_tool_api.py1169 # Step 2: Verify it appears in the listCOMMENT
LOW…p)/tools/[project_id]/add_tools/code_tool/page.test.ts134 // Step 2: createCOMMENT
Dead Code4 hits · 7 pts
SeverityFileLineSnippetContext
MEDIUMapp/desktop/studio_server/test_multiturn_sdg_api.py805CODE
MEDIUMapp/desktop/studio_server/test_eval_api.py1513CODE
MEDIUMapp/desktop/studio_server/chat/test_stream_session.py89CODE
MEDIUMlibs/core/kiln_ai/adapters/eval/test_eval_runner.py2567CODE
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…project_id]/add_tools/local_mcp/edit_local_tool.svelte352 info_description="The value of the environment variable, such as 'your-api-key-here'"CODE
AI Structural Patterns4 hits · 4 pts
SeverityFileLineSnippetContext
LOWapp/desktop/studio_server/eval_builder_api.py1498CODE
LOWlibs/core/kiln_ai/utils/pdf_utils.py81CODE
LOWlibs/core/kiln_ai/utils/test_wandb_utils.py16CODE
LOWlibs/server/kiln_server/document_api.py217CODE
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippetContext
LOW.agents/skills/kiln-ui/ui_gate.sh4# Usage:COMMENT
LOWlibs/core/kiln_ai/datamodel/basemodel.py293# Usage:COMMENT
TODO Padding2 hits · 2 pts
SeverityFileLineSnippetContext
LOWspecs/projects/code_tools/ui_design.md57 # TODO: implementCOMMENT
LOWspecs/projects/code_tools/phase_plans/phase_4.md16- `generateCodeToolPlaceholder(schema, toolDescription)`: generates a typed `def run(...)` stub from `parameters_schema`CODE