Skip to content

PR #4526 需要维护者确认:iOS Simulator 跨任务工程构建的架构边界 #4530

Description

@MagicLizi

PR:#4526
Head:e0457363dcc2b784b6ef6f6379da8c75ada9f872
作者:horizon554

这次改了什么

内嵌 iOS Simulator 的 build_app 新增可选 projectDir:任务 A 可显式指定外部工程 / worktree B 来构建,再用 A 的设备安装、启动和调试。省略参数时仍用当前任务目录。构建缓存、artifact 来源和 Cindy Mobile Metro 检查切到所选目录;任务身份、设备 route、控制授权和 artifact 实例归属仍属于 A。托管 worktree 复用现有 runtime lease,回收或任务取消时终止操作。

为何需要维护者确认(arch)

这不是同结构内的实现替换。

  1. 跨包 MCP / 数据契约packages/lizi-mcpsbuild_app 增加 projectDir;Host artifact 新增 project 摘要(目录名、目录 fingerprint、相对 container 路径)。旧 Host 会拒绝不认识的参数,配套插件 Manual 仍是 draft。
  2. 模块边界:Host 构建路径接到 worktree runtime lease / recycle 事件,把模拟器构建与托管 worktree 回收协调绑在一起。
  3. 权限半径:构建来源从“当前任务目录”扩大到用户明确指定的任意本地目录(仍走现有任务执行权限,不是新的文件系统沙箱)。

请维护者直接在 PR 上 Approve;若需要作者修改,请 Request Changes。

产品门(不 hold)

product 因标题 feat 触发,但 Renderer 只改了既有静态契约测试的格式匹配,touchesUi=false,没有外观、布局、文案或交互流向变化。用户可见的是 Agent/MCP 可选参数,不是产品 UI。

建议核对

  • 省略 projectDir 是否完全保持原行为。
  • 外部目录是否只改构建来源,不转移任务 / 设备所有权。
  • containerPath 是否仍限制在所选工程内。
  • 租约是否只保护托管 worktree,并在源目录 I/O 结束后释放。
  • 配套插件 Manual 的发布顺序是否可接受。

关联 PR:#4526(作者 @horizon554);本 issue 由 review-pr 流程自动创建,用于先讨论该 PR 涉及的技术架构调整,维护者确认后 PR 会恢复推进。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions