fix(us3): align dataset review contracts and acceptance gates
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
<!-- @PRE: Session id is available and clarification state payload belongs to the current ownership-scoped session. -->
|
||||
<!-- @POST: Users can answer, skip, or route to expert review while the UI keeps only the active clarification question visible and preserves resumable progress. -->
|
||||
<!-- @SIDE_EFFECT: Persists clarification answers and may resume clarification state from dataset orchestration APIs. -->
|
||||
<!-- @DATA_CONTRACT: Input -> Dataset review clarification state { sessionId, clarificationState.current_question, clarificationState.clarification_session }; Output -> onupdated(nextClarificationState) refresh payload plus optional question feedback mutation. -->
|
||||
<!-- @UX_STATE: Question -> Active clarification question with options and current guess is visible. -->
|
||||
<!-- @UX_STATE: Saving -> Answer controls are disabled while one mutation is in flight. -->
|
||||
<!-- @UX_STATE: Completed -> No active question remains and resumable clarification summary stays visible. -->
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<!-- @PRE: Session id is available and preview state comes from the current ownership-scoped session detail payload. -->
|
||||
<!-- @POST: Users can distinguish missing, pending, ready, stale, and error preview states and can trigger only Superset-backed preview generation. -->
|
||||
<!-- @SIDE_EFFECT: Requests preview generation through dataset orchestration APIs and updates route shell preview state when Superset responds. -->
|
||||
<!-- @DATA_CONTRACT: Input -> Dataset review preview payload { sessionId, preview, previewState }; Output -> onupdated({ preview, preview_state }) route-shell refresh payload and onjump({ target }) recovery navigation signal. -->
|
||||
<!-- @UX_STATE: Missing -> Prompt the user to generate a Superset preview before launch. -->
|
||||
<!-- @UX_STATE: Pending -> Show generation-in-progress feedback without fabricating SQL. -->
|
||||
<!-- @UX_STATE: Ready -> Render read-only SQL preview that is explicitly labeled as compiled by Superset. -->
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<!-- @PRE: Session id, execution mappings, imported filters, and template variables belong to the current ownership-scoped session payload. -->
|
||||
<!-- @POST: Users can review effective mapping values, approve warning-sensitive transformations, or manually override them while unresolved required-value blockers remain visible. -->
|
||||
<!-- @SIDE_EFFECT: Persists mapping approvals or manual overrides through dataset orchestration APIs and may invalidate the current preview truth for the route shell. -->
|
||||
<!-- @DATA_CONTRACT: Input -> Dataset review execution payload { sessionId, mappings[], importedFilters[], templateVariables[] }; Output -> onupdated({ mapping | mappings, preview_state }) route-shell refresh payload. -->
|
||||
<!-- @UX_STATE: Incomplete -> Required mapping values remain missing and blockers stay visible. -->
|
||||
<!-- @UX_STATE: WarningApproval -> Mapping rows with transformation risk require explicit approval before execution can proceed. -->
|
||||
<!-- @UX_STATE: Approved -> All launch-sensitive mappings are approved or no explicit approval is required. -->
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<!-- @PRE: Session detail, mappings, findings, preview state, and latest run context belong to the current ownership-scoped session payload. -->
|
||||
<!-- @POST: Users can see why launch is blocked or confirm a run-ready launch with explicit SQL Lab handoff evidence. -->
|
||||
<!-- @SIDE_EFFECT: Submits the launch request through dataset orchestration APIs and updates the workspace with returned run context state. -->
|
||||
<!-- @DATA_CONTRACT: Input -> Dataset review launch payload { sessionId, session, findings[], mappings[], preview, previewState, latestRunContext }; Output -> onupdated({ launch_result, preview_state }) workspace refresh payload and onjump({ target }) remediation navigation signal. -->
|
||||
<!-- @UX_STATE: Blocked -> Explicit blocker list prevents hidden bypass of approvals, readiness, or preview-fingerprint gates. -->
|
||||
<!-- @UX_STATE: Ready -> Final reviewed run context is visible before confirmation. -->
|
||||
<!-- @UX_STATE: Submitted -> SQL Lab handoff and audited run context reference are shown after launch request succeeds. -->
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<!-- @PRE: Session id is available and semantic field entries come from the current ownership-scoped session detail payload. -->
|
||||
<!-- @POST: Users can review the current semantic value, accept a candidate, apply manual override, and lock or unlock field state without violating backend provenance rules. -->
|
||||
<!-- @SIDE_EFFECT: Persists semantic field decisions, lock state, and optional thumbs feedback through dataset orchestration endpoints. -->
|
||||
<!-- @DATA_CONTRACT: Input -> Dataset review session detail { sessionId, fields[], semanticSources[] }; Output -> onupdated(updatedField | { fields: updatedFields }) refresh payload. -->
|
||||
<!-- @UX_STATE: Conflicted -> Multiple candidates or review-needed fields remain visible with explicit acceptance actions. -->
|
||||
<!-- @UX_STATE: Manual -> One field enters local draft mode and persists as locked manual override on save. -->
|
||||
<!-- @UX_FEEDBACK: Save, lock, unlock, and feedback actions expose inline success or error state on the affected field. -->
|
||||
|
||||
Reference in New Issue
Block a user