generated from john/python-template
UI slog grinds on
This commit is contained in:
@@ -36,7 +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:
|
||||
- none in the current simplified detail view beyond job metadata and document navigation links
|
||||
- Job detail renders metadata and document links; source-level review/editing is reached through job-scoped Sources routes.
|
||||
|
||||
## 4. CREATE Mapping
|
||||
|
||||
@@ -72,7 +72,7 @@ Current backend path: job create submit -> create_job_for_document()
|
||||
| Field | Current Value at Create | Source | Visible to User | Evidence |
|
||||
|---|---|---|---|---|
|
||||
| id | Generated UUID | System | Yes on jobs list/detail | src/transcription/ui/pages/jobs_page.py |
|
||||
| document_id | Newly created Document id | Service | Indirectly | src/transcription/services/store.py |
|
||||
| document_id | Selected existing Document id | User selection + service write | Indirectly | src/transcription/ui/pages/jobs_page.py, src/transcription/services/store.py |
|
||||
| status | queued | Service/model default | Yes | src/transcription/services/store.py, src/transcription/db/models.py |
|
||||
| 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 |
|
||||
@@ -118,27 +118,27 @@ Current read behavior exists in jobs list and jobs detail routes.
|
||||
| date_created | Jobs list table | Yes | Included in row model | src/transcription/ui/components/table/jobs.py |
|
||||
| date_updated | Jobs list table | Yes | Included in row model | src/transcription/ui/components/table/jobs.py |
|
||||
| document_id | Not rendered directly as labeled field | Partial | Document context exists by relationship but limited direct display | src/transcription/ui/pages/jobs_page.py |
|
||||
| provider/model/prompt_name | Not rendered as first-class labels | Partial | Stored in job records after processing updates | src/transcription/services/workflows.py |
|
||||
| provider/model/prompt_name | Rendered as labeled fields in Job detail | Yes | Shows pending fallback when unset | src/transcription/ui/pages/jobs_page.py |
|
||||
|
||||
Source-related read behavior:
|
||||
1. one primary source preview is shown in detail.
|
||||
2. original transcription and revision editor are rendered for source context.
|
||||
1. Job detail exposes Sources navigation for current job context.
|
||||
2. Source preview, transcription context, and revision editor are rendered in Source detail.
|
||||
3. invalid or missing job ids show explicit UI states.
|
||||
|
||||
### 5.3 Gap to Target
|
||||
|
||||
To satisfy intended Read flow, implementation must add:
|
||||
1. richer per-source detail navigation if a later revision restores transcription review in Job detail.
|
||||
1. optional in-page source summaries in Job detail if future UX requires fewer navigation steps.
|
||||
2. richer filtering/search UX if needed.
|
||||
|
||||
## 6. UPDATE Mapping
|
||||
|
||||
### 6.1 Intended Update Behavior
|
||||
|
||||
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.
|
||||
Primary user updates in first release are source revision edits in Source detail reached from Job detail.
|
||||
|
||||
Intended editable scope (first release):
|
||||
- Source.revised_text through Job detail review
|
||||
- Source.revised_text through Source detail review
|
||||
|
||||
Intended read-only Job fields in first release:
|
||||
- id
|
||||
@@ -156,7 +156,7 @@ Job metadata visibility policy:
|
||||
|
||||
| Field/Area | Updatable via UI | Updatable via Service | Notes |
|
||||
|---|---|---|---|
|
||||
| Source.revised_text from job detail | No | Yes | Saved via transcription service revision path, but the current UI does not expose the editor |
|
||||
| Source.revised_text from Source detail | Yes | Yes | Saved via transcription service revision path from Sources page detail route |
|
||||
| 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 |
|
||||
@@ -167,13 +167,14 @@ Job metadata visibility policy:
|
||||
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.
|
||||
3. source revision workflow through job-scoped Sources and Source detail pages.
|
||||
4. manual controls for retry and state transitions remain deferred.
|
||||
|
||||
## 7. DELETE Mapping
|
||||
|
||||
### 7.1 Intended Delete Behavior
|
||||
|
||||
Job deletion is deferred in the current UI.
|
||||
Job deletion is implemented as a dedicated delete route with processing-state guardrails.
|
||||
|
||||
Rules:
|
||||
1. deletion is allowed only when policy allows cleanup or retention handling for related JobSource records.
|
||||
@@ -184,14 +185,13 @@ Rules:
|
||||
|
||||
| Action | UI Exposed | Backend Capability | Notes |
|
||||
|---|---|---|---|
|
||||
| Delete Job | No | Yes | JobService.delete_job() exists; no dedicated UI delete flow |
|
||||
| Delete Job | Yes | Yes | Job delete page confirms permanent action and blocks when processing |
|
||||
|
||||
### 7.3 Gap to Target
|
||||
|
||||
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.
|
||||
Implementation may add in a future revision:
|
||||
1. inline delete entry in Job detail header.
|
||||
2. richer dependency messaging beyond processing-state guardrail.
|
||||
|
||||
## 8. Hidden and System-Managed Fields
|
||||
|
||||
@@ -211,10 +211,11 @@ Schema and models:
|
||||
Current implementation:
|
||||
- src/transcription/ui/pages/jobs_page.py
|
||||
- src/transcription/ui/components/table/jobs.py
|
||||
- src/transcription/ui/components/transcript.py
|
||||
- src/transcription/ui/pages/sources_page.py
|
||||
- src/transcription/services/jobs.py
|
||||
- src/transcription/services/workflows.py
|
||||
- src/transcription/services/store.py
|
||||
- src/transcription/services/transcription.py
|
||||
|
||||
Companion UX spec:
|
||||
- docs/ui/entities/job/user-journey.md
|
||||
@@ -226,7 +227,7 @@ Acceptance checklist:
|
||||
|
||||
- Every Job schema field appears in the field inventory.
|
||||
- Intended Create behavior matches the companion user journey.
|
||||
- Current behavior reflects existing upload-first creation and jobs read surfaces.
|
||||
- Current behavior reflects explicit jobs creation plus source review/editing through dedicated Sources routes.
|
||||
- Provider/model/prompt visibility intent is explicit for create and detail views.
|
||||
- Gaps between intended and current behavior are explicit.
|
||||
- Read, Update, and Delete sections distinguish target behavior from current code.
|
||||
|
||||
Reference in New Issue
Block a user