> 来源:PR #72 review 第三轮(medium)。 ## 现状 `createPaperPendingPlanFetcher`(`hooks/handlers/pending-plan-fetcher.ts`)忽略 `sessionId` 参数,按状态全局拉 `pending_approval` + `approved` plans——paper `GET /plans` 本身没有 session 维度过滤。 ## 危害 单租户 dev console(agent 与控制台同账户)下行为正确(代码注释已声明此限制)。但: - cron scheduler 的 Stop hook 强制续 turn 时,可能被**其他 session** 的残留 plan 触发,把不属于本 job 的 plan 拉进上下文 - 多租户化后会跨用户泄露 plan 摘要(plan_id / symbol) ## 修向 1. paper `/plans` 加 session(或 subject)维度列与过滤参数 2. fetcher 透传 `sessionId`,调用方(scheduler / chat processor)各自带上 3. 与 #66(divination subject 越权)同属多租户 tracking 族,可一起规划 ## 关联 PR #72 · `PendingPlanFetcher` 签名已预留 sessionId 形参,只差后端过滤语义。
现状
createPaperPendingPlanFetcher(hooks/handlers/pending-plan-fetcher.ts)忽略sessionId参数,按状态全局拉pending_approval+approvedplans——paperGET /plans本身没有 session 维度过滤。危害
单租户 dev console(agent 与控制台同账户)下行为正确(代码注释已声明此限制)。但:
修向
/plans加 session(或 subject)维度列与过滤参数sessionId,调用方(scheduler / chat processor)各自带上关联
PR #72 ·
PendingPlanFetcher签名已预留 sessionId 形参,只差后端过滤语义。