Skip to main content

Plane 物化合同

AutoDev 开发已改用 Linear + Symphony。原 Workspace 的 Plane 候选 resolver/applier、 项目绑定与工作流声明退出当前入口,旧 Issue 和来源证据保留历史,不再从这里发布 AutoDev 任务。本页保留 Plane 产品的源合同与未启用投影说明;机器合同仍为 write_enabled: false,不表示存在可执行 materializer。

映射​

资产Plane 对象幂等身份
领域可选 Module Group仅展示名称,不作幂等键
Feature / 交付版本Moduleexternal_source=autodev.asset + Asset ID
MProject Milestone同上
WPWork Item同上
可执行任务Sub-work-item同上
depends_onblocks/blocked_by两端 Asset ID
时间窗口Cycle同上;只表示时间盒

Plane 当前 Module、Milestone、Work Item 和 Cycle 支持外部身份。Module Group 没有相同字段,因此 materializer 不得根据 Docusaurus 分类名自动创建、匹配或更新 Module Group。

开发包仍是 scope、设计、acceptance、dependency、verification 和 rollback 的事实源;Plane 只增加 assignee、state、cycle、实时进展和评论。投影程序读取 WP 时必须保留 Asset ID 和 canonical URL,使执行者可以从 Work Item 回到准确合同;Docusaurus 不读取 Plane state 来改变 readiness。

更新白名单​

未来 materializer 只能更新由资产合同拥有的标题、描述中的 Asset 元数据、目标日期、模块/里程碑关联和声明依赖。负责人、业务状态、评论、人工标签、验收结论和非本工具创建的内容默认不可改写。

冲突与删除​

  • 同一 external_source/external_id 命中多个活动对象时 fail closed。
  • 原生对象已有不同人工内容时生成冲突报告,不自动覆盖。
  • 资产退役只允许归档投影对象,不执行硬删除。
  • depends_on 循环或跨 Project 引用必须拒绝。

Dry-run 与批准​

资产目录泛化投影若后续实现,必须先输出稳定排序的 dry-run,列出 create/update/archive/noop/conflict 和字段差异;apply 绑定同一 digest。执行授权由 owning Project Workspace 的当前规则确定,本合同不添加独立批准关卡。物化不隐含开启 Issue 自动化。

未启用的泛化投影机器合同见 catalog/plane-materialization.json 和 schemas/plane-materialization.schema.json。

历史 Issue 候选 v3​

以下为已退役 Workspace 工具的来源合同,不是当前 AutoDev 发布入口。历史候选为 autodev.plane-materialization-candidate/v3,解析计划为 v3;不保留旧 v2 运行兼容。kind 为 issue/task/bug,普通 issue 的 type_selector 为 null,Task/Bug 使用当前类型选择器。work_item_types 可为空,选择器不再包含 Epic capability 或 hierarchy_parent_of。

parent_key 可引用候选中任意合法工作项,不要求 Epic 父项;自引用、环和不存在目标拒绝。依赖关系同样保留明确方向和环检查。expected_counts 为 modules/issues/tasks/bugs/relations,其中 issues 只计 kind=issue。

apply_policy 使用 enable_automation=false 和 live_execution_truth=symphony_runtime_api;物化只建立工作,不自动委托。来源仍绑定完整 Git commit、路径、SHA-256 和精确候选 identity。已批准旧候选不得自动沿用批准,新源迁移必须重新计算摘要并审阅;重要计划数据和既有对象关系不能丢失。