-
[OPIK-5876] [FE] feat: hide Insights and Assertions tabs for test suite experiments (#6276)
发布于
2026-04-15 11:57:13 +00:00 - [OPIK-5795] [BE] feat: rename evaluation_suite to test_suite in backend APIs and models
Rename all backend references from evaluation_suite to test_suite:
- Java enums (DatasetType, EvaluationMethod)
- Service/DAO SQL string literals
- Class renames (EvalSuite* -> TestSuite*)
- Config key (evalSuite -> testSuite)
- Metadata keys (eval_suite_* -> test_suite_*)
- DB migrations for enum value changes
- All test files updated
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- chore(codegen): regenerate OpenAPI spec and Fern SDK types
Fern codegen picks up the evaluation_suite → test_suite enum rename
from the backend. Updates generated REST types in both Python and
TypeScript SDKs, plus both OpenAPI spec copies.Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- [OPIK-5798] [SDK] feat: rename evaluation_suite to test_suite in TypeScript SDK
Rename all hand-written TypeScript SDK references:
- EvaluationSuite -> TestSuite (class, types, tests)
- evaluateSuite -> evaluateTestSuite (function, tests)
- Updated all exports, imports, and examples
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- [OPIK-5797] [SDK] feat: rename evaluation_suite to test_suite in Python SDK
Rename all hand-written Python SDK references:
- EvaluationSuite -> TestSuite (class, types)
- EvaluationSuiteResult -> TestSuiteResult
- Client methods: create/get/get_or_create_evaluation_suite -> test_suite
- REST operations: create/update_evaluation_suite_dataset -> test_suite
- Report directory: opik_evaluation_suite_reports -> opik_test_suite_reports
- Updated all imports, exports, tests, and .gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- fix(backend): update missed comment in ExperimentAggregatesDAO
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- [OPIK-5796] [FE] feat: rename evaluation_suite to test_suite in frontend
Rename all frontend references from evaluation_suite to test_suite:
- Component files and directories (v1 and v2)
- Route paths (/evaluation-suites -> /test-suites)
- Enum values (DATASET_TYPE.TEST_SUITE, EVALUATION_METHOD.TEST_SUITE)
- UI strings ("Evaluation Suite" -> "Test Suite")
- Store, hooks, and type definitions
- E2E test references
- Documentation references
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- fix(python-sdk): rename evaluate_suite to evaluate_test_suite
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- style(python-sdk): apply ruff format fixes
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- fix: correct grammar "an test suite" to "a test suite"
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- style(python-sdk): apply ruff format to test_test_suite files
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- fix(migration): add intermediate step for MySQL enum rename
MySQL MODIFY COLUMN fails with "Data truncated" when existing rows
contain the old enum value. Fix by first adding the new value, then
updating rows, then removing the old value.Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- fix(migration): normalize changeset author to danield
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- [OPIK-5795] [FE] fix: align DATASET_TYPE and EVALUATION_METHOD enum values to 'evaluation_suite'
The DB migration from 'evaluation_suite' to 'test_suite' hasn't run yet,
so the backend still serializes TEST_SUITE as 'evaluation_suite'. Align
frontend enum values to match, and replace hardcoded "test_suite" string
in checkIsTestSuite() with the EVALUATION_METHOD enum constant.- [OPIK-5795] [FE] fix: rename remaining 'evaluation' labels to 'test suite'
- 'Edit evaluation item' -> 'Edit test suite item'
- 'Select evaluation type' -> 'Select test type'
-
[OPIK-5795] [FE] fix: remove unused Plus import, add missing buildDocsUrl import, fix isEvalSuite → isTestSuite rename
-
[OPIK-5795] [SDK] chore: regenerate OpenAPI specs and SDK types after evaluation_suite → test_suite rename
-
[OPIK-5795] [SDK] fix: use evaluation_suite DB value for dataset type and evaluation method in Python and TypeScript SDKs
-
[OPIK-5795] [SDK] fix: use ExperimentWriteEvaluationMethod constant to satisfy TypeScript type checker
-
[OPIK-5795] [SDK] fix: update test assertions to expect 'evaluation_suite' instead of 'test_suite'
-
[OPIK-5795] [SDK] fix: update Python unit test assertions to expect 'evaluation_suite' not 'test_suite'
-
[OPIK-5842] [FE] feat: split datasets and test suites into separate v2 sidebar entries
Separate datasets from test suites in the v2 frontend sidebar, each with
their own list page, detail page, and item views. Shared logic lives in
pages-shared while page-specific components stay in their own directories.- Add DatasetsPage, DatasetItemsPage, DatasetDetailPage for regular datasets
- Extract shared DatasetItemsTab, DatasetItemsPage, DatasetItemsActionsPanel
- Add AddDatasetItemDialog (direct API for empty datasets) and
AddDatasetItemPanel (draft store for datasets with items) - Move test suite components to pages-shared/TestSuiteComponents
- Generalize AddEditDatasetDialog/useDatasetForm with datasetType param
- Add v2 routes for /datasets and /datasets/:id
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- fix(datasets): update test suite description, narrow add-item panel, and simplify settings dialog
- Update test suite list page description text and make docs URL per-type
- Set initialWidth=0.4 on test suite add-item panel to match dataset panel
- Rename "Settings" button to "Evaluation settings"
- Remove name/description fields from settings dialog (editable via table 3-dot menu only)
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- fix(datasets): restore dataset RESOURCE_MAP, fix DateTag tooltip, memoize initial values
- Fix RESOURCE_MAP[dataset] which was overwritten with test suite URLs/labels
- Use conditional RESOURCE_TYPE on DateTag so datasets show "Dataset creation time"
- Memoize initialData/initialValues in AddTestSuiteItemPanel
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- [OPIK-5795] [SDK] Fix evaluation_method literal and restore dropped test
- Revert incorrect rename of "evaluation_suite" → "test_suite" in evaluation_method Literal (backend API value must stay as-is)
- Restore test_run_tests__explicit_client__propagated_to_worker_threads that was lost during merge conflict resolution
- [OPIK-5795] [SDK] Delete outdated compatibility_v1 test_test_suite
File was intentionally deleted in main; kept by mistake during merge
conflict resolution. Coverage exists in tests/e2e/evaluation/test_test_suite.py.- fix(test-suites): update explainer text to 'agent' and improve prefilled data keys
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- refactor(datasets): split DatasetItemsPage into config, header, and save hook
Extract column definitions and storage keys into datasetItemsPageConfig.ts,
header UI into DatasetItemsPageHeader.tsx, and save/version logic into
useDatasetItemsSave.tsx. Reduces DatasetItemsPage from 730 to 300 lines.Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- [OPIK-5795] [FE] Fix lint errors in TestSuiteItemsTab
- Remove unused noDataText variable
- Fix prettier formatting on inline ternary
- [OPIK-5795] [FE] Fix remaining lint errors in TestSuiteItemsTab
- Remove unused deletedIds, itemLabel variables and useDeletedIds import
- Remove stray blank line
- fix(datasets): handle 409 conflict on initial version creation, restore polling constant
Add onError handler for the initial version mutate call so pendingVersionData
is set when a 409 occurs, allowing handleOverrideConfirm to proceed.
Restore POLLING_INTERVAL_MS named constant.Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- fix(fe): align page titles, add empty states, fix add-item dialog, update SDK snippet
- Align dataset/test-suite list pages with new title pattern (comet-body-accented, no description)
- Add PageEmptyState with SVG illustrations for both datasets and test suites
- Rename empty-evaluation-suites SVGs to empty-test-suites
- Remove stale ExplainerDescription from OptimizationsPage
- Fix empty-state "Add new item" to open the correct dialog (first-item dialog)
- Update test suite SDK snippet to use opik.run_tests() instead of suite.run()
- Update button text: "Create new" → "Create dataset" / "Create test suite"
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- feat(datasets): add create dataset/test suite sidebar wizard with success screen
- Replace centered modal dialog with 3-step ResizableSidePanel sidebar wizard
(Name/Description → Upload/Config → Success) - Add CreatedSuccess component with "Go to entity" and "Create another" actions
- Fix breadcrumb regression: use useParams instead of matchRoute to determine
breadcrumb key, ensuring dataset name shows correctly on child routes - Move DatasetListType to @/types/datasets to break circular dependency
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- feat(datasets): add SDK code snippets and improve create sidebar UX
- Add Python/TypeScript SDK snippets with copy button between CSV upload and advanced settings
- Use actual project name in SDK snippets
- Fix CSV upload section layout to match main (description, upload field, learn more)
- Add entity-specific placeholders for name and description fields
- Derive labels from TYPE_CONFIG to reduce repetitive type checks
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- [OPIK-5876] [FE] feat: hide Insights and Assertions tabs for test suite experiments
When viewing or comparing test suite experiments, the Insights and
Feedback scores/Assertions tabs are no longer relevant. This hides
both tabs when the experiment belongs to a test suite, keeping only
Experiment items and Configuration visible.Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
- fix(experiments): remove dead assertions code and normalize tab URL param
Remove unused ExperimentAssertionsTab and AssertionPassRateCell components.
Normalize the URL tab parameter to fall back to "items" when the requested
tab (insights/scores) is hidden for test suite experiments.Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com
Co-authored-by: Daniel Dimenshtein danield@comet.com
Co-authored-by: Claude Opus 4.6 (1M context) noreply@anthropic.com
Co-authored-by: Thiago Hora thiagoh@comet.com下载附件