Build, Evaluate, and Optimize AI Systems. Includes evals, RAG, agents, fine-tuning, synthetic data generation, dataset management, MCP, and more.
This report presents the forensic synthetic code analysis of Kiln-AI/Kiln, a Python project with 4,964 GitHub stars. SynthScan v2.0 examined 383,245 lines of code across 1682 source files, recording 5961 pattern matches distributed across 24 syntactic categories. The overall adjusted score of 17.7 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 5961 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | conftest.py | 117 | def pytest_collection_modifyitems(config, items): | CODE |
| LOW | app/desktop/test_start_background_syncs.py | 40 | async def test_start_background_syncs_passes_oauth_token(tmp_path: Path): | CODE |
| LOW | app/desktop/test_start_background_syncs.py | 88 | async def test_start_background_syncs_passes_pat_token(tmp_path: Path): | CODE |
| LOW | app/desktop/test_desktop.py | 103 | def test_quit_app_with_tray_and_root(self, mock_tk_root, mock_kiln_tray): | CODE |
| LOW | app/desktop/test_desktop.py | 133 | def test_on_quit_without_root(self, mock_tk_root): | CODE |
| LOW | app/desktop/test_desktop.py | 152 | def test_resource_path_with_meipass(self, mock_tk_root): | CODE |
| LOW | app/desktop/test_desktop.py | 162 | def test_resource_path_without_meipass(self, mock_tk_root): | CODE |
| LOW | app/desktop/test_desktop.py | 200 | def test_run_tray_already_exists(self, mock_tk_root, mock_kiln_tray): | CODE |
| LOW | app/desktop/test_desktop.py | 212 | def test_run_tray_windows_default( | CODE |
| LOW | app/desktop/test_desktop.py | 226 | def test_run_tray_macos_no_default( | CODE |
| LOW | app/desktop/test_desktop.py | 239 | def test_close_splash_with_pyi_splash(self, mock_tk_root): | CODE |
| LOW | app/desktop/test_desktop.py | 249 | def test_close_splash_without_pyi_splash(self, mock_tk_root): | CODE |
| LOW | app/desktop/test_desktop.py | 270 | def test_run_in_thread_calls_app_on_quit(self, mock_tk_root): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 142 | def test_validate_input_transform_template_valid(client): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 153 | def test_validate_input_transform_template_invalid(client): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 166 | def test_validate_input_transform_template_empty(client): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 177 | def test_validate_mcp_input_schema_plaintext_success(mock_task): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 202 | def test_validate_mcp_input_schema_plaintext_fails(mock_task, tool_schema, error_match): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 208 | def test_validate_mcp_input_schema_structured_success(mock_task): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 220 | def test_validate_mcp_input_schema_structured_fails(mock_task): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 229 | def test_validate_mcp_output_schema_success(mock_task): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 257 | def test_validate_mcp_output_schema_fails(mock_task): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 266 | def test_load_mcp_tool_success(mock_task): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 284 | def test_load_mcp_tool_fails_not_mcp_tool_id(mock_task): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 296 | def test_load_mcp_tool_fails_wrong_type(mock_task): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 313 | async def test_load_mcp_input_schema_success(): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 324 | async def test_load_mcp_input_schema_fails(): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 337 | async def test_load_mcp_output_schema_success(): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 351 | async def test_load_mcp_output_schema_fails(): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 359 | def test_create_task_from_tool_plaintext(client, tmp_path): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 416 | def test_create_task_from_tool_structured(client, tmp_path): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 482 | def test_create_task_from_tool_sanitizes_names(client, tmp_path): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 548 | def test_create_task_from_tool_invalid_tool(client, tmp_path): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 579 | def test_create_mcp_run_config_success(client, tmp_path): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 633 | def test_create_mcp_run_config_plaintext_success(client, tmp_path): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 698 | def test_create_mcp_run_config_input_schema_mismatch(client, tmp_path): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 756 | def test_tasks_compatible_with_tool_mixed_results(client, project_and_tasks): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 811 | def test_tasks_compatible_with_tool_invalid_tool(client, project_and_tasks): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 831 | def test_tasks_compatible_with_tool_empty_project(client, tmp_path): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 935 | def test_schemas_compatible_true(task_schema, tool_schema, description): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 976 | def test_schemas_compatible_false(task_schema, tool_schema, description): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 980 | def test_resolve_mcp_tool_from_id_success(): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 1005 | def test_resolve_mcp_tool_from_id_not_mcp(): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 1013 | def test_create_mcp_run_config_properties(): | CODE |
| LOW | app/desktop/studio_server/test_run_config_api.py | 1037 | def test_create_mcp_run_config_properties_no_output_schema(): | CODE |
| LOW | app/desktop/studio_server/test_repair_api.py | 101 | def mock_repair_task_run_human_edited(improvement_task, data_source): | CODE |
| LOW | app/desktop/studio_server/test_repair_api.py | 193 | def test_repair_run_missing_model_info( | CODE |
| LOW | app/desktop/studio_server/test_repair_api.py | 216 | def test_repair_run_human_source( | CODE |
| LOW | app/desktop/studio_server/test_repair_api.py | 269 | async def mock_acompletion_checking_response(self, **kwargs): | CODE |
| LOW | app/desktop/studio_server/test_repair_api.py | 338 | def test_repair_run_with_model_override( | CODE |
| LOW | app/desktop/studio_server/test_repair_api.py | 367 | def test_repair_run_override_requires_both_fields( | CODE |
| LOW | app/desktop/studio_server/test_repair_api.py | 381 | def test_repair_run_override_rederives_structured_output_mode( | CODE |
| LOW | app/desktop/studio_server/test_agent_api.py | 195 | def test_two_tags_both_counted(self, task): | CODE |
| LOW | app/desktop/studio_server/test_agent_api.py | 365 | def test_excludes_generators_includes_real_prompts(self, task, project): | CODE |
| LOW | app/desktop/studio_server/test_agent_api.py | 434 | def test_generators_from_task_instruction_count(self, task, project): | CODE |
| LOW | app/desktop/studio_server/test_agent_api.py | 541 | def test_ordering_within_groups(self, task): | CODE |
| LOW | app/desktop/studio_server/webhost.py | 63 | def not_found_exception_handler(request, exc): | CODE |
| LOW⚡ | app/desktop/studio_server/test_data_gen_api.py | 896 | def test_combine_guidance_session_only(test_task): | CODE |
| LOW⚡ | app/desktop/studio_server/test_data_gen_api.py | 905 | def test_combine_guidance_empty_returns_none(test_task): | CODE |
| LOW⚡ | app/desktop/studio_server/test_data_gen_api.py | 912 | def test_combine_guidance_override_wins_over_persisted(test_task): | CODE |
| 4383 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | app/desktop/linux_installer.sh | 190 | # Create the desktop entry file | COMMENT |
| MEDIUM | …ktop/studio_server/test_prompt_optimization_job_api.py | 2238 | # Create a target run config | COMMENT |
| MEDIUM | …ktop/studio_server/test_prompt_optimization_job_api.py | 2513 | # Create a prompt | COMMENT |
| MEDIUM | …ktop/studio_server/test_prompt_optimization_job_api.py | 2552 | # Create a run config | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 3496 | # Create an MCP tool server to trigger the RAG set inclusion | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 3561 | # Create a RAG config | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 4141 | # Create a test task | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 4150 | # Create a run config with ID "default" for the task | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 4227 | # Create a test task | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 4236 | # Create a run config with ID "default" for the task | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 4277 | # Create a test task | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 4286 | # Create a run config with ID "default" for the task | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 4399 | # Create a test task | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 4408 | # Create a run config with ID "default" for the task | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 4466 | # Create a test task | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 4475 | # Create a run config for the task | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 380 | # Create the tool with empty tools | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 436 | # Create the tool with successful validation | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 558 | # Create the tool server | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 697 | # Create a mapping of server URLs to their tools | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 788 | # Create a tool server | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 802 | # Create the tool server | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 1148 | # Create a mock ExternalToolServer | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 1181 | # Create a mock ExternalToolServer | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 1203 | # Create a mock ExternalToolServer | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 1225 | # Create a mock ExternalToolServer | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 1249 | # Create a mock ExternalToolServer with kiln_task type | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 1514 | # Create a tool server | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 1652 | # Create the tool server | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 1776 | # Create a tool server with secret headers | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 1796 | # Create the tool server first (without mocking Config to avoid interference) | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 1881 | # Create the tool server first (without mocking Config to avoid interference) | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 1926 | # Create a tool server first | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 1942 | # Create the tool server first (without mocking Config to avoid interference) | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 1986 | # Create a tool server with secret headers | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 2006 | # Create the tool server first (without mocking Config to avoid interference) | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 2449 | # Create a local MCP tool server with secret env vars | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 2470 | # Create the tool server first (without mocking Config to avoid interference) | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 2517 | # Create a local MCP tool server without secret env vars | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 2534 | # Create the tool server first (without mocking Config to avoid interference) | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 2577 | # Create a local MCP tool server with secret env vars | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 2598 | # Create the tool server first (without mocking Config to avoid interference) | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 2639 | # Create a local MCP tool server first | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 2656 | # Create the local tool server first (without mocking Config to avoid interference) | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 2715 | # Create the tool with successful validation | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 2791 | # Create the tool with successful validation | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 2862 | # Create the tool with successful validation | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 2944 | # Create the local MCP tool server | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3019 | # Create a test task | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3037 | # Create a Kiln task tool server | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3171 | # Create the local MCP tool server | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3269 | # Create the local MCP tool server | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3510 | # Create the MCP server | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3575 | # Create an MCP tool server | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3589 | # Create the MCP server | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3833 | # Create a mock KilnTaskTool | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3865 | # Create a mock KilnTaskTool with minimal fields | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3950 | # Create a non-kiln task server to ensure it's filtered out | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 4005 | # Create a non-kiln task server | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 4038 | # Create a valid task first | COMMENT |
| 211 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …_client/api/chat/list_sessions_v1_chat_sessions_get.py | 123 | List Sessions Args: limit (int | Unset): Default: 50. offset (int | Unset): Default: 0. Rais | STRING |
| HIGH | …_client/api/chat/list_sessions_v1_chat_sessions_get.py | 163 | List Sessions Args: limit (int | Unset): Default: 50. offset (int | Unset): Default: 0. Rais | STRING |
| HIGH | …_client/api/chat/list_sessions_v1_chat_sessions_get.py | 197 | List Sessions Args: limit (int | Unset): Default: 50. offset (int | Unset): Default: 0. Rais | STRING |
| HIGH | …_client/api/chat/list_sessions_v1_chat_sessions_get.py | 235 | List Sessions Args: limit (int | Unset): Default: 50. offset (int | Unset): Default: 0. Rais | STRING |
| HIGH | …t/delete_session_v1_chat_sessions_session_id_delete.py | 115 | Delete Session Args: session_id (str): Raises: errors.UnexpectedStatus: If the server returns | STRING |
| HIGH | …t/delete_session_v1_chat_sessions_session_id_delete.py | 152 | Delete Session Args: session_id (str): Raises: errors.UnexpectedStatus: If the server returns | STRING |
| HIGH | …t/delete_session_v1_chat_sessions_session_id_delete.py | 183 | Delete Session Args: session_id (str): Raises: errors.UnexpectedStatus: If the server returns | STRING |
| HIGH | …t/delete_session_v1_chat_sessions_session_id_delete.py | 218 | Delete Session Args: session_id (str): Raises: errors.UnexpectedStatus: If the server returns | STRING |
| HIGH | …pi/chat/get_session_v1_chat_sessions_session_id_get.py | 117 | Get 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.py | 154 | Get 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.py | 185 | Get 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.py | 220 | Get 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.py | 112 | Handle Chat Args: body (ChatRequest): Raises: errors.UnexpectedStatus: If the server returns a | STRING |
| HIGH | …_ai_server_client/api/chat/handle_chat_v1_chat_post.py | 149 | Handle Chat Args: body (ChatRequest): Raises: errors.UnexpectedStatus: If the server returns a | STRING |
| HIGH | …_ai_server_client/api/chat/handle_chat_v1_chat_post.py | 180 | Handle Chat Args: body (ChatRequest): Raises: errors.UnexpectedStatus: If the server returns a | STRING |
| HIGH | …_ai_server_client/api/chat/handle_chat_v1_chat_post.py | 215 | Handle Chat Args: body (ChatRequest): Raises: errors.UnexpectedStatus: If the server returns a | STRING |
| HIGH | …i/copilot/clarify_spec_v1_copilot_clarify_spec_post.py | 68 | Clarify Spec Clarify a specification. Args: body (ClarifySpecInput): Raises: errors.Unex | STRING |
| HIGH | …i/copilot/clarify_spec_v1_copilot_clarify_spec_post.py | 99 | Clarify Spec Clarify a specification. Args: body (ClarifySpecInput): Raises: errors.Unex | STRING |
| HIGH | …i/copilot/clarify_spec_v1_copilot_clarify_spec_post.py | 125 | Clarify Spec Clarify a specification. Args: body (ClarifySpecInput): Raises: errors.Unex | STRING |
| HIGH | …i/copilot/clarify_spec_v1_copilot_clarify_spec_post.py | 154 | Clarify Spec Clarify a specification. Args: body (ClarifySpecInput): Raises: errors.Unex | STRING |
| HIGH | …copilot/question_spec_v1_copilot_question_spec_post.py | 68 | Question Spec Generate questions to help clarify a specification. Args: body (SpecQuestionerApiInput) | STRING |
| HIGH | …copilot/question_spec_v1_copilot_question_spec_post.py | 99 | Question Spec Generate questions to help clarify a specification. Args: body (SpecQuestionerApiInput) | STRING |
| HIGH | …copilot/question_spec_v1_copilot_question_spec_post.py | 125 | Question Spec Generate questions to help clarify a specification. Args: body (SpecQuestionerApiInput) | STRING |
| HIGH | …copilot/question_spec_v1_copilot_question_spec_post.py | 154 | Question Spec Generate questions to help clarify a specification. Args: body (SpecQuestionerApiInput) | STRING |
| HIGH | …th_answers_v1_copilot_refine_spec_with_answers_post.py | 68 | Refine Spec With Answers Refine a specification with answers. Args: body (SubmitAnswersRequest): Requ | STRING |
| HIGH | …th_answers_v1_copilot_refine_spec_with_answers_post.py | 99 | Refine Spec With Answers Refine a specification with answers. Args: body (SubmitAnswersRequest): Requ | STRING |
| HIGH | …th_answers_v1_copilot_refine_spec_with_answers_post.py | 125 | Refine Spec With Answers Refine a specification with answers. Args: body (SubmitAnswersRequest): Requ | STRING |
| HIGH | …th_answers_v1_copilot_refine_spec_with_answers_post.py | 154 | Refine Spec With Answers Refine a specification with answers. Args: body (SubmitAnswersRequest): Requ | STRING |
| HIGH | …pilot/generate_batch_v1_copilot_generate_batch_post.py | 68 | Generate Batch Generate a batch of data. Args: body (GenerateBatchInput): Input for batch generation | STRING |
| HIGH | …pilot/generate_batch_v1_copilot_generate_batch_post.py | 100 | Generate Batch Generate a batch of data. Args: body (GenerateBatchInput): Input for batch generation | STRING |
| HIGH | …pilot/generate_batch_v1_copilot_generate_batch_post.py | 127 | Generate Batch Generate a batch of data. Args: body (GenerateBatchInput): Input for batch generation | STRING |
| HIGH | …pilot/generate_batch_v1_copilot_generate_batch_post.py | 157 | Generate Batch Generate a batch of data. Args: body (GenerateBatchInput): Input for batch generation | STRING |
| HIGH | …api/copilot/refine_spec_v1_copilot_refine_spec_post.py | 68 | Refine Spec Refine a specification. Args: body (RefineSpecInput): Raises: errors.Unexpec | STRING |
| HIGH | …api/copilot/refine_spec_v1_copilot_refine_spec_post.py | 99 | Refine Spec Refine a specification. Args: body (RefineSpecInput): Raises: errors.Unexpec | STRING |
| HIGH | …api/copilot/refine_spec_v1_copilot_refine_spec_post.py | 125 | Refine Spec Refine a specification. Args: body (RefineSpecInput): Raises: errors.Unexpec | STRING |
| HIGH | …api/copilot/refine_spec_v1_copilot_refine_spec_post.py | 154 | Refine Spec Refine a specification. Args: body (RefineSpecInput): Raises: errors.Unexpec | STRING |
| HIGH | …i/auth/check_entitlements_v1_check_entitlements_get.py | 78 | Check Entitlements Check whether the authenticated user's organization has the given entitlement feature code( | STRING |
| HIGH | …i/auth/check_entitlements_v1_check_entitlements_get.py | 113 | Check Entitlements Check whether the authenticated user's organization has the given entitlement feature code( | STRING |
| HIGH | …i/auth/check_entitlements_v1_check_entitlements_get.py | 143 | Check Entitlements Check whether the authenticated user's organization has the given entitlement feature code( | STRING |
| HIGH | …i/auth/check_entitlements_v1_check_entitlements_get.py | 176 | Check Entitlements Check whether the authenticated user's organization has the given entitlement feature code( | STRING |
| HIGH | …t_v1_jobs_prompt_optimization_job_job_id_result_get.py | 63 | Get Prompt Optimization Job Result Args: job_id (str): Raises: errors.UnexpectedStatus: If the | STRING |
| HIGH | …t_v1_jobs_prompt_optimization_job_job_id_result_get.py | 92 | Get Prompt Optimization Job Result Args: job_id (str): Raises: errors.UnexpectedStatus: If the | STRING |
| HIGH | …t_v1_jobs_prompt_optimization_job_job_id_result_get.py | 116 | Get Prompt Optimization Job Result Args: job_id (str): Raises: errors.UnexpectedStatus: If the | STRING |
| HIGH | …t_v1_jobs_prompt_optimization_job_job_id_result_get.py | 143 | Get Prompt Optimization Job Result Args: job_id (str): Raises: errors.UnexpectedStatus: If the | STRING |
| HIGH | …jobs/start_sample_job_v1_jobs_sample_job_start_post.py | 67 | Start Sample Job Start a new sample job. Args: message: The message to process user_id: The a | STRING |
| HIGH | …jobs/start_sample_job_v1_jobs_sample_job_start_post.py | 108 | Start Sample Job Start a new sample job. Args: message: The message to process user_id: The a | STRING |
| HIGH | …jobs/start_sample_job_v1_jobs_sample_job_start_post.py | 144 | Start Sample Job Start a new sample job. Args: message: The message to process user_id: The a | STRING |
| HIGH | …jobs/start_sample_job_v1_jobs_sample_job_start_post.py | 183 | Start Sample Job Start a new sample job. Args: message: The message to process user_id: The a | STRING |
| HIGH | …s_prompt_optimization_job_check_model_supported_get.py | 72 | Check Prompt Optimization Model Supported Args: model_name (str): model_provider_name (str): R | STRING |
| HIGH | …s_prompt_optimization_job_check_model_supported_get.py | 104 | Check Prompt Optimization Model Supported Args: model_name (str): model_provider_name (str): R | STRING |
| HIGH | …s_prompt_optimization_job_check_model_supported_get.py | 131 | Check Prompt Optimization Model Supported Args: model_name (str): model_provider_name (str): R | STRING |
| HIGH | …s_prompt_optimization_job_check_model_supported_get.py | 161 | Check Prompt Optimization Model Supported Args: model_name (str): model_provider_name (str): R | STRING |
| HIGH | …ple_job_result_v1_jobs_sample_job_job_id_result_get.py | 63 | Get Sample Job Result Get the result of a sample job. Args: job_id: The job ID Returns: | STRING |
| HIGH | …ple_job_result_v1_jobs_sample_job_job_id_result_get.py | 103 | Get Sample Job Result Get the result of a sample job. Args: job_id: The job ID Returns: | STRING |
| HIGH | …ple_job_result_v1_jobs_sample_job_job_id_result_get.py | 138 | Get Sample Job Result Get the result of a sample job. Args: job_id: The job ID Returns: | STRING |
| HIGH | …ple_job_result_v1_jobs_sample_job_job_id_result_get.py | 176 | Get Sample Job Result Get the result of a sample job. Args: job_id: The job ID Returns: | STRING |
| HIGH | …s/get_job_status_v1_jobs_job_type_job_id_status_get.py | 67 | Get Job Status Get the status of a job. Args: job_type: The type of job job_id: The job ID | STRING |
| HIGH | …s/get_job_status_v1_jobs_job_type_job_id_status_get.py | 111 | Get Job Status Get the status of a job. Args: job_type: The type of job job_id: The job ID | STRING |
| HIGH | …s/get_job_status_v1_jobs_job_type_job_id_status_get.py | 150 | Get Job Status Get the status of a job. Args: job_type: The type of job job_id: The job ID | STRING |
| HIGH | …s/get_job_status_v1_jobs_job_type_job_id_status_get.py | 192 | Get Job Status Get the status of a job. Args: job_type: The type of job job_id: The job ID | STRING |
| 22 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/desktop/desktop.py | 19 | CODE | |
| LOW | …io_server/api_client/kiln_ai_server_client/__init__.py | 3 | CODE | |
| LOW | …io_server/api_client/kiln_ai_server_client/__init__.py | 3 | CODE | |
| LOW | …ion_v1_chat_sessions_session_id_delete_response_426.py | 1 | CODE | |
| LOW | …client/models/handle_chat_v1_chat_post_response_500.py | 1 | CODE | |
| LOW | …_ai_server_client/models/examples_for_feedback_item.py | 1 | CODE | |
| LOW | …ient/models/mcp_tool_reference_output_schema_type_0.py | 1 | CODE | |
| LOW | …r/api_client/kiln_ai_server_client/models/task_info.py | 1 | CODE | |
| LOW | …t/kiln_ai_server_client/models/question_with_answer.py | 1 | CODE | |
| LOW | …lient/kiln_ai_server_client/models/tools_run_config.py | 1 | CODE | |
| LOW | …api_client/kiln_ai_server_client/models/data_source.py | 1 | CODE | |
| LOW | …ient/models/chat_completion_developer_message_param.py | 1 | CODE | |
| LOW | …er_client/models/chat_completion_user_message_param.py | 1 | CODE | |
| LOW | …kiln_ai_server_client/models/chat_session_list_item.py | 1 | CODE | |
| LOW | …ent/kiln_ai_server_client/models/requirement_rating.py | 1 | CODE | |
| LOW | …server_client/models/spec_spec_field_current_values.py | 1 | CODE | |
| LOW | …client/models/handle_chat_v1_chat_post_response_404.py | 1 | CODE | |
| LOW | …ent/kiln_ai_server_client/models/task_output_rating.py | 1 | CODE | |
| LOW | …kiln_ai_server_client/models/data_source_properties.py | 1 | CODE | |
| LOW | …n_ai_server_client/models/mcp_run_config_properties.py | 1 | CODE | |
| LOW | …i_client/kiln_ai_server_client/models/chat_snapshot.py | 1 | CODE | |
| LOW | …lient/kiln_ai_server_client/models/validation_error.py | 1 | CODE | |
| LOW | …ai_server_client/models/api_key_verification_result.py | 1 | CODE | |
| LOW | …ient/kiln_ai_server_client/models/sample_job_output.py | 1 | CODE | |
| LOW | …client/kiln_ai_server_client/models/kiln_base_model.py | 1 | CODE | |
| LOW | …client/models/handle_chat_v1_chat_post_response_400.py | 1 | CODE | |
| LOW | …lient/kiln_ai_server_client/models/spec_spec_fields.py | 1 | CODE | |
| LOW | …ient/kiln_ai_server_client/models/refine_spec_input.py | 1 | CODE | |
| LOW | …erver_client/models/specification_input_spec_fields.py | 1 | CODE | |
| LOW | …iln_ai_server_client/models/create_api_key_response.py | 1 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/task_run.py | 1 | CODE | |
| LOW | …kiln_ai_server_client/models/submit_answers_request.py | 1 | CODE | |
| LOW | …dels/synthetic_data_generation_session_config_input.py | 1 | CODE | |
| LOW | …rver_client/models/kiln_agent_run_config_properties.py | 1 | CODE | |
| LOW | …ent/kiln_ai_server_client/models/mcp_tool_reference.py | 1 | CODE | |
| LOW | …ession_v1_chat_sessions_session_id_get_response_426.py | 1 | CODE | |
| LOW | …ls/chat_completion_message_function_tool_call_param.py | 1 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/question.py | 1 | CODE | |
| LOW | …i_client/kiln_ai_server_client/models/task_metadata.py | 1 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 3 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 4 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 5 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 6 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 7 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 10 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 11 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 12 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 13 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 14 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 15 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 16 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 17 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 18 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 19 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 20 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 21 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 22 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 23 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 24 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/__init__.py | 25 | CODE | |
| 329 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | app/desktop/studio_server/prompt_api.py | 40 | # the UI can render the chain of thought as a separate, editable field. | COMMENT |
| MEDIUM | app/desktop/studio_server/test_provider_api.py | 3548 | # Should map to built-in embedding model by name | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 3463 | # RAG-specific tests | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 3467 | # Create some RAG configs | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 3492 | # Save the RAG configs | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 3496 | # Create an MCP tool server to trigger the RAG set inclusion | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_tool_api.py | 3561 | # Create a RAG config | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3414 | # Create some RAG configs | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3439 | # Save the RAG configs | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3525 | # RAG set only — the Call Kiln API built-in tool is not listed. | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3530 | # Verify RAG tool details | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3611 | # RAG + MCP sets — the Call Kiln API built-in tool is not listed. | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3632 | # Verify RAG tools | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3680 | # Create active and archived RAG configs | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3748 | # RAG + Kiln task sets — the Call Kiln API built-in tool is not listed. | COMMENT |
| MEDIUM | app/desktop/studio_server/test_tool_api.py | 3761 | # Only the active RAG config should be present | COMMENT |
| MEDIUM | app/desktop/studio_server/eval_api.py | 64 | # Treat empty-string and missing chain-of-thought instructions as equivalent | COMMENT |
| MEDIUM | app/desktop/studio_server/data_gen_api.py | 720 | # the chosen prompt template (few-shot, chain-of-thought, saved prompts). | STRING |
| MEDIUM | app/desktop/studio_server/data_gen_api.py | 720 | # the chosen prompt template (few-shot, chain-of-thought, saved prompts). | STRING |
| MEDIUM | app/desktop/studio_server/data_gen_api.py | 833 | # on saved prompts / few-shot / prompt-optimization output it can be | STRING |
| MEDIUM | app/desktop/studio_server/tool_api.py | 292 | # Add search tools (RAG) | COMMENT |
| MEDIUM⚡ | app/desktop/studio_server/test_eval_api.py | 2499 | # Only RAG template allows eval_configs_filter_id to be None | COMMENT |
| MEDIUM | app/desktop/studio_server/jobs/models.py | 133 | # (e.g. RAG's four-phase breakdown). Kept as a dict on the wire so the core | COMMENT |
| MEDIUM | specs/projects/git_sync_write_locks/architecture.md | 222 | ### Threading `save_context` Through RAG Construction | COMMENT |
| MEDIUM | libs/core/README.md | 364 | ## Taking Kiln RAG to production | COMMENT |
| MEDIUM | libs/core/README.md | 377 | # Load your project and RAG configuration | COMMENT |
| MEDIUM | libs/core/README.md | 432 | ### Deploy RAG without LlamaIndex | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/tools/test_tool_registry.py | 203 | # Create mock RAG config | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/tools/test_tool_registry.py | 210 | # Setup mock RAG config | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/tools/test_tool_registry.py | 215 | # Setup mock RAG tool | COMMENT |
| MEDIUM | libs/core/kiln_ai/tools/test_tool_registry.py | 228 | # Test with RAG tool ID | COMMENT |
| MEDIUM | libs/core/kiln_ai/utils/dataset_import.py | 19 | # context window serializes to <10 MiB of text) while still bounding memory | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/ml_model_list.py | 383 | # models have rate limits, which become very relevant when doing heavy processing like in RAG | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/ml_model_list.py | 7985 | # and let Kiln drive chain-of-thought via the multi-turn COT strategy. | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/test_ollama_tools.py | 257 | # Check that embedding model aliases are recognized | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/test_ollama_tools.py | 260 | # Check that embedding model aliases are NOT in the main model lists | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/test_prompt_builders.py | 471 | # Should match regular prompt since no chain of thought | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/test_prompt_builders.py | 475 | # Test chain of thought prompt builder | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/adapters/test_remote_config.py | 662 | # Create a fully valid embedding model as baseline | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/adapters/test_remote_config.py | 665 | # Case 1: Invalid embedding model - missing required field 'family' | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/adapters/test_remote_config.py | 671 | # Case 2: Invalid embedding model - invalid data type for required field | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/adapters/test_remote_config.py | 677 | # Case 3: Invalid embedding model - completely malformed | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/adapters/test_remote_config.py | 680 | # Case 4: Valid embedding model with one invalid provider (should keep model, skip invalid provider) | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/adapters/test_remote_config.py | 752 | # Check the first embedding model is fully intact | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/adapters/test_remote_config.py | 759 | # Check embedding model with invalid provider has remaining valid providers | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/adapters/test_remote_config.py | 768 | # Check embedding model with mixed providers has only the valid one | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/test_remote_config.py | 691 | # Case 5: Valid embedding model with mixed valid/invalid providers (should keep model and valid providers) | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/test_remote_config.py | 716 | # Case 6: Valid embedding model with all invalid providers (should keep model with empty providers) | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/test_remote_config.py | 779 | # Check embedding model with all invalid providers has empty providers | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/test_remote_config.py | 1056 | # Create embedding model with mixed valid/invalid providers | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/test_remote_config.py | 1133 | # Should have 1 embedding model with 2 valid providers | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/test_remote_config.py | 1145 | # Should have logged 3 model provider validation warnings + 3 embedding model provider validation warnings + 3 reran | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/data_gen/data_gen_prompts.py | 263 | - kiln_data_gen_part_text: ["# Tools & MCP\n\nKiln allows connecting to tools such as Kiln Search Tools (RAG) or third- | CODE |
| MEDIUM | libs/core/kiln_ai/adapters/rag/test_progress.py | 418 | # Test various RAG config combinations | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/rag/test_progress.py | 622 | # RAG config that filters for "python" tag | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/rag/test_progress.py | 648 | # RAG config that filters for "python" OR "javascript" | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/rag/test_progress.py | 672 | # RAG config that filters for "rust" tag | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/rag/test_progress.py | 742 | # Two RAG configs with different tag filters | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/rag/test_rag_runners.py | 2162 | # Create RAG config that filters for "python" tags | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/rag/test_rag_runners.py | 2215 | # Create RAG config that filters for "rust" tags | COMMENT |
| 25 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | checks.sh | 40 | # ── Parallel check runner ──────────────────────────────────────────── | COMMENT |
| MEDIUM | checks.sh | 135 | # ── Kick off all checks ────────────────────────────────────────────── | COMMENT |
| MEDIUM | checks.sh | 171 | # ── Wait and summarize ──────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | app/desktop/git_sync/integration_tests/conftest.py | 226 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app/desktop/git_sync/integration_tests/conftest.py | 228 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/conftest.py | 47 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/conftest.py | 49 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/conftest.py | 67 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/conftest.py | 69 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/conftest.py | 271 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/conftest.py | 273 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/conftest.py | 389 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/conftest.py | 391 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/conftest.py | 406 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/conftest.py | 408 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/conftest.py | 451 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/conftest.py | 453 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ktop/git_sync/integration_tests/test_crash_recovery.py | 129 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ktop/git_sync/integration_tests/test_crash_recovery.py | 131 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ktop/git_sync/integration_tests/test_crash_recovery.py | 199 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ktop/git_sync/integration_tests/test_crash_recovery.py | 201 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ktop/git_sync/integration_tests/test_crash_recovery.py | 277 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ktop/git_sync/integration_tests/test_crash_recovery.py | 279 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ktop/git_sync/integration_tests/test_crash_recovery.py | 327 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ktop/git_sync/integration_tests/test_crash_recovery.py | 329 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ktop/git_sync/integration_tests/test_crash_recovery.py | 394 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ktop/git_sync/integration_tests/test_crash_recovery.py | 396 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ktop/git_sync/integration_tests/test_crash_recovery.py | 510 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ktop/git_sync/integration_tests/test_crash_recovery.py | 512 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ktop/git_sync/integration_tests/test_crash_recovery.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ktop/git_sync/integration_tests/test_crash_recovery.py | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ktop/git_sync/integration_tests/test_crash_recovery.py | 466 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ktop/git_sync/integration_tests/test_crash_recovery.py | 468 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app/desktop/git_sync/integration_tests/test_fixtures.py | 108 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app/desktop/git_sync/integration_tests/test_fixtures.py | 110 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app/desktop/git_sync/integration_tests/test_fixtures.py | 167 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app/desktop/git_sync/integration_tests/test_fixtures.py | 169 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app/desktop/git_sync/integration_tests/test_fixtures.py | 231 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | app/desktop/git_sync/integration_tests/test_fixtures.py | 233 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/test_fixtures.py | 26 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | app/desktop/git_sync/integration_tests/test_fixtures.py | 28 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/scripts/provider_utils.py | 31 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/scripts/provider_utils.py | 33 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/scripts/provider_utils.py | 100 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/scripts/provider_utils.py | 102 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/scripts/provider_utils.py | 125 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .agents/scripts/provider_utils.py | 129 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …n-check-finetune-deprecation/scripts/check_finetune.py | 55 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …n-check-finetune-deprecation/scripts/check_finetune.py | 57 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …n-check-finetune-deprecation/scripts/check_finetune.py | 81 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …n-check-finetune-deprecation/scripts/check_finetune.py | 83 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …n-check-finetune-deprecation/scripts/check_finetune.py | 172 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …n-check-finetune-deprecation/scripts/check_finetune.py | 174 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …n-check-finetune-deprecation/scripts/check_finetune.py | 273 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …n-check-finetune-deprecation/scripts/check_finetune.py | 275 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/adapters/test_provider_tools.py | 1287 | # ============================================================================= | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/adapters/test_provider_tools.py | 1289 | # ============================================================================= | COMMENT |
| MEDIUM | …pters/model_adapters/test_litellm_adapter_streaming.py | 831 | # ── Mocked variants (CI-friendly, no real API calls) ────────────────────────── | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/datamodel/test_basemodel.py | 1212 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | libs/core/kiln_ai/datamodel/test_basemodel.py | 1214 | # ============================================================================ | COMMENT |
| 12 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/desktop/custom_tray.py | 15 | except Exception: | CODE |
| LOW | app/desktop/custom_tray.py | 50 | except Exception: | CODE |
| LOW | app/desktop/desktop.py | 138 | except Exception: | CODE |
| LOW | app/desktop/studio_server/copilot_api.py | 438 | except Exception: | CODE |
| LOW | app/desktop/studio_server/copilot_api.py | 443 | except Exception: | CODE |
| LOW | app/desktop/studio_server/webhost.py | 24 | except Exception: | CODE |
| LOW | app/desktop/studio_server/webhost.py | 44 | except Exception as e: | CODE |
| MEDIUM | app/desktop/studio_server/webhost.py | 19 | def studio_path(): | CODE |
| LOW | app/desktop/studio_server/settings_api.py | 74 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/settings_api.py | 97 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/prompt_api.py | 43 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/finetune_api.py | 444 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/finetune_api.py | 784 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 81 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 98 | except Exception: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1083 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1123 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1178 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1204 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1238 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1277 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1300 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1332 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1364 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1398 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1437 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1475 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1508 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1537 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 1587 | except Exception: | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 2153 | except Exception: | CODE |
| LOW | app/desktop/studio_server/data_gen_api.py | 845 | except Exception: | STRING |
| LOW | app/desktop/studio_server/tool_api.py | 325 | except Exception: | CODE |
| LOW | app/desktop/studio_server/tool_api.py | 984 | except Exception as e: | CODE |
| LOW | …p/desktop/studio_server/prompt_optimization_job_api.py | 209 | except Exception as cleanup_error: | CODE |
| LOW | …p/desktop/studio_server/prompt_optimization_job_api.py | 279 | except Exception as e: | CODE |
| LOW | …p/desktop/studio_server/prompt_optimization_job_api.py | 334 | except Exception as e: | CODE |
| LOW | …p/desktop/studio_server/prompt_optimization_job_api.py | 402 | except Exception as e: | CODE |
| LOW | …p/desktop/studio_server/prompt_optimization_job_api.py | 485 | except Exception as e: | CODE |
| LOW | …p/desktop/studio_server/prompt_optimization_job_api.py | 597 | except Exception as e: | CODE |
| LOW | …p/desktop/studio_server/prompt_optimization_job_api.py | 665 | except Exception as e: | CODE |
| LOW | …p/desktop/studio_server/prompt_optimization_job_api.py | 713 | except Exception as e: | CODE |
| LOW | …p/desktop/studio_server/prompt_optimization_job_api.py | 754 | except Exception as e: | CODE |
| LOW | …p/desktop/studio_server/prompt_optimization_job_api.py | 802 | except Exception as e: | CODE |
| LOW⚡ | app/desktop/studio_server/run_config_api.py | 217 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/run_config_api.py | 382 | except Exception: | CODE |
| LOW | app/desktop/studio_server/chat/stream_session.py | 284 | except Exception as e: | CODE |
| LOW | app/desktop/studio_server/jobs/registry.py | 247 | except Exception as exc: | CODE |
| LOW | app/desktop/studio_server/jobs/registry.py | 430 | except Exception: | CODE |
| LOW | app/desktop/studio_server/jobs/registry.py | 466 | except Exception: | CODE |
| LOW | app/desktop/studio_server/jobs/error_log.py | 31 | except Exception: | CODE |
| LOW | app/desktop/studio_server/jobs/error_log.py | 57 | except Exception: | CODE |
| LOW | app/desktop/studio_server/jobs/error_log.py | 66 | except Exception: | CODE |
| LOW | app/desktop/util/resource_limits.py | 29 | except Exception as e: | CODE |
| LOW | app/desktop/git_sync/git_sync_manager.py | 73 | except Exception: | CODE |
| LOW | app/desktop/git_sync/git_sync_manager.py | 194 | except Exception: | CODE |
| LOW | app/desktop/git_sync/git_sync_manager.py | 239 | except Exception as e: | CODE |
| LOW | app/desktop/git_sync/git_sync_manager.py | 262 | except Exception as e: | CODE |
| LOW | app/desktop/git_sync/git_sync_manager.py | 285 | except Exception as first_push_error: | CODE |
| LOW | app/desktop/git_sync/git_sync_manager.py | 293 | except Exception as fetch_err: | CODE |
| 132 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/desktop/studio_server/finetune_api.py | 213 | CODE | |
| LOW | app/desktop/studio_server/finetune_api.py | 283 | CODE | |
| LOW | app/desktop/studio_server/finetune_api.py | 308 | CODE | |
| LOW | app/desktop/studio_server/finetune_api.py | 413 | CODE | |
| LOW | app/desktop/studio_server/test_generate_docs.py | 37 | CODE | |
| LOW | app/desktop/studio_server/test_tool_api.py | 824 | CODE | |
| LOW | app/desktop/studio_server/test_server.py | 273 | CODE | |
| LOW | app/desktop/studio_server/agent_api.py | 228 | CODE | |
| LOW | app/desktop/studio_server/provider_api.py | 255 | CODE | |
| LOW | app/desktop/studio_server/provider_api.py | 1598 | CODE | |
| LOW | app/desktop/studio_server/provider_api.py | 1675 | CODE | |
| LOW | app/desktop/studio_server/provider_api.py | 1710 | CODE | |
| LOW | app/desktop/studio_server/provider_api.py | 1802 | CODE | |
| LOW | app/desktop/studio_server/provider_api.py | 1825 | CODE | |
| LOW | app/desktop/studio_server/provider_api.py | 1989 | CODE | |
| LOW | app/desktop/studio_server/provider_api.py | 275 | CODE | |
| LOW | app/desktop/studio_server/provider_api.py | 420 | CODE | |
| LOW | app/desktop/studio_server/provider_api.py | 487 | CODE | |
| LOW | app/desktop/studio_server/provider_api.py | 688 | CODE | |
| LOW | app/desktop/studio_server/eval_api.py | 600 | CODE | |
| LOW | app/desktop/studio_server/eval_api.py | 1298 | CODE | |
| LOW | app/desktop/studio_server/eval_api.py | 1445 | CODE | |
| LOW | app/desktop/studio_server/data_gen_api.py | 227 | CODE | |
| LOW | app/desktop/studio_server/data_gen_api.py | 647 | CODE | |
| LOW | app/desktop/studio_server/tool_api.py | 277 | CODE | |
| LOW | app/desktop/studio_server/tool_api.py | 455 | CODE | |
| LOW | …p/desktop/studio_server/prompt_optimization_job_api.py | 342 | CODE | |
| LOW | …p/desktop/studio_server/prompt_optimization_job_api.py | 617 | CODE | |
| LOW | …er_client/models/chat_completion_user_message_param.py | 46 | CODE | |
| LOW | …er_client/models/chat_completion_user_message_param.py | 88 | CODE | |
| LOW | …er_client/models/chat_completion_user_message_param.py | 96 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/task_run.py | 103 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/task_run.py | 263 | CODE | |
| LOW | …er/api_client/kiln_ai_server_client/models/task_run.py | 408 | CODE | |
| LOW | …els/chat_completion_assistant_message_param_wrapper.py | 59 | CODE | |
| LOW | …els/chat_completion_assistant_message_param_wrapper.py | 164 | CODE | |
| LOW | …els/chat_completion_assistant_message_param_wrapper.py | 194 | CODE | |
| LOW | app/desktop/studio_server/chat/test_routes.py | 1039 | CODE | |
| LOW | app/desktop/studio_server/chat/test_integration.py | 57 | CODE | |
| LOW | app/desktop/studio_server/chat/test_integration.py | 177 | CODE | |
| LOW | app/desktop/studio_server/chat/test_integration.py | 234 | CODE | |
| LOW | app/desktop/studio_server/chat/test_integration.py | 334 | CODE | |
| LOW | app/desktop/studio_server/chat/stream_session.py | 100 | CODE | |
| LOW | app/desktop/studio_server/jobs/events.py | 87 | CODE | |
| LOW | app/desktop/studio_server/jobs/error_log.py | 35 | CODE | |
| LOW | app/desktop/git_sync/git_sync_api.py | 431 | CODE | |
| LOW | app/desktop/git_sync/git_sync_api.py | 692 | CODE | |
| LOW | app/desktop/git_sync/clone.py | 61 | CODE | |
| LOW | app/desktop/git_sync/clone.py | 274 | CODE | |
| LOW | app/desktop/git_sync/clone.py | 78 | CODE | |
| LOW | app/desktop/git_sync/integration_tests/conftest.py | 486 | CODE | |
| LOW | …/desktop/git_sync/integration_tests/test_decorators.py | 163 | CODE | |
| LOW | .agents/scripts/provider_utils.py | 182 | CODE | |
| LOW | …n-check-finetune-deprecation/scripts/check_finetune.py | 120 | CODE | |
| LOW | …kills/kiln-check-deprecation/scripts/check_provider.py | 68 | CODE | |
| LOW | …kills/kiln-check-deprecation/scripts/check_provider.py | 149 | CODE | |
| LOW | libs/core/kiln_ai/tools/test_mcp_session_manager.py | 830 | CODE | |
| LOW | libs/core/kiln_ai/tools/mcp_session_manager.py | 334 | CODE | |
| LOW | libs/core/kiln_ai/utils/logging.py | 98 | CODE | |
| LOW | libs/core/kiln_ai/utils/config.py | 270 | CODE | |
| 67 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/desktop/desktop_server.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/custom_tray.py | 6 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/desktop.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/studio_server/copilot_api.py | 81 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/studio_server/finetune_api.py | 64 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/studio_server/skill_api.py | 18 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/studio_server/provider_api.py | 58 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/studio_server/tool_api.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | …p/desktop/studio_server/prompt_optimization_job_api.py | 54 | logger = logging.getLogger(__name__) | CODE |
| LOW | …tudio_server/api_client/kiln_ai_server_client/types.py | 54 | __all__ = ["UNSET", "File", "FileTypes", "RequestFiles", "Response", "Unset"] | CODE |
| LOW | …udio_server/api_client/kiln_ai_server_client/errors.py | 16 | __all__ = ["UnexpectedStatus"] | CODE |
| LOW | app/desktop/studio_server/chat/sse_parser.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/studio_server/chat/tool_metadata.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/studio_server/chat/__init__.py | 16 | __all__ = [ | CODE |
| LOW | app/desktop/studio_server/chat/test_integration.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/studio_server/chat/stream_session.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/studio_server/jobs/registry.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/studio_server/jobs/events.py | 75 | def set_snapshot_provider(self, provider: SnapshotProvider) -> None: | CODE |
| LOW | app/desktop/util/resource_limits.py | 4 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/git_sync/git_sync_manager.py | 25 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/git_sync/registry.py | 14 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/git_sync/background_sync.py | 8 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/git_sync/git_sync_api.py | 55 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | app/desktop/git_sync/test_sse_invariants.py | 15 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/git_sync/middleware.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/git_sync/oauth.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/git_sync/clone.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | app/desktop/git_sync/integration_tests/conftest.py | 34 | __all__ = [ | CODE |
| LOW | libs/core/kiln_ai/run_context.py | 20 | def set_agent_run_id(run_id: str) -> None: | CODE |
| LOW | libs/core/kiln_ai/tools/mcp_session_manager.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/tools/__init__.py | 4 | __all__ = [ | CODE |
| LOW | libs/core/kiln_ai/tools/built_in_tools/__init__.py | 9 | __all__ = [ | CODE |
| LOW | libs/core/kiln_ai/utils/dataset_import.py | 13 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/utils/async_job_runner.py | 6 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/utils/filesystem_cache.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/utils/__init__.py | 10 | __all__ = [ | CODE |
| LOW | libs/core/kiln_ai/utils/test_dataset_import.py | 31 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/cli/__init__.py | 3 | __all__ = ["app"] | CODE |
| LOW | libs/core/kiln_ai/adapters/ollama_tools.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/adapters/__init__.py | 34 | __all__ = [ | CODE |
| LOW⚡ | libs/core/kiln_ai/adapters/provider_tools.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/adapters/remote_config.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/adapters/test_prompt_builders.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/adapters/fine_tune/__init__.py | 9 | __all__ = [ | CODE |
| LOW | …/core/kiln_ai/adapters/fine_tune/fireworks_finetune.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | …e/kiln_ai/adapters/fine_tune/test_dataset_formatter.py | 42 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/adapters/fine_tune/vertex_finetune.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ore/kiln_ai/adapters/model_adapters/litellm_adapter.py | 71 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/adapters/model_adapters/__init__.py | 13 | __all__ = [ | CODE |
| LOW | …pters/model_adapters/test_litellm_adapter_streaming.py | 32 | logger = logging.getLogger(__name__) | CODE |
| LOW | …core/kiln_ai/adapters/model_adapters/adapter_stream.py | 30 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s/core/kiln_ai/adapters/model_adapters/base_adapter.py | 801 | def update_run_config_unknown_structured_output_mode(self) -> None: | CODE |
| LOW | libs/core/kiln_ai/adapters/parsers/__init__.py | 10 | __all__ = ["base_parser", "json_parser", "r1_parser"] | CODE |
| LOW | libs/core/kiln_ai/adapters/chat/__init__.py | 14 | __all__ = [ | CODE |
| LOW | libs/core/kiln_ai/adapters/chunkers/__init__.py | 9 | __all__ = [ | CODE |
| LOW | libs/core/kiln_ai/adapters/chunkers/base_chunker.py | 9 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/adapters/data_gen/__init__.py | 11 | __all__ = ["data_gen_task"] | CODE |
| LOW | …e/kiln_ai/adapters/embedding/base_embedding_adapter.py | 10 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/adapters/rag/progress.py | 19 | logger = logging.getLogger(__name__) | CODE |
| LOW | libs/core/kiln_ai/adapters/rag/rag_runners.py | 51 | logger = logging.getLogger(__name__) | CODE |
| 30 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | app/desktop/git_sync/errors.py | 0 | git authentication failed or expired (bad/expired token, 401/403). | STRING |
| HIGH | specs/projects/git_auth_recovery/architecture.md | 0 | git authentication failed or expired (bad/expired token, 401/403). | STRING |
| HIGH | specs/projects/git_auth_recovery/phase_plans/phase_1.md | 0 | git authentication failed or expired (bad/expired token, 401/403). | STRING |
| HIGH | specs/projects/agent_approvals/architecture.md | 0 | raised when an endpoint has no known policy (fail-safe block). | STRING |
| HIGH | specs/projects/agent_approvals/functional_spec.md | 0 | raised when an endpoint has no known policy (fail-safe block). | STRING |
| HIGH | …server/kiln_server/utils/agent_checks/policy_lookup.py | 0 | raised when an endpoint has no known policy (fail-safe block). | STRING |
| HIGH | specs/projects/templates/architecture.md | 0 | validate that the template compiles. raises valueerror on syntax error. | STRING |
| HIGH | specs/projects/templates/functional_spec.md | 0 | validate that the template compiles. raises valueerror on syntax error. | STRING |
| HIGH | libs/core/kiln_ai/utils/jinja_engine.py | 0 | validate that the template compiles. raises valueerror on syntax error. | STRING |
| HIGH | specs/projects/templates/architecture.md | 0 | validate that a jinja2 expression compiles. raises valueerror on syntax error. | STRING |
| HIGH | specs/projects/templates/functional_spec.md | 0 | validate that a jinja2 expression compiles. raises valueerror on syntax error. | STRING |
| HIGH | libs/core/kiln_ai/utils/jinja_engine.py | 0 | validate that a jinja2 expression compiles. raises valueerror on syntax error. | STRING |
| HIGH | libs/core/kiln_ai/adapters/repair/test_repair_task.py | 0 | { "type": "object", "properties": { "setup": { "description": "the setup of the joke", "title": "setup", "type": "string | STRING |
| HIGH | libs/core/kiln_ai/datamodel/test_model_perf.py | 0 | { "type": "object", "properties": { "setup": { "description": "the setup of the joke", "title": "setup", "type": "string | STRING |
| HIGH | libs/core/kiln_ai/datamodel/test_json_schema.py | 0 | { "type": "object", "properties": { "setup": { "description": "the setup of the joke", "title": "setup", "type": "string | STRING |
| HIGH | libs/core/kiln_ai/datamodel/test_extraction_model.py | 0 | we added discriminated union and the store_type in the properties, but older configs did not have the store_type in the | STRING |
| HIGH | libs/core/kiln_ai/datamodel/test_chunk_models.py | 0 | we added discriminated union and the store_type in the properties, but older configs did not have the store_type in the | STRING |
| HIGH | libs/core/kiln_ai/datamodel/test_vector_store.py | 0 | we added discriminated union and the store_type in the properties, but older configs did not have the store_type in the | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | conftest.py | 99 | # Check if we're running manually (eg, in vscode) | COMMENT |
| LOW⚡ | conftest.py | 108 | # Check if all of the items are the same prefix, expluding a.b.c[param] | COMMENT |
| LOW | app/desktop/linux_installer.sh | 32 | # Check if we're on a supported platform | COMMENT |
| LOW | app/desktop/linux_installer.sh | 105 | # Check if we can write to current directory | COMMENT |
| LOW | app/desktop/linux_installer.sh | 239 | # Check if the Kiln executable exists | COMMENT |
| LOW | app/desktop/linux_installer.sh | 245 | # Check if this is an upgrade | COMMENT |
| LOW | app/desktop/studio_server/finetune_api.py | 874 | # Check if the model supports tools via 'supportTools' | COMMENT |
| LOW⚡ | app/desktop/studio_server/test_provider_api.py | 1285 | # Check if all built-in models are present in the response | COMMENT |
| LOW⚡ | app/desktop/studio_server/test_provider_api.py | 1291 | # Check if the number of models in the response matches the number of built-in models | COMMENT |
| LOW⚡ | app/desktop/studio_server/test_provider_api.py | 3379 | # Check if all built-in embedding models are present in the response | COMMENT |
| LOW⚡ | app/desktop/studio_server/test_provider_api.py | 3385 | # Check if the number of models in the response matches the number of built-in embedding models | COMMENT |
| LOW⚡ | app/desktop/studio_server/test_provider_api.py | 3646 | # Check if all built-in reranker models are present in the response | COMMENT |
| LOW⚡ | app/desktop/studio_server/test_provider_api.py | 3652 | # Check if the number of models in the response matches the number of built-in reranker models | COMMENT |
| LOW | app/desktop/studio_server/provider_api.py | 697 | # Check if provider is configured | COMMENT |
| LOW | app/desktop/studio_server/eval_api.py | 1351 | # Check if we should count this eval_run. Not every eval_run has to go into the stats: | COMMENT |
| LOW | app/desktop/studio_server/eval_api.py | 1544 | # Check if this dataset_id is expected for this eval | COMMENT |
| LOW | app/desktop/studio_server/data_gen_api.py | 344 | # Set parent to task to ensure the correct path is used | COMMENT |
| LOW | app/desktop/studio_server/tool_api.py | 505 | # 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.py | 432 | # Check if eval has a default config | COMMENT |
| LOW | libs/core/kiln_ai/tools/mcp_session_manager.py | 340 | # Check if the exception itself is of the target type | COMMENT |
| LOW | libs/core/kiln_ai/tools/tool_registry.py | 54 | # Check if this looks like an MCP or Kiln Task tool ID that requires a project | COMMENT |
| LOW⚡ | libs/core/kiln_ai/utils/logging.py | 71 | # Print the messages for the request in LiteLLM Message list, pretty print | COMMENT |
| LOW⚡ | libs/core/kiln_ai/utils/logging.py | 137 | # Check if we already have a custom litellm logger | COMMENT |
| LOW⚡ | libs/core/kiln_ai/utils/logging.py | 155 | # Set formatter to match the default formatting | COMMENT |
| LOW⚡ | libs/core/kiln_ai/utils/dataset_import.py | 159 | # Assign tags to runs | COMMENT |
| LOW | libs/core/kiln_ai/utils/dataset_import.py | 239 | # Check if we have headers | COMMENT |
| LOW | libs/core/kiln_ai/utils/validation.py | 57 | # Check if name is None or empty | COMMENT |
| LOW | libs/core/kiln_ai/utils/validation.py | 64 | # Check if name contains only lowercase letters, numbers, and underscores | COMMENT |
| LOW | libs/core/kiln_ai/adapters/prompt_builders.py | 494 | # Check if the prompt_id matches any enum value | COMMENT |
| LOW⚡ | libs/core/kiln_ai/adapters/test_prompt_adaptors.py | 62 | # Check if Ollama API is running | COMMENT |
| LOW⚡ | libs/core/kiln_ai/adapters/test_prompt_adaptors.py | 71 | # Check if Ollama API is running | COMMENT |
| LOW⚡ | libs/core/kiln_ai/adapters/test_prompt_adaptors.py | 80 | # Check if Ollama API is running | COMMENT |
| LOW⚡ | libs/core/kiln_ai/adapters/test_prompt_adaptors.py | 89 | # Check if Ollama API is running | COMMENT |
| LOW | libs/core/kiln_ai/adapters/test_remote_config.py | 1415 | # Check if uv is available | COMMENT |
| LOW | libs/core/kiln_ai/adapters/test_remote_config.py | 1487 | # Check if the test passed | STRING |
| LOW | …/core/kiln_ai/adapters/fine_tune/fireworks_finetune.py | 440 | # Check if the model is already deployed | COMMENT |
| LOW | …e/kiln_ai/adapters/fine_tune/test_together_finetune.py | 43 | # Check if any status is missing from categorization | COMMENT |
| LOW | …e/kiln_ai/adapters/fine_tune/test_together_finetune.py | 49 | # Check if any status appears in multiple categories | COMMENT |
| LOW | libs/core/kiln_ai/adapters/fine_tune/vertex_finetune.py | 178 | # Check if bucket exists and create it if it doesn't | COMMENT |
| LOW | …ore/kiln_ai/adapters/model_adapters/litellm_adapter.py | 320 | # Check if we were interrupted by tool calls | COMMENT |
| LOW⚡ | libs/core/kiln_ai/adapters/eval/test_eval_runner.py | 350 | # Set filter to match the task | COMMENT |
| LOW | libs/core/kiln_ai/adapters/eval/test_eval_runner.py | 442 | # Set filter to match the task | COMMENT |
| LOW | libs/core/kiln_ai/datamodel/external_tool_server.py | 414 | # Check if secrets are already saved | COMMENT |
| LOW | libs/core/kiln_ai/datamodel/task_output.py | 78 | # Check if we have the old format (dict of floats) | COMMENT |
| LOW | …bs/core/kiln_ai/datamodel/test_external_tool_server.py | 713 | # Set ID to test retrieval from config | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .config/legacy_guides/Fine Tuning LLM Models Guide.md | 42 | ### Step 1: Define your Task and Goals | COMMENT |
| LOW | .config/legacy_guides/Fine Tuning LLM Models Guide.md | 50 | ### Step 2: Generate Training Data with Synthetic Data Generation | COMMENT |
| LOW | .config/legacy_guides/Fine Tuning LLM Models Guide.md | 62 | ### Step 3: Select Models to Fine Tune | COMMENT |
| LOW | .config/legacy_guides/Fine Tuning LLM Models Guide.md | 74 | ### Step 4: Dispatch Training Jobs | COMMENT |
| LOW | .config/legacy_guides/Fine Tuning LLM Models Guide.md | 82 | ### Step 5: Deploy and Run Your Models | COMMENT |
| LOW | app/desktop/studio_server/test_repair_api.py | 303 | # Step 1: original Run. | COMMENT |
| LOW | app/desktop/studio_server/test_repair_api.py | 318 | # Step 2: Repair, hitting the real endpoint with the persisted run. | COMMENT |
| LOW⚡ | app/desktop/studio_server/test_tool_api.py | 939 | # Step 1: Create a tool server | COMMENT |
| LOW | app/desktop/studio_server/test_tool_api.py | 953 | # Step 1: Create the tool server | COMMENT |
| LOW | app/desktop/studio_server/test_tool_api.py | 964 | # Step 2: Verify it appears in the list | COMMENT |
| LOW | specs/projects/mcp_sessions/implementation_plan.md | 15 | ## Step 1: Create `mcp_session_context.py` | COMMENT |
| LOW | specs/projects/mcp_sessions/implementation_plan.md | 58 | ## Step 2: Add session caching to `MCPSessionManager` | COMMENT |
| LOW | specs/projects/mcp_sessions/implementation_plan.md | 272 | ## Step 3: Update `BaseAdapter.invoke_returning_run_output()` | COMMENT |
| LOW | specs/projects/mcp_sessions/implementation_plan.md | 338 | ## Step 4: Update `MCPServerTool` to use session context | COMMENT |
| LOW | specs/projects/mcp_sessions/implementation_plan.md | 419 | ## Step 5: Write comprehensive tests | COMMENT |
| LOW | specs/projects/mcp_sessions/implementation_plan.md | 460 | ## Step 6: Verification & quality checks | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_4.md | 13 | ### Step 1: Task paths — singular → plural (3 endpoints) | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_4.md | 19 | ### Step 2: Prompt paths — `/task` → `/tasks` (3 endpoints) | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_4.md | 26 | ### Step 3: Spec path — singular → plural (1 endpoint) | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_4.md | 30 | ### Step 4: Eval paths — `/eval` → `/evals` (all eval endpoints + sub-paths) | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_4.md | 47 | ### Step 5: Run config path unification (3 endpoints) | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_4.md | 55 | ### Step 6: Repair endpoint path renames (2 endpoints) | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_4.md | 60 | ### Step 7: GET → POST for provider connect (2 endpoints) | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_4.md | 65 | ### Step 8: Update backend tests | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_4.md | 75 | ### Step 9: Update frontend TypeScript/Svelte | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_4.md | 81 | ### Step 10: Regenerate api_schema.d.ts | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_4.md | 84 | ### Step 11: Run lint, format, tests | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_3.md | 15 | ### Step 1: Core models in `basemodel.py` | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_3.md | 18 | ### Step 2: High-value domain models | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_3.md | 25 | ### Step 3: Extraction and document models | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_3.md | 33 | ### Step 4: Spec and prompt models | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_3.md | 41 | ### Step 5: Remaining datamodel files | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_3.md | 50 | ### Step 6: Server API request/response models | COMMENT |
| LOW⚡ | specs/projects/document_api/phase_plans/phase_3.md | 57 | ### Step 7: Desktop server API request/response models | COMMENT |
| LOW | specs/projects/document_api/phase_plans/phase_3.md | 72 | ### Step 8: Run lint, format, typecheck, tests | COMMENT |
| LOW | libs/core/README.md | 270 | # Step 1: Create or Load a Task -- choose one of the following 1.A or 1.B | COMMENT |
| LOW | libs/core/README.md | 284 | # Step 2: Create an Adapter to run the task, with a specific model and provider | COMMENT |
| LOW | libs/core/README.md | 287 | # Step 3: Invoke the Adapter to run the task | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | app/desktop/studio_server/data_gen_api.py | 417 | # we do not save the TaskRun to disk, so the ID is null, but we need | STRING |
| HIGH | app/desktop/git_sync/conftest.py | 86 | remote.push([f"refs/heads/{branch}"]) | CODE |
| HIGH | app/desktop/git_sync/git_sync_manager.py | 460 | remote.push([f"refs/heads/{branch_name}"], callbacks=callbacks) | CODE |
| HIGH | app/desktop/git_sync/clone.py | 400 | remote.push([f"refs/heads/{branch_name}"], callbacks=push_cb) | CODE |
| HIGH | app/desktop/git_sync/clone.py | 462 | remote.push([f"refs/heads/{branch_name}"], callbacks=push_cb) | CODE |
| HIGH⚡ | …ktop/git_sync/integration_tests/test_crash_recovery.py | 126 | remote.push([f"+refs/heads/{branch}"]) | CODE |
| HIGH | libs/core/kiln_ai/adapters/parsers/test_json_parser.py | 66 | "null": null, | CODE |
| HIGH | libs/core/kiln_ai/adapters/repair/test_repair_task.py | 48 | "default": null, | CODE |
| HIGH | libs/core/kiln_ai/adapters/repair/test_repair_task.py | 92 | output='{"setup": "Why did the chicken cross the road?", "punchline": "To get to the other side", "rating": | STRING |
| HIGH | libs/core/kiln_ai/adapters/repair/test_repair_task.py | 126 | == '{"setup": "Why did the chicken cross the road?", "punchline": "To get to the other side", "rating": null}' | STRING |
| HIGH | libs/core/kiln_ai/datamodel/test_example_models.py | 1093 | set (typically to null). It must still load — Pydantic's default | STRING |
| HIGH | libs/core/kiln_ai/datamodel/test_model_perf.py | 37 | "default": null, | CODE |
| HIGH | libs/core/kiln_ai/datamodel/test_json_schema.py | 45 | "default": null, | CODE |
| HIGH | libs/server/kiln_server/test_run_api.py | 1761 | '{"train": null, "test": 0.5}', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/desktop/studio_server/test_tool_api.py | 2932 | "DATABASE_PASSWORD": "placeholder", | CODE |
| LOW | app/desktop/studio_server/test_tool_api.py | 2971 | "DATABASE_PASSWORD": "placeholder", | CODE |
| LOW⚡ | app/desktop/git_sync/integration_tests/test_fixtures.py | 156 | sig = pygit2.Signature("Test", "test@test.com") | CODE |
| LOW | app/web_ui/src/lib/git_sync/url_utils.test.ts | 51 | expect(try_convert_ssh_to_https("user@example.com")).toBe( | CODE |
| LOW | app/web_ui/src/lib/git_sync/url_utils.test.ts | 52 | "user@example.com", | CODE |
| LOW | libs/core/README.md | 200 | properties={"created_by": "John Doe"}, | CODE |
| LOW | libs/core/README.md | 206 | properties={"created_by": "Jane Doe"}, | CODE |
| LOW | …i/adapters/vector_store_loaders/test_lancedb_loader.py | 37 | ["Lorem ipsum dolor sit amet, consectetur adipiscing elit." for _ in range(n)] | CODE |
| LOW | …i/adapters/vector_store_loaders/test_lancedb_loader.py | 37 | ["Lorem ipsum dolor sit amet, consectetur adipiscing elit." for _ in range(n)] | CODE |
| LOW | …pters/vector_store_loaders/test_vector_store_loader.py | 31 | ["Lorem ipsum dolor sit amet, consectetur adipiscing elit." for _ in range(n)] | CODE |
| LOW | …pters/vector_store_loaders/test_vector_store_loader.py | 31 | ["Lorem ipsum dolor sit amet, consectetur adipiscing elit." for _ in range(n)] | CODE |
| LOW | libs/core/kiln_ai/adapters/repair/test_repair_task.py | 89 | type=DataSourceType.human, properties={"created_by": "Jane Doe"} | STRING |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_example_models.py | 36 | properties={"created_by": "John Doe"}, | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_example_models.py | 42 | properties={"created_by": "John Doe"}, | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_example_models.py | 54 | assert task_run.input_source.properties == {"created_by": "John Doe"} | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_example_models.py | 57 | assert task_run.output.source.properties == {"created_by": "John Doe"} | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_example_models.py | 86 | properties={"created_by": "John Doe"}, | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_example_models.py | 92 | properties={"wrong_key": "John Doe"}, | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_example_models.py | 236 | == '{"name": "John Doe", "age": 31}' | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_example_models.py | 404 | valid_task_output.input = '{"name": "John Doe", "age": "thirty"}' | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_example_models.py | 410 | loaded_task_output.input = '{"name": "John Doe", "age": "thirty"}' | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_example_models.py | 416 | input='{"name": "John Doe", "age": "thirty"}', | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_example_models.py | 438 | properties={"created_by": "John Doe"}, | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_example_models.py | 442 | assert output.source.properties["created_by"] == "John Doe" | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 165 | output='{"name": "John Doe", "age": 30}', | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 184 | output='{"name": "John Doe", "age": 31}', | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 192 | output='{"name": "John Doe", "age": 31}', | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 317 | output='{"name": "John Doe", "age": 30}', | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 331 | task_output.output.output = '{"name": "John Doe", "age": "thirty"}' | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 340 | loaded_task_output.output.output = '{"name": "John Doe", "age": "forty"}' | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 353 | output='{"name": "John Doe", "age": "thirty"}', | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 386 | input='{"name": "John Doe", "age": 30}', | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 679 | output='{"name": "John Doe", "age": 30}', | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 687 | output='{"name": "John Doe", "age": 30}', | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 707 | output='{"name": "John Doe", "age": 30}', | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 715 | output='{"name": "John Doe", "age": 30', # missing closing brace | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 733 | output='{"name": "John Doe", "age": 30}', | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_example_models.py | 741 | output='{"name": "John Doe", "age": "thirty"}', # invalid schema | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_datasource.py | 9 | type=DataSourceType.human, properties={"created_by": "John Doe"} | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_datasource.py | 12 | assert data_source.properties["created_by"] == "John Doe" | CODE |
| LOW⚡ | libs/core/kiln_ai/datamodel/test_datasource.py | 86 | "created_by": "John Doe", | CODE |
| LOW | libs/core/kiln_ai/datamodel/test_datasource.py | 102 | "created_by": "John Doe", | CODE |
| LOW⚡ | libs/server/kiln_server/test_run_api.py | 860 | type=DataSourceType.human, properties={"created_by": "Jane Doe"} | CODE |
| LOW⚡ | libs/server/kiln_server/test_run_api.py | 865 | type=DataSourceType.human, properties={"created_by": "Jane Doe"} | CODE |
| LOW⚡ | libs/server/kiln_server/test_run_api.py | 872 | type=DataSourceType.human, properties={"created_by": "Jane Doe"} | CODE |
| LOW | libs/server/kiln_server/test_run_api.py | 419 | type=DataSourceType.human, properties={"created_by": "Jane Doe"} | CODE |
| LOW | libs/server/kiln_server/test_run_api.py | 424 | type=DataSourceType.human, properties={"created_by": "Jane Doe"} | CODE |
| LOW | libs/server/kiln_server/test_run_api.py | 462 | type=DataSourceType.human, properties={"created_by": "Jane Doe"} | CODE |
| LOW | libs/server/kiln_server/test_run_api.py | 467 | type=DataSourceType.human, properties={"created_by": "Jane Doe"} | CODE |
| LOW | libs/server/kiln_server/test_run_api.py | 583 | type=DataSourceType.human, properties={"created_by": "Jane Doe"} | CODE |
| LOW | libs/server/kiln_server/test_run_api.py | 588 | type=DataSourceType.human, properties={"created_by": "Jane Doe"} | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | …iln_ai/tools/built_in_tools/test_kiln_api_call_tool.py | 143 | query = route.calls.last.request.url.query.decode() | CODE |
| CRITICAL | …iln_ai/tools/built_in_tools/test_kiln_api_call_tool.py | 709 | query = route.calls.last.request.url.query.decode() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | app/web_ui/src/routes/(app)/sidebar_rail_item.test.ts | 8 | // `container` so the assertions are robust to portaling. Also explicitly | COMMENT |
| MEDIUM | libs/core/kiln_ai/tools/test_rag_tools.py | 900 | multiline_description = """This is a comprehensive search tool that: | CODE |
| LOW | libs/core/kiln_ai/utils/dataset_import.py | 184 | # note that we don't persist the run yet, we just create and validate it | COMMENT |
| LOW | libs/core/kiln_ai/utils/filesystem_cache.py | 26 | # worst case we just return None | COMMENT |
| MEDIUM | libs/core/kiln_ai/adapters/test_adapter_registry.py | 507 | """Mock all config values for comprehensive testing.""" | STRING |
| MEDIUM⚡ | libs/core/kiln_ai/adapters/test_remote_config.py | 519 | """Test comprehensive handling of invalid models and providers during deserialization.""" | STRING |
| MEDIUM⚡ | libs/core/kiln_ai/adapters/test_remote_config.py | 660 | """Test comprehensive handling of invalid embedding models and providers during deserialization.""" | STRING |
| LOW | …e/kiln_ai/adapters/fine_tune/test_dataset_formatter.py | 759 | # It should just use the reasoning output if both thinking and chain_of_thought are present | COMMENT |
| LOW | …e/kiln_ai/adapters/fine_tune/test_dataset_formatter.py | 812 | # It should just use the reasoning output if both thinking and chain_of_thought are present | COMMENT |
| LOW⚡ | …/adapters/model_adapters/test_litellm_adapter_tools.py | 236 | # Usage should add up, not just return the last one. | COMMENT |
| LOW | …/adapters/model_adapters/test_litellm_adapter_tools.py | 325 | # Usage should add up, not just return the last one. | COMMENT |
| LOW | libs/core/kiln_ai/adapters/parsers/r1_parser.py | 27 | # If they do it already, great just return. If not we parse it ourselves. Not ideal, but better than upstream ch | COMMENT |
| LOW | …/kiln_ai/adapters/vector_store/test_lancedb_adapter.py | 950 | # before inserting data, we should simply return an empty list | COMMENT |
| MEDIUM | libs/core/kiln_ai/datamodel/strict_mode.py | 8 | # Strict mode enables extra validations that we want to enforce in Kiln App (and any other client that wants best practi | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/desktop/studio_server/data_gen_api.py | 741 | if isinstance(sample_input, (dict, list)) | COMMENT |
| LOW | app/desktop/studio_server/jobs/registry.py | 81 | self._cancel_intent: set[str] = set() | COMMENT |
| LOW | app/web_ui/playwright.config.ts | 61 | // name: 'webkit', | COMMENT |
| LOW | …_ui/src/lib/ui/animations/questioning_animation.svelte | 101 | /* ========== CONTAINER 1 - Visible on initial load ========== */ | COMMENT |
| LOW | …_ui/src/lib/ui/animations/questioning_animation.svelte | 121 | #c2-connector-3, | COMMENT |
| LOW | …ct_id]/[task_id]/data_guide_setup/guide_preview.svelte | 21 | export let guide: string = "" | COMMENT |
| LOW | libs/core/setup.cfg | 1 | # empty, but needed by setuptools | COMMENT |
| LOW | libs/core/kiln_ai/adapters/ml_model_list.py | 7621 | # structured_output_mode=StructuredOutputMode.json_instructions, | COMMENT |
| LOW | libs/core/kiln_ai/adapters/ml_model_list.py | 7641 | name=ModelName.kimi_k2_5, | COMMENT |
| LOW | …/core/kiln_ai/adapters/vector_store/lancedb_helpers.py | 61 | "kiln_doc_id": document_id, | COMMENT |
| LOW | libs/core/kiln_ai/adapters/eval/test_g_eval_data.py | 1 | # Saved a real RunOutput, with real logprobs via: | COMMENT |
| LOW | libs/server/setup.cfg | 1 | # empty, but needed by setuptools | COMMENT |
| LOW | .github/workflows/windows_release_build.yml | 41 | # # for source-map upload (web bundle). The desktop python bundle | COMMENT |
| LOW | .github/workflows/build_desktop.yml | 41 | # Use GH python version (includes TK/TCL) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ore/kiln_ai/adapters/chunkers/test_semantic_chunker.py | 284 | # random paragraphs generated by ChatGPT - the idea is they are about very different topics so should | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/desktop/studio_server/test_repair_api.py | 303 | # Step 1: original Run. | COMMENT |
| LOW | app/desktop/studio_server/test_repair_api.py | 318 | # Step 2: Repair, hitting the real endpoint with the persisted run. | COMMENT |
| LOW⚡ | app/desktop/studio_server/test_tool_api.py | 939 | # Step 1: Create a tool server | COMMENT |
| LOW | app/desktop/studio_server/test_tool_api.py | 953 | # Step 1: Create the tool server | COMMENT |
| LOW | app/desktop/studio_server/test_tool_api.py | 964 | # Step 2: Verify it appears in the list | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …project_id]/add_tools/local_mcp/edit_local_tool.svelte | 352 | info_description="The value of the environment variable, such as 'your-api-key-here'" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | libs/core/kiln_ai/utils/pdf_utils.py | 81 | CODE | |
| LOW | libs/core/kiln_ai/utils/test_wandb_utils.py | 16 | CODE | |
| LOW | libs/server/kiln_server/document_api.py | 215 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …op/studio_server/api_client/test_kiln_server_client.py | 166 | async def handle_request(request: httpx.Request) -> httpx.Response: | CODE |
| LOW | libs/server/kiln_server/run_api.py | 404 | async def run_task( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | app/desktop/studio_server/chat/test_stream_session.py | 90 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | libs/core/kiln_ai/datamodel/basemodel.py | 293 | # Usage: | COMMENT |