Build and release image / build (push) Successful in 10s
The notes now travel in the tag annotation, which is the one thing the runner
provably receives — it is named in the fetch refspec. Fetching them from the
worktree failed three different ways in five runs: `[ -f ]` false, `cat` empty,
and then `git show HEAD:` empty because the shallow fetch had not brought the
blob across. v0.1.3 shipped a placeholder body each time.
Two details that each silently ate the notes on the way here:
* `git tag -a -F` runs its default cleanup, which treats every line starting
with `#` as a comment. These notes are mostly headings, so most of the
document disappeared. `--cleanup=verbatim` is now required when tagging,
and the README shows the exact commands.
* `%(contents:body)` applies the same comment-stripping. The workflow reads
`%(contents)` and drops the subject line instead.
Verified with a round-trip against a scratch repo: tag message in, byte-exact
notes out. The leading H2 is gone from the file, since the release title
already carries it.