chore: rebuild release package
This commit is contained in:
36
.planning/title-history-locator/task_plan.md
Normal file
36
.planning/title-history-locator/task_plan.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# 标题历史定位时间线
|
||||
|
||||
## 目标
|
||||
|
||||
当 LLM 通过 `ccweb_set_title` 修改会话标题时,持久化标题变更事件,并在“定位”列表中按对话顺序显示不可点击的标题分隔项;同时按消息时间插入精确到天的日期分隔项,让用户看出主题在哪一步变化以及对话发生在哪一天。
|
||||
|
||||
## 阶段
|
||||
|
||||
| 阶段 | 状态 | 验收标准 |
|
||||
|---|---|---|
|
||||
| 1. 建立计划并确认需求边界 | complete | 计划、发现、进度和 TODO CSV 已建立,且不覆盖现有任务文件 |
|
||||
| 2. 定位标题 MCP、消息存储与定位弹层链路 | complete | 找到精确入口、数据流、现有测试和兼容边界 |
|
||||
| 3. 补充标题历史及日期定位展示回归 | complete | 新断言覆盖持久化、接口返回、只读展示、历史兼容及浏览器本地 23:59/00:01 跨天边界 |
|
||||
| 4. 实现标题变更事件持久化与读取 | complete | 成功改名时写入事件,忽略/失败不写,旧数据可读取 |
|
||||
| 5. 实现定位列表标题与日期时间线展示 | complete | 标题项按步骤排序;日期按天去重并呈现横线中置日期气泡;两类节点均不可点击 |
|
||||
| 6. 运行专项与全量验证 | complete | 语法、专项回归、全量回归和 diff 检查通过 |
|
||||
| 7. 审查改动并清理临时跟踪文件 | complete | 代码审查通过,TODO CSV 删除,计划与进度收口 |
|
||||
|
||||
## 关键约束
|
||||
|
||||
- 只记录由标题 MCP 实际生效的变更;用户手动锁定导致的 ignored 不产生伪历史。
|
||||
- 标题历史是时间线元数据,不伪装成普通对话消息,不参与消息定位选中。
|
||||
- 日期节点只显示 `YYYY-MM-DD`,按浏览器当前用户本地时区分组,与现有消息时间的前端展示语义一致,不显示时分秒。
|
||||
- 日期节点采用两侧横线、中间日期气泡的分隔样式;本地时间从 23:59 跨到 00:01 时必须产生新日期节点。
|
||||
- 兼容已有会话数据;历史中没有标题事件时维持当前行为。
|
||||
- 不覆盖工作区内与本任务无关的未提交文件和规划状态。
|
||||
- 测试命令最长 60 秒;未确认无其他 running 会话前不重启服务。
|
||||
|
||||
## 错误记录
|
||||
|
||||
| 错误 | 尝试 | 处理 |
|
||||
|---|---|---|
|
||||
| 标题历史专项回归因缺少 `normalizeTitleHistory` 失败 | 1 | 失败符合 TDD 预期,进入最小后端实现 |
|
||||
| 后端实现后专项回归因缺少前端 `normalizeOutlineTitleHistory` 失败 | 1 | 后端纯函数契约已通过,进入前端实现 |
|
||||
| `ccweb_list_conversations(status=running)` 60 秒超时 | 1 | 降级检查 PM2、端口、近期会话文件;发现另一条 15:38 收到用户消息的 Codex App 会话,按约束暂缓重启 |
|
||||
| `codebase-memory-mcp detect_changes` 返回 transport closed | 1 | 不重复同一失败,使用已完成的函数级检索、全量回归与本地 diff 审查收口 |
|
||||
Reference in New Issue
Block a user