Files
memind/docs/goose-v149-phase3-closeout.md
T

79 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Goose v1.49 Phase 3 收口清单
> **本阶段不授权 103/105 操作。** 仅整理证据、回滚路径与合并前闸门。
>
> **2026-09-09**:本机真实 LLM 聚合 smoke 已默认禁用,见 [goose-v149-real-llm-gate.md](./goose-v149-real-llm-gate.md)。`run-goosed-v149-phase3.mjs` 须 `GOOSE_V149_ALLOW_REAL_LLM=1` 且用户明确批准,禁止 Agent 循环重跑。
> 决策表:[TKMIND_V1_49_MIGRATION.md](../TKMIND_V1_49_MIGRATION.md) · Phase 2 台账:[goose-v149-phase2-evidence.md](./goose-v149-phase2-evidence.md)
## 聚合验证入口
**默认(不消耗 LLM token):**
```bash
node scripts/run-goosed-v149-phase3-offline.mjs
```
通过时应输出 **`GOOSE_V149_PHASE3_OFFLINE_OK`**。
**完整 smoke(须用户明确批准 + DashScope 配额):**
```bash
GOOSE_V149_ALLOW_REAL_LLM=1 bash scripts/run-goosed-v149-local.sh # :18049 另开终端
GOOSE_V149_ALLOW_REAL_LLM=1 node scripts/run-goosed-v149-phase3.mjs
```
通过时应输出 **`GOOSE_V149_PHASE3_OK`**。
## 已取得证据(可进入合并讨论,不可直接删代码)
| 能力 | 证据 | Phase 3 结论 |
|---|---|---|
| tkmind_compat / PG Session | `check-goosed-v149-all.mjs` | **Keep** — 已适配 v1.49 |
| sandbox-fs / harness | harness + sandbox-fs smoke | **Keep** |
| platform/web | `check-goosed-v149-web-smoke.mjs` | **Keep** — 已移植;upstream skill 并存 |
| skills / web-search | `check-goosed-v149-skills-smoke.mjs` | **Wrapper** — 不替换 platform/web |
| DeepSeek Finish + 工具轮次 | provider + deepseek-tools smoke | **Keep** relay + v1.49 runtime |
| reasoning 保留 | `check-goosed-v149-thinking-preservation.mjs` | **保留** `:18036` 直至生产 parity |
| message sanitize | `compare-goose-v149-message-sanitize.mjs` | provider 层等价;Portal 展示仍 Keep |
| Memory legacy owner | memory-loop + drift + failopen | **Keep** — 禁止 upstream 写 MySQL |
| 计费 token_state | cost-smoke JSON | **Wrapper** — 观察 v1.49 原生 cost |
## 明确禁止在本阶段删除
- `session-reply-wait.mjs`、H5 SSE 游标映射、Finish merge
- `deepseek-no-think-proxy.mjs` / `:18036`(生产 parity 未退役)
- MindSpace / Page Data / 微信 / 计费 / capabilities 策略
- 1.41 stable 端口池 `:18006`–`:18014` 与 launchd 配置
## 合并前闸门(Memind 仓库)
1. [x] `upgrade/v1.49-tkmind` worktree 变更已 review(`tkmind_go-v149` · commit `6648c4bfb` pushed to `tkmind/upgrade/v1.49-tkmind`)
2. [x] Memind 侧脚本/文档/canary 开关 PR 就绪(`cursor/v149-merge-prep-gates` · `verify:mindspace-publish-guards:full` OK)
3. [x] `node scripts/run-goosed-v149-phase3.mjs` 连续通过(2026-09-10:canary=all 下两次 `GOOSE_V149_PHASE3_OK`,日志 `/tmp/v149-phase3-run2.log` 与 `/tmp/v149-phase3-run3.log`)
4. [x] Memory manifest 无 drift(`compare-goose-v149-memory-manifest.mjs` · 2026-09-10 `GOOSE_V149_MEMORY_DRIFT_OK`)
5. [x] 主 Portal 重启后 canary 联调:`check-goosed-v149-portal-smoke.mjs`(targets 含 `:18049`);canary 块强制 `H5_PUBLIC_BASE_URL=http://127.0.0.1:8081` 避免 5173 未起时链接失效
6. [x] **用户明确批准** 后才:`git push`、合并 `main`、任何 103 构建(2026-09-10:`feature/goose-v149-wechat-gate-runbook` → `main` `baff51e2`;103 只读预演见 `test/_103_baselines/pre-v149-20260910/`)
## 合并后 / 生产前(仍须单独审批)
- `bash scripts/check-release-ready.sh`
- 生产 Gate report(Core + Impact)
- `npm run verify:mindspace-publish-guards:full` 等受保护路径 verify
- Memory owner 切换:**不在** v1.49 运行时升级包内默认开启
## 回滚(任意时刻)
```bash
bash scripts/switch-goose-v149-canary.sh rollback
pnpm dev
# stable :18006 继续服务;v1.49 :18049 可单独停进程
```
## 基线产物索引
见 [docs/baselines/README.md](./baselines/README.md)。
## 103 生产切换(单独审批)
本地 Phase 3 证据齐后,103 维护窗执行步骤见 **[goose-v149-103-cutover-runbook.md](./goose-v149-103-cutover-runbook.md)**(clone/vendor/build、9 实例 launchd、回滚、与 Portal 发版顺序)。**未获明确批准前不得按 runbook 操作 103/105。**