Expand description
Structured lifecycle reason helpers.
Transport libraries still surface close reasons as debug strings in several places, but runtime policy should branch on reason codes rather than ad-hoc substring checks scattered through the codebase.