diff --git a/AGENTS.md b/AGENTS.md index fb684b8..9026d95 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,6 +24,12 @@ bash scripts/check-release-ready.sh 12. `check-release-ready.sh` 只是源码闸门,不代表业务场景闸门通过;生产发布还必须取得与同一 commit、同一 runtime artifact 绑定的完整 Gate report。 +## 必读:历史分支处置登记 + +复用、合并、cherry-pick 或清理任何旧本地分支/worktree 前,必须先检查 +[docs/branch-disposition.md](docs/branch-disposition.md)。登记为“禁止再次引用”的分支只能用于只读追溯, +不得作为开发基线、合并来源、cherry-pick 来源或发布来源;必须以最新 `origin/main` 为准。 + ## 必读:已验证回归守卫(勿轻易覆盖) 下列行为经过长时间调试验证。删改相关代码前必须先读文档并跑 verify: diff --git a/docs/branch-disposition.md b/docs/branch-disposition.md new file mode 100644 index 0000000..3dfe847 --- /dev/null +++ b/docs/branch-disposition.md @@ -0,0 +1,70 @@ +# 历史分支处置登记 + +本文件记录已经完成迁移、但仍可能因为 Git 拓扑或遗留 worktree 被误判为“尚未进入 `main`”的分支。 +它是分支复用、合并、cherry-pick 和清理前的必查清单。 + +## 处置规则 + +- 标记为“禁止再次引用”的分支只允许用于只读历史追溯。 +- 不得从这类分支继续开发,不得 merge、cherry-pick、打包或发布。 +- 不得把旧 worktree 中的未提交文件直接覆盖到当前主线;应先与最新 `origin/main` 逐文件比较。 +- 若确需恢复历史代码,必须重新评估当前 `main`,在最新主线上建立新分支,并重新执行对应测试和 verify。 + +## `codex/product-quality-p0` + +**状态:禁止再次引用。功能已进入 `main`,该分支不是待合并开发分支。** + +审计日期:2026-07-17 +历史分支基线:`6ef3ea8` +历史分支 HEAD:`ebfdc21` +审计时相对 `main`:分支侧 6 个提交、主线侧 53 个提交 + +### 原始用途 + +该分支用于 Memind 产品质量 P0 审计与修复,内容包括: + +- 修复用户可见的聊天 routing/skill 前缀、旧 Page Data prompt 和部分 MindSpace/语音交互问题。 +- 修复页面发布确认状态与过期未确认页面的 `owner_only` 回退。 +- 将 `src/api/client.ts` 拆分为 MindSpace、发布、Page Data、Agent Jobs 等模块。 +- 在 worktree 中继续处理聊天 Finish 顺序、消息按 ID 合并和发布 HTML 的预览 CSP 清理。 + +### 已进入 `main` 的提交 + +原分支提交已经在更新后的主线基线上重新落地,不能因为 commit hash 不同而再次引用: + +| 原分支提交 | `main` 对应提交 | 内容 | +|---|---|---| +| `f7a9c21` | `77f1ea8` | 产品交互加固 | +| `db17691` | `f2d0c99` | 旧 prompt 与发布确认兼容 | +| `ad3c5bf` | `f6dcf5b` | MindSpace API 模块拆分 | +| `3504ee0` | `8ac159a` | 发布 API 模块拆分 | +| `456ec54` | `ddb3a33` | Page Data API 模块拆分 | +| `ebfdc21` | `6250b59` | Agent Jobs API 模块拆分 | + +`456ec54` 与 `ddb3a33` 的 patch-id 不同,是因为主线重新落地时原有 Page Data 路径已经从 +`/page-data` 更新为 `/admin/page-data`。两边最终的 `src/api/page-data.ts` 内容一致; +`ddb3a33` 是适配更新后主线的正确落点,不是遗漏提交。 + +### 遗留 worktree 的五文件修改 + +`/Users/john/Project/Memind-product-quality-p0` 曾保留以下五个未提交文件: + +- `chat-finish-sync.mjs` +- `chat-finish-sync.test.mjs` +- `mindspace-public-delivery.mjs` +- `mindspace-public-delivery.test.mjs` +- `src/utils/message.ts` + +这些修改已在 `933466c`(`fix: preserve chat order and published page scripts`)进入 `main`。 +2026-07-17 复核结果:其中四个 worktree 文件与 `main` 字节级一致; +`chat-finish-sync.test.mjs` 的 `main` 版本额外包含两组回归测试,因此主线版本更完整。 + +### 最终处置 + +- 不要 merge `codex/product-quality-p0`。 +- 不要 cherry-pick 该分支的 6 个提交。 +- 不要从其脏 worktree 复制上述五个文件覆盖主线。 +- 不要从该分支或 worktree 构建任何 runtime/artifact。 +- 后续开发必须从最新 `origin/main` 新建分支。 + +该分支及 worktree 是否删除,属于独立清理动作;删除前仍需用户明确批准。