# Training Record Draft Feature Report ## Summary Implemented the draft workflow for training records based on the existing `training-records` feature pattern. Key behavior now supported: - Employees can save a training record as `draft` - Employees can edit their own records only when status is `draft` or `needs_revision` - Submitting a record moves it to `pending` - HRD review can return a record as `needs_revision` - The pending review queue is hard-scoped to `pending` records only ## Main Changes - Added `draft` to the `approval_status` enum in Drizzle schema - Generated migration `drizzle/0014_sweet_nico_minoru.sql` - Extended training-record API types and UI label maps to include `draft` - Added `submissionMode` handling for create/update flows - Reset previous review data when a returned record is re-submitted - Switched employee edit permission from `pending` to `draft | needs_revision` - Updated pending-review pages to always query only `pending` records - Updated summary typing in overview and employee-directory to handle the new status safely ## Decisions - `draft` is a real persisted status, not a client-only flag - `needs_revision` is reused as the returned-for-revision state - Draft records are excluded from the HRD pending-review queue - Draft hours are not counted into review-progress summaries that previously reflected submitted/reviewed work ## Verification - `npm run gen` - `npm run lint` - `npm run build` All three completed successfully after the implementation updates.