Move dataset review clarification into the assistant workspace and rework the review page into a chat-centric layout with execution rails. Add session-scoped assistant actions for mappings, semantic fields, and SQL preview generation. Introduce optimistic locking for dataset review mutations, propagate session versions through API responses, and mask imported filter values before assistant exposure. Refresh tests, i18n, and spec artifacts to match the new workflow. BREAKING CHANGE: dataset review mutation endpoints now require the X-Session-Version header, and clarification is no longer handled through ClarificationDialog-based flows
3.9 KiB
3.9 KiB
Tasks: LLM Dataset Orchestration
Feature Branch: 027-dataset-llm-orchestration
Implementation Plan: specs/027-dataset-llm-orchestration/plan.md
Rebaseline Note
This task list is rebaselined to the approved mixed-initiative assistant scope from 027-task.md.
Previously completed implementation checkboxes remain historical only. They are no longer treated as authoritative for feature acceptance until the codebase is aligned with the refreshed spec artifacts below.
Phase A: Spec Refresh Gate
- T001 Refresh
ux_reference.mdto replace modal clarification withAssistantChatPanelmixed-initiative behavior - T002 Refresh
spec.mdto update FR-013 and add FR-045/FR-046 - T003 Refresh
contracts/api.yamlto adddataset_review_session_idtoAssistantMessageRequestand expose session version in session DTOs - T004 Refresh
data-model.mdto add optimistic-lockversionand PII masking requirements forImportedFilter.raw_value - T005 Refresh
contracts/modules.mdto route clarification throughAssistantChatPanel, expose orchestrator state toAssistantApi, and retireClarificationDialog
Phase B: Backend Rebaseline Work
- T006 Implement optimistic locking in
backend/src/services/dataset_review/repositories/session_repository.pyusingDatasetReviewSession.versionand conflict semantics - T007 Update dataset review session schemas and route handlers to require and return session version consistently
- T008 Add
dataset_review_session_idtobackend/src/api/routes/assistant.py::AssistantMessageRequest - T009 Load dataset-review context into assistant planning flow when
dataset_review_session_idis present - T010 Add assistant intent routing for dataset-review commands (
APPROVE_MAPPINGS,SET_FIELD_SEMANTICS,GENERATE_SQL_PREVIEW) throughDatasetReviewOrchestrator - T011 Add PII masking/redaction for imported filter values before assistant or LLM-facing context assembly
- T012 Preserve backend mutation observability with semantic logging and conflict-safe mutation boundaries
Phase C: Frontend Rebaseline Work
- T013 Integrate
AssistantChatPanelintofrontend/src/routes/datasets/review/[id]/+page.svelteas the clarification surface - T014 Remove or retire
ClarificationDialogusage from the dataset review workflow - T015 Add inline [✨ Ask AI] / [✨ Improve] triggers for findings, partial filters, mappings, and business summary surfaces
- T016 Add workspace highlight synchronization when assistant prompts reference
field_id,filter_id, mapping, or finding targets - T017 Render assistant confirmation cards for state-changing actions tied to dataset review sessions
- T018 Update SQL preview refresh behavior so rapid mapping changes produce
stalestate and debounce/explicit regeneration behavior
Phase D: Validation After Rebaseline
- T019 Verify feature behavior against refreshed
ux_reference.md, especially mixed-initiative clarification and context actions - T020 Verify WYSIWWR, Superset-only SQL compilation, session-version conflict handling, and PII masking boundaries
- T021 Run semantic audit for updated 027 contracts before implementation handoff closure
Dependencies & Strategy
Delivery Order
- Spec Refresh Gate
- Backend optimistic locking and assistant routing
- Frontend assistant-panel integration and contextual UX
- Validation and semantic audit
Scope Invariants
- Keep feature work bounded to
027-dataset-llm-orchestrationimplementation surfaces. - Preserve WYSIWWR and Superset-only SQL compilation.
- Do not allow assistant commands to bypass explicit approval or launch gates.
- Keep i18n, Tailwind-first UI,
requestApi/fetchApi, andTaskManagerconventions intact.