ALL-202: Add delete action for curation rows in the curation review table#213
ALL-202: Add delete action for curation rows in the curation review table#213christabone merged 4 commits intomainfrom
Conversation
PR Review: ALL-202 — Add delete action for curation rows in the curation review tableSummaryThis PR adds row-level deletion for curation candidates in the workspace. Changes span the full stack:
BLOCKING IssuesNone found.
Other IssuesNo critical or warning-level issues. Suggestions (non-blocking):
What looks good
Overall AssessmentClean, well-structured PR. The feature is complete end-to-end with appropriate test coverage. No blocking issues. Approved. Need help? Comment |
|
@claude Please review these recent changes.
|
Re-review: ALL-202 — Add delete action for curation rows (after
|
# Conflicts: # backend/tests/unit/api/test_auth_api.py # backend/tests/unit/api/test_auth_api_endpoints.py # backend/tests/unit/api/test_chat_execute_flow_endpoint.py # backend/tests/unit/api/test_flow_evidence_export.py # backend/tests/unit/api/test_flows_api.py # backend/tests/unit/api/test_flows_endpoints.py
|
@claude Please review these recent changes.
|
Re-review: ALL-202 — Add curation row delete action (after
|
| Commit | Description | Assessment |
|---|---|---|
30e35df |
Fix delete action follow-up CI regressions | Test expectation in useEvidenceNavigation.test.ts updated to use expect.objectContaining() with subsection_title: null, aligning with the EvidenceAnchor type that includes this optional field. Correct fix. |
d5931ac |
Merge remote-tracking branch origin/main into all-202 |
Merge commit bringing in main (including ALL-204 reranking changes). No conflict artifacts in the diff. |
BLOCKING Issues
None found.
- No fallback patterns: The
?? nullusages (e.g.,response.session.current_candidate_id ?? null,state.tags.find(...) ?? null) handle genuinely optional/nullable values, not silent degradation. ThecatchinEntityTagTable.handleConfirmDeletelogs the error and lets the page-levelsetTableError(set before re-throw inCurationWorkspacePage.handleDeleteTag) surface it to the user — not error swallowing. - No dead code: All imports, types, functions, and helpers introduced by this PR are referenced. The refactored
_clear_prepared_session_childrencleanly delegates to the shared_delete_session_validation_snapshotsand_delete_candidate_childrenhelpers with no leftover inline SQL.
Other Issues
No critical, warning, or suggestion-level issues.
Overall Assessment
Clean merge of main with a minor CI test fix. No new concerns introduced. The full PR remains well-structured with comprehensive test coverage across all layers. Approved.
Need help? Comment @claude followed by your request.
TL;DR
Adds row-level deletion for prepared curation candidates, including confirmation UI, backend persistence, and cleanup of dependent candidate state.
Summary
candidate_deletedaction-log typing and response payload support.EntityTagRow,EntityTagTable, andCurationWorkspacePagewith explicit confirm dialog and autosave-before-delete behavior.Test Plan
docker compose -f docker-compose.test.yml run --rm backend-unit-tests bash -lc "python -m pytest tests/unit/api/test_curation_workspace_api.py tests/unit/lib/curation_workspace/test_session_service.py -v --tb=short"docker compose -f docker-compose.test.yml run --rm backend-integration-tests bash -lc "python -m pytest tests/integration/test_curation_workspace_sessions_api.py -v --tb=short"cd frontend && npm ci && npm run test -- --run src/features/curation/entityTable/EntityTagRow.test.tsx src/features/curation/entityTable/EntityTagTable.test.tsx src/pages/CurationWorkspacePage.test.tsx