fix(catalog): retire a specification that only orders reference
Deleting an app that had been deployed to a partner zone failed with
503: SRM keeps no service_instance row for an instance a partner hosts,
only its service_order, so delete_or_retire found no instances and
tried a hard delete, which the order's foreign key refused
(service_order_service_specification_id_fkey).
When no instance but some order references the specification, it now
becomes retired, the same history-keeping path a specification with
terminal instances already takes. Specifications nothing references are
still deleted outright.
Co-Authored-By:
Claude Opus 5.5 <noreply@anthropic.com>