Attribute macros for apidoc: title / desc / method / url / param / query / returned (M1), tag / group / author / header / route_param / response_status / success / error / not_debug / md / sort / ref (M3), and app (M6b).
Each macro keeps the annotated function unchanged and emits a statically
registered DocFragmentEntry on the distributed slice apidoc::DOC_FRAGMENTS,
so documentation fragments are collected at zero runtime cost.