video-accessibility/backend/app
Vadym Samoilenko 3e3be935c6 feat(w-13): structured Job.failure schema, PROCESSING_FAILED status, audit actions
Add JobFailure model (step, type, message, retriable, occurred_at,
retry_count) to job.py. Add PROCESSING_FAILED to JobStatus (legacy
TTS_FAILED/RENDER_FAILED preserved for back-compat).

Add missing Job fields that existed in DB but not the Pydantic model:
organization_id, brief_id, gcs_prefix, initial_linguist_id,
initial_reviewer_id, failure, retry_count.

Add JOB_TASK_FAILED, JOB_RETRY, JOB_BULK_RETRY to AuditAction enum.

Add migration 2026-04-29-000000: processing_failed in schema validator +
compound indexes (failure.step/status) and (status/org_id/created_at).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-29 20:27:28 +01:00
..
api/v1 refactor(mt-15): consolidate authz in routes_jobs and dependencies 2026-04-29 20:26:07 +01:00
core refactor(mt-15): consolidate authz in routes_jobs and dependencies 2026-04-29 20:26:07 +01:00
lib docs: add canonical documentation + audit cleanup 2026-04-29 14:22:51 +01:00
middleware feat(pr4+pr5): hotkeys, unified status labels, upload size constant 2026-04-29 18:42:03 +01:00
migrations feat(w-13): structured Job.failure schema, PROCESSING_FAILED status, audit actions 2026-04-29 20:27:28 +01:00
models feat(w-13): structured Job.failure schema, PROCESSING_FAILED status, audit actions 2026-04-29 20:27:28 +01:00
prompts feat: per-client glossary — hybrid exact/vector retrieval + AI injection 2026-04-29 13:03:38 +01:00
schemas feat(l3): optimistic locking for VTT edits (ETag / 409 Conflict) 2026-04-29 19:01:57 +01:00
services feat(mt-11): cross-org assignment guard in language_qc 2026-04-29 20:22:46 +01:00
tasks feat(pr4+pr5): hotkeys, unified status labels, upload size constant 2026-04-29 18:42:03 +01:00
telemetry docs: add canonical documentation + audit cleanup 2026-04-29 14:22:51 +01:00
main.py feat(pm15): share read-only link for client preview 2026-04-29 18:56:44 +01:00