Allow empty Appt Time in wizard, table, and slide-over without blocking
create or complete. Omit appointment fields without vendorId so create
does not hit DispatchRequired.
Clear leftover primary dispatch status on vendor patch so Completed is not
blocked after a new company is chosen. Keep Jira keys out of source comments.
Merging dev broke this branch: SH-126/SH-184 made Add-On a backend-authoritative
indicator (isAddOn) and removed it from the WOType union, but
read-detail-closability-fields still accepted "Add-On" and mapped "AddOn" onto
it, so tsc failed on both the mapper and the closability test.
Drop Add-On from the detail type set so a legacy payload normalizes to "", and
cover the normalization directly instead of asserting it through
detailToClosabilityInput, which only forwards the already-typed value.
Refresh onto current dev and resolve exact-head review blockers:
- Remove duplicate WorkOrderBoardRowApi.completedDate after merge with dev
- Add SH-114 Technician closability gate alongside company/vendor check
- Update wo-closability regressions for missing technician
canGenerateCompDoc now ignores the completion-document closability gap so PM/Overdue drafts can enter generation.
Co-authored-by: Cursor <cursoragent@cursor.com>
detailToClosabilityInput now uses WorkOrderDetail.problem as pm and source as WO type so Done is not permanently blocked by a false Service gap.
Co-authored-by: Cursor <cursoragent@cursor.com>