-
Backend: - Add update() method + UpdateWorkOrderCommand to WorkOrderService (DRAFT-only, mutable fields: outputQuantity, dueDate, ext) - Add PATCH /{id} endpoint + UpdateWorkOrderRequest to WorkOrderController - Add production.work-order.update permission to metadata YAML - Location, SalesOrder, PurchaseOrder already had PATCH endpoints Frontend: - Add getLocation, updateLocation to inventory client - Add update methods to salesOrders, purchaseOrders, production client - Create EditLocationPage (name, active, ext) - Create EditSalesOrderPage (ext only; DRAFT-only guard) - Create EditPurchaseOrderPage (ext only; DRAFT-only guard) - Create EditWorkOrderPage (outputQuantity, dueDate, ext; DRAFT-only guard) - Wire all four edit routes in App.tsx - Fix duplicate i18n keys in messages.ts (label.actions, label.fieldKey)