9b4a25799f
Replace fixed ackText with a rule-based AckProvider that picks response templates by message type and intent (translate, summary, rewrite, poster, ppt, mindmap, code, search, schedule). Pure sync, zero I/O, auto-falls back to config.ackText on any error. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
97 lines
2.6 KiB
Markdown
97 lines
2.6 KiB
Markdown
# Memind 103 收口方案(2026-06-26)
|
||
|
||
## 当前判断
|
||
|
||
`Memind` 已经接近“可以收口”的状态,但 `103` 当前运行目录已经不是一个可依赖 Git 的干净工作树。
|
||
|
||
已确认:
|
||
|
||
1. `103` 运行目录:`/Users/john/Project/Memind`
|
||
2. `103` 当前目录存在 `.release-manifest.txt`,说明至少已有发布包切换痕迹。
|
||
3. `103` 上当前 **无法直接把 `Memind` 当成 Git 工作树使用**。
|
||
4. 本地 `test-memind` 是后续唯一应保留的源码主线。
|
||
|
||
## 这意味着什么
|
||
|
||
1. 以后不能再依赖“线上 `git rev-parse` 一致”来判断是否对齐。
|
||
2. `103` 只能作为运行事实来源与只读基线来源。
|
||
3. 真正要收口的动作,必须发生在本地仓库里。
|
||
|
||
## 当前差异判断
|
||
|
||
本地与 `103` 只读基线相比:
|
||
|
||
1. 业务主文件大体已经一致。
|
||
2. 本地多出了规则文档、审计脚本、运行资源、历史备份文件。
|
||
3. 这批差异里,大多数不是“线上独有必须回收”的功能逻辑。
|
||
|
||
## 收口目标
|
||
|
||
把 `Memind` 从“本地和线上都可能被手改”收口成:
|
||
|
||
1. 本地 `test-memind` 是唯一源码真相。
|
||
2. `103` 只接收发布包,不再手改源码。
|
||
3. 发布后通过 manifest、健康检查、业务验收确认版本一致。
|
||
|
||
## 具体执行步骤
|
||
|
||
### 第一步:冻结线上直改
|
||
|
||
1. 不再在 `/Users/john/Project/Memind` 直接改源码。
|
||
2. 不再把 `103` 当作可直接修代码的工作目录。
|
||
|
||
### 第二步:只保留只读基线
|
||
|
||
当前只读基线目录:
|
||
|
||
- `/Users/john/PycharmProjects/test/_103_baselines/Memind`
|
||
|
||
用途:
|
||
|
||
1. 对账
|
||
2. 取证
|
||
3. 回收必要热修
|
||
|
||
禁止:
|
||
|
||
1. 用它覆盖本地主开发目录
|
||
2. 把它误当主仓库继续开发
|
||
|
||
### 第三步:清理本地“非源码差异”
|
||
|
||
优先处理:
|
||
|
||
1. 历史 `.bak` 文件
|
||
2. 明显的临时日志与运行输出
|
||
3. 不应该长期存在于主仓库的临时资源
|
||
|
||
注意:
|
||
|
||
1. 先分类,再清理
|
||
2. 不要误删正在使用的真实业务资源
|
||
|
||
### 第四步:做第一次收口发布
|
||
|
||
1. 本地把必须保留的改动整理成 commit。
|
||
2. 用 `bash scripts/release-prod.sh` 生成发布包并发布到 `103`。
|
||
3. 发布后保留 `.release-manifest.txt`、备份包路径、健康检查结果。
|
||
|
||
### 第五步:建立后续一致性
|
||
|
||
以后每次发布必须满足:
|
||
|
||
1. 本地先 commit
|
||
2. 从 commit 打包
|
||
3. `103` 只收包
|
||
4. 发布后验证
|
||
5. 出问题回滚
|
||
|
||
## 何时算收口完成
|
||
|
||
满足以下条件即可视为完成:
|
||
|
||
1. `103` 上不再直接改源码
|
||
2. 本地变更都能追溯到 commit
|
||
3. 最近一次线上版本来自 `scripts/release-prod.sh`
|
||
4. 业务验收结果与 manifest 能对应到同一发布编号
|