Skip to content

[AIW-04] 原子切换 Local 与 Backend Domain Authority #219

Description

@TablewareBox

Parent

Part of #215.

What to build

Workbench 保持常驻 Workspace Authoring Client;Canvas Definition 与 Runtime Context 在 local | backend 两个互斥 Domain Authority 之间原子切换。local 模式保留代码/画布双向同步;backend 模式由画布直接读写 Go Backend 工作流图,本地代码修改继续保存在工作区但不自动作用于 Backend。切换同时更换 base URL、source ID、认证、SSE cursor 与缓存命名空间,禁止逐接口 fallback、混合列表或双写。

Acceptance criteria

  • Domain Mode 只有 local | backend;没有 authoring-only 或 edge 自建 Scheduler 模式。
  • Workspace Authoring Client 始终指向 Local Backend;设备停止时仍可编辑、保存本地代码和浏览候选。
  • local 模式画布与工作区代码双向同步;Canvas/Runtime Workflow、Material、Scheduler 均由 Local Backend 提供。
  • backend 模式画布允许编辑并通过 revision CAS 保存 Go Backend 工作流图;本地代码修改不刷新、不覆盖 Backend 画布。
  • Canvas/Runtime 的 Workflow/Material/Scheduler Authority 在 Local Backend 与 Go Backend 之间互斥。
  • 切换操作先完成 capability/readiness 校验,再原子替换整套 Backend Client;失败保留旧 Authority。
  • cache key、实体 source identity、SSE cursor、认证和 pending mutation 均按 Authority 隔离。
  • Local Backend 与 Go Backend 重叠的 /api/v1 路由、DTO、分页、信封、错误、状态和幂等合同通过矩阵测试。
  • Backend 模式不导入本地 Scheduler、不创建本地 Domain DB、不挂载 local Domain 写路由。
  • 两个窗口可分别查看 Workspace Authoring 候选与 Backend Runtime/Canvas 事实,更新互不污染。
  • E2E 覆盖成功切换、目标不可用时失败关闭、Backend 画布保存、代码修改隔离、SSE 重连和切回后的缓存身份。

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature:authoring-workbenchUniLab 调试工作台(UniLab Workbench)、Theia、IDE 联动与 Agentready-for-agentFully specified and ready for an AFK agentstage:implementationImplementing a frozen protocol

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions