ANNOTATION SOURCE CHECK: if these notes appear on the release, the fix works.
Fixes the release-notes job added in 1.2.1, which published the squash commit
message instead of the annotated tag message.
actions/checkout fetches the commit SHA straight onto the tag ref with
--no-tags, so refs/tags/ is a lightweight tag and the annotated object
never arrives. fetch-depth 0 does not help, because it changes the depth and
not the refspec. %(contents:body) on a lightweight tag silently returns the
commit body, which is wrong but non-empty, so the previous check never noticed
and never reached its own fallback.
The job now fetches refs/tags/:refs/tags/ explicitly to force the
real object, branches on git cat-file -t rather than on emptiness so a
genuinely lightweight tag falls through to generated notes, and logs the
object type so a recurrence is visible rather than silent.
No functional change to the server. 1.2.1 and 1.2.2 are CI only; the server
is byte-identical to 1.2.0. 49 tests passing, lint clean.