From 16df8f44c99119ac2d135367ff5eee477b81e70e Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Sun, 6 Sep 2026 17:36:59 +0800 Subject: [PATCH] =?UTF-8?q?PLAN.md:=20L2=20(P1/P2/P3)=20=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=A1=A3=E4=BD=8D=E4=BC=A0=E6=92=AD=E9=93=BE=E8=B7=AF=20+=20PU?= =?UTF-8?q?T=20=E7=AB=AF=E7=82=B9=20+=2024=20=E4=BE=8B=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E5=85=A8=E9=83=A8=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/PLAN.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/PLAN.md b/docs/PLAN.md index b5edb46..0882ffa 100644 --- a/docs/PLAN.md +++ b/docs/PLAN.md @@ -1527,30 +1527,30 @@ plan/workspace/full **一一对应** —— 不是巧合,是同一个问题的 #### P1:三条建会话路径漏设档位 -- [ ] `forward.go` 转发 —— `LoadForwardSource` 已返回源邮件(含 `SessionID`), +- [x] `forward.go` 转发 —— `LoadForwardSource` 已返回源邮件(含 `SessionID`), 用 `InheritedMode(&src.SessionID, 默认档)`。不修则 plan 档转发出去就升到 workspace -- [ ] `calendar_events` 加列 `permission_mode`(schema 三处同步)+ 日历投递接线: +- [x] `calendar_events` 加列 `permission_mode`(schema 三处同步)+ 日历投递接线: - 人建日程可指定;**Agent 建日程用它当时所处会话的档位定死,不许自选** - 投递时新建会话 → 用事件档位;**复用会话 → `ModeAtMost(会话现档, 事件档)`** 取更严,不能因复用而提权 - 堵住提权路径:plan 档的 Agent 建一个日程,触发时新会话拿默认档 workspace —— 它绕过 plan 档去写文件了,只是延迟了几分钟 -- [ ] adopt 接管平台会话 —— 无父会话,用默认档,在 `AdoptPlatformSession` 内显式写入 +- [x] adopt 接管平台会话 —— 无父会话,用默认档,在 `AdoptPlatformSession` 内显式写入 而不是靠 DB 默认值 #### P2:数据出不去 -- [ ] `GetSessionMails`(会话视图)与 `ListSentBy`(发件箱)的 `models.Mail` 补两列 —— +- [x] `GetSessionMails`(会话视图)与 `ListSentBy`(发件箱)的 `models.Mail` 补两列 —— 只改了 `ListInbox`,前端要显示档位徽标时这两条路径拿不到值 -- [ ] `PUT /sessions/{id}/permission` 端点 —— 已在 `me.go` 注释里引用但未实现, +- [x] `PUT /sessions/{id}/permission` 端点 —— 已在 `me.go` 注释里引用但未实现, 对话页要靠它改档 #### P3:测试 -- [ ] `repo/permission_mode_test.go`:继承、取更严、脏值回落 -- [ ] handler 档位判定 + 409 可达性(负向对照:恢复管理员兜底 → 用例必须失败) -- [ ] `notify` 两个新字段(挂真实 SSE 客户端读帧,沿用 `notify_test.go` 现有手法) -- [ ] 预算不被冲的回归用例(钉住 P0 第一项) +- [x] `repo/permission_mode_test.go`:继承、取更严、脏值回落 +- [x] handler 档位判定 + 409 可达性(负向对照:恢复管理员兜底 → 用例必须失败) +- [x] `notify` 两个新字段(挂真实 SSE 客户端读帧,沿用 `notify_test.go` 现有手法) +- [x] 预算不被冲的回归用例(钉住 P0 第一项) #### P4:插件接线