## Parent Spec: https://github.com/1123786563/OpenBot/issues/472 — 内置 Agent 执行迁移 Mastra。本 Issue 是其正式子 Issue。 ## What to build 通过主仓库调用 OpenBot 的 OpenMuse 任务与 Workshop 执行能使用统一 Mastra turn,并返回原业务可读取的结果和产物。 ## Acceptance criteria - [ ] 核对主仓库实际装配的 OpenMuse/Workshop headless 调用,分别记录调用入口、身份、scope、预算、产物与取消关系。 - [ ] 每个实际调用走前置受控 turn,不在子模块引入第二模型直连或通过 owner/Bot ID 猜全局环境。 - [ ] 任务等待审批/前端参与时保留通用 continuation,完成后按原任务/会话回传,重复回调不重复创建产物。 - [ ] 产物、预览、下载与执行环境继续按业务范围授权;跨团队/公司和撤销会话后拒绝。 - [ ] 原有执行超时、取消、错误展示与费用归属保持,缺失外部依赖明确 unverified 而非假成功。 ## Blocked by - https://github.com/1123786563/OpenBot/issues/481 — 定时任务通过统一 Mastra 执行并回写原会话 ## Scope boundary 仅迁移主仓库调用装配,不改 OpenMuse 子模块 TanStack Agent、Craft 或 Workshop 自身底层执行器。 ## Interfaces - Consumes:前置票经审查的实际交付合同,以及父 Spec 的身份、预算、消息与恢复约束。 - Produces:集成入口清单和对统一 turn 的稳定适配。 - Responsibility:backend_implementer;相应只读验证者 + 独立 Spec/质量 reviewer。 ## Verification 主仓库 OpenMuse task 和 Workshop 端到端装配各一正常/取消/越权流程;检查任务状态与产物下载权限。 ## Failure handling 不以扩大环境/文件权限解决迁移失败;子模块内部改造另立需求。 ## Acceptance mapping 父 Spec:A13。既有实施计划关联:T9, T10。Issue 是完整业务切片,计划 Task 是票内或前置工程步骤,两者不一一等同。 ## Handoff notes - 方案、测试 seam 与拆票已由用户于 2026-10-19 确认,按该范围登记 Issue。ready-for-agent 只表示规格可接手,不表示依赖已完成、已实现或已获上线授权。 - 使用根 CONTEXT 的术语,遵守公司/团队/本人/逻辑 Bot、计费准入、个人记忆和测试运行器 ADR;不得因框架替换重定权威。 - 每票保留独立可演示的行为;跨端时先固定事件/状态接口,再按专业角色安排票内实现 Task,不把业务票另拆成数据库/后端/前端水平交付。 - 领取前核验前置代码及其同哈希验证/Review 已集成;关闭状态不是实现证据,外部引用不是自动扩大的实施范围。 - 按仓库 writing-plans/SDD/独立 Review/OCR 流程实施;无提交授权用完整未提交增量检查点。该流程在真正实施时适用,本 Issue 登记不启动实现。 - 验证由 e2e 统一调度,native/driven 清单与实际用例数对账,数据库仅用明确的一次性受限角色 fixture;skip/缺环境/零用例不算通过。 - 结束或中断记录 HEAD、范围、完整 patch/新增文件及哈希、实际命令与结果、Review 和限制,方便新 Agent 恢复;不擅自提交、推送、合并、生产导入、部署或关闭其他 Issue。 <!-- openbot:mastra-agent-execution:ME12 -->
Activity
merge: 合入 mastra-exec2-2 未提交工作收口(me11–me16 轮次,保留完整提交历史)
1123786563 commentedon Oct 23, 2026
完成关闭(用户 2026-10-23 授权)。
🤖 Generated with Claude Code
1123786563 commentedon Oct 23, 2026
更正上一条评论中的证据路径笔误:应为
docs/plans/2026-10-19-mastra-execution-run/me12/report.md(me12 对应本票)。