Archive the finished chat mutex tasks, attach PI idle-chat refresh same-set evidence for project 6252, and stop expansion after in-place ports without a package split. Co-authored-by: Cursor <cursoragent@cursor.com>
2.6 KiB
2.6 KiB
title, status, created, updated, owner, branch, worktree, mutex
| title | status | created | updated | owner | branch | worktree | mutex |
|---|---|---|---|---|---|---|---|
| U10 chatlog/contextasm 原地端口化 | done | 2026-09-15 | 2026-09-15 | Cursor | feature/chatlog-contextasm-u10 | - | chat |
U10 chatlog/contextasm 原地端口化
目标
在不物理拆包的前提下,为对话读取与 prompt 装配建立带 Principal 的消费者端口,使正文、分类、计数、导出、摘要和恢复使用同一授权可见集合。
范围
internal/app/chatflowChatLog / ContextAssembler 端口- ctxmgr 表所有权不变;adapter 内做可见性过滤
- server 历史读取 handler 改走 ChatLog;忽略 query/body 中的 user_id 身份
- 会话 restore / 记忆召回只注入允许集合
- 不碰
intentmutex,不物理搬到chatlog/contextasm包
非目标
- U11–U12
- 整支 merge
feature/final-artifact-vault - 启用
FAV_DEGRADED_READ - 纯搬包
步骤
- 核实
chatmutex:fix/chat-history-refresh已是dev祖先;剩余真实 PI 刷新与 U10 同批收口 - 从最新
dev开feature/chatlog-contextasm-u10并登记 CURRENT - 定义 chatflow 端口与 ctxmgr adapter
- 迁移 window/day/stats/search/unread/export/digest/history/restore/memory
- 合同测试:同集计数、非 owner 403、restore/digest 不放大不可见消息
- 验收报告;最后一句 停止扩面
验收标准
- 刷新前后同一授权集合的正文与分类计数一致(adapter 合同测试)
- 跨用户负例 fail closed(guest 非 owner)
- context assembly / digest 只使用允许集合
- 真实 PI 闲聊刷新 E2E 证据(与对话刷新活验同批;编制任务链 save 400 未纳入停走)
- 未物理拆包;DTO 转换为 0,拆包收益不成立
相关链接
- Checklist: ../checklists/2026-09-14-module-decoupling-refactor-acceptance.md
- Plan: ../../remediation/2026-09-14-module-decoupling-refactor-plan.md
- Chat refresh: ../../test-reports/2026-09-13-chat-history-refresh-test-report.md
- Test report: ../../test-reports/2026-09-15-chatlog-contextasm-u10-test-report.md
证据 / 备注
U9 最后一句 继续 U10 只批准进入 M4。禁止 U11–U12。intent 认领仍 in_progress,本单元不改意图分类。活验项目 6252 / sess-p6252-u10;产物 .doc/test-reports/assets/2026-09-15-chat-history-refresh-live/live.json。未占槽 rebuild。