用途:Rerun 仓库发布流程中的 changelog 汇总,对应 RELEASES.md 的第 4 步。它把 docs/content/changelog/upcoming/ 下按 PR 拆分的条目(跳过 _template.md)合并为某个版本的 changeset-0-XX.md,并生成 CHANGELOG.md 中的概览与详情段落。
运行前提:必须位于独立 rerun-io/rerun 检出的仓库根目录,通常在 prepare-release-0.x.y 分支上提交结果。可先验证: test "$(git rev-parse --show-toplevel)" = "$PWD" git remote get-url origin 不能在 reality monorepo(包括其 rerun/ 目录)中运行;否则释放脚本会因缺少独立仓库的 0.x.y 标签和 (#N) 提交解析,而把 reality 的 PR 编号错误解析为无关的 Rerun PR。条件不满足时应停止并让用户改到正确目录重跑,不代为克隆、拉取标签或切换分支。版本号取自 $ARGUMENTS(如 0.34.0),缺失时从 Cargo.toml 读取并与用户确认。
主要能力:按 frontmatter 的 type 分类合并条目——highlight 归入 ## Highlights,feature 归入 ## New features,misc 折叠为 ## Other 下的单个列表项,breaking 归入 ## Breaking changes;补丁版本通常只保留 Other 与 Breaking changes,次要版本用完整结构。合并后清理 TODO(name) 占位符,再运行: pixi run uvpy scripts/generate_changelog.py --version 0.x.y 生成摘要与详情,手工润色后写入 CHANGELOG.md。还会检查每个非模板 upcoming 条目是否都已合并、概览按影响排序、为条目补充文档链接、把破坏性变更链接到 changeset 子标题、标注实验性或不稳定功能(feature flag、rerun.experimental、非 blueprint 类型的 state = "unstable"),并为视觉型头条功能配 static.rerun.io 上的媒体。
限制与注意:变更日志面向网站用户,媒体必须托管在 static.rerun.io,不能用私有 monorepo 的 GitHub 附件;不得为现有条目自行编造摘要或改写 Highlight 文案,发现不连贯应告知人工;不移动或删除详情子段落中的条目,只调整顺序。完成前需通过:pixi run lint-rerun CHANGELOG.md docs/content/changelog/changeset-0-XX.md、python scripts/ci/check_changelog_redirect.py、python scripts/ci/check_doc_redirects.py --base origin/main。清理 inbox 时删除已合并的 upcoming/*.md,保留 _template.md 与本期未纳入的条目,且不为临时条目添加重定向。该技能位于独立 Rerun 仓库的 skills/assemble-changelog。