Skip to content

Redesign example-picker tabs as DaisyUI boxed tabs - #1699

Open
scosman wants to merge 1 commit into
mainfrom
claude/tabs-component-redesign-lskxbg
Open

scosman wants to merge 1 commit into
mainfrom
claude/tabs-component-redesign-lskxbg

Conversation

@scosman

@scosman scosman commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

What does this PR do?

Fixes the example-picker "tabs" control in the Code Judge Examples dialog, which rendered with its labels sliced in half.

The bug

code_eval_form.svelte used tabs tabs-bordered flex-nowrap overflow-x-auto to keep five long labels on one line. DaisyUI's .tab is a fixed height, so the horizontal scrollbar the browser adds ate into that height: labels were cut mid-glyph, the tabs-bordered underline hid behind the scrollbar track, and the active tab could scroll out of view entirely.

A near-identical picker in the Code Tool Examples dialog (add_tools/code_tool/+page.svelte) had the same markup without flex-nowrap overflow-x-auto, so it wrapped instead — two different behaviors for the same control.

The fix

Both pickers now render as DaisyUI boxed tabs that wrap rather than scroll.

One non-obvious detail: in DaisyUI v4, .tabs is display: grid with every .tab pinned to grid-row-start: 1. Removing flex-nowrap overflow-x-auto alone would not have produced row wrapping — the grid columns would just squeeze and labels would wrap inside the fixed-height pills, which is the same clipping in a different form. The container therefore carries explicit flex flex-wrap, with the label in a <span class="truncate"> so an over-long label clips inside its pill instead of painting outside it. Both are commented in place so they don't get "tidied up" later.

Declaring role="tablist" / role="tab" makes assistive tech announce this as a tab widget and promises the APG interaction contract, so both pickers now honor it:

  • roving tabindex — only the active tab is in the Tab sequence
  • ArrowLeft/ArrowRight with wrap-around, plus Home/End, with focus following selection
  • tabindex="0" on the role="tabpanel" so the scrollable code block is reachable without a pointer (WCAG 2.1.1)
  • modified arrow keys (Alt/Ctrl/Cmd) pass through, so browser Back still works

Size is the explicit default rather than tabs-sm: at 24px, DaisyUI's outline-offset: -5px focus ring draws across the glyphs, which matters now that arrow-key navigation is a first-class path.

The handler is duplicated across the two files rather than extracted into a shared component — a deliberate scope decision, with tests on both copies so they fail if they drift.

Related Issues

Contributor License Agreement

Checklists

  • Tests have been run locally and passed
  • New tests have been added to any work in /lib

uv run ./checks.sh --agent-mode passes clean. Web suite: 2333 tests passing, including 56 across the two changed pickers — new coverage for keyboard navigation, roving tabindex, panel focusability, accessible naming, unhandled/modified key passthrough, and a two-instance render proving the per-instance element ids don't collide. add_tools/code_tool/ gets its first route test, so the second copy is no longer unpinned.


Generated by Claude Code

The Code Judge Examples picker used `tabs tabs-bordered flex-nowrap
overflow-x-auto` to keep five long labels on one line. DaisyUI's `.tab`
is a fixed height, so the horizontal scrollbar ate into it: labels were
sliced in half, the bordered underline hid behind the scrollbar track,
and the active tab could scroll out of view.

Both example pickers now render as boxed tabs that wrap instead of
scrolling. DaisyUI v4 makes `.tabs` a grid with every `.tab` pinned to
row 1, so the container carries explicit `flex flex-wrap` to get real
row wrapping rather than labels wrapping inside fixed-height pills.

Declaring the tabs roles means honoring the APG contract, so both
pickers also get roving tabindex, ArrowLeft/ArrowRight with wrap-around,
Home/End, focus following selection, and a focusable code panel so it
can be scrolled without a pointer. Modified arrow keys pass through to
the browser.

The Code Tool picker carried the same markup and now gets its own route
test, so the two copies fail a test if they drift.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JpYqNrEVKufmxd9QN9X1n3
@coderabbitai

coderabbitai Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 576 files, which is 276 over the limit of 300.

To get a review, reduce the PR to 300 files or fewer by splitting it into smaller PRs or changing its base branch.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3f4c7384-68a2-4501-bea0-65c337e36b4e

📥 Commits

Reviewing files that changed from the base of the PR and between d372b8c and 047c053.

⛔ Files ignored due to path filters (1)
  • app/web_ui/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (576)
  • .agents/skills/kiln-prerelease-check/SKILL.md
  • .github/workflows/debug_detector.yml
  • app/desktop/desktop.py
  • app/desktop/desktop_server.py
  • app/desktop/dev_server.py
  • app/desktop/git_sync/git_sync_api.py
  • app/desktop/git_sync/test_git_sync_api.py
  • app/desktop/studio_server/agent_api.py
  • app/desktop/studio_server/code_tool_api.py
  • app/desktop/studio_server/copilot_api.py
  • app/desktop/studio_server/eval_api.py
  • app/desktop/studio_server/prompt_optimization_job_api.py
  • app/desktop/studio_server/test_code_tool_api.py
  • app/desktop/studio_server/test_copilot_api.py
  • app/desktop/studio_server/test_eval_api.py
  • app/desktop/studio_server/test_prompt_optimization_job_api.py
  • app/desktop/studio_server/test_tool_api.py
  • app/desktop/studio_server/tool_api.py
  • app/desktop/studio_server/utils/copilot_utils.py
  • app/desktop/studio_server/utils/test_copilot_utils.py
  • app/web_ui/package.json
  • app/web_ui/src/lib/api/v2_eval_api.test.ts
  • app/web_ui/src/lib/api/v2_eval_api.ts
  • app/web_ui/src/lib/api_schema.d.ts
  • app/web_ui/src/lib/components/add_example_dialog.svelte
  • app/web_ui/src/lib/components/code_editor.svelte
  • app/web_ui/src/lib/components/code_tools/code_tool_test_panel.svelte
  • app/web_ui/src/lib/components/code_tools/code_trust_dialog.svelte
  • app/web_ui/src/lib/components/eval_types/__tests__/add_example_dialog_stub.svelte
  • app/web_ui/src/lib/components/eval_types/__tests__/available_models_dropdown_stub.svelte
  • app/web_ui/src/lib/components/eval_types/__tests__/code_editor_stub.svelte
  • app/web_ui/src/lib/components/eval_types/__tests__/collapse_stub.svelte
  • app/web_ui/src/lib/components/eval_types/__tests__/dialog_stub.svelte
  • app/web_ui/src/lib/components/eval_types/__tests__/form_element_stub.svelte
  • app/web_ui/src/lib/components/eval_types/__tests__/form_list_stub.svelte
  • app/web_ui/src/lib/components/eval_types/__tests__/reference_field_harness.svelte
  • app/web_ui/src/lib/components/eval_types/__tests__/tag_input_stub.svelte
  • app/web_ui/src/lib/components/eval_types/__tests__/tools_selector_stub.svelte
  • app/web_ui/src/lib/components/eval_types/code_eval_form.reference_data.test.ts
  • app/web_ui/src/lib/components/eval_types/code_eval_form.svelte
  • app/web_ui/src/lib/components/eval_types/code_eval_form.test.ts
  • app/web_ui/src/lib/components/eval_types/code_eval_helpers.reference_data.test.ts
  • app/web_ui/src/lib/components/eval_types/code_eval_helpers.test.ts
  • app/web_ui/src/lib/components/eval_types/code_eval_helpers.ts
  • app/web_ui/src/lib/components/eval_types/code_eval_result.svelte
  • app/web_ui/src/lib/components/eval_types/code_eval_result.test.ts
  • app/web_ui/src/lib/components/eval_types/contains_form.svelte
  • app/web_ui/src/lib/components/eval_types/contains_result.svelte
  • app/web_ui/src/lib/components/eval_types/contains_result.test.ts
  • app/web_ui/src/lib/components/eval_types/deterministic_forms.reference_data.test.ts
  • app/web_ui/src/lib/components/eval_types/deterministic_forms.test.ts
  • app/web_ui/src/lib/components/eval_types/eval_config_builder.svelte
  • app/web_ui/src/lib/components/eval_types/eval_config_builder_form_scope.test.ts
  • app/web_ui/src/lib/components/eval_types/eval_result_scores.svelte
  • app/web_ui/src/lib/components/eval_types/eval_result_scores.test.ts
  • app/web_ui/src/lib/components/eval_types/eval_type_icon.svelte
  • app/web_ui/src/lib/components/eval_types/eval_type_icon.test.ts
  • app/web_ui/src/lib/components/eval_types/eval_type_intro.svelte
  • app/web_ui/src/lib/components/eval_types/eval_type_intro.test.ts
  • app/web_ui/src/lib/components/eval_types/exact_match_form.svelte
  • app/web_ui/src/lib/components/eval_types/exact_match_result.svelte
  • app/web_ui/src/lib/components/eval_types/exact_match_result.test.ts
  • app/web_ui/src/lib/components/eval_types/form_parts/form_parts.test.ts
  • app/web_ui/src/lib/components/eval_types/form_parts/output_value_field.svelte
  • app/web_ui/src/lib/components/eval_types/form_parts/output_value_helpers.ts
  • app/web_ui/src/lib/components/eval_types/form_parts/reference_field_select.real.test.ts
  • app/web_ui/src/lib/components/eval_types/form_parts/reference_field_select.svelte
  • app/web_ui/src/lib/components/eval_types/judge_config_fields.svelte
  • app/web_ui/src/lib/components/eval_types/judge_prompt_fields.svelte
  • app/web_ui/src/lib/components/eval_types/llm_judge_form.svelte
  • app/web_ui/src/lib/components/eval_types/llm_judge_form.test.ts
  • app/web_ui/src/lib/components/eval_types/llm_judge_result.svelte
  • app/web_ui/src/lib/components/eval_types/llm_judge_result.test.ts
  • app/web_ui/src/lib/components/eval_types/pattern_match_form.svelte
  • app/web_ui/src/lib/components/eval_types/pattern_match_result.svelte
  • app/web_ui/src/lib/components/eval_types/pattern_match_result.test.ts
  • app/web_ui/src/lib/components/eval_types/select/eval_type_options.ts
  • app/web_ui/src/lib/components/eval_types/select/eval_type_tags.svelte
  • app/web_ui/src/lib/components/eval_types/select/select_screen.test.ts
  • app/web_ui/src/lib/components/eval_types/set_check_form.svelte
  • app/web_ui/src/lib/components/eval_types/set_check_result.svelte
  • app/web_ui/src/lib/components/eval_types/set_check_result.test.ts
  • app/web_ui/src/lib/components/eval_types/step_count_check_form.svelte
  • app/web_ui/src/lib/components/eval_types/step_count_check_result.svelte
  • app/web_ui/src/lib/components/eval_types/step_count_check_result.test.ts
  • app/web_ui/src/lib/components/eval_types/tag_input.svelte
  • app/web_ui/src/lib/components/eval_types/tag_input.test.ts
  • app/web_ui/src/lib/components/eval_types/test_run/eval_test_run_pane.reference_data.test.ts
  • app/web_ui/src/lib/components/eval_types/test_run/eval_test_run_pane.svelte
  • app/web_ui/src/lib/components/eval_types/test_run/eval_test_run_pane.test.ts
  • app/web_ui/src/lib/components/eval_types/test_run/manual_example_dialog.svelte
  • app/web_ui/src/lib/components/eval_types/test_run/reference_data_field.svelte
  • app/web_ui/src/lib/components/eval_types/test_run/test_run_browse_dialog.svelte
  • app/web_ui/src/lib/components/eval_types/test_run/test_run_browse_dialog.test.ts
  • app/web_ui/src/lib/components/eval_types/test_run/test_run_input_card.svelte
  • app/web_ui/src/lib/components/eval_types/tool_call_check_form.svelte
  • app/web_ui/src/lib/components/eval_types/tool_call_check_result.svelte
  • app/web_ui/src/lib/components/eval_types/tool_call_check_result.test.ts
  • app/web_ui/src/lib/components/eval_types/trust_code_dialog.svelte
  • app/web_ui/src/lib/components/import/import_project.svelte
  • app/web_ui/src/lib/components/import/import_project.test.ts
  • app/web_ui/src/lib/components/import/step_complete.svelte
  • app/web_ui/src/lib/components/run_config_comparison_table.svelte
  • app/web_ui/src/lib/components/run_config_comparison_table.test.ts
  • app/web_ui/src/lib/components/run_eval.component.test.ts
  • app/web_ui/src/lib/components/run_eval.svelte
  • app/web_ui/src/lib/components/tool_calls/tool_call_log_table.svelte
  • app/web_ui/src/lib/components/tool_calls/tool_call_log_table.test.ts
  • app/web_ui/src/lib/git_sync/api.ts
  • app/web_ui/src/lib/stores/git_import_wizard_store.ts
  • app/web_ui/src/lib/stores/tools_store.test.ts
  • app/web_ui/src/lib/stores/tools_store.ts
  • app/web_ui/src/lib/types.ts
  • app/web_ui/src/lib/ui/__tests__/callout_card_default.svelte
  • app/web_ui/src/lib/ui/__tests__/callout_card_with_icon.svelte
  • app/web_ui/src/lib/ui/callout.svelte
  • app/web_ui/src/lib/ui/callout_card.svelte
  • app/web_ui/src/lib/ui/callout_card.test.ts
  • app/web_ui/src/lib/ui/clamped_text.svelte
  • app/web_ui/src/lib/ui/collapse.svelte
  • app/web_ui/src/lib/ui/icons/eval_types/code_eval_icon.svelte
  • app/web_ui/src/lib/ui/icons/eval_types/contains_icon.svelte
  • app/web_ui/src/lib/ui/icons/eval_types/exact_match_icon.svelte
  • app/web_ui/src/lib/ui/icons/eval_types/llm_judge_icon.svelte
  • app/web_ui/src/lib/ui/icons/eval_types/pattern_match_icon.svelte
  • app/web_ui/src/lib/ui/icons/eval_types/set_check_icon.svelte
  • app/web_ui/src/lib/ui/icons/eval_types/step_count_check_icon.svelte
  • app/web_ui/src/lib/ui/icons/eval_types/tool_call_check_icon.svelte
  • app/web_ui/src/lib/ui/icons/scales_icon.svelte
  • app/web_ui/src/lib/ui/icons/spec_types/desired_behaviour_icon.svelte
  • app/web_ui/src/lib/ui/icons/spec_types/issue_icon.svelte
  • app/web_ui/src/lib/ui/icons/spec_types/toxicity_icon.svelte
  • app/web_ui/src/lib/ui/option_list.svelte
  • app/web_ui/src/lib/ui/option_list_types.ts
  • app/web_ui/src/lib/ui/output.svelte
  • app/web_ui/src/lib/ui/run_config_component/__tests__/form_element_options_stub.svelte
  • app/web_ui/src/lib/ui/run_config_component/tools_selector.svelte
  • app/web_ui/src/lib/ui/run_config_component/tools_selector.test.ts
  • app/web_ui/src/lib/ui/run_config_component/tools_selector_settings.ts
  • app/web_ui/src/lib/utils/__tests__/form_element_hide_label_wrapper.svelte
  • app/web_ui/src/lib/utils/__tests__/form_element_radio_with_context.svelte
  • app/web_ui/src/lib/utils/__tests__/form_element_radio_wrapper.svelte
  • app/web_ui/src/lib/utils/built_in_tool_ids.ts
  • app/web_ui/src/lib/utils/code_tool_helpers.test.ts
  • app/web_ui/src/lib/utils/code_tool_helpers.ts
  • app/web_ui/src/lib/utils/copilot_utils.ts
  • app/web_ui/src/lib/utils/eval_generation_splits.test.ts
  • app/web_ui/src/lib/utils/eval_generation_splits.ts
  • app/web_ui/src/lib/utils/eval_splits.test.ts
  • app/web_ui/src/lib/utils/eval_splits.ts
  • app/web_ui/src/lib/utils/eval_types/eval_type_display.test.ts
  • app/web_ui/src/lib/utils/eval_types/eval_type_display.ts
  • app/web_ui/src/lib/utils/eval_types/judge_check_description.test.ts
  • app/web_ui/src/lib/utils/eval_types/judge_check_description.ts
  • app/web_ui/src/lib/utils/eval_types/reference_data_gate.test.ts
  • app/web_ui/src/lib/utils/eval_types/reference_data_gate.ts
  • app/web_ui/src/lib/utils/eval_types/reference_data_input.test.ts
  • app/web_ui/src/lib/utils/eval_types/reference_data_input.ts
  • app/web_ui/src/lib/utils/eval_types/reference_data_ui.ts
  • app/web_ui/src/lib/utils/eval_types/registry.reference_data.test.ts
  • app/web_ui/src/lib/utils/eval_types/registry.test.ts
  • app/web_ui/src/lib/utils/eval_types/registry.ts
  • app/web_ui/src/lib/utils/eval_types/test_run_shape.test.ts
  • app/web_ui/src/lib/utils/eval_types/test_run_shape.ts
  • app/web_ui/src/lib/utils/exhaustive.ts
  • app/web_ui/src/lib/utils/form_container.svelte
  • app/web_ui/src/lib/utils/form_element.svelte
  • app/web_ui/src/lib/utils/form_element_hide_label.test.ts
  • app/web_ui/src/lib/utils/form_element_radio.test.ts
  • app/web_ui/src/lib/utils/form_list.svelte
  • app/web_ui/src/lib/utils/formatters.test.ts
  • app/web_ui/src/lib/utils/formatters.ts
  • app/web_ui/src/lib/utils/link_builder.test.ts
  • app/web_ui/src/lib/utils/link_builder.ts
  • app/web_ui/src/lib/utils/splits_util.test.ts
  • app/web_ui/src/lib/utils/splits_util.ts
  • app/web_ui/src/lib/utils/sse_stream.test.ts
  • app/web_ui/src/lib/utils/sse_stream.ts
  • app/web_ui/src/lib/utils/task_run_picker.svelte
  • app/web_ui/src/lib/utils/task_sample_example.ts
  • app/web_ui/src/lib/utils/task_sample_selector.svelte
  • app/web_ui/src/routes/(app)/docs/rag_configs/[project_id]/+page.svelte
  • app/web_ui/src/routes/(app)/generate/[project_id]/[task_id]/data_gen_intro.svelte
  • app/web_ui/src/routes/(app)/generate/[project_id]/[task_id]/data_gen_intro.test.ts
  • app/web_ui/src/routes/(app)/generate/[project_id]/[task_id]/eval_options.test.ts
  • app/web_ui/src/routes/(app)/generate/[project_id]/[task_id]/synth_batch_chooser.svelte
  • app/web_ui/src/routes/(app)/generate/[project_id]/[task_id]/synth_data_guidance_datamodel.test.ts
  • app/web_ui/src/routes/(app)/generate/[project_id]/[task_id]/synth_data_guidance_datamodel.ts
  • app/web_ui/src/routes/(app)/prompt_optimization/[project_id]/[task_id]/create_prompt_optimization_job/+page.svelte
  • app/web_ui/src/routes/(app)/prompt_optimization/[project_id]/[task_id]/prompt_optimization_job/[job_id]/+page.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/+page.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/+page.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/+page.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/[eval_config_id]/[run_config_id]/run_result/+page.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/__tests__/app_page_stub.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/__tests__/edit_dialog_stub.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/__tests__/info_tooltip_stub.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/__tests__/property_list_stub.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/compare_run_configs/+page.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/+layout.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/+layout.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/+page.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/[eval_config_type]/+page.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/__tests__/app_page_stub.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/__tests__/collapse_stub.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/__tests__/dialog_stub.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/__tests__/form_container_stub.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/__tests__/llm_judge_form_stub.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/__tests__/task_run_picker_stub.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/__tests__/v2_form_stub.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/breadcrumbs.test.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/breadcrumbs.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/context.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/page.reference_data.test.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/create_eval_config/page.test.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/eval_configs/+page.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/eval_configs/eval_config_instruction.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/eval_configs/eval_config_instruction.test.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/[spec_id]/[eval_id]/eval_detail.test.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/__tests__/app_page_stub.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/compare/+page.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/editable_field_base.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/editable_priority_field.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/editable_status_field.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/select_template/+page.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/select_template/spec_templates.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/select_workflow/+page.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/spec_builder/+page.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/spec_builder/create_spec_form.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/spec_builder/create_spec_form.test.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/spec_builder/create_spec_judge_form.svelte
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/spec_builder/create_spec_judge_form.test.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/spec_creation_flow.test.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/spec_table.test.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/spec_table.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/spec_utils.ts
  • app/web_ui/src/routes/(app)/specs/[project_id]/[task_id]/specs_page.test.ts
  • app/web_ui/src/routes/(app)/specs/pro_auth/+page.svelte
  • app/web_ui/src/routes/(app)/tools/[project_id]/+page.svelte
  • app/web_ui/src/routes/(app)/tools/[project_id]/add_tools/+page.svelte
  • app/web_ui/src/routes/(app)/tools/[project_id]/add_tools/code_tool/+page.svelte
  • app/web_ui/src/routes/(app)/tools/[project_id]/add_tools/code_tool/+page.ts
  • app/web_ui/src/routes/(app)/tools/[project_id]/add_tools/code_tool/__tests__/app_page_stub.svelte
  • app/web_ui/src/routes/(app)/tools/[project_id]/add_tools/code_tool/__tests__/dialog_stub.svelte
  • app/web_ui/src/routes/(app)/tools/[project_id]/add_tools/code_tool/__tests__/passthrough_stub.svelte
  • app/web_ui/src/routes/(app)/tools/[project_id]/add_tools/code_tool/page.test.ts
  • app/web_ui/src/routes/(app)/tools/[project_id]/code_tools/[code_tool_id]/+page.svelte
  • app/web_ui/src/routes/(app)/tools/[project_id]/code_tools/[code_tool_id]/+page.ts
  • app/web_ui/src/routes/(app)/tools/empty_tools.svelte
  • app/web_ui/src/routes/(fullscreen)/setup/(setup)/create_task/schema_section.svelte
  • app/web_ui/tests/e2e/eval_creation_flow.spec.ts
  • docs/code_tools_guide.md
  • libs/core/kiln_ai/adapters/__init__.py
  • libs/core/kiln_ai/adapters/chat/chat_formatter.py
  • libs/core/kiln_ai/adapters/chat/test_chat_formatter.py
  • libs/core/kiln_ai/adapters/eval/__init__.py
  • libs/core/kiln_ai/adapters/eval/_heavy_main_bench.py
  • libs/core/kiln_ai/adapters/eval/base_eval.py
  • libs/core/kiln_ai/adapters/eval/conftest.py
  • libs/core/kiln_ai/adapters/eval/eval_helpers.py
  • libs/core/kiln_ai/adapters/eval/eval_runner.py
  • libs/core/kiln_ai/adapters/eval/eval_utils/scoring_utils.py
  • libs/core/kiln_ai/adapters/eval/eval_utils/test_scoring_utils.py
  • libs/core/kiln_ai/adapters/eval/eval_utils/v2_eval_helpers.py
  • libs/core/kiln_ai/adapters/eval/g_eval.py
  • libs/core/kiln_ai/adapters/eval/registry.py
  • libs/core/kiln_ai/adapters/eval/sandbox_worker.py
  • libs/core/kiln_ai/adapters/eval/test_base_eval.py
  • libs/core/kiln_ai/adapters/eval/test_code_eval_bridge.py
  • libs/core/kiln_ai/adapters/eval/test_code_eval_samples.py
  • libs/core/kiln_ai/adapters/eval/test_eval_helpers.py
  • libs/core/kiln_ai/adapters/eval/test_eval_runner.py
  • libs/core/kiln_ai/adapters/eval/test_forward_thinking_instructions.py
  • libs/core/kiln_ai/adapters/eval/test_g_eval.py
  • libs/core/kiln_ai/adapters/eval/test_g_eval_characterization.py
  • libs/core/kiln_ai/adapters/eval/test_g_eval_data.py
  • libs/core/kiln_ai/adapters/eval/test_phase4_data_model.py
  • libs/core/kiln_ai/adapters/eval/test_registry.py
  • libs/core/kiln_ai/adapters/eval/test_sandbox_worker.py
  • libs/core/kiln_ai/adapters/eval/test_sandbox_worker_perf.py
  • libs/core/kiln_ai/adapters/eval/test_trace_index.py
  • libs/core/kiln_ai/adapters/eval/test_v2_contains.py
  • libs/core/kiln_ai/adapters/eval/test_v2_dispatch_and_contract.py
  • libs/core/kiln_ai/adapters/eval/test_v2_eval_code_eval.py
  • libs/core/kiln_ai/adapters/eval/test_v2_eval_helpers.py
  • libs/core/kiln_ai/adapters/eval/test_v2_eval_llm_judge.py
  • libs/core/kiln_ai/adapters/eval/test_v2_exact_match.py
  • libs/core/kiln_ai/adapters/eval/test_v2_pattern_match.py
  • libs/core/kiln_ai/adapters/eval/test_v2_set_check.py
  • libs/core/kiln_ai/adapters/eval/test_v2_step_count_check.py
  • libs/core/kiln_ai/adapters/eval/test_v2_tool_call_check.py
  • libs/core/kiln_ai/adapters/eval/trace_index.py
  • libs/core/kiln_ai/adapters/eval/v2_eval_code_eval.py
  • libs/core/kiln_ai/adapters/eval/v2_eval_contains.py
  • libs/core/kiln_ai/adapters/eval/v2_eval_exact_match.py
  • libs/core/kiln_ai/adapters/eval/v2_eval_llm_judge.py
  • libs/core/kiln_ai/adapters/eval/v2_eval_pattern_match.py
  • libs/core/kiln_ai/adapters/eval/v2_eval_set_check.py
  • libs/core/kiln_ai/adapters/eval/v2_eval_step_count_check.py
  • libs/core/kiln_ai/adapters/eval/v2_eval_tool_call_check.py
  • libs/core/kiln_ai/adapters/model_adapters/base_adapter.py
  • libs/core/kiln_ai/adapters/model_adapters/test_base_adapter.py
  • libs/core/kiln_ai/cli/cli.py
  • libs/core/kiln_ai/cli/commands/migrate_eval_runs.py
  • libs/core/kiln_ai/cli/commands/test_migrate_eval_runs.py
  • libs/core/kiln_ai/cli/commands/test_package_project.py
  • libs/core/kiln_ai/datamodel/__init__.py
  • libs/core/kiln_ai/datamodel/basemodel.py
  • libs/core/kiln_ai/datamodel/code_file_storage.py
  • libs/core/kiln_ai/datamodel/code_tool.py
  • libs/core/kiln_ai/datamodel/datamodel_enums.py
  • libs/core/kiln_ai/datamodel/dataset_filters.py
  • libs/core/kiln_ai/datamodel/eval.py
  • libs/core/kiln_ai/datamodel/eval_splits.py
  • libs/core/kiln_ai/datamodel/project.py
  • libs/core/kiln_ai/datamodel/spec.py
  • libs/core/kiln_ai/datamodel/spec_properties.py
  • libs/core/kiln_ai/datamodel/task.py
  • libs/core/kiln_ai/datamodel/task_run.py
  • libs/core/kiln_ai/datamodel/test_basemodel.py
  • libs/core/kiln_ai/datamodel/test_code_file_storage.py
  • libs/core/kiln_ai/datamodel/test_code_tool.py
  • libs/core/kiln_ai/datamodel/test_dataset_filters.py
  • libs/core/kiln_ai/datamodel/test_eval_model.py
  • libs/core/kiln_ai/datamodel/test_eval_splits.py
  • libs/core/kiln_ai/datamodel/test_example_models.py
  • libs/core/kiln_ai/datamodel/test_spec.py
  • libs/core/kiln_ai/datamodel/test_task.py
  • libs/core/kiln_ai/datamodel/test_tool_id.py
  • libs/core/kiln_ai/datamodel/tool_id.py
  • libs/core/kiln_ai/sandbox/__init__.py
  • libs/core/kiln_ai/sandbox/entrypoint.py
  • libs/core/kiln_ai/sandbox/spawn.py
  • libs/core/kiln_ai/sandbox/test_code_tool_execution.py
  • libs/core/kiln_ai/sandbox/test_sandbox_shared.py
  • libs/core/kiln_ai/sandbox/tools_api.py
  • libs/core/kiln_ai/sandbox/tools_surface.py
  • libs/core/kiln_ai/sandbox/worker.py
  • libs/core/kiln_ai/tool_testing/__init__.py
  • libs/core/kiln_ai/tool_testing/fake_bridge.py
  • libs/core/kiln_ai/tool_testing/plugin.py
  • libs/core/kiln_ai/tool_testing/test_tool_testing.py
  • libs/core/kiln_ai/tools/base_tool.py
  • libs/core/kiln_ai/tools/built_in_tools/llm_tools.py
  • libs/core/kiln_ai/tools/built_in_tools/test_llm_tools.py
  • libs/core/kiln_ai/tools/code_tool.py
  • libs/core/kiln_ai/tools/sandbox_bridge.py
  • libs/core/kiln_ai/tools/test_base_tools.py
  • libs/core/kiln_ai/tools/test_sandbox_bridge.py
  • libs/core/kiln_ai/tools/test_tool_registry.py
  • libs/core/kiln_ai/tools/tool_registry.py
  • libs/core/kiln_ai/utils/jinja_engine.py
  • libs/core/kiln_ai/utils/open_ai_types.py
  • libs/core/kiln_ai/utils/test_jinja_engine.py
  • libs/core/kiln_ai/utils/test_open_ai_types.py
  • libs/core/pyproject.toml
  • libs/server/kiln_server/project_api.py
  • libs/server/kiln_server/run_api.py
  • libs/server/kiln_server/server.py
  • libs/server/kiln_server/spec_api.py
  • libs/server/kiln_server/test_project_api.py
  • libs/server/kiln_server/test_run_api.py
  • libs/server/kiln_server/test_spec_api.py
  • libs/server/kiln_server/utils/agent_checks/annotations/delete_api_projects_project_id_code_tools_code_tool_id.json
  • libs/server/kiln_server/utils/agent_checks/annotations/get_api_projects_project_id_add_code_trust.json
  • libs/server/kiln_server/utils/agent_checks/annotations/get_api_projects_project_id_code_eval_trust.json
  • libs/server/kiln_server/utils/agent_checks/annotations/get_api_projects_project_id_code_tools.json
  • libs/server/kiln_server/utils/agent_checks/annotations/get_api_projects_project_id_code_tools_code_tool_id.json
  • libs/server/kiln_server/utils/agent_checks/annotations/get_api_projects_project_id_tasks_task_id_eval_default_judge_types.json
  • libs/server/kiln_server/utils/agent_checks/annotations/get_api_projects_project_id_tasks_task_id_evals_eval_id_default_llm_judge_prompt.json
  • libs/server/kiln_server/utils/agent_checks/annotations/patch_api_projects_project_id_code_tools_code_tool_id.json
  • libs/server/kiln_server/utils/agent_checks/annotations/post_api_import_project.json
  • libs/server/kiln_server/utils/agent_checks/annotations/post_api_projects_project_id_add_code_trust.json
  • libs/server/kiln_server/utils/agent_checks/annotations/post_api_projects_project_id_code_tools.json
  • libs/server/kiln_server/utils/agent_checks/annotations/post_api_projects_project_id_code_tools_code_tool_id_archive.json
  • libs/server/kiln_server/utils/agent_checks/annotations/post_api_projects_project_id_grant_code_eval_trust.json
  • libs/server/kiln_server/utils/agent_checks/annotations/post_api_projects_project_id_tasks_task_id_evals_eval_id_create_llm_judge_config.json
  • libs/server/kiln_server/utils/agent_checks/annotations/post_api_projects_project_id_tasks_task_id_evals_eval_id_test_v2_eval.json
  • libs/server/kiln_server/utils/agent_checks/annotations/post_api_projects_project_id_tasks_task_id_test_v2_eval_draft.json
  • libs/server/kiln_server/utils/agent_checks/annotations/post_api_projects_project_id_test_code_tool.json
  • libs/server/kiln_server/utils/spec_utils.py
  • libs/server/kiln_server/utils/test_spec_utils.py
  • specs/projects/code_as_files/architecture.md
  • specs/projects/code_as_files/functional_spec.md
  • specs/projects/code_as_files/implementation_plan.md
  • specs/projects/code_as_files/phase_plans/phase_1.md
  • specs/projects/code_as_files/phase_plans/phase_2.md
  • specs/projects/code_as_files/phase_plans/phase_3.md
  • specs/projects/code_as_files/phase_plans/phase_4.md
  • specs/projects/code_as_files/phase_plans/refactor_sibling_helper.md
  • specs/projects/code_as_files/project_overview.md
  • specs/projects/code_judge_llm_calls/architecture.md
  • specs/projects/code_judge_llm_calls/functional_spec.md
  • specs/projects/code_judge_llm_calls/implementation_plan.md
  • specs/projects/code_judge_llm_calls/phase_plans/phase_1.md
  • specs/projects/code_judge_llm_calls/phase_plans/phase_2.md
  • specs/projects/code_judge_llm_calls/phase_plans/phase_3.md
  • specs/projects/code_judge_llm_calls/phase_plans/phase_4.md
  • specs/projects/code_judge_llm_calls/phase_plans/phase_5.md
  • specs/projects/code_judge_llm_calls/project_overview.md
  • specs/projects/code_tools/architecture.md
  • specs/projects/code_tools/components/execution_engine.md
  • specs/projects/code_tools/cross_os_spawn_checklist.md
  • specs/projects/code_tools/functional_spec.md
  • specs/projects/code_tools/implementation_plan.md
  • specs/projects/code_tools/phase_plans/phase_1.md
  • specs/projects/code_tools/phase_plans/phase_2.md
  • specs/projects/code_tools/phase_plans/phase_3.md
  • specs/projects/code_tools/phase_plans/phase_4.md
  • specs/projects/code_tools/phase_plans/phase_5.md
  • specs/projects/code_tools/phase_plans/phase_6.md
  • specs/projects/code_tools/project_overview.md
  • specs/projects/code_tools/ui_design.md
  • specs/projects/deep-cr-cleanup/implementation_plan.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_1.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_10.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_11.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_12.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_13.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_14.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_15.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_16.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_2.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_3.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_4.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_5.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_6.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_7.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_8.md
  • specs/projects/deep-cr-cleanup/phase_plans/phase_9.md
  • specs/projects/deep-cr-cleanup/project_overview.md
  • specs/projects/eb_v2_splits_alignment/project_overview.md
  • specs/projects/eval_copilot_builder_v2/project_overview.md
  • specs/projects/eval_create_ui_v2/project_overview.md
  • specs/projects/eval_splits_v1_v2/architecture.md
  • specs/projects/eval_splits_v1_v2/functional_spec.md
  • specs/projects/eval_splits_v1_v2/implementation_plan.md
  • specs/projects/eval_splits_v1_v2/phase2_mutation_sweep.py
  • specs/projects/eval_splits_v1_v2/phase3_mutation_sweep.py
  • specs/projects/eval_splits_v1_v2/phase4_mutation_sweep.py
  • specs/projects/eval_splits_v1_v2/phase6_mutation_sweep.py
  • specs/projects/eval_splits_v1_v2/phase_plans/phase_2.md
  • specs/projects/eval_splits_v1_v2/phase_plans/phase_3.md
  • specs/projects/eval_splits_v1_v2/phase_plans/phase_4.md
  • specs/projects/eval_splits_v1_v2/phase_plans/phase_5.md
  • specs/projects/eval_splits_v1_v2/phase_plans/phase_6.md
  • specs/projects/eval_splits_v1_v2/phase_plans/phase_7.md
  • specs/projects/eval_splits_v1_v2/project_overview.md
  • specs/projects/evals_v2/architecture.md
  • specs/projects/evals_v2/components/00_overview.md
  • specs/projects/evals_v2/components/05_prereq_thinking_formatter_fix.md
  • specs/projects/evals_v2/components/06_prereq_input_transform.md
  • specs/projects/evals_v2/components/10_data_model.md
  • specs/projects/evals_v2/components/15_v1_v2_coexistence.md
  • specs/projects/evals_v2/components/20_eval_config_types_overview.md
  • specs/projects/evals_v2/components/21_type_llm_judge.md
  • specs/projects/evals_v2/components/22_type_deterministic_basics.md
  • specs/projects/evals_v2/components/27_type_code_eval.md
  • specs/projects/evals_v2/components/29_rag_judge_templates.md
  • specs/projects/evals_v2/components/40_template_and_extraction.md
  • specs/projects/evals_v2/components/45_runner_architecture.md
  • specs/projects/evals_v2/components/50_reference_data.md
  • specs/projects/evals_v2/components/70_builder_and_onboarding.md
  • specs/projects/evals_v2/components/80_extensibility_contract.md
  • specs/projects/evals_v2/components/85_observability_and_audit.md
  • specs/projects/evals_v2/components/90_open_risks.md
  • specs/projects/evals_v2/functional_spec.md
  • specs/projects/evals_v2/implementation_plan.md
  • specs/projects/evals_v2/phase_plans/phase_1.md
  • specs/projects/evals_v2/phase_plans/phase_2.md
  • specs/projects/evals_v2/phase_plans/phase_3.md
  • specs/projects/evals_v2/phase_plans/phase_4.md
  • specs/projects/evals_v2/phase_plans/phase_5.md
  • specs/projects/evals_v2/phase_plans/phase_6.md
  • specs/projects/evals_v2/project_overview.md
  • specs/projects/evals_v2/reference/ALIGNMENT.md
  • specs/projects/evals_v2/reference/backwards_compat_plan_grounded.md
  • specs/projects/evals_v2/reference/batch_agent_eval_expansion.md
  • specs/projects/evals_v2/spec_fidelity_cr.workflow.js
  • specs/projects/evals_v2/spec_fidelity_review/DECISIONS.md
  • specs/projects/evals_v2/spec_fidelity_review/REVIEWER_INSTRUCTIONS.md
  • specs/projects/evals_v2/spec_fidelity_review/SKEPTIC_INSTRUCTIONS.md
  • specs/projects/evals_v2/spec_fidelity_review/SPEC_FIDELITY_REVIEW.md
  • specs/projects/evals_v2/spec_fidelity_review/confirm_A.md
  • specs/projects/evals_v2/spec_fidelity_review/confirm_B.md
  • specs/projects/evals_v2/spec_fidelity_review/confirm_C.md
  • specs/projects/evals_v2/spec_fidelity_review/confirm_D.md
  • specs/projects/evals_v2/spec_fidelity_review/confirm_E.md
  • specs/projects/evals_v2/spec_fidelity_review/confirm_F.md
  • specs/projects/evals_v2/spec_fidelity_review/confirm_G.md
  • specs/projects/evals_v2/spec_fidelity_review/confirm_H.md
  • specs/projects/evals_v2/spec_fidelity_review/confirm_I.md
  • specs/projects/evals_v2/spec_fidelity_review/confirm_J.md
  • specs/projects/evals_v2/spec_fidelity_review/confirm_K.md
  • specs/projects/evals_v2/spec_fidelity_review/confirm_L.md
  • specs/projects/evals_v2/spec_fidelity_review/confirm_M.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_05-thinking-formatter.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_10-data-model.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_15-coexistence.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_20-types-overview.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_21-llm-judge.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_22-deterministic.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_27-code-eval.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_40-template-extraction.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_45-runner.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_50-reference-data.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_70a-create-flow.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_70b-view-surfaces.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_80-extensibility.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_85-observability.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_deferred-and-cut.md
  • specs/projects/evals_v2/spec_fidelity_review/unit_functional-arch-crosscut.md
  • specs/projects/evals_v2_cleanup/architecture.md
  • specs/projects/evals_v2_cleanup/functional_spec.md
  • specs/projects/evals_v2_cleanup/implementation_plan.md
  • specs/projects/evals_v2_cleanup/phase_plans/phase_1.md
  • specs/projects/evals_v2_cleanup/phase_plans/phase_2.md
  • specs/projects/evals_v2_cleanup/project_overview.md
  • specs/projects/evals_v2_judge_prompt/architecture.md
  • specs/projects/evals_v2_judge_prompt/functional_spec.md
  • specs/projects/evals_v2_judge_prompt/implementation_plan.md
  • specs/projects/evals_v2_judge_prompt/phase_plans/phase_1.md
  • specs/projects/evals_v2_judge_prompt/project_overview.md
  • specs/projects/evals_v2_judge_prompt/reference_v1_prompt_example.md
  • specs/projects/evals_v2_readonly_views/project_overview.md
  • specs/projects/evals_v2_run_score_split/architecture.md
  • specs/projects/evals_v2_run_score_split/functional_spec.md
  • specs/projects/evals_v2_run_score_split/implementation_plan.md
  • specs/projects/evals_v2_run_score_split/phase_plans/phase_1.md
  • specs/projects/evals_v2_run_score_split/phase_plans/phase_2.md
  • specs/projects/evals_v2_run_score_split/phase_plans/phase_3.md
  • specs/projects/evals_v2_run_score_split/phase_plans/phase_4.md
  • specs/projects/evals_v2_run_score_split/phase_plans/phase_5.md
  • specs/projects/evals_v2_run_score_split/project_overview.md
  • specs/projects/evals_v2_run_score_split/research.md
  • specs/projects/evals_v2_ui_fix/alt_agent_project_overview.md
  • specs/projects/evals_v2_ui_fix/architecture.md
  • specs/projects/evals_v2_ui_fix/functional_spec.md
  • specs/projects/evals_v2_ui_fix/implementation_plan.md
  • specs/projects/evals_v2_ui_fix/phase_plans/phase_1.md
  • specs/projects/evals_v2_ui_fix/phase_plans/phase_2.md
  • specs/projects/evals_v2_ui_fix/phase_plans/phase_3.md
  • specs/projects/evals_v2_ui_fix/phase_plans/phase_4.md
  • specs/projects/evals_v2_ui_fix/phase_plans/phase_5.md
  • specs/projects/evals_v2_ui_fix/project_overview.md
  • specs/projects/evals_v2_ui_polish/architecture.md
  • specs/projects/evals_v2_ui_polish/design_specs/select_screen.md
  • specs/projects/evals_v2_ui_polish/design_specs/test_run_sidebar.md
  • specs/projects/evals_v2_ui_polish/functional_spec.md
  • specs/projects/evals_v2_ui_polish/implementation_plan.md
  • specs/projects/evals_v2_ui_polish/phase_plans/phase_1.md
  • specs/projects/evals_v2_ui_polish/phase_plans/phase_10.md
  • specs/projects/evals_v2_ui_polish/phase_plans/phase_2.md
  • specs/projects/evals_v2_ui_polish/phase_plans/phase_3.md
  • specs/projects/evals_v2_ui_polish/phase_plans/phase_4.md
  • specs/projects/evals_v2_ui_polish/phase_plans/phase_5.md
  • specs/projects/evals_v2_ui_polish/phase_plans/phase_6.md
  • specs/projects/evals_v2_ui_polish/phase_plans/phase_7.md
  • specs/projects/evals_v2_ui_polish/phase_plans/phase_8.md
  • specs/projects/evals_v2_ui_polish/phase_plans/phase_9.md
  • specs/projects/evals_v2_ui_polish/project_overview.md
  • specs/projects/input_transform_create_ui/architecture.md
  • specs/projects/input_transform_create_ui/functional_spec.md
  • specs/projects/input_transform_create_ui/phase_plans/phase_1.md
  • specs/projects/input_transform_create_ui/phase_plans/phase_2.md
  • specs/projects/input_transform_create_ui/project_overview.md
  • specs/projects/input_transform_ui/architecture.md
  • specs/projects/input_transform_ui/functional_spec.md
  • specs/projects/input_transform_ui/phase_plans/phase_1.md
  • specs/projects/input_transform_ui/phase_plans/phase_2.md
  • specs/projects/input_transform_ui/project_overview.md
  • specs/projects/rag_templates/project_overview.md
  • specs/projects/sse_cancel_fix/architecture.md
  • specs/projects/sse_cancel_fix/functional_spec.md
  • specs/projects/sse_cancel_fix/implementation_plan.md
  • specs/projects/sse_cancel_fix/project_overview.md

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@scosman
scosman changed the base branch from main to sfierro/KIL-741 August 19, 2026 18:07
Base automatically changed from sfierro/KIL-741 to main August 20, 2026 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants