Publishing
Discard the draft (owner only)
Discard the draft; if the app has no Release at all, the identity is cascade-deleted with it (an unpublished empty shell is not kept; name-binding ownership is untouched — historical occupation is anti-takeover semantics). Build snapshots are kept (immutable objects, collected by GC).
Having no draft does not short-circuit into an early 404: a draft-less, zero-Release identity (historical orphan) still goes through the cascade cleanup — otherwise orphans could never be deleted; no draft + existing Releases is the 404 case (a published app normally has no draft in progress).