Generate release notes plus a machine-readable shipped-changes.json from a git release range — stage 1 of the ship-to-signal loop. Use when the user wants release notes, a changelog, or a summary of what shipped in a release, tag range, sprint, or time period ("what went out last week?", "summarize the last release"); when they want shipped changes mapped to product surfaces or analytics events; or when starting the ship-to-signal loop on a repo that has no signals/releases/ directory yet.