问题
当前架构文档将 AgentTask 定义为 Workspace 下的资源,但数据库、后端 API 与前端请求仍按 learner 维度全局管理任务;前端还使用固定 lingxi Workspace 别名。Workspace 因而只是路由外壳,不是业务聚合根。
实施要求
- 直接修改首发基线迁移
0001_initial_schema.py,为 agent_tasks 增加非空 workspace_id 外键及必要索引;不得新增过渡迁移。
- 将 AgentTask、事件、交互与任务产物相关 API 统一收敛到
/api/workspaces/{workspace_id}/...。
- 删除全局
/api/agent-tasks 路由,不保留重定向、代理或兼容入口。
- 删除
PUBLIC_WORKSPACE_ID、固定 lingxi 别名及前端硬编码跳转。
- 前端必须读取当前用户真实 Workspace ID,并在所有任务查询和命令中显式携带该 ID。
- 后端所有任务操作同时校验
workspace_id + task_id + learner_id 的归属关系。
- 同步更新 OpenAPI、前端客户端、架构文档和测试。
验收条件
问题
当前架构文档将 AgentTask 定义为 Workspace 下的资源,但数据库、后端 API 与前端请求仍按 learner 维度全局管理任务;前端还使用固定
lingxiWorkspace 别名。Workspace 因而只是路由外壳,不是业务聚合根。实施要求
0001_initial_schema.py,为agent_tasks增加非空workspace_id外键及必要索引;不得新增过渡迁移。/api/workspaces/{workspace_id}/...。/api/agent-tasks路由,不保留重定向、代理或兼容入口。PUBLIC_WORKSPACE_ID、固定lingxi别名及前端硬编码跳转。workspace_id + task_id + learner_id的归属关系。验收条件
agent_tasks.workspace_id为非空外键,初始 schema 可从空库一次创建。PUBLIC_WORKSPACE_ID和固定lingxiWorkspace 别名。/api/agent-tasks。