generated from john/python-template
UI updates, changes sync'd to UI docs
This commit is contained in:
@@ -76,12 +76,12 @@ This checklist does not cover:
|
||||
1. Given a valid job id
|
||||
2. When the user opens Job detail
|
||||
3. Then job metadata for that record only is shown
|
||||
4. Then source preview or source warning state is shown
|
||||
4. Then document-scoped navigation links for Sources and Jobs are shown
|
||||
|
||||
### RD-4 Detail execution context visibility
|
||||
1. provider, model, and prompt_name are displayed when known
|
||||
2. status lifecycle value is visible
|
||||
3. source-level transcription and revision context is visible
|
||||
3. source-level transcription and revision context remains deferred in the current UI
|
||||
|
||||
### RD-5 Missing and invalid id states
|
||||
1. Given an invalid job id format
|
||||
@@ -92,25 +92,18 @@ This checklist does not cover:
|
||||
## Update Acceptance Criteria
|
||||
|
||||
### UP-1 Revision edit entry
|
||||
1. Given a job detail page with source context
|
||||
2. When the user enters revision edit flow
|
||||
3. Then revised_text input is available
|
||||
1. Given a job detail page
|
||||
2. When the user opens the page
|
||||
3. Then document-scoped navigation links are available
|
||||
|
||||
### UP-2 Revision validation
|
||||
1. revised_text cannot be saved as empty after trimming
|
||||
2. Warning feedback is shown for invalid empty input
|
||||
1. source revision editing remains deferred in the current UI
|
||||
|
||||
### UP-3 Successful revision save
|
||||
1. Given valid revision text
|
||||
2. When the user saves
|
||||
3. Then revised_text persists
|
||||
4. Then success feedback is shown
|
||||
5. Then refreshed revision content is visible
|
||||
1. deferred until the source revision UI is restored
|
||||
|
||||
### UP-4 Revision save failure
|
||||
1. Given backend failure during revision save
|
||||
2. Then clear error feedback is shown
|
||||
3. Then the user-entered text remains available for retry where possible
|
||||
1. deferred until the source revision UI is restored
|
||||
|
||||
### UP-5 Job lifecycle state update visibility
|
||||
1. status changes from queued to processing to terminal states are reflected in UI
|
||||
@@ -120,30 +113,19 @@ This checklist does not cover:
|
||||
## Delete Acceptance Criteria
|
||||
|
||||
### DL-1 Delete entry and confirmation
|
||||
1. Given a job detail context with delete affordance
|
||||
2. When the user selects delete job
|
||||
3. Then a permanent-action confirmation dialog appears
|
||||
1. job deletion is deferred in the current UI
|
||||
|
||||
### DL-2 Dependency guardrails
|
||||
1. If deletion policy requires retention handling for related JobSource history, delete is blocked
|
||||
2. If deletion policy allows dependent cleanup path, delete can proceed
|
||||
1. deferred until a job delete flow is reintroduced
|
||||
|
||||
### DL-3 Blocked delete behavior
|
||||
1. When blocked
|
||||
2. Then UI explains dependency constraints
|
||||
3. Then UI provides cleanup guidance
|
||||
1. deferred until a job delete flow is reintroduced
|
||||
|
||||
### DL-4 Successful delete
|
||||
1. Given no blocking dependencies
|
||||
2. When the user confirms deletion
|
||||
3. Then job is removed
|
||||
4. Then success feedback is shown
|
||||
5. Then the user returns to Jobs list
|
||||
1. deferred until a job delete flow is reintroduced
|
||||
|
||||
### DL-5 Delete failure
|
||||
1. Given backend failure during delete
|
||||
2. Then clear error feedback is shown
|
||||
3. Then the user remains in Job context with retry path
|
||||
1. deferred until a job delete flow is reintroduced
|
||||
|
||||
## Cross-Criteria Quality Gates
|
||||
|
||||
|
||||
@@ -36,11 +36,7 @@ This document uses three lenses:
|
||||
| prompt_name | str | Yes | None | Visible when known; editable if create-time options are available | Prompt metadata |
|
||||
|
||||
Related execution fields rendered in Job detail via relationships:
|
||||
- JobSource.status
|
||||
- JobSource.error_detail
|
||||
- JobSource.executed_at
|
||||
- Source.upload_name, Source.filename, Source.page_number
|
||||
- Source.raw_transcription, Source.revised_text
|
||||
- none in the current simplified detail view beyond job metadata and document navigation links
|
||||
|
||||
## 4. CREATE Mapping
|
||||
|
||||
@@ -69,9 +65,9 @@ Create-related relationship rules:
|
||||
|
||||
### 4.2 Current Implementation
|
||||
|
||||
Current entry point: upload page through create_upload_job()
|
||||
Current user action: upload one file through upload flow
|
||||
Current backend path: upload submit -> create_upload_job -> _create_upload_records
|
||||
Current entry point: Jobs page create flow
|
||||
Current user action: select Document and upload one or more files or a folder through a single upload widget
|
||||
Current backend path: job create submit -> create_job_for_document()
|
||||
|
||||
| Field | Current Value at Create | Source | Visible to User | Evidence |
|
||||
|---|---|---|---|---|
|
||||
@@ -81,14 +77,14 @@ Current backend path: upload submit -> create_upload_job -> _create_upload_recor
|
||||
| retry_count | 0 | Model default | Yes | src/transcription/db/models.py, src/transcription/ui/pages/jobs_page.py |
|
||||
| date_created | current UTC timestamp | System | Yes | src/transcription/db/models.py, src/transcription/ui/pages/jobs_page.py |
|
||||
| date_updated | current UTC timestamp | System | Yes | src/transcription/db/models.py, src/transcription/ui/pages/jobs_page.py |
|
||||
| provider | None at create, set after transcription update | Workflow/service | Partially | src/transcription/services/workflows.py |
|
||||
| model | None at create, set after transcription update | Workflow/service | Partially | src/transcription/services/workflows.py |
|
||||
| prompt_name | None at create, set by workflow updates | Workflow/service | Partially | src/transcription/services/workflows.py |
|
||||
| provider | None at create, set after transcription update | Workflow/service | Yes | src/transcription/services/workflows.py |
|
||||
| model | None at create, set after transcription update | Workflow/service | Yes | src/transcription/services/workflows.py |
|
||||
| prompt_name | None at create, set by workflow updates | Workflow/service | Yes | src/transcription/services/workflows.py |
|
||||
|
||||
Current create constraints:
|
||||
1. no dedicated Create job action in the Jobs page.
|
||||
2. upload flow currently creates Document, Job, Source, and JobSource together.
|
||||
3. current upload path accepts a single file per submission.
|
||||
1. dedicated Create job action exists in the Jobs page.
|
||||
2. job create flow requires a Document selection.
|
||||
3. current upload path accepts one widget for files or folder selection.
|
||||
|
||||
### 4.3 Gap to Target
|
||||
|
||||
@@ -132,16 +128,14 @@ Source-related read behavior:
|
||||
### 5.3 Gap to Target
|
||||
|
||||
To satisfy intended Read flow, implementation must add:
|
||||
1. list-level create affordance and enhanced filtering/search UX.
|
||||
2. explicit Document context rendering in list and detail.
|
||||
3. explicit provider/model/prompt_name rendering in detail when known.
|
||||
4. richer multi-source detail navigation when more than one source is linked.
|
||||
1. richer per-source detail navigation if a later revision restores transcription review in Job detail.
|
||||
2. richer filtering/search UX if needed.
|
||||
|
||||
## 6. UPDATE Mapping
|
||||
|
||||
### 6.1 Intended Update Behavior
|
||||
|
||||
Primary user updates in first release are revision edits in job detail source context.
|
||||
Primary user updates in first release are source revision edits in job detail source context in the product plan, but the current UI no longer exposes that surface.
|
||||
|
||||
Intended editable scope (first release):
|
||||
- Source.revised_text through Job detail review
|
||||
@@ -162,7 +156,7 @@ Job metadata visibility policy:
|
||||
|
||||
| Field/Area | Updatable via UI | Updatable via Service | Notes |
|
||||
|---|---|---|---|
|
||||
| Source.revised_text from job detail | Yes | Yes | Saved via transcription service revision path |
|
||||
| Source.revised_text from job detail | No | Yes | Saved via transcription service revision path, but the current UI does not expose the editor |
|
||||
| status | No | Yes | Updated by workflow lifecycle services |
|
||||
| retry_count | No | Yes | Incremented by workflow retry logic |
|
||||
| provider/model/prompt_name | No | Yes | Set during transcription result finalization |
|
||||
@@ -170,16 +164,16 @@ Job metadata visibility policy:
|
||||
|
||||
### 6.3 Gap to Target
|
||||
|
||||
Implementation should add:
|
||||
1. explicit create-mode handling for provider/model/prompt visibility and optional selection.
|
||||
2. richer detail display for provider/model/prompt and source-level execution outcomes.
|
||||
3. optional future manual controls for retry and state transitions.
|
||||
Implementation now includes:
|
||||
1. create-mode handling for provider/model/prompt visibility and optional selection.
|
||||
2. detail display for provider/model/prompt and document-scoped navigation links.
|
||||
3. manual controls for retry and state transitions remain deferred.
|
||||
|
||||
## 7. DELETE Mapping
|
||||
|
||||
### 7.1 Intended Delete Behavior
|
||||
|
||||
Job deletion should include dependency-aware guardrails.
|
||||
Job deletion is deferred in the current UI.
|
||||
|
||||
Rules:
|
||||
1. deletion is allowed only when policy allows cleanup or retention handling for related JobSource records.
|
||||
@@ -194,7 +188,7 @@ Rules:
|
||||
|
||||
### 7.3 Gap to Target
|
||||
|
||||
Implementation must add:
|
||||
Implementation should add in a future revision:
|
||||
1. delete control in Job detail.
|
||||
2. dependency checks and blocked-delete messaging.
|
||||
3. success navigation and confirmation UX.
|
||||
|
||||
@@ -18,7 +18,7 @@ Managing a Job is run-first:
|
||||
4. The user links a Document and uploads one or more source files.
|
||||
5. The user submits for transcription.
|
||||
6. The system creates and processes the Job.
|
||||
7. The user reviews per-source output and saves revisions.
|
||||
7. The user reviews job metadata and follows document-scoped links for Sources and Jobs.
|
||||
|
||||
## 2. User Goal
|
||||
|
||||
@@ -54,9 +54,9 @@ Create mode should include:
|
||||
|
||||
Detail mode should include:
|
||||
1. job metadata and status
|
||||
2. per-source processing state
|
||||
3. original transcription output
|
||||
4. revision editor and save actions
|
||||
2. document-scoped navigation links for the current Document
|
||||
3. provider/model/prompt visibility when known
|
||||
4. no delete action in first release
|
||||
|
||||
## 4. Entry Points
|
||||
|
||||
@@ -67,6 +67,7 @@ Primary entry points:
|
||||
Current implementation note:
|
||||
1. current code path is upload-first and auto-creates Job records
|
||||
2. intended UX is explicit Create job from the Jobs page
|
||||
3. current detail view is link-oriented and does not show per-source transcription or revision editing controls
|
||||
|
||||
## 5. Create Job Flow
|
||||
|
||||
|
||||
Reference in New Issue
Block a user