vault backup: 2026-04-29 18:44:06
This commit is contained in:
parent
db2e77c234
commit
e85de13875
3 changed files with 66 additions and 37 deletions
|
|
@ -662,3 +662,9 @@ CLIENT-роль **внутри основного приложения долж
|
|||
10. **Все деструктивные действия — с confirmation.** Delete job, Reassign linguist, Approve all languages — модалка с явным impact описанием.
|
||||
11. **Email = mirror in-app.** Любая email-уведомление имеет deep-link на in-app экран. Любое in-app событие, требующее action, дублируется email'ом.
|
||||
12. **Audit видим участникам.** Linguist/Reviewer/PM видят историю изменений в job-scope. Cross-org audit — только ADMIN.
|
||||
|
||||
## Sessions
|
||||
### 2026-04-29 – Review the client-side application flow and
|
||||
**Asked:** Review the client-side application flow and identify logic breaks, UX inconsistencies, and areas needing improvement.
|
||||
**Done:** Analyzed application flow in Obsidian and documented progress across 4 commits with PM features, deadline management, reject categories, and hotkey implementations.
|
||||
|
||||
|
|
|
|||
|
|
@ -85,38 +85,44 @@ status: in-progress
|
|||
- PM добавлен к Audit Log (sidebar + RoleGate) — план PM-18
|
||||
- `Upload Video` в sidebar теперь видит PM (был только client/production/admin)
|
||||
|
||||
### 🟡 PR-3 «PM productivity» — IN PROGRESS (branch: `feat/pm-productivity`, commit `460c6ce`)
|
||||
### 🟡 PR-3+4+5 — IN PROGRESS (branch: `feat/pm-productivity`, последний commit `1bf0fb9`)
|
||||
|
||||
> [!info] Частично сделано — ветка запушена, продолжать от `feat/pm-productivity`
|
||||
> [!info] Ветка объединяет PM productivity, Linguist/Reviewer improvements и tech debt
|
||||
|
||||
| ID | Задача | Файл | Статус |
|
||||
|----|--------|------|--------|
|
||||
| W-5 | Project defaults autofill при выборе existing project | `NewJob.tsx` | ✅ Done |
|
||||
| PM-9 | "Needs my attention" quick filter presets (Final Review / In QC / Failed) | `JobsList.tsx` | ✅ Done |
|
||||
| PM-10 | PM включён в `canManageJobs`, New Job button, Final Review action | `JobsList.tsx` | ✅ Done |
|
||||
| PM-12 | Server pagination (`size:50` + page state + pagination controls) | `JobsList.tsx` | ✅ Done |
|
||||
| W-4 | Team assignment matrix на форме создания job (до AI) | `NewJob.tsx` | ❌ Отложено |
|
||||
| PM-1 | Deadline column + overdue colors | `JobsList.tsx` | ❌ Не начато |
|
||||
| PM-2 | Clone project/job | `routes_projects.py`, `routes_jobs.py` | ❌ Не начато |
|
||||
| PM-7 | Bulk assign linguist | `QCDetail.tsx`, `language_qc.py` | ❌ Не начато |
|
||||
| PM-15 | Project share read-only link для CLIENT | `routes_share.py` (новый) | ❌ Не начато |
|
||||
#### PR-3 (PM productivity)
|
||||
|
||||
### 🟡 PR-4 «Linguist & Reviewer productivity»
|
||||
| ID | Задача | Статус |
|
||||
|----|--------|--------|
|
||||
| W-5 | Project defaults autofill при выборе existing project | ✅ Done |
|
||||
| PM-9 | Quick filter presets (Final Review / In QC / TTS Failed / Render Failed) | ✅ Done |
|
||||
| PM-10 | PM в `canManageJobs`, New Job button, Final Review row action | ✅ Done |
|
||||
| PM-12 | Server pagination (size:50 + page controls, status server-side) | ✅ Done |
|
||||
| PM-1 | Deadline field + column in JobsList + overdue red highlight + date picker in NewJob | ✅ Done |
|
||||
| PM-2 | Clone job: `POST /jobs/{id}/clone` + Clone button in JobsList + useCloneJob hook | ✅ Done |
|
||||
| W-4 | Team assignment matrix на форме создания job | ❌ Отложено (сложно) |
|
||||
| PM-7 | Bulk assign linguist | ❌ Не начато |
|
||||
| PM-15 | Project share read-only link для CLIENT (`routes_share.py`) | ❌ Не начато |
|
||||
|
||||
- Glossary inline в VttEditor
|
||||
- Diff AI baseline vs current edit
|
||||
- Optimistic locking (concurrent edits → 409)
|
||||
- Reviewer reviewed-cues tracking + gate approve
|
||||
- Reject reason categories (не free-text)
|
||||
- Hotkeys (Cmd+Enter save, `]`/`[` prev/next cue)
|
||||
#### PR-4 (Linguist & Reviewer productivity — частично)
|
||||
|
||||
### 🟢 PR-5 «Polish & tech debt»
|
||||
| ID | Задача | Статус |
|
||||
|----|--------|--------|
|
||||
| R-4 | Reject reason categories (timing/mistranslation/terminology/profanity/length/other) pill-select в reject modal | ✅ Done |
|
||||
| R-2 | Reviewed-cues progress bar + approve gated at 80% for reviewer | ✅ Done |
|
||||
| L-9 | Hotkey Cmd+S saves full VTT; Escape closes all reject forms | ✅ Done |
|
||||
| L-1/L-6 | Glossary inline в VttEditor, CPS warning | ❌ Не начато |
|
||||
| L-3 | Optimistic locking (If-Match / 409) | ❌ Не начато |
|
||||
| L-7 | Diff AI baseline vs current | ❌ Не начато |
|
||||
|
||||
- Единый `lib/jobStatusMessages.ts`
|
||||
- Native `<track>` для captions (сейчас кастомный div)
|
||||
- AD audio sync с video
|
||||
- CSRF защита
|
||||
- Unified upload size limit (сейчас 3 разных значения в коде)
|
||||
#### PR-5 (Polish & tech debt — частично)
|
||||
|
||||
| ID | Задача | Статус |
|
||||
|----|--------|--------|
|
||||
| T-1 | Unified status labels — `JOB_STATUS_LABELS` + `getJobStatusLabel` в `jobStatusMessages.ts`; дублирование удалено из StatusBadge и JobsList | ✅ Done |
|
||||
| T-14 | Unified upload size: `settings.upload_max_video_bytes` + `settings.upload_signed_url_ttl_hours` | ✅ Done |
|
||||
| T-6 | Native `<track>` для captions (сейчас custom div) | ❌ Не начато |
|
||||
| T-7 | AD audio sync с video | ❌ Не начато |
|
||||
| T-11 | CSRF защита | ❌ Не начато |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -175,16 +181,30 @@ cd backend && ruff check .
|
|||
### 2026-04-29 – Session 2
|
||||
|
||||
**Done:**
|
||||
- PR-3 `feat/pm-productivity` pushed (`460c6ce`):
|
||||
- W-5: project defaults autofill on NewJob project select
|
||||
- PM-9: quick filter presets for PM/admin (Final Review / In QC / TTS Failed / Render Failed)
|
||||
- PM-10: PM added to `canManageJobs`, New Job button, Final Review row action
|
||||
- PM-12: server-side pagination (size 50, page controls)
|
||||
- PR-3 первая порция (`460c6ce`): W-5, PM-9, PM-10, PM-12
|
||||
|
||||
**Next session — continue PR-3:**
|
||||
- PM-1: Deadline column in JobsList (need `deadline` field in Job model first)
|
||||
- PM-2: Clone project/job endpoints (`routes_projects.py`, `routes_jobs.py`)
|
||||
- PM-7: Bulk assign linguist (`QCDetail.tsx` + `language_qc.py`)
|
||||
- PM-15: Read-only share link for CLIENT (`routes_share.py` new file)
|
||||
- W-4: Team assignment matrix on NewJob form (deferred, complex)
|
||||
### 2026-04-29 – Session 3
|
||||
|
||||
**Done (commit `13db347`):**
|
||||
- PM-1: deadline field in Job model, NewJob date picker, JobsList column + overdue red
|
||||
- PM-2: `POST /jobs/{id}/clone`, `useCloneJob` hook, Clone button in JobsList
|
||||
- R-4: reject categories (pill selector) in QCDetail reject modal + backend validation
|
||||
- R-2: reviewed_cues/total_cues in LanguageQCState, progress bar + 80% approve gate, `/mark-cue-reviewed` endpoint
|
||||
|
||||
**Done (commit `1bf0fb9`):**
|
||||
- L-9: Cmd+S saves full VTT, Escape closes all reject forms in QCDetail
|
||||
- T-1: unified `JOB_STATUS_LABELS` / `getJobStatusLabel` in `jobStatusMessages.ts`, dups removed
|
||||
- T-14: `settings.upload_max_video_bytes` + `settings.upload_signed_url_ttl_hours` in config.py
|
||||
|
||||
**Full plan saved to Obsidian:** `[[Full-Implementation-Plan]]`
|
||||
|
||||
**Remaining work:**
|
||||
- PM-7: Bulk assign linguist
|
||||
- PM-15: Read-only share link for CLIENT
|
||||
- L-1/L-6: Glossary inline in VttEditor, CPS warning
|
||||
- L-3: Optimistic locking (If-Match / 409)
|
||||
- L-7: Diff AI baseline vs current
|
||||
- T-6: Native `<track>` for captions
|
||||
- T-7: AD audio sync
|
||||
- T-11: CSRF
|
||||
|
||||
|
|
|
|||
|
|
@ -455,3 +455,6 @@ tags: [daily]
|
|||
- 18:29 (3min) | `video-accessibility`
|
||||
- **Asked:** Review client-side application flow and identify logic breaks, inconsistencies, and UX issues.
|
||||
- **Done:** Analyzed application architecture and documented findings in Obsidian for handover.
|
||||
- 18:42 | `video-accessibility`
|
||||
- **Asked:** Review the client-side application flow and identify logic breaks, UX inconsistencies, and areas needing improvement.
|
||||
- **Done:** Analyzed application flow in Obsidian and documented progress across 4 commits with PM features, deadline management, reject categories, and hotkey implementations.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue