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>