Files
memind/docs/goose-v149-local-phase0-manifest.md
T
john 716ef407fe feat(goose): add local v1.49 canary routing, smoke gates, and migration docs
Wire Portal and TKMind proxy to loopback Goose v1.49 via canary env blocks,
with verification scripts, Phase 2/3 evidence baselines, and rollback runbooks
so local upgrade stays isolated from stable 1.41 and production.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 21:10:20 +08:00

78 lines
3.2 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 0 基线
> 范围:仅本机 loopback,禁止连接 103/105 或生产库。
> 决策表:[TKMIND_V1_49_MIGRATION.md](../TKMIND_V1_49_MIGRATION.md)
## Stable 基线(103 生产,只读对照)
| 项 | 值 |
|---|---|
| goosed 版本 | `goose-server 1.41.0` |
| 二进制 | `tkmind_go-native/releases/goosed-20260729-v141-m1` |
| 源码分支 | `upgrade/goose-1.47`TKMind 补丁) |
| 端口 | `18006``18014`native launchd × 9 |
| Session PG | `memind_sessions` @ `127.0.0.1:5432`103 |
| 记录时间 | 2026-09-08 |
## v1.49 候选(本地隔离)
| 项 | 值 |
|---|---|
| worktree | `/Users/john/Project/tkmind_go-v149` |
| 分支 | `upgrade/v1.49-tkmind` |
| upstream tag | `v1.49.0` |
| 端口 | `18049` |
| 启动命令 | `goose serve --tls`**v1.49 已移除 `goosed`/`goose-server`**,改为 ACP HTTP/WS |
| Session PG | `goose_sessions_v149_dev` @ `127.0.0.1:5432` |
| XDG 隔离 | `/tmp/goose-v149-runtime/{config,data,state,cache}` |
| Portal 目标 | `TKMIND_API_TARGET_V149=https://127.0.0.1:18049`(独立 H5 进程时使用) |
## Memory 本地策略(Phase 1 初始)
```bash
MEMORY_BACKEND=legacy
MEMORY_VECTOR_ENABLED=0
MEMORY_AGENT_INJECTION_MODE=off
MEMORY_LIFECYCLE_ENABLED=0
MEMORY_CANDIDATE_ENABLED=0
```
upstream / v1.49 goosed 不得写入 MySQL 业务记忆;只走现有 Portal `conversation-memory` owner。
## Phase 0 检查项
- [x] 记录 stable 1.41 基线
- [x] 拉取 upstream `v1.49.0` tag
- [x] 创建 `upgrade/v1.49-tkmind` worktree
- [x] 创建隔离 PG 库 `goose_sessions_v149_dev`
- [x] 编译 v1.49 goosed 并通过 `GET /status``goose 1.49.0` @ `:18049``ok`
- [x] 移植 legacy REST`/agent/start``/sessions``/sessions/{id}/events|reply|cancel` 等,见 `tkmind_compat`
- [x] 导出 Memory manifest`node scripts/export-goose-v149-memory-manifest.mjs``docs/baselines/goose-v149-memory-latest.json`
- [x] 保存 runtime 基线样本(`node scripts/capture-goose-v149-baseline.mjs``docs/baselines/`
- [x] Canary 开关与一键回滚(`scripts/switch-goose-v149-canary.sh`,见 [goose-v149-canary-runbook.md](./goose-v149-canary-runbook.md)
## Phase 1 验证
```bash
node scripts/run-goosed-v149-phase2.mjs # Phase 2 聚合(cost + drift + phase1
node scripts/check-goosed-v149-cost-smoke.mjs # Finish token_state / billing
node scripts/compare-goose-v149-memory-manifest.mjs
bash scripts/switch-goose-v149-canary.sh on all # 全量 canary 后重启 pnpm dev
```
```bash
bash scripts/ensure-goose-v149-vendor.sh # 离线 vendorGitHub 不可用时)
bash scripts/build-goosed-v149-local.sh # 编译 goose CLI(首次较久)
bash scripts/ensure-goose-v149-local-db.sh
bash scripts/run-goosed-v149-local.sh # goose serve @ 18049
curl -sk https://127.0.0.1:18049/status
```
> v1.49 已通过 `crates/goose/src/acp/tkmind/` 重移植 legacy REST;聚合验证:`node scripts/check-goosed-v149-all.mjs`。
## 禁止项
- 不得使用生产 `DATABASE_URL``GOOSE_SESSION_DB_URL`(含 RDS / 103 / 105 地址)
- 不得修改 103 launchd、105 nginx、Portal `:8081`
- 不得在本阶段删除 1.41 定制或 `:18036` DeepSeek 代理