# 交付树模型与关联约定 ## 真相源 ```text 需求状态 = 阶段看板唯一真相(分析中/设计中/待开发…) 【交付】任务 = 该需求的交付容器(每需求最多 1 条) 【分析】/【设计】 = YunxiaoPMapp 在交付下建的阶段子项 【开发】/【测试】 = 另属开发 Skill / 测试 Skill,不进本包 ASSOCIATED = 横向挂钩(【交付】 ↔ 需求) SUB / TASK_SUB = 纵向拆解(交付 → 分析/设计) ``` ## 关系验收 | 关系 | 用在哪里 | 验收 | 优先级 | |---|---|---|---| | ASSOCIATED | **仅【交付】** ↔ 需求 | 交付详情「关联项」能看到需求(**强制**) | 交付必过 | | TASK_SUB | 【分析】/【设计】 → 【交付】 | 交付详情「子项」能看到阶段任务(**强制**) | 阶段任务必过 | 建单规则(Cookie 路径 · 同一 create 只能一条 `createWorkitemRelationInfo`): | 对象 | `createWorkitemRelationInfo` | 另写字段 | |---|---|---| | 【交付】 | `ASSOCIATED` → 需求 | — | | 【分析】/【设计】 | `TASK_SUB` → 交付 | `parent` + `parentIdentifier` = 交付 | **禁止**对分析/设计只写 `parentIdentifier` + `ASSOCIATED→需求`:关联项可能有,但交付「子项」仍为空(ONEOS-246/247 已复现)。 勿用 `PARENT` 冒充关联项。细则见 [live-api.md](live-api.md)。 ## 禁止 | 禁止 | 说明 | |---|---| | 创建或描述【开发】/【测试】 | 口令与回报均不出现 | | 分析/设计未挂成交付子项(无 TASK_SUB) | 交付「子项」为 0,交棒验收失败 | | 用任务名称/标题做唯一性或查重 | 不得 `subject` 匹配复用 | | 同一需求认定多个交付任务编号 | 列出编号请人合并后再继续 | | 功能模块标签用「分析/设计/交付」 | 模块标签打在需求(可选交付)上 | ## 任务标题(仅展示) - 【交付】+ 需求标题 - 【分析】+ 需求标题 - 【设计】+ 需求标题 标题可改,**不参与查重**。 ## 任务编号唯一性 **唯一允许的查重/复用渠道:云效任务编号**(如 `ONEOS-99` / `serialNumber`)。 | 场景 | 正确 | 错误 | |---|---|---| | 首次创建【交付】 | 建单成功后回报并写入「工作项编号(系统)」 | 下次用标题搜 | | 复用【交付】 | 口令或编号区块带 `交付任务=ONEOS-xx` | list 后按 subject 相等 | | 判断是否已有交付 | 编号区块或交付 ASSOCIATED 编号集合 | 数【交付】开头标题 | | 分析/设计幂等 | 仅已登记编号 | 按【分析】+需求标题 | 按编号命中则复用;**计划开始已有值禁止改写**。