根因:precheck(line102)/bind(line182)都 requireSlotBinding(binding!=null)缺行抛 AI_RESOURCE_FORBIDDEN;但"替换"是设计中唯一创建入口(替换=首次写入,无独立创建端点是设计有意,见后端-04 line748/产品-02D line507),要求被替换行先存在→死锁,首次绑定永不可达。work4 seed binding 是 E2E 绕此 bug 手插非设计常态。修:precheck 缺行放行;bind 抽 persistBinding upsert(有行 updateById 沿用乐观锁 revision+1,无行 insert revision=1 避免首次 expectedSlotRevision null 拆箱 NPE);V29 补 active partial unique index(tenant+work+slot WHERE status=active,并发首次写兜底);前端 mock protected 槽位对齐后端 startsWith(protected:)口径。验证:MuseAgentSlotServiceTest 26/26 + AppMuseAgentSlotControllerAnnotationTest 4/4 + 前端 useAgents/AIPanel.contract 4/4;handoff/幂等/乐观锁不破坏。范围:不建 Override Slot Contract 主数据(B)/不碰默认 agent 来源/不动 runtime 授权。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Muse SQL Seed Scope
当前 Muse 工程清理只维护 mysql/ruoyi-vue-pro.sql 与 mysql/quartz.sql。
其它数据库方言目录保留为上游参考,但没有同步执行 Muse 清理覆盖层,当前不作为可直接初始化 Muse 环境的脚本使用。需要启用其它数据库时,先把 MySQL 清理覆盖层等价迁移到对应方言脚本,并重新跑 fresh DB 初始化验证。