Describe the bug
AppType._missing_ mints span members carrying TransportProtocol.undefined rather than the registry's own transport, so #806's guarantee — every member's proto names the registry it lives in — holds for declared members only.
pcapkit/const/reg/apptype/apptype.py:2272 __transport__: 'TransportProtocol' = TransportProtocol.undefined
pcapkit/const/reg/apptype/apptype.py:2296 proto: 'TransportProtocol' = TransportProtocol.undefined
pcapkit/const/reg/apptype/apptype.py:2427 proto: 'TransportProtocol | str' = TransportProtocol.undefined
Expected behavior
A member minted into TCP carries proto == TransportProtocol.tcp, the same as a declared one — so member.proto is cls.__transport__ holds for every member without qualification.
Additional context
Pre-existing, not introduced by #815, and #815 deliberately left it alone as out of scope. Found by #815's own author while proving the retyping, and recorded here so the qualification is tracked rather than implied: #815's new test_every_member_renders_its_own_registrys_transport_protocol covers the 12,391 declared members and says nothing about minted ones.
Note :2427's annotation is still 'TransportProtocol | str', which is the string-name form #815 removed from register_apptype — so if names are being rejected across the API, this is a second site to settle, and if they are being kept, this one already supports them. That makes this issue adjacent to the open question on #815 rather than fully independent.
Two traps for whoever takes it:
Related: #806, #815, #809, #575, #764.
Describe the bug
AppType._missing_mints span members carryingTransportProtocol.undefinedrather than the registry's own transport, so #806's guarantee — every member'sprotonames the registry it lives in — holds for declared members only.Expected behavior
A member minted into
TCPcarriesproto == TransportProtocol.tcp, the same as a declared one — somember.proto is cls.__transport__holds for every member without qualification.Additional context
Pre-existing, not introduced by #815, and #815 deliberately left it alone as out of scope. Found by #815's own author while proving the retyping, and recorded here so the qualification is tracked rather than implied: #815's new
test_every_member_renders_its_own_registrys_transport_protocolcovers the 12,391 declared members and says nothing about minted ones.Note
:2427's annotation is still'TransportProtocol | str', which is the string-name form #815 removed fromregister_apptype— so if names are being rejected across the API, this is a second site to settle, and if they are being kept, this one already supports them. That makes this issue adjacent to the open question on #815 rather than fully independent.Two traps for whoever takes it:
undefined.origin/main. feat(reg)!: retype AppType.proto to its own transport, and give register_apptype varargs (#806) #815 rewrites this file wholesale (+16/−14inapptype.py,+5293/−5292intcp.py), so citations here go stale the moment it merges.Related: #806, #815, #809, #575, #764.