14 KiB
历史分支处置登记
本文件记录已经完成迁移、但仍可能因为 Git 拓扑或遗留 worktree 被误判为“尚未进入 main”的分支。
它是分支复用、合并、cherry-pick 和清理前的必查清单。
处置规则
- 标记为“禁止再次引用”的分支只允许用于只读历史追溯。
- 不得从这类分支继续开发,不得 merge、cherry-pick、打包或发布。
- 不得把旧 worktree 中的未提交文件直接覆盖到当前主线;应先与最新
origin/main逐文件比较。 - 若确需恢复历史代码,必须重新评估当前
main,在最新主线上建立新分支,并重新执行对应测试和 verify。 - 已提交、已合入并已进入
origin/main的开发分支可以保留本地分支名;保留只用于审计和追溯,不代表还有待合并工作。 - 远端功能分支默认在闭环后删除;发布和审计依据使用
maincommit、tag、CI 记录或 runtime manifest,不使用功能分支名。 - 这类保留分支必须在本文件登记清楚:分支名、最终 HEAD、进入
origin/main的提交、验证摘要,以及“禁止再次引用”的状态。
feature/fix-rybbit-publication-tracking
状态:禁止再次引用。改动已提交并进入 origin/main,该分支保留仅用于只读追溯,不是待合并开发分支。
审计日期:2026-07-27
分支 HEAD:90ee4c3
origin/main 对应提交:90ee4c3
原始用途
该分支用于补齐 m.tkmind.cn 发布页 Rybbit tracking:
- 在
/u/:owner/pages/:slug与/MindSpace/:user/public/...发布页 HTML / shell 注入 Rybbit tracker。 - Portal bootstrap 在 Rybbit env secret 缺失时复用
mindspace_config中存储的 MindSpace analytics secret。 - 补充发布页交付、domain bootstrap 与 Rybbit 配置测试。
已进入 main 的提交
| 提交 | 内容 |
|---|---|
c7718c6 |
注入 Rybbit tracking 到发布页交付链路 |
90ee4c3 |
修复空字符串 env secret 阻断存储 secret fallback |
验证摘要
本分支闭环前已通过:
node --test mindspace-rybbit.test.mjs server/portal-domain-services-bootstrap.test.mjs server/portal-published-page-delivery.test.mjs server/portal-publication-shell.test.mjsnpm run verify:chat-finish-syncnpm run verify:mindspace-publish-guardsnpm run verify:mindspace-publish-guards:fullnpm run verify:mindspace-page-sync-guardsnpm run verify:h5-session-patchesnpm run buildnpm test
最终处置
- 保留本地分支名用于审计追溯。
- 远端功能分支如曾创建,应在确认
origin/main包含对应提交后删除;发布依据是90ee4c3及后续 main/tag/manifest,不是该功能分支名。 - 不要从该分支继续开发。
- 不要 merge、cherry-pick 该分支提交或从该分支构建 runtime/artifact。
- 后续开发必须从最新
origin/main新建分支。
codex/fix-portal-canary-backup-ssh
状态:禁止再次引用。改动已提交并进入 origin/main,该分支保留仅用于只读追溯,不是待合并开发分支。
审计日期:2026-07-27
分支 HEAD:7ba63a8
origin/main 对应提交:7ba63a8
原始用途
该分支用于修复 Portal canary 生产发布脚本在 103 完整备份阶段的 SSH 中断问题:
- 将 103 full stable backup 与 persisted-data backup 拆到候选安装前的独立 SSH 步骤。
- 保留 full/persisted 备份硬闸门,后续 canary 安装远程脚本只复核已生成备份的 sha、gzip 与
.env内容。 - 避免长 here-doc 发布脚本在大备份阶段被远端关闭连接后无法继续发布。
已进入 main 的提交
| 提交 | 内容 |
|---|---|
7ba63a8 |
拆分 Portal canary 发布前 103 备份步骤 |
验证摘要
本分支闭环前已通过:
bash -n scripts/release-portal-canary-prod.shnode scripts/build-portal-runtime.mjsALLOW_MAIN_RELEASE=1 bash scripts/release-portal-canary-prod.sh --dry-run --yes- Portal production Gate:187/187 通过,report commit
7ba63a83b1b52add4536a9391e3f3ea7869e569f ALLOW_MAIN_RELEASE=1 bash scripts/release-portal-canary-prod.sh --yes
最终处置
- 保留本地分支名用于审计追溯。
- 不要从该分支继续开发。
- 不要 merge、cherry-pick 该分支提交或从该分支构建 runtime/artifact。
- 后续开发必须从最新
origin/main新建分支。
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.mjschat-finish-sync.test.mjsmindspace-public-delivery.mjsmindspace-public-delivery.test.mjssrc/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 是否删除,属于独立清理动作;删除前仍需用户明确批准。
codex/retain-completed-branch-history
状态:禁止再次引用。改动已提交并进入 origin/main,该分支保留仅用于只读追溯,不是待合并开发分支。
审计日期:2026-07-28
分支 HEAD:3de116d
origin/main 对应提交:3de116d
原始用途
该分支用于在长图导出时隐藏平台操作控件,并补充对应回归测试。
验证摘要
- Git 祖先检查确认分支 HEAD 已进入
origin/main。 - 实现与回归测试分别落在
mindspace-long-image.mjs和mindspace-long-image.test.mjs。 - 本次仅补录历史处置事实,没有重新引用该分支或重跑历史发布。
最终处置
- 保留本地分支名用于审计追溯。
- 不要从该分支继续开发。
- 不要 merge、cherry-pick 该分支提交或从该分支构建 runtime/artifact。
- 后续开发必须从最新
origin/main新建分支。
feature/relax-release-gate-pending-ci
状态:禁止再次引用。改动已提交并进入 origin/main,该分支保留仅用于只读追溯,不是待合并开发分支。
审计日期:2026-07-28
分支 HEAD:a95681e
origin/main 对应提交:a95681e
原始用途
该分支用于在候选提交已与 origin/main 同步时处理 Gitea CI 长时间保持
pending 的发布闸门判定,并补充 CI 状态回归测试。
验证摘要
- Git 祖先检查确认分支 HEAD 已进入
origin/main。 - 规则实现和回归测试分别落在
release-gate/ci-status.mjs和release-gate/ci-status.test.mjs。 - 本次仅补录历史处置事实,没有重新引用该分支或重跑历史发布。
最终处置
- 保留本地分支名用于审计追溯。
- 不要从该分支继续开发。
- 不要 merge、cherry-pick 该分支提交或从该分支构建 runtime/artifact。
- 后续开发必须从最新
origin/main新建分支。
feature/relax-release-gate-rel-checks
状态:禁止再次引用。改动已提交并进入 origin/main,该分支保留仅用于只读追溯,不是待合并开发分支。
审计日期:2026-07-28
分支 HEAD:82b74d7
origin/main 对应提交:82b74d7
原始用途
该分支用于调整常规 Portal 发布的 REL 检查,包括忽略本地 runtime 产物、 同步主线时的 CI 状态判定,以及通过两次干净构建验证 artifact 可复现性。
验证摘要
- Git 祖先检查确认分支 HEAD 已进入
origin/main。 - 变更包含
release-gate/ci-status.test.mjs、release-gate/runner.test.mjs和 artifact 可复现脚本。 - 本次仅补录历史处置事实,没有重新引用该分支或重跑历史发布。
最终处置
- 保留本地分支名用于审计追溯。
- 不要从该分支继续开发。
- 不要 merge、cherry-pick 该分支提交或从该分支构建 runtime/artifact。
- 后续开发必须从最新
origin/main新建分支。
codex/wechat-page-data-delivery-guard
状态:禁止再次引用。改动已提交并进入 origin/main,该分支保留仅用于只读追溯,不是待合并开发分支。
审计日期:2026-07-28
功能提交:8bfb795
origin/main 对应提交:8bfb795
原始用途
该分支用于为微信 Page Data 生成与修复增加独立 Aider 发送前审核,借鉴 Tool Gateway
能力但不写入 h5_agent_runs,并通过用户级开关和不可变用户标识限制灰度范围。
验证摘要
- 全量 Node 测试
1399/1399通过。 - Page Data 专项验证
78/78通过。 - 生产发布守门员单测
90/90通过。 - Portal runtime 构建、运行时语法检查和 MindSpace 附件链接检查通过。
- Git 祖先检查确认功能提交已进入
origin/main。
最终处置
- 保留本地分支名用于审计追溯。
- 不要从该分支继续开发。
- 不要 merge、cherry-pick 该分支提交或从该分支构建 runtime/artifact。
- 后续开发必须从最新
origin/main新建分支。
codex/wechat-page-data-canary-config
状态:禁止再次引用。改动已提交并进入 origin/main,该分支保留仅用于只读追溯,不是待合并开发分支。
审计日期:2026-07-28
功能提交:1e91195
origin/main 对应提交:1e91195
原始用途
该分支用于把微信 Page Data Aider 审核开关和唐用户不可变 UUID 注入 103 候选
Portal,避免在线修改稳定 .env,并确保稳定 8081 与其他用户不进入审核链路。
验证摘要
- 全量 Node 测试
1399/1399通过。 - 生产发布守门员单测
90/90通过。 - 灰度发布脚本、候选启动脚本和远端 heredoc shell 语法检查通过。
- Git 祖先检查确认功能提交已进入
origin/main。
最终处置
- 保留本地分支名用于审计追溯。
- 不要从该分支继续开发。
- 不要 merge、cherry-pick 该分支提交或从该分支构建 runtime/artifact。
- 后续开发必须从最新
origin/main新建分支。
codex/wechat-page-data-canary-aider-bin
状态:禁止再次引用。改动已提交并进入 origin/main,该分支保留仅用于只读追溯,不是待合并开发分支。
审计日期:2026-07-28
功能提交:8cd85a9
origin/main 对应提交:8cd85a9
原始用途
该分支用于修复 launchd 候选进程无法从系统 PATH 定位 Aider 的问题,将
/opt/homebrew/bin/aider 纳入 103 灰度预检、LaunchAgent 环境和候选启动校验。
验证摘要
- 全量 Node 测试
1399/1399通过。 - 生产发布守门员单测
90/90通过。 - 候选启动测试确认稳定
.env无法覆盖受控 Aider 绝对路径。 - Git 祖先检查确认功能提交已进入
origin/main。
最终处置
- 保留本地分支名用于审计追溯。
- 不要从该分支继续开发。
- 不要 merge、cherry-pick 该分支提交或从该分支构建 runtime/artifact。
- 后续开发必须从最新
origin/main新建分支。
codex/release-gate-impact-only
状态:禁止再次引用。改动已提交并进入 origin/main,该分支保留仅用于只读追溯,不是待合并开发分支。
审计日期:2026-07-28
功能提交:7a381db
origin/main 对应提交:7a381db
原始用途
该分支用于将生产发布 Gate 调整为按 Git 影响域自动选择核心和受影响场景, 取消每次生产发布自动执行 187 项全量回归;无法识别影响范围或基线异常时硬阻断发布。
验证摘要
- 全量 Node 测试
1399/1399通过。 - 生产发布守门员单测
92/92通过。 - 对当前稳定 103 基线执行影响域选择,命中
126/187,无未映射文件。 - Git 祖先检查确认功能提交已进入
origin/main。
最终处置
- 保留本地分支名用于审计追溯。
- 不要从该分支继续开发。
- 不要 merge、cherry-pick 该分支提交或从该分支构建 runtime/artifact。
- 后续开发必须从最新
origin/main新建分支。