Node.js 24 与删除安全
- 将 Action 运行时从 Ruby 迁移到 GitHub 原生 Node.js 24。
- 保持 v1.3 inputs、outputs、默认 dry-run 行为、配置格式和未配置时的删除语义。
- 在首次写入前规划每个目标仓库,并聚合不可变的
RunPlan。 - 新增
safety.deletions、safety.max_deletions_per_repository和safety.max_deletions_total。 - 删除规则触发时停止全部写入,同时不阻止 dry-run,以便继续审查完整计划。
- 读取请求保持可重试,写入请求不自动重试。
- 对 6 个合格仓库完成零删除预览后,采用 MathArts 生产基线
allow / 1 / 6。 - 保持 GitHub App 凭据遮蔽,并在每个任务结束后撤销临时 token。
- 将
repositories.exclude、离线validate_only、类型化错误和可归档计划输出推迟到后续版本。 - 建议审核发布提交并固定其完整 SHA,而不是可移动版本标签。
验证:pnpm check、Node.js 24 CI、可复现 dist/index.js bundle 比对、Actionlint、CodeQL、全组织 dry-run、单仓库写入及零差异复查均通过。