ci(release): auto-announce on Discord and use curated release notes
Two related fixes:
1. Inline Discord announcement after github-release succeeds, instead of
a separate workflow listening for release:published. GitHub Actions
suppresses workflow cascades from GITHUB_TOKEN-authored events, so the
old discord-release.yml never auto-fired when softprops/action-gh-release
published the release. It's now manual-only for re-announcements and
external releases. Same pattern AFT settled on.
2. Use .alfonso/release-notes/<tag>.md as the canonical release body via
softprops/action-gh-release body_path:, replacing generate_release_notes.
No more manual gh release edit step after every tag push. The curated
notes also feed the Discord post via release.yml's discord-announce job.
Both changes need .alfonso/release-notes/ to be tracked in git:
- .gitignore now uses .alfonso/* + !.alfonso/release-notes/ so the
rest of .alfonso/ (agent scratch state, plans, etc.) stays ignored.
- Existing v0.21.0 and v0.21.1 release notes added to seed the tree.
Pipeline shape becomes:
unit -> e2e-docker -> npm publish x3 -> github-release -> discord-announce
The github-release step fails fast if the curated notes file is missing
so we never ship the bare "**Full Changelog**: ..." auto-generated body. I
ismeth committed
f8e4c9e23193f610a78b3093701348b0fdce3288
Parent: e0c747e