edit | blame | history | raw

Mindraw Coder:发布 Tag 身份修复

日期:2026-08-14

用户目标

执行 MD-127-REL-TAG-IDENTITY-FIX:只修 release manifest 当前显式 tag 身份,完成 RED→GREEN、风险相称验证与新 Review Gate;禁止删 tag、改历史、打 DMG、签名、公证、发布、push 或跨平台实现。

已完成事项

  • 根因:git tag --points-at HEAD 把同一 commit 的全部历史 tag 写入 manifest。
  • formal release 现在要求显式 MINDRAW_RELEASE_TAG,并校验其精确等于 v<version>-Build<id> 且指向 HEAD。
  • manifest 只记录显式 tag;非 formal release 不从 HEAD 猜测 tag;build command 记录该输入。
  • 新 Review Gate:crg-8c01f5c360ef
  • 验证:脚本 2/2、前端 247/247、doctor 15/15、Rust 107/107、TypeScript/Vite build、shell/diff PASS。

核心事实 / 变更快照

  • 变更对象:formal release manifest 的 source.mindraw.tags 身份来源。
  • 事实来源:base HEAD 7807d70b323c1fb51afe2b9718f5be8f261be519 上的未提交四文件 diff。
  • 变更前:自动枚举 HEAD 全部 tag,当前/旧失败候选身份混合。
  • 变更后:只接受调用方显式声明且与 version/build/HEAD 一致的单一 tag;缺失或不一致 fail closed。
  • 边界:没有修改现有 tag、历史 DMG/manifest 或 Git 历史,没有执行发布链路。
  • 证据:02-P/MEXP16-CrossPlatform127/md-127-rel-tag-identity-fix-review-request-crg-8c01f5c360ef.md

文件变更

  • scripts/package-mindraw.sh
  • scripts/package-mindraw.node-test.mjs
  • CODEGRAPH.md
  • CHANGELOG.md
  • canonical INDEX、统一台账、PMO_INBOX 与本会话记录。

未决问题

等待独立 reviewer 对 crg-8c01f5c360ef 给出结论;PASS 前不得重打包或进入 QA/发布。

可复用命令 / Runbook

用途:后续 formal release 调用必须显式绑定当前 release tag。

前置条件:tag 已存在、名称与 version/build 一致并解引用到当前 HEAD。

BUILD_ID=YYYYMMDDHHMM \
MINDRAW_RELEASE_CLASS=h8-formal-rc \
MINDRAW_RELEASE_TAG=v1.2.7-BuildYYYYMMDDHHMM \
MINDRAW_SIGNING_IDENTITY='<configured identity>' \
MINDRAW_NOTARY_PROFILE='<configured profile>' \
npm run package:mindraw

验证:运行 npm run package:mindraw:test;生成后确认 source.mindraw.tags 仅含显式 tag,且 validation build command 记录相同 tag。

清理/恢复:本轮未生成临时发布状态;若输入 tag 不匹配,脚本应在归档或构建前退出,无需清理产物。

搜索关键词:MD-127-REL-TAG-IDENTITY-FIXMINDRAW_RELEASE_TAGcrg-8c01f5c360ef