Skip to content

Run unified V1 operator UX acceptance pass across daily workflows #57

Description

@alexeygrigorev

Run unified V1 operator UX acceptance pass across daily workflows

Status: pending
Tags: enhancement, portal, work-engine, assistant, frontend, testing, data, design, P1
Depends on: None for the agent-verifiable pass. Run after the shipped/agent-accepted surfaces from #41, #32, #35, #44, and #56. #41 remains open only for human production Trello/DynamoDB import gates, and #30 remains open only for human production assistant credential/deploy gates.
Blocks: Follow-up polish/bug issues discovered by this pass.
Next owner: Designer, then PM acceptance review of the Designer report. Software Engineer follow-up only for specific defects filed from this pass.

Scope

Run a unified V1 operator UX acceptance pass from the DataTalksClub operations manager's point of view. The outcome is a screenshot-backed report that proves whether the current V1 surfaces feel like one workflow-first daily workspace after the recently shipped dashboard/workflow/search/process-quality/assistant/follow-up/migration work, or identifies focused follow-up issues where the experience breaks.

This is a cross-surface acceptance and design audit, not a new feature build. Verify the operator can start from the daily dashboard, understand the next action, move through workflows/tasks/search/process quality/assistant outputs/follow-ups/intake placement/export safety states, and return to the work queue without feeling like they switched between disconnected tools.

Use these references:

Do not use or follow the unrelated APK link posted by a non-maintainer comment on this issue. Treat it as spam/noise.

Acceptance Criteria

  • The audit uses representative local/test data for an operations day: today tasks, overdue tasks, waiting/follow-up tasks, an at-risk workflow with missing proof, a migrated active workflow from Migrate active Trello cards into integrated operations-manager work #41-style data, search results, process-quality findings, assistant output, and export/data-safety states.
  • Operations Home reads as the daily command center: today, overdue, follow-ups due, waiting, and at-risk workflows are visually distinct; each row/card exposes the next useful action; empty states are compact and operational.
  • A dashboard task opens into workflow context without losing the operator's place, and the operator can move between task detail, workflow detail, process docs, search results, and back to the daily queue.
  • Workflow detail clearly shows stage, progress, next task, waiting count, overdue count, missing proof, required links/files/artifacts, assistant context when present, and done history without completed work drowning active work.
  • Completion and proof states are consistent across dashboard, task list, workflow detail, and migrated work: missing proof blocks completion with specific copy, saved proof is visible, and completed tasks show audit-friendly user/time state where supported.
  • Waiting, reminder, and follow-up controls from Add operator follow-up actions and history controls #56 are understandable from both task and workflow contexts: waiting work is not counted as done, follow-up due work resurfaces, "follow-up sent", snooze, response received, channel, note, and history copy are coherent.
  • Search from Implement unified operator search across docs and work context #32 supports workflow-first recovery: results distinguish docs, tasks, workflows, process-quality findings, and assistant artifacts where available; routes land in the right context; no-result and loading/error states tell the operator what to do next.
  • Process quality from Add process quality dashboard for runnable workflows #35 is framed as runnable workflow risk, proof gap, broken process-doc reference, or remediation action rather than documentation vanity metrics; findings route to the relevant workflow/doc/task context where supported.
  • Podcast Assistant UI from Implement Podcast Assistant portal UI in workflow context #44 reuses the shared DataOps language for jobs, artifacts, logs, approvals, retries, review actions, and workflow-linked outputs; assistant artifacts do not appear to satisfy proof unless the task/workflow accepts that artifact type.
  • Intake placement is evaluated without implementing Implement raw intake inbox for operational inputs #31: current ad-hoc/create/raw-intake entry points should make it clear where incoming work belongs, preserve workflow-first hierarchy, and avoid promising a full raw inbox until Implement raw intake inbox for operational inputs #31 ships. Any missing full inbox behavior is filed or confirmed under Implement raw intake inbox for operational inputs #31, not implemented here.
  • Export and data-safety states are evaluated without implementing Add offsite export archives and restore evidence for production data safety #58: current portable export, dry-run import, backup/restore, unsafe/destructive, and human-gated production-copy states use clear operator/admin copy and do not encourage unsafe production writes. Offsite archive gaps are filed or confirmed under Add offsite export archives and restore evidence for production data safety #58.
  • Desktop acceptance is screenshot-backed for the main daily workflow, workflow detail, search/results, process quality, assistant review, follow-up/history, intake placement, and data-safety/export states.
  • Pixel 7-sized mobile acceptance is screenshot-backed for the same core flow where the surface exists. Mobile must show one primary state at a time, preserve touch targets, avoid text overlap, and keep active work above optional creation/configuration controls.
  • Copy is consistent across surfaces for the same concepts: today, overdue, waiting, follow-up due, at risk, missing proof, required link/file/artifact, assistant output, process gap, export, dry-run, backup, restore, and human-gated production action.
  • Accessibility basics are checked for the inspected flow: keyboard focus, visible focus state, accessible names for icon-only controls, readable status text without color reliance, modal/drawer Escape behavior where implemented, and no 404/error/blank page in the accepted screenshots.
  • The Designer posts one GitHub issue comment with DESIGN PASS or DESIGN FINDINGS, inspected routes, viewport sizes, screenshot paths under .tmp/screenshots/, blocking findings, non-blocking polish, and exact follow-up issue numbers if new issues are filed.

Test Scenarios

Scenario: Start the day and resolve risk

Given: local/test data includes today tasks, overdue tasks, waiting follow-ups, and at least one workflow missing required proof
When: the operator opens Operations Home and selects the highest-priority risk
Then: the next action is obvious, the task opens in workflow context, missing proof is explained, and the operator can return to the daily queue.

Scenario: Follow up without completing waiting work

Given: a task is waiting for a guest, sponsor, speaker, author, freelancer, reviewer, accountant, or Alexey with followUpAt due
When: the operator records a follow-up, snoozes, or marks response received
Then: the task remains active until actually completed, history records channel/note/time, and dashboard/workflow state updates consistently.

Scenario: Find work and process guidance

Given: the operator searches for a workflow, task, SOP/process doc, process-quality finding, and assistant artifact
When: each result is opened
Then: the result label matches its type and the landing screen preserves workflow context or clearly explains when the item is only supporting documentation.

Scenario: Assistant output in workflow context

Given: a podcast assistant job has output linked to a workflow
When: the operator reviews the job/artifact
Then: status, logs, approval/retry actions, linked workflow/task, and artifact/proof relationship use the shared DataOps UI and copy.

Scenario: Intake placement does not fragment the workspace

Given: incoming work needs to become an ad-hoc task or attach to an existing workflow
When: the operator looks for the intake/create path
Then: the available entry point is discoverable from the workspace, routes the operator toward task/workflow context, and any missing raw inbox behavior is captured as #31 scope.

Scenario: Data-safety states avoid unsafe actions

Given: the operator/admin inspects export, dry-run import, backup, restore, or production-write states
When: a potentially destructive or production-affecting action is visible
Then: copy marks the action as human-gated or safe dry-run/local behavior, and offsite archive/restore evidence gaps are captured as #58 scope.

Scenario: Responsive operator flow

Given: the same daily workflow is inspected on desktop and Pixel 7-sized mobile
When: the operator moves through dashboard, task/workflow detail, search, assistant, follow-up, and data-safety states
Then: the mobile flow shows one primary state at a time, text and controls do not overlap, primary work stays reachable, and navigation back to the queue is clear.

Out of Scope

Dependencies

Required Verification

The next owner should run the relevant local checks before screenshot review:

npm --prefix work-engine test
npm --prefix work-engine run typecheck
npm --prefix work-engine run build
npm --prefix work-engine run test:e2e
uv run --project lambda-functions --extra search --with pytest python -m pytest tests/docs_app
uv run --project lambda-functions --extra search python -m lambda_functions.validate_docs_links --repo-root . --content-root content
uv run --project lambda-functions --extra search python -m lambda_functions.process_quality --repo-root . --content-root content --output .tmp/process-quality-report.json
cd lambda-functions
uv run --extra search python -m lambda_functions.build_search_index --docs-dir ../content --output ../.tmp/dataops-content-search.index
cd ..
git diff --check

Capture screenshots under .tmp/screenshots/issue-57/ for:

  • desktop Operations Home daily queue and at-risk workflow
  • desktop task/workflow detail with missing proof
  • desktop waiting/follow-up action and history
  • desktop search/results routing
  • desktop process-quality findings
  • desktop assistant job/artifact review
  • desktop intake/create placement
  • desktop export/data-safety states
  • Pixel 7-sized mobile equivalents for the core daily queue, workflow detail, search, follow-up, and assistant/data-safety states where available

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1ImportantassistantAssistant modules and jobsdataData model, migration, storagedesignDesign and UXenhancementNew or improved functionalityfrontendFrontend UIportalShared portal shell and UXtestingTests and QAwork-engineDataTasks task execution engine

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions