# 历史分支处置登记 ## `feature/news-morning-wechat-history-snippet` **状态:已提交 / 已进入 main / 禁止再次引用。该分支保留仅用于只读追溯,不是待合并开发分支;未创建远端功能分支。** 审计日期:2026-09-24 基线:`origin/main` `2afe7df4`(merge `--no-ff` 合入) ### 交付内容 - `dbb16f06` 微信公众号草稿 inline 正文默认附带 3 条精简版「历史上的今天」(`renderHistorySection`,兼容 `li.history-item`) ### 验证摘要 - `wechat-daily-news-inline.test.mjs` 18/18;发布前测试 195/195 - 0924 生产页 inline 实测 `contentLength=19721`(≤20000),含 1789/1931/1957 三条 - 2026-09-24 快速发布 Portal `20260924-113251-98f79b6a`;`forcePushOnce` 重推草稿成功 ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 ## `fix/mindspace-guards-canary-post-rollout` **状态:已提交 / 已进入 main / 禁止再次引用。该分支保留仅用于只读追溯,不是待合并开发分支;未创建远端功能分支。** 审计日期:2026-09-23 基线:`origin/main` `5e2f27d6`(快进合入) ### 交付内容 - `e64cf52f` 修复 `verify:mindspace-publish-guards:full`(SEO 落盘断言、双 doctype);103 金丝雀 `users` 模式保留 9 路池;事故文档补 Portal/goosed 上线记录 ### 验证摘要 - `verify:mindspace-publish-guards:full`、`verify:h5-session-patches`、相关单测通过 - 2026-09-23 快速发布 Portal `20260923-172809-5e2f27d6` 后本分支合入并再发 Portal(见 release manifest) ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 ## `feature/goose-v149-prod-log-fixes` **状态:已提交 / 已进入 main / 禁止再次引用。该分支保留仅用于只读追溯,不是待合并开发分支;未创建远端分支。** 审计日期:2026-09-23 基线:`origin/main` `69c8ce75`(快进合入) ### 交付内容 - `afeafa1d` harness mysql2 CLI shim(随 Portal runtime 发布;本批未发布 Portal,103 harness 记忆由 goosed 熔断兜底) - `e181daf4` goosed `ulimit -n 65536` + 103 goosed 池加固脚本 `scripts/goose-v149-pool-hardening-103.sh` - `3155b580` 可选会话回复空闲超时 `MEMIND_SESSION_REPLY_IDLE_TIMEOUT_MS` + `session_finished.finishReason` - `8bdf4f3c` 103 v1.49 日志审计与 cutover 状态文档(`docs/incidents/2026-09-23-goose-v149-prod-log-audit.md`) - 配套 Goose 分叉提交:`tkmind/tkmind_go` 分支 `fix/v149-prod-log-fixes`(`e622befc3`..`4aea5abf2`) ### 验证摘要 - Portal 回归 243/243、新增 31/31;`verify:h5-session-patches`、`verify:mindspace-publish-guards`、`verify:mindspace-page-sync-guards` 通过 - `verify:mindspace-publish-guards:full` 与 `release-goosed-remount-guard.test.mjs` 失败,均在基线 `69c8ce75` 同样失败(main 既有问题,另开分支修复) - 103 加固脚本 `--dry-run` 只读预演:launchd maxfiles 软限制 256,harness 仍指向旧 shim ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 ## `fix/news-morning-repair-not-block` **状态:已提交 / 已进入 main / 禁止再次引用。该分支保留仅用于只读追溯,不是待合并开发分支;远端分支已删除。** 审计日期:2026-09-23 分支 HEAD:`57a9aadf` `origin/main` 对应提交:`57a9aadf`(快进合入) ### 交付内容 - `57a9aadf` 早报生成与推送改为「修复不阻断」:news002 配图/结构检查不再抛错,删空栏目后以现有内容出稿;推草稿时去掉未上传成功的配图而非拒推;`forceGenerateOnce` 执行前清除、失败恢复原稿;降级页重生成每天最多一次;成人低俗词表与吃瓜/黑料站点补齐 ### 验证与发布 - 早报相关单测 105 项中 103 通过,2 项为 main 既有失败(`wechat-news-morning-images.test.mjs`);发布前测试 177/177;`check-release-ready.sh` 通过 - 2026-09-23 快速发布到 103:release_id `20260923-134014-57a9aadf`;健康检查、登录 401、goosed 18006–18014、关键环境变量、日志关键词、真实页面创建(201 + hasThumbnail)均通过 - 发布前已清洗 103 上 `daily-news-0923.html` 中 1 张低俗卡片,原文件保留为 `_archived-daily-news-0923-unsafe-20260923T0540Z.html` ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 收尾分支 `docs/news-morning-repair-closeout`(本登记)随本登记一并快进合入 main,同样禁止再次引用。 ## `feature/news-morning-content-safety` **状态:已提交 / 已进入 main / 禁止再次引用。该分支保留仅用于只读追溯,不是待合并开发分支;远端分支已删除。** 审计日期:2026-09-23 分支 HEAD:`c136f068` `origin/main` 对应提交:`c136f068`(快进合入) ### 交付内容 - `c136f068` 早报内容安全底线闸门:`news-content-safety-rules.mjs` + `wechat-news-morning-content-safety.mjs`,覆盖成人、未成年保护、法律合规、人文伦理;命中只过滤条目/图片,不阻断生成与发布 ### 验证与发布 - 相关单测 177/177 通过;`check-release-ready.sh` 通过 - 2026-09-23 快速发布到 103:release_id `20260923-102959-c136f068`;发布后健康检查、登录 401、goosed 18006–18014、关键环境变量、日志关键词、真实页面创建(201 + hasThumbnail)均通过 ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 收尾分支 `docs/news-morning-closeout`(本登记 + `AGENTS.md` 生产测试账号 + portal-release 技能 3.4 说明)随本登记一并快进合入 main,同样禁止再次引用。 ## `chore/wip-closeout-20260923` **状态:禁止再次引用。改动随本登记一并合入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-23 `origin/main` 对应提交:本登记与以下提交一并快进合入 main ### 交付内容 - `028bb18d` 单条新闻页生成(`news-item-templates.mjs` + `scripts/news-item-*.mjs`);定时任务在预期 HTML 落盘稳定后提前收尾(`waitForExpectedPageFile`) - `e5cbe806` 105 微信出站代理放宽到 `/cgi-bin/*`、监听 `10.10.0.1`、超时 120s;新增 `wechat-egress-fetch.mjs`(尚未接入调用方) - 补登记下列 5 个历史本地分支,以及 `docs/seo-geo-umami-disposition` 原有的 SEO/GEO 登记内容 ### 验证摘要 - `node --test scheduled-task-executor.test.mjs`:19 passed - `news-item-*`、`wechat-egress-fetch.mjs` `node --check` 通过;`wechat-egress-proxy-105.py` `py_compile` 通过 - 未做任何 103/105 发布;105 代理改动需单独部署 ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 ## `feature/wechat-intent-phase0-fixes` **状态:禁止再次引用(已作废)。提交未进入 `main`;该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-23 分支 HEAD:`ed4fed77` `origin/main` 对应提交:无(审计时 `origin/main` @ `c36558e0`) ### 未进入 main 的提交 - `390617bb` feat(wechat): Phase 0/1 intent fixes and V2 LLM shadow router - `3f728485` feat(wechat): Phase 2 lastDeliveredPage and Phase 3 V2 primary routing - `bc14c03c` fix(wechat): allow uploaded-image page flow without generate_image gate - `b9a70d4b` fix(wechat): pass disabled image mode into Cursor run metadata (`ed4fed77` MCP 路径修复已以等价补丁进入 main。) ### 作废原因 main 之后已用频道前缀显式路由重做微信聊天 / 改页 / 定时任务分流(见 `feature/wechat-intent-channel-separation`),与本分支 V2 路由在 `wechat-mp.mjs` 等处大面积冲突。用户于 2026-09-23 确认作废。 ### 最终处置 - 不要 merge、cherry-pick 该分支提交或从该分支构建 runtime/artifact。 - 若仍需 V2 LLM 路由,必须以最新 `origin/main` 重新开分支移植。 ## `feature/wechat-news-morning-draft` **状态:禁止再次引用。5 个提交均已以等价补丁进入 `origin/main`,该分支保留仅用于只读追溯。** 审计日期:2026-09-23 分支 HEAD:`010e2771`(`git cherry origin/main` 全部为 `-`) ### 最终处置 - 保留本地分支名仅用于审计追溯;远端同名分支已删除。 - 不要 merge、cherry-pick 或从该分支继续开发。 ## `fix/wechat-restore-tkmind-menu` **状态:禁止再次引用。菜单名 `TKMind` 已在 `origin/main` 的 `scripts/wechat-mp-menu.mjs` 中,该分支保留仅用于只读追溯。** 审计日期:2026-09-23 分支 HEAD:`342a9577` ### 最终处置 - 不要 merge、cherry-pick 或从该分支继续开发。 ## `feature/h5-balance-quota-detail` **状态:禁止再次引用。余额弹窗额度明细已由 `origin/main` 的 `e85b9b98`(show subscription quota totals in balance popover)替代实现,该分支保留仅用于只读追溯。** 审计日期:2026-09-23 分支 HEAD:`1e28521b` ### 最终处置 - 不要 merge、cherry-pick 或从该分支继续开发。 ## `docs/seo-geo-umami-disposition` **状态:禁止再次引用。其登记内容(下方 `feature/seo-geo-umami-catalog` / `feature/seo-geo-umami-dashboard`)已随 `chore/wip-closeout-20260923` 手工并入 main,该分支保留仅用于只读追溯。** 审计日期:2026-09-23 分支 HEAD:`b20951d5` ### 最终处置 - 不要 merge、cherry-pick 或从该分支继续开发。 ## `feature/seo-geo-umami-catalog` **状态:禁止再次引用。改动已提交并进入 `main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-17 分支 HEAD:`0de33ad5` `main` 对应提交:`0de33ad5` 103 发布 artifact:`memind-portal-runtime-20260917-151803-0de33ad5` ### 交付内容 - SEO/GEO 管理目录(`mindspace-seo-geo-admin-catalog.mjs`)筛选期内合并 Umami `memind-pages` 统计(总访问/SEO/GEO 取 MySQL 与 Umami 较大值) - 新增 `mindspace-seo-geo-umami-stats.mjs`:按 URL 路径匹配 MindSpace 直链;无发布记录的 `public/*.html` 工作区页从 Umami 追加到目录 - 搜索扩展至 `workspace_relative_path` / `summary`;同分次级排序 `publishedAt` 降序 ### 验证摘要 - `node --test mindspace-seo-geo-umami-stats.test.mjs mindspace-seo-geo-admin-catalog.test.mjs`:10/10 通过 - `node --test db.test.mjs capabilities.test.mjs llm-providers.test.mjs wechat-mp.test.mjs`:187 项通过(快速发布前) - 生产 Umami 探针:0916/0917 早报 SEO 各 4;103 快速发布 + 8081 健康 `ok` ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 发布依据使用 `main` @ `0de33ad5` 或 artifact `memind-portal-runtime-20260917-151803-0de33ad5`。 - 配套 memind_adm 看板 UI/API 见同目录登记 `feature/seo-geo-umami-dashboard`。 ## `feature/seo-geo-umami-dashboard` **状态:禁止再次引用。改动已提交并进入 memind_adm `main`,Memind 侧登记本分支仅作跨仓审计索引,不是待合并开发分支。** 审计日期:2026-09-17 仓库:memind_adm 分支 HEAD:`eba3764` `main` 对应提交:`eba3764` 103 发布 artifact:`memind-adm-20260917-154133-eba3764`(`memind_git_head=0de33ad5`) ### 交付内容 - SEO/GEO 看板(`SeoGeoAnalyticsPage.tsx`)默认按发布时间降序;搜索 300ms 防抖 - `/admin-api/analytics/seo-geo-catalog` 传入 `analyticsConfig` + `env`,供 Memind catalog 拉 Umami - 页头展示 Umami 接入状态(`umami.available` / `reason`) ### 验证摘要 - 103 发布:`release_id=20260917-154133-eba3764`;8085/5174 健康 200 - live `memind-lib/mindspace-seo-geo-umami-stats.mjs` 存在 ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 md.tkmind.cn artifact。 - 发布依据使用 memind_adm `main` @ `eba3764` 或 artifact `memind-adm-20260917-154133-eba3764`。 ### 已抛弃的本地 WIP(勿恢复、勿 cherry-pick) - **memind_adm `WechatPage.tsx` 早报预览「正文模式」`page_html` 文案**(2026-09-17 Cursor 会话内未提交 diff):仅为预览区增加 `contentMode === 'page_html'` 展示分支;**已由 studio 开发接手早报管理 UI,本地改动已 `git restore` 丢弃,禁止再次引用或提交。** ## `feature/news002-searxng-fallback` **状态:禁止再次引用。已 fast-forward 并入 `origin/main`。** 审计日期:2026-09-22 分支 HEAD:`58003e88` `origin/main` 对应提交:`58003e88` ### 交付内容 - news002 agent 输出偏薄时 SearXNG fallback 补栏/换卡 - 弱图与不可达配图过滤、头条卡自动晋升、推送闸门放宽 - 与 main 侧 news002 本地化/缺图文字卡/微信左上角小图布局整合 --- ## `feature/searxng-news-morning-throttle` **状态:禁止再次引用。已 fast-forward 并入 `origin/main` 并完成 103 Portal 快速发布。** 审计日期:2026-09-22 分支 HEAD:`b74ab4ec` `origin/main` 对应提交:`b74ab4ec` ### 交付内容 - news002 微信草稿与静态页统一左上角小图(72~92px 缩略图) - 远程配图本地化到当日 MindSpace `public/`,缺图保留文字卡、禁止默认占位小图 - SearXNG 预取与配图 enrichment 链路收紧 ### 103 发布记录 - Portal runtime:`20260922-074006-b74ab4ec`(快速发布,`STUDIO_HOST=10.10.0.2`) - git_head:`b74ab4ec46924be05c6928438816de5163079dc9` - 发布后:Portal 200;`/auth/login` 401;105 隧道端口 19081 健康 --- ## `feature/wechat-push-secret-codes` **状态:禁止再次引用。已 fast-forward 并入 `origin/main` 并完成 103 Portal 快速发布。** 审计日期:2026-09-20 分支 HEAD:`bb6aa75b` `origin/main` 对应提交:`bb6aa75b` ### 交付内容 - 暗号「美丽心情」:自动开通早安问候并回复已开启 - 暗号「新闻早报」:即时推送当日新闻早报正文 ### 103 发布记录 - Portal runtime:`20260920-191100-bb6aa75b`(快速发布,`STUDIO_HOST=10.10.0.2`) - full_backup:`/Users/john/Project/backups/memind/memind-full-20260920-191100-bb6aa75b-before.tar.gz` - persist_backup:`/Users/john/Project/backups/memind/memind-persisted-20260920-191100-bb6aa75b-before.tar.gz` - archived_source:`/Users/john/Project/archives/Memind-source-before-20260920-191100-bb6aa75b` - 发布后:Portal 200;`/auth/login` 401;bundle 含暗号逻辑;日志无 error keywords --- ## `feature/wechat-push-subscription-release` **状态:禁止再次引用。已 fast-forward 并入 `origin/main` 并完成 103 Portal 快速发布。** 审计日期:2026-09-20 分支 HEAD:`830f8a40` `origin/main` 对应提交:`830f8a40` ### 交付内容 - 微信服务号 10 项数字订阅闭环(开通/改时间/取消/查状态/到点推送) - 早报封面生图链路扩展 + `scripts/push-wechat-news-morning-draft.mjs` 一键推草稿 - 订阅推送与早报 Worker 同批上线 ### 103 发布记录 - Portal runtime:`20260920-162911-830f8a40`(快速发布,`STUDIO_HOST=10.10.0.2`) - full_backup:`/Users/john/Project/backups/memind/memind-full-20260920-162911-830f8a40-before.tar.gz` - persist_backup:`/Users/john/Project/backups/memind/memind-persisted-20260920-162911-830f8a40-before.tar.gz` - archived_source:`/Users/john/Project/archives/Memind-source-before-20260920-162911-830f8a40` - 发布后:Portal/goosed 全 200;`/auth/login` 401;日志无 error keywords --- ## `feature/chat-intent-stage-a` **状态:禁止再次引用。改动已提交并进入 `main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-19 分支 HEAD:`a30b62b9` `main` 对应提交:`a30b62b9` ### 交付内容 - 阶段 A:`intent_routed` 稳定 `observation`,`npm run check:chat-intent-baseline` - 阶段 D:上一轮 `direct_chat_completed` 后短句纠偏(含日期 session / `h5direct_`),默认关 + canary - C-2 过激收窄:「先聊聊 / 先讨论」留在 `direct_chat`;同句生成页面或「你去执行」仍升 Agent ### 验证摘要 - `node scripts/run-memind-tests.mjs --mode changed --base origin/main`:通过 - 本地 5173 → 8086 john:先聊聊车载冰箱走 direct;再说「不对,你去执行」升 Agent ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 发布依据使用 `main` @ `a30b62b9`(或后续从 `main` 打出的 runtime manifest)。 - 生产聊天路由 flag 仍默认关,未授权发布。 ## `feature/news-morning-template-v2-local` **状态:禁止再次引用。独立 commit 未进入 `origin/main`,等价能力已由主线后续 news-morning 提交覆盖;该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-19 分支 HEAD:`9acd3b84` `origin/main` 对应提交:`82811d7b` ### 原始用途 早报模板增加 Google / X / 高校 / 全球股市等英文友好栏目,并扩展 SearXNG 预取。 ### 未作为祖先进入 main 的原因 `9acd3b84` 不是 `origin/main` 的祖先。当前 `main` 已包含同主题栏目与检索(`wechat-news-morning-search.mjs` 的 google/x/universities,以及 draft 模板里的 Google/X/高校/全球股市栏目)。 ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 若仍要改早报栏目,必须以最新 `origin/main` 重新开分支。 ## `fix/wechat-schedule-delivery-false-success` **状态:禁止再次引用。改动已提交并进入 `main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-16 分支 HEAD:`d820247a` `main` 对应提交:`d820247a` 103 发布 artifact:`memind-portal-runtime-20260916-213838-d820247a` ### 交付内容 - 修复 schedule reminder worker 将微信 deferred/skipped 客服消息误标为 success 的问题;失败走 `markReminderFailed` 重试 - scheduled task worker:`notifyChannel=wechat` 时 deferred 失败;`both` 时保留 web 通知 - 新增只读巡检脚本 `scripts/check-schedule-reminder-health-103.mjs`(`npm run check:schedule-reminder-health-103`) ### 验证摘要 - schedule-reminder-worker / scheduled-task-worker / notification-dispatcher 单测通过 - `verify-schedule-reminder-create` 15/15、`verify-schedule-reminder-routing` 8/8 - `db.test.mjs` + `capabilities.test.mjs` + `wechat-mp.test.mjs` 141 项通过 - 103 快速发布 + 8081 健康检查 `ok`;发版后 SQL 巡检 overdue=0、delivery success 24h=5 ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 发布依据使用 `main` @ `d820247a` 或 artifact `memind-portal-runtime-20260916-213838-d820247a`。 ## `feature/baidu-seo-push` **状态:禁止再次引用。改动已提交并进入 `main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-16 分支 HEAD:`85609667` `main` 对应提交:`61a594f1`(含 PR #48 SEO + PR #49 CI fixture 修复) ### 交付内容 - m.tkmind.cn 百度站长 HTML/文件验证(`codeva-32NHQfJ8qL`) - 服务端首页与 SPA fallback 注入验证 meta;`/baidu_verify_*.html` 路由 - sitemap 同 `page_id` 去重,优先 `/u/`,降权 `_archived` - 百度批量推送脚本、103 每日 01:00 LaunchAgent(token 已配 103 `.env`) ### 验证摘要 - `node scripts/run-memind-tests.mjs --mode quick`:101 项通过 - Gitea CI(PR #48/#49):通过 - 103 热修:验证 meta、推送 token、定时任务已生效(发版前) ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 发布依据使用 `main` @ `61a594f1`(或后续从 `main` 打出的 runtime manifest)。 ## `feature/wechat-news-morning-inline-v2` **状态:禁止再次引用。改动已提交并进入 `main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-16 分支 HEAD:`b8bcbcb7` ### 交付内容 - 微信早报草稿改用内联模板(去 Hero logo、热门旅游城市天气、新卡片版式) - 自动生成任务要求天气卡写热门旅游城市,禁止用区域预报顶替 - 模板版本 `2026-09-16` ### 验证摘要 - `node scripts/run-memind-tests.mjs --mode changed`:ok - 143 管理后台手动推送已验收(去 logo、旅游城市天气栏) ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 发布依据使用 `main` 上包含本分支提交的 commit。 ## `feature/seo-geo-universal` **状态:禁止再次引用。改动已提交并进入 `main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-16 分支 HEAD:`357e26ab` `main` 对应提交:`8d475087`(含 `fix/wechat-draft-test-fixture` 发布阻断修复) ### 交付内容 - 落盘/交付自动补齐 `mindspace-geo`(Finish sync、delivery writeBack、health-report) - 全页面 SEO/GEO 回填工具链、`storage publications` 扫描、143 生产回填脚本 - Plaza/平台静态页 SEO 注入与统一审计 ### 验证摘要 - `npm run verify:seo-geo`:46 项通过 - `npm run verify:mindspace-publish-guards`:ok - 143 存量回填:2683 页,0 错误 / 0 警告 - 103 快速发布:`20260916-103611-8d475087`(Portal 8081 健康 200) ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 发布依据使用 `main` @ `8d475087`(或后续从 `main` 打出的 runtime manifest)。 ## `feature/learn-standalone-pages` **状态:禁止再次引用。改动已提交并进入 `main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-16 分支 HEAD:`63f1b8ee` `main` 对应提交:`01b9a8c1` ### 交付内容 - `/learn` 独立静态页(Page Data 驱动)与 Portal 静态路由挂载 - 后台页面列表同步改走 `listSync` 轻量 `pageSyncService`,避免 remote `syncAndDeliver` 60s 超时拖慢 Portal ### 验证摘要 - `npm run verify:mindspace-page-sync-guards`:ok - `node --test server/portal-mindspace-page-core-routes.test.mjs server/portal-static-delivery-routes.test.mjs`:ok - 103 快速发布:`20260916-090102-63f1b8ee`(Portal 8081 / goosed 18006–18014 健康 200) ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 发布依据使用 `main` @ `01b9a8c1`(或后续从 `main` 打出的 runtime manifest)。 ## `feature/news-morning-force-archive` **状态:禁止再次引用。改动已提交并进入本地 `main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-15 分支 HEAD:`b89b74f2` `main` 对应提交:`b89b74f2` ### 交付内容 - `forceGenerateOnce` 先把当日 `daily-news-MMDD.html` 归档为 `_archived-*`,再跑生成,避免沿用旧稿 ### 验证摘要 - `node scripts/run-memind-tests.mjs --mode changed`:ok ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 发布依据使用 `main` @ `b89b74f2`。 ## `feature/news-morning-searxng-prefetch` **状态:禁止再次引用。改动已提交并进入本地 `main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-15 分支 HEAD:`34ab59e0` `main` 对应提交:`34ab59e0` ### 交付内容 - 早报生成前并行预取 SearXNG(国内/国际/热门事件/财经科技/天气) - 任务要求 `tkmind_search(type=news)` 与 `web_search` 补漏,禁止只靠 web_search - SearXNG 适配器支持 `categories` / `language` ### 验证摘要 - `node scripts/run-memind-tests.mjs --mode changed`:ok ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 发布依据使用 `main` @ `34ab59e0`。 ## `feature/news-morning-fresh-daily` **状态:禁止再次引用。改动已提交并进入本地 `main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-15 分支 HEAD:`4fc488ad` `main` 对应提交:`4fc488ad` ### 交付内容 - 新闻早报生成必须联网搜索当日内容,禁止复制历史 `daily-news-*.html` 正文 - `pushDraft` 默认拒绝非当日页面 - `forceGenerateOnce` + `scripts/force-wechat-news-morning-generate.mjs` 用于发版后强制重生成 ### 验证摘要 - `node scripts/run-memind-tests.mjs --mode changed`:ok ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 发布依据使用 `main` @ `4fc488ad`。 ## `feature/wechat-draft-long-page-errors` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-12 分支 HEAD:`014c3b79` `origin/main` 对应提交:`014c3b79` ### 交付内容 - 公众号草稿超过 2 万字时先给「阅读原文 / 关注区」留额度,再截正文 - 公开页失败弹窗展示服务端真实原因,不再误报需要登录 MindSpace - 登记 `feature/learn-assistant` 为禁止再次引用 ### 验证摘要 - `npm run verify:mindspace-wechat-mp`:40 passed - `node scripts/run-memind-tests.mjs --mode changed`:ok ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 远端功能分支删除;发布依据使用 `main` @ `014c3b79`。 ## `feature/learn-assistant` **状态:禁止再次引用。学习助手相关提交尚未进入 `main`;该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-12 分支 HEAD:`ee8677cc` `origin/main` 对应提交:`ce2a4b0e` ### 原始用途 家庭学习助手 API / 公开页,以及学习页跳过 Plaza 分享组件。另含 143 双机开发 runbook、以及随后已由主线覆盖的部分文档登记。 ### 未进入 main 的提交 - `348e1928` feat(learn): add family learning assistant API routes and public pages - `6e7a75a7` docs: add 143 Memind-dev dual-machine development runbook - `ee8677cc` fix(learn): skip plaza share widget on learning assistant pages - `b285fe24` docs: register wechat-mp-cursor-timeout-takeover branch disposition ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 - 若仍要做学习助手,必须以最新 `origin/main` 重新开分支移植,不得续用本分支。 ## `feature/wechat-news-morning-draft-worker` **状态:禁止再次引用。已 fast-forward 并入 `origin/main` 并完成 103 Portal + memind_adm 发布。** 审计日期:2026-09-11 Memind HEAD:`1f6e8c9b` · memind_adm HEAD:`799afd1` ### 交付内容 - Portal:`wechat-news-morning-draft-worker` 定时生成当日 `daily-news-MMDD.html` 并自动推微信草稿箱 - 管理后台:今日早报状态卡片 + 自动预览当天页面与草稿 ### 103 发布记录 - Portal runtime:`20260911-090522-1f6e8c9b`(快速发布,`STUDIO_HOST=10.10.0.2`) - memind_adm:`20260911-092700-799afd1` - 发布后日志:`WeChat news morning draft worker enabled` --- 它是分支复用、合并、cherry-pick 和清理前的必查清单。 ## `feature/memfuse-recall-benchmark` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-02 分支 HEAD:`f6c82182` `origin/main` 对应提交:`f6c82182` ### 原始用途 MemFuse 检索优化与 bench 基线、Experience V1(schema / reflect / 检索加权 / metrics)、Experience reflect worker(env 门控)、会话历史 sidebar 刷新 merge 顺序修复、本地 MindSpace 交付链接规则与 reflect 验收脚本。 ### 验证摘要 - `node scripts/run-memind-tests.mjs --mode guards`:176 passed - `node scripts/run-memind-tests.mjs --mode release`:176 passed - `node --test db.test.mjs capabilities.test.mjs llm-providers.test.mjs wechat-mp.test.mjs`:176 passed - `npm run verify:experience-reflect-local`:OK - `memory-v2-runtime.test.mjs` pgvector 参数断言修复:21 passed - 103 快速发布 `memind-portal-runtime-20260902-151408-f6c82182.tar.gz`,Portal 8081 + goosed 18006–18014 全部 200 ### 最终处置 - 保留本地分支名用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 ## `feature/wechat-intent-channel-separation` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-08-31 分支 HEAD:`8f88eec2` `origin/main` 对应提交:`8f88eec2` ### 原始用途 微信服务号聊天、改页、定时任务分流:频道前缀强制路由、【改页】prompt 钉原文件、改页/URL 强制新会话,避免误进 Goose 聊天烧 token。 ### 验证摘要 - `npm run verify:intent-transaction-layer`:63 passed - 103 发布 `memind-portal-runtime-20260831-141716-8f88eec2.tar.gz`,8081 健康 - 103 已为唐启用 WeChat LLM Intent Router shadow(`custom_deepseek` + `deepseek-v4-flash`,canary openid) ### 最终处置 - 保留本地分支名用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 ## `feature/scheduled-task-wechat-delivery-fix` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-08-17 分支 HEAD:`1ca06e58` `origin/main` 对应提交:`1ca06e58` ### 原始用途 修复唐用户定时新闻任务微信链接被 guard 误杀、页面未落盘即推送、以及 reconcile 后未补发微信的问题。 ### 验证摘要 - `node --test scheduled-task-executor.test.mjs scheduled-task-worker.test.mjs notification-dispatcher.test.mjs`:22 passed - `node --test wechat-mp.test.mjs`:100 passed(含 verifiedHtmlUrls 用例) - 103 快速发布绑定 `1ca06e58` ### 最终处置 - 保留本地分支名用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 ## `feature/production-inspection-fixes` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-08-16 分支 HEAD:`843e4d10` `origin/main` 对应提交:`843e4d10` ### 原始用途 103 生产巡检后续修复:定时任务去重、orphan 交付契约 reconcile(HTML 缺失 mark failed)、MindSpace remote 超时 30s、103 数据/Goosed harness 修复脚本。 ### 验证摘要 - `node --test scheduled-task-executor.test.mjs scheduled-task-service.test.mjs`:29 passed - 103 快速发布 `memind-portal-runtime-20260816-085224-843e4d10`,Portal 8081 健康 - 103 数据修复:取消唐用户 4 个重复/废弃定时任务,保留 5:30 新闻 + 8:00 天气各 1 个 - Goosed `run-goosed-native.sh` PATH 已修补,18007–18014 plist PATH 已更新 - memind_adm LaunchAgent 脚本已部署,8085/5174 健康 ### 最终处置 - 保留本地分支名用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 ## `feature/scheduled-task-page-delivery-fix` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-08-16 分支 HEAD:`7c0ed58a` `origin/main` 对应提交:`7c0ed58a` ### 原始用途 修复唐用户每日新闻定时任务推送链接后页面 409(交付契约卡在 `preparing`)的问题:定时任务路径补齐契约 prepare/release、有限重试、推送前门禁,以及 worker 扫描 reconcile。 ### 验证摘要 - `node --test scheduled-task-executor.test.mjs scheduled-task-worker.test.mjs`:14 passed - `node scripts/run-memind-tests.mjs --mode changed`:通过 - 发包前测试 `db/capabilities/llm-providers/wechat-mp`:171 passed - 103 快速发布 `memind-portal-runtime-20260816-082806-7c0ed58a`,Portal 8081 健康,新闻页 200 ### 最终处置 - 保留本地分支名用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 ## `feature/gate-data01-delivery-keywords` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-08-14 分支 HEAD:`293ac69a` `origin/main` 对应提交:`293ac69a` ### 原始用途 DATA-01 提示要求不要停在方案确认,却仍断言回复包含「方案/确认」。改为断言「问卷/后台」交付,并登记微信 image_url 分支处置。 ### 最终处置 - 保留本地分支名用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或构建 runtime/artifact。 ## `feature/wechat-image-url-session-rotate` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-08-14 分支 HEAD:`41f245c8` `origin/main` 对应提交:`41f245c8`(其后主线继续快进了图片额度回填提交) ### 原始用途 Goose native 对历史图片清洗返回 PUT 405,DeepSeek 下一轮拒绝 `image_url`。微信「解读详细报告,做成页面」跟进应换新会话并重新附上报告图,且 VL 后不再把 `imageUrls` 传给文本模型。 ### 验证摘要 - `node --test wechat-mp.test.mjs`:94 passed - `node --test chat-image-turn-scope.test.mjs tkmind-proxy-vision.test.mjs tkmind-proxy.test.mjs`:53 passed ### 最终处置 - 保留本地分支名用于审计追溯。 - 不要从该分支继续开发。 - 不要 merge、cherry-pick 该分支提交或从该分支构建 runtime/artifact。 - 后续开发必须从最新 `origin/main` 新建分支。 ## `fix/image-quota-migration-backfill` **状态:禁止再次引用。改动已提交并将随本分支合入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-08-14 代码修复:`8cf1c772` `origin/main` 对应提交:本登记与代码修复一并快进合入 main ### 原始用途 - 补建免费套餐时写入套餐目录图片额度,避免 `period_images_limit = 0` 被当成无限 - 启动时回填「上限为 0、但目录额度有限」的有效订阅 - 记录 2026-08-14 柯彤无限图片额度事故 ### 验证摘要 - `node --test billing-subscription.test.mjs`:27 passed - 生产已回填 33 条误标无限的有效免费订阅;柯彤剩余 6 / 总计 10 ## 处置规则 - 标记为“禁止再次引用”的分支只允许用于只读历史追溯。 - 不得从这类分支继续开发,不得 merge、cherry-pick、打包或发布。 - 不得把旧 worktree 中的未提交文件直接覆盖到当前主线;应先与最新 `origin/main` 逐文件比较。 - 若确需恢复历史代码,必须重新评估当前 `main`,在最新主线上建立新分支,并重新执行对应测试和 verify。 - 已提交、已合入并已进入 `origin/main` 的开发分支可以保留本地分支名;保留只用于审计和追溯,不代表还有待合并工作。 - 远端功能分支默认在闭环后删除;发布和审计依据使用 `main` commit、tag、CI 记录或 runtime manifest,不使用功能分支名。 - 这类保留分支必须在本文件登记清楚:分支名、最终 HEAD、进入 `origin/main` 的提交、验证摘要,以及“禁止再次引用”的状态。 ## `feature/md-admin-domain`(Memind + memind_adm) **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-08-11 分支 HEAD:`8716885`(Memind)、`0da7f04`(memind_adm) `origin/main` 对应提交:同上 ### 原始用途 - 管理后台公网域名从 `gadm.tkmind.cn` 更正为 `md.tkmind.cn` - 文档与 nginx 示例明确 **105 反代 → 103 memind_adm**(5174/8085) - memind_adm 默认 `VITE_BASE_PATH=/`,使 `/analytics/seo-geo` 在根路径可访问 ### 生产发布 | 仓库 | release_id | |------|------------| | memind_adm | `20260810-173922-0da7f04` | | 105 nginx | `md.tkmind.cn.conf` 已 reload | ### 验证摘要 - `https://md.tkmind.cn/analytics/seo-geo` → 200 - 103 `8085/health` → ok;5174 `base=/` - `/ops/analytics/seo-geo` → 301 到 `/analytics/seo-geo` ## `feature/fix-rybbit-publication-tracking` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** > **2026-08 补充**:该分支引入的 Rybbit tracking 已于 2026-08 全量下线并自代码库移除;当前访问统计 **仅 Umami**,见 [analytics-platform.md](analytics-platform.md)。勿再从本分支恢复 Rybbit 相关实现。 审计日期: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-analytics.test.mjs mindspace-analytics-discovery.test.mjs server/portal-domain-services-bootstrap.test.mjs server/portal-published-page-delivery.test.mjs server/portal-publication-shell.test.mjs`(历史验证含 `mindspace-rybbit.test.mjs`,Rybbit 已移除) - `npm run verify:chat-finish-sync` - `npm run verify:mindspace-publish-guards` - `npm run verify:mindspace-publish-guards:full` - `npm run verify:mindspace-page-sync-guards` - `npm run verify:h5-session-patches` - `npm run build` - `npm 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.sh` - `node scripts/build-portal-runtime.mjs` - `ALLOW_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.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 是否删除,属于独立清理动作;删除前仍需用户明确批准。 ## `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` 新建分支。 ## `feature/h5-llm-router-canary` **状态:禁止再次引用。分支核心功能已提交并进入 `origin/main`,且已随 `main` 发布到 103 生产;该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-08-03 分支 HEAD:`0ea72f4` `origin/main` 对应提交:`5ead1ab`(103 生产 release `20260802-214434-5ead1ab`) ### 原始用途 该分支用于 H5 LLM Intent Router 灰度验证,以及同一开发周期内的 WeChat 页面交付、缩略图、 45047/45015 延迟发送等修复。 ### 为何不再使用该分支 1. **LLM Router 核心功能已在 `main` 中**,关键提交包括: - `e45c930` — LLM intent router、direct chat execution、Memory V2 light intervention - `43bc8bb` — H5 LLM intent router admin controls and shadow verification - `91e140d` — WeChat admin-pluggable LLM intent router 2. **103 生产已从 `main` 发布**,当前 manifest 指向 `5ead1ab`(2026-08-02),已包含上述能力。 3. 分支 HEAD `0ea72f4` **不在** `origin/main` 历史中;分支上与 `main` 同消息的 9 个 WeChat 修复为平行重写(不同 SHA),`git cherry` 判定 patch 不等价;合并会在 `wechat-mp.mjs` 等处 产生冲突,并可能回退 `main` 上更新的 page-data 交付修复(`7e26b45`、`7624538`、`5ead1ab` 等)。 4. 分支相对 `main` **缺少**上述 page-data / release 修复,**不应**作为合并来源或发布来源。 ### 验证摘要 - Git 祖先检查确认 Router 功能提交(`43bc8bb` 等)已进入 `origin/main`。 - 103 生产 `.release-manifest.txt` 确认 `git_head=5ead1ab`、`git_branch=main`。 - 分支工作区已干净;无未提交独有功能待并入 `main`。 ### 最终处置 - 保留本地分支名 `feature/h5-llm-router-canary` 仅用于审计追溯。 - **后续不再使用该分支进行任何开发、合并、cherry-pick、打包或发布。** - 不要 merge 该分支到 `main`;不要从该分支构建 runtime/artifact。 - 新功能必须从最新 `origin/main` 新建分支(推荐 `bash scripts/new-branch.sh feature/xxx`)。 ## `feature/image-quota-admin` **状态:禁止再次引用。改动已提交并进入 `origin/main`(Memind + memind_adm),该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-08-03 分支 HEAD(Memind):`946d875` 分支 HEAD(memind_adm):`a4d46f2` `origin/main` 对应提交:`946d875`(Memind)、`a4d46f2`(memind_adm) ### 原始用途 图片生成额度(image_make)计费与管理: - Memind:订阅 bonus 字段、额度流水、生图前校验与扣费、Admin API、Portal 余额弹窗展示 - memind_adm(5174):套餐默认额度、流水、用户详情充值 UI(禁止在 Memind `ops/` 扩展) ### 验证摘要 - `billing-subscription.test.mjs` + `mindspace-image-generation.test.mjs`:37/37 通过 - memind_adm `npm run build` 通过 - 本地 Admin API 联调脚本 `verify-image-quota-local.mjs` 通过 - Portal `/auth/me` 联调脚本 `verify-image-quota-portal.mjs` 通过 ### 最终处置 - 保留本地分支名仅用于审计追溯。 - 不要从该分支继续开发、merge、cherry-pick 或发布。 - 后续管理后台 UI 只能在 memind_adm 5174 开发。 ## `codex/flux-schnell-workflow-kind` **状态:禁止再次引用。分支未并入 `main`;103 曾短暂从该分支发布 `ea5b732` 后已回退到 `main` 整包发布。** 审计日期:2026-08-04 分支 HEAD(已删除):`ea5b732` `origin/main` 对应提交:`6a48e0a`(103 生产 release `20260804-204137-6a48e0a`) ### 原始用途 为 Portal admin 配置 ComfyUI `flux_schnell` workflowKind;103 曾从该功能分支单包发布。 ### 最终处置 - Flux 服务已下线;本地分支已删除。 - **不要** merge、cherry-pick 或从 `ea5b732` 构建 runtime/artifact。 - 103 生产 manifest 已回到 `main` @ `6a48e0a`。 ## `feature/billing-session-cost-priority` **状态:禁止再次引用。改动已提交并进入 `origin/main`,103 已发布,该分支保留仅用于只读追溯。** 审计日期:2026-08-05 分支 HEAD:`e7f0627` `origin/main` 对应提交:`44121df`(103 生产 release `20260805-095542-44121df`) ### 原始用途 修复计费回退 Token 估价导致 DeepSeek 上游成本严重超扣;优先使用 Goose session `accumulated_cost`;新增 8 月 4 日起用户补偿脚本并在 103 执行补偿。 ### 验证摘要 - `node --test billing-token-state.test.mjs billing.test.mjs` - `node --test db.test.mjs capabilities.test.mjs llm-providers.test.mjs wechat-mp.test.mjs` - 103 补偿脚本 dry-run + apply(4 用户,合计 ¥94.11) ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支构建 runtime/artifact。 - 103 生产依据 `44121df` / release manifest `20260805-095542-44121df`。 ## `feature/analytics-release-docs` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯。** 审计日期:2026-08-11 分支 HEAD:`8348ce3` `origin/main` 对应提交:`8348ce3` ### 原始用途 补充 Analytics / SEO·GEO 跨仓库发布文档:105 Umami 原生 artifact + systemd 拓扑、发布顺序、Memind 与 memind_adm 链接。 ### 验证摘要 - 文档-only;无 runtime 变更 - memind-analytics 文档已 push 至 `main` @ `24f67b0` - memind_adm 文档已 merge 至 `main` @ `a67d5a1` ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 - 后续 Analytics 发布以 `docs/analytics-release-runbook.md` 为准。 ## `feature/subscription-usage-records` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯。** 审计日期:2026-08-12 分支 HEAD:`6b586e0` `origin/main` 对应提交:`dedf883`(merge) ### 原始用途 订阅额度全额覆盖 token 消耗时,仍写入 usage record,便于审计与对账。 ### 验证摘要 - `node --test user-auth.test.mjs`:19/19 通过 ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `feature/2026-08-12-dev` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯。** 审计日期:2026-08-13 分支 HEAD:`421e204` `origin/main` 对应提交:`421e204` ### 原始用途 MindSpace 成果展示:分页管理、统计聚合、Achievements 面板 UI 与 Portal API。 ### 验证摘要 - Git 祖先检查确认分支 HEAD 已进入 `origin/main`。 - `node --test mindspace-page-achievement-list.test.mjs mindspace-page-achievement-stats.test.mjs`:5/5 通过。 ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 - 后续交付修复见 `fix/achievements-delivery-release`(已进入 `origin/main` @ `53b0d2c`)。 ## `feature/wechat-memind-menu` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯。** 审计日期:2026-08-13 分支 HEAD:`e9ea55c` `origin/main` 对应提交:`e9ea55c` ### 原始用途 微信公众号自定义菜单文案由 TKMind 更名为 Memind(`scripts/wechat-mp-menu.mjs`)。 ### 验证摘要 - Git 祖先检查确认分支 HEAD 已进入 `origin/main`。 ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `fix/runtime-profile-packaging` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯。** 审计日期:2026-08-13 分支 HEAD:`6542a43` `origin/main` 对应提交:`6542a43` ### 原始用途 Portal runtime 打包纳入 `memind-runtime-profile`,修复 WeChat 菜单脚本在 105/103 发布链路中缺少 runtime profile 的问题。 ### 验证摘要 - Git 祖先检查确认分支 HEAD 已进入 `origin/main`。 ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `feature/seo-geo-admin-catalog` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯。** 审计日期:2026-08-13 分支 HEAD:`fdc234e` `origin/main` 对应提交:`fdc234e` ### 原始用途 管理后台 SEO/GEO 收录目录与爬虫统计(`mindspace-seo-geo-admin-catalog.mjs`);管理 UI 在 memind_adm 5174,Memind 侧为共享业务模块与 API。 ### 验证摘要 - Git 祖先检查确认分支 HEAD 已进入 `origin/main`。 - `node --test mindspace-seo-geo-admin-catalog.test.mjs`:3/3 通过。 ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `fix/achievements-delivery-release` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯。** 审计日期:2026-08-13 分支 HEAD:`53b0d2c` `origin/main` 对应提交:`53b0d2c` ### 原始用途 成果展示交付跟进:Finish 时在 `finally` 释放静态 HTML 交付契约,避免重编辑页面卡在 HTTP 409;成果面板按 Asia/Shanghai 日历日分组,消除重复日期标题。 ### 验证摘要 - Git 祖先检查确认分支 HEAD 已进入 `origin/main`。 - `node --test mindspace-delivery-contract.test.mjs`:3/3 通过。 ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `feature/h5-queued-chat-submit` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯。** 审计日期:2026-08-13 分支 HEAD:`558c4ef` `origin/main` 对应提交:`558c4ef` ### 原始用途 H5 主会话在 waiting/streaming/connecting/loading 时静默丢弃后续消息;改为立即展示用户指令、提示排队,并在 composer 回到 idle 后自动提交。 ### 验证摘要 - `node --test chat-agent-run-gate.test.mjs`:13/13 通过 - `node scripts/run-memind-tests.mjs --mode changed`:通过 - `node scripts/run-memind-tests.mjs --mode guards`:通过 ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `feature/memind-health-p0` **状态:禁止再次引用。改动已提交并进入本地 `main`(待 push `origin/main`),该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-09 分支 HEAD:`2baf29b3` 本地 `main` 对应提交:`2baf29b3` ### 原始用途 Memind P0 健康频道:加密健康区、观测 API、baseline 引擎与成熟度流水线、Page Data 绑定、MindSpace/H5/微信频道集成。 ### 验证摘要 - `node --test health-*.test.mjs server/portal-health-routes.test.mjs`:87 passed - `npm run verify:wechat-channel-isolation`:OK - `node --test chat-skills.test.mjs`:33 passed(rebase 冲突合并后) ### 最终处置 - 已删除开发 worktree `Memind-health-p0`。 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `feature/context-runtime-shadow-offline` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-09 分支 HEAD:`478c3337` `origin/main` 对应提交:`478c3337` ### 原始用途 Context Runtime 离线 shadow 开发:`context-runtime-profile.mjs` 事件模拟、`run-context-runtime-offline.mjs` 零 LLM 验证、本地自测文档。 ### 验证摘要 - `node scripts/run-context-runtime-offline.mjs`:OK - `node scripts/run-goosed-v149-phase3-offline.mjs`:OK ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `feature/goose-v149-real-llm-gate` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-09 分支 HEAD:`2fa95235` `origin/main` 对应提交:`2fa95235` ### 原始用途 默认阻断无人值守的 v1.49 真实 LLM smoke(phase2/phase3/all),避免 DashScope 日耗 1 亿+ token;提供 `run-goosed-v149-phase3-offline.mjs` 零 LLM 合并验证。 ### 验证摘要 - `node --test scripts/goose-v149-real-llm-gate.test.mjs`:4 passed - `node scripts/run-goosed-v149-phase3-offline.mjs`:OK - `node scripts/run-goosed-v149-phase3.mjs`(无 opt-in):exit 2 BLOCKED ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `feature/mcp-result-compactor` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-09 分支 HEAD:`60a42861` `origin/main` 对应提交:`60a42861` ### 原始用途 Context Runtime Phase 1-B:MeMind 自有 MCP 工具结果压缩(`mcp-result-compactor.mjs`),shadow/active 模式接入 `tkmind-search-mcp` / `tkmind-excel-mcp`,active 模式暴露 `ctx_fetch`。 ### 验证摘要 - `node --test mcp-result-compactor.test.mjs`:6 passed - `node scripts/check-mcp-compactor-local.mjs`:OK - `node scripts/run-memind-tests.mjs --mode changed`:通过 ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `feature/goose-v149-local-canary` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-09 分支 HEAD:`26ce1241` `origin/main` 对应提交:`e5dfd875`(merge) ### 原始用途 Goose v1.49 本地 canary 收口、Context Runtime + Agent Harness 融合 Phase 1–3:headroom provider proxy(off/shadow/active)、context-budget shadow、recall-fusion + zvec-workspace、dsh executor 骨架,以及 phase2/phase3 验证脚本与 baseline。 ### 验证摘要 - `node scripts/run-memind-tests.mjs --mode changed`:101 passed - `node --test memind-headroom-policy.test.mjs context-budget.test.mjs recall-fusion.test.mjs memind-zvec-workspace.test.mjs`:21 passed - `node scripts/run-headroom-active-portal-e2e.mjs`:OK(goosed pong via headroom;Portal live 事件需重启 Portal 带 `MEMIND_HEADROOM_MODE=active`) - Phase3:`portal-resume` PASS;phase2 `portal-smoke`/`page-e2e` 受本地 relay 欠费影响 FAIL(与 headroom 无关) ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `feature/codebase-memory-mcp-setup` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-10 分支 HEAD:`47d0d2ac` `origin/main` 对应提交:`938f6d6d` ### 原始用途 fusion-plan §6.6 本机开发工具:`codebase-memory-mcp` 本地安装验证脚本与文档;索引数据在 `~/.cache/codebase-memory-mcp/`,不进入 103 运行时。 ### 验证摘要 - `codebase-memory-mcp --version`:0.10.8 - `node scripts/check-codebase-memory-mcp-local.mjs`:`CODEBASE_MEMORY_MCP_OK`(23,965 nodes / 89,856 edges) ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `feature/dsh-executor-local-setup` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-10 分支 HEAD:(见 merge commit) `origin/main` 对应提交:`f3348f45` ### 原始用途 `@deepseek-ai/dsh@0.1.1-rc.2` 本机安装、check 脚本、Tool Gateway headless E2E;Context Runtime shadow Portal E2E(events-only 省 token)。 ### 验证摘要 - `dsh --version`:0.1.1-rc.2 - `node scripts/check-dsh-executor-local.mjs`:`DSH_EXECUTOR_CLI_OK` / dry-run OK - `MEMIND_DSH_RUN_LIVE_SMOKE=1` headless:OK(列 3 文件) - `MEMIND_TOOL_GATEWAY_DSH_ENABLED=1 node scripts/test-dsh-executor-gateway-e2e.mjs`:`DSH_GATEWAY_E2E_OK` - Shadow Portal(`force_deep_reasoning`,run `2ca8be7b…`):`headroom_context_observed` + `context_budget_resolved`,`mode=shadow` ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `cursor/v149-merge-prep-gates` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-10 分支 HEAD:`695911d1` `origin/main` 对应提交:`695911d1` ### 原始用途 Goose v1.49 合并前准备:修复 `build-goosed-v149-local.sh` 路径、刷新 phase3 baseline evidence、phase3 连续两次 `GOOSE_V149_PHASE3_OK`、更新 closeout 闸门 1–3。 ### 验证摘要 - `node scripts/run-goosed-v149-phase3-offline.mjs` → `GOOSE_V149_PHASE3_OFFLINE_OK` - `GOOSE_V149_ALLOW_REAL_LLM=1 node scripts/run-goosed-v149-phase3.mjs` → 两次 `GOOSE_V149_PHASE3_OK`(run2/run3 日志) - `node scripts/compare-goose-v149-memory-manifest.mjs` → `GOOSE_V149_MEMORY_DRIFT_OK` - `npm run verify:mindspace-publish-guards:full` → 176 passed - `tkmind_go-v149` → `6648c4bfb` on `tkmind/upgrade/v1.49-tkmind` ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。 ## `feature/goose-v149-wechat-gate-runbook` **状态:禁止再次引用。改动已提交并进入 `origin/main`,该分支保留仅用于只读追溯,不是待合并开发分支。** 审计日期:2026-09-10 分支 HEAD:`570ecbd1` `origin/main` 对应提交:`baff51e2`(merge commit) ### 原始用途 微信定时任务意图优先于 page.generate;WX-01..13 gate evidence 脚本;Goose v1.49 103 cutover runbook;本地 v1.49 launchd 安装脚本。 ### 验证摘要 - `node scripts/run-wechat-gate-evidence.mjs` → `WECHAT_GATE_EVIDENCE_OK` - `node --test wechat/handlers/scheduled-task.test.mjs` → 11 passed - 103 只读预演:`test/_103_baselines/pre-v149-20260910/`(九路 goosed ok,Portal ok,尚无 `tkmind_go-v149`) ### 最终处置 - 保留本地分支名用于审计追溯。 - **不要** merge、cherry-pick 或从该分支继续开发。