diff --git a/DEPTH_ROADMAP.md b/DEPTH_ROADMAP.md index 2f7904a..c87e3be 100644 --- a/DEPTH_ROADMAP.md +++ b/DEPTH_ROADMAP.md @@ -169,8 +169,13 @@ RBAC 未做,暂以单管理员账号代理;概览口径必须是**系统级* (统一强制、别靠人肉);ctx 无租户(系统/回填)则不过滤;中间件把 tenant 注入 request ctx;启动回填存量行。 live 验证:创建自动写 tenant_id ✓;**同 owner 不同 tenant 的行被查询过滤掉** ✓(隔离机制生效)。 Doc/DocLink(异步入库)、Task/Eval(无 owner,待提交链改造) 下一增量铺开。 -- [ ] 增量2b:Doc/DocLink 走异步 JetStream 入库,tenant 需随 job payload 传播;Task/Eval 补 owner+tenant | M -- [ ] Redis/MinIO/Milvus/Neo4j 的 tenant 前缀/namespace | M +- [x] **增量2b:核心表 tenant_id 全链路闭合**✅(ee1e9cf + 766eaab)—— Task 加 owner+tenant(插件填)、 + Eval/Doc/DocLink 加 tenant(异步 background ctx 无请求租户 → 按关联源显式补:Eval 从 task 复制、 + Doc/DocLink 按 owner 查默认租户);`store.WithoutTenant` 系统旁路 + 修 admin overview 被自己租户 + 误过滤的回归;RecentTasks/RecentRuns 按 owner+tenant 过滤"我的运行"(raw Table 查询手动补); + BackfillRowTenants 扩到 doc/doc_link/task/eval。live 验证:创建自动填/异步补/跨用户读被过滤/admin + 全局口径全过。**PG 核心表(KB/Agent/Task/Eval/Doc/DocLink)隔离闭合。** +- [ ] Redis/MinIO/Milvus/Neo4j 的 tenant 前缀/namespace(各存储隔离,PG 已闭合)| M - [ ] 真正的 RBAC:User 加 role 字段 + 角色/权限表,`RequireAdmin`(middleware/auth.go:46) 从白名单升级为角色校验 | M - [ ] 用户管理接口:列举 / 禁用 / 改角色(现仅注册/登录/查我,handler/auth.go)| M - [ ] 多租户:Task/Eval/KB/Agent 加 tenant_id,owner_id 之上补租户隔离边界 + 租户表/关联表(store 全表,单租户假设)| L