DeviceEndID was uuid.UUID (non-nullable) in entity, DTO, and response.
Sending empty string from the frontend caused "invalid uuid" parse error.
Changed to *uuid.UUID throughout. CreateFishbone now skips end device
lookup, type validation, port check, and port-usage update when
DeviceEndID is nil. UpdateFishbone pointer comparisons fixed accordingly.
Run once on DB: ALTER TABLE fishbone ALTER COLUMN dev_end_id DROP NOT NULL;
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>