feat: improve conversation timeline and agent plans
This commit is contained in:
@@ -29,3 +29,26 @@
|
||||
- 最终 diff 审查确认:标题/日期输出均转义,只有消息节点使用按钮与 `data-target`;旧会话默认空历史;MCP unchanged/invalid/manual-lock 均不产生伪事件;缓存版本已同步。
|
||||
- 最终状态:7 个阶段全部完成;保留 scoped planning 记录,删除本任务 TODO CSV。服务重启因另一条活跃会话被明确暂缓。
|
||||
- 下一步:审查计划,并通过 codebase-memory 定位前后端链路。
|
||||
|
||||
## 2026-07-29
|
||||
|
||||
- 用户确认落地“标题作为章节标题,显示在触发用户消息上方”的调整。
|
||||
- 已读取 `planning-with-files` 与 `todo-list-csv` 技能全文,运行 session catchup 并恢复上轮上下文。
|
||||
- 已建立“调整标题定位锚点”六步计划及同名 TODO CSV;保留其他任务的 active plan 与未跟踪 CSV。
|
||||
- codebase-memory 索引状态为 ready(4176 nodes / 8942 edges),已定位 `setCurrentConversationTitle()`、`normalizeTitleHistory()`、`buildUserOutlineTimelineItems()` 和 `updateUserOutlinePanel()`。
|
||||
- 根因确认:后端保存调用时消息总数,前端以 `messageIndex * 2 - 1` 排序,导致标题位于触发用户消息之后。
|
||||
- 设计确定:新增 `anchorMessageIndex`,保留 `messageIndex` 原语义;旧事件回退到事件之前最近的用户消息,日期继承锚点消息时间。
|
||||
- 首轮独立计划审查未通过:要求明确锚点字段契约、实时/缓存/重载传输路径及对应回归。
|
||||
- 已补充 `anchorMessageIndex` 的零基索引、合法范围、与 `messageIndex` 的优先级、锚点不可见降级规则,以及实时和重载一致性验收;等待复审。
|
||||
- 第二轮独立计划审查已通过;阶段 1 完成,进入标题前置、旧历史、跨午夜及实时/重载传输失败回归编写。
|
||||
- 已补充专项纯函数与 MCP 集成断言;首次专项回归在“后端应保留合法触发消息锚点”处按预期失败(exit 1)。
|
||||
- 阶段 2 完成,进入后端 `anchorMessageIndex` 归一化、生成、实时返回与重载持久化实现。
|
||||
- 后端已生成最近用户消息零基锚点,并在 normalizer 中仅保留合法整数且早于事件位置的锚点。
|
||||
- 专项回归已越过后端断言,在“标题应位于触发用户消息之前”处按预期失败;阶段 3 完成,进入前端排序实现。
|
||||
- 前端 normalizer 已保留合法 `anchorMessageIndex`;时间线优先精确锚点,旧历史/不可见锚点回退到事件前最近可见用户消息,并继承锚点日期。
|
||||
- `title-history-outline` 专项回归通过;阶段 4 完成,进入语法检查与专项复核。
|
||||
- `node --check`(server/app/regression)与专项回归复核均通过;阶段 5 完成,进入全量回归和最终差异审查。
|
||||
- 最终收紧异常索引边界后,重新运行三项语法检查和 `title-history-outline` 专项回归,全部通过。
|
||||
- 最终全量 `npm run regression` 在 60 秒超时约束内完成,exit 0,输出 `Regression checks passed.`;`git diff --check` 通过。
|
||||
- codebase-memory 最终影响检测 transport closed,未重复调用;本地函数级 diff 确认本次只涉及标题锚点、前端排序及对应回归,其他在途工作区改动保持原样。
|
||||
- 阶段 6 完成,准备清理本次临时 TODO CSV;随后按项目规则复查运行会话并处理此前未完成的服务重启。
|
||||
|
||||
Reference in New Issue
Block a user