Files
OneOS1.2/.cursor/skills/yunxiao-requirement-lifecycle/references/oneos-terminal-flow.md

12 KiB
Raw Blame History

OneOS终态交付模型与迁移规则

目录

  1. 模型选择与边界
  2. 工作项和状态
  3. 原生Y规则
  4. AI与Webhook桥接
  5. 迁移就绪门禁
  6. 分阶段实施
  7. 验收与负向测试
  8. 已知风险和回滚

1. 模型选择与边界

OneOS终态模型以需求为阶段看板唯一真相

迭代
├─ 多个产品类需求
├─ 按需求分包的测试计划
└─ 一条【发版】任务

产品类需求
└─ 一条【交付】主任务
   ├─ 多条【开发】任务
   └─ 一条【测试】任务

每个项目只能选择一个主模型:

  • stage_tasks分析、设计、开发、测试各建阶段任务使用R/TK控制。
  • oneos_delivery一条交付主任务镜像需求多开发任务汇总使用Y/A控制。

不得同时启用两套进场规则。若项目仍有分析/设计标签驱动的R规则先记录为legacy_active,完成迁移就绪检查后再停用。

2. 工作项和状态

2.1 任务身份

任务 数量 必须关系 识别优先级
【交付】主任务 每需求1条 正式关联需求 独立工作项类型 > 任务标签交付 > 标题前缀流程约束
【开发】任务 每需求1..N条 正式关联需求和主任务 独立类型 > 标签开发 > 标题前缀
【测试】任务 每需求1条 正式关联需求和主任务 独立类型 > 标签测试 > 标题前缀
【发版】任务 每迭代1条 正式关联迭代和本批需求 独立类型 > 标签发版 > 标题前缀

标题关键字本身不构成正式关系。规则编辑器不能读取关联任务的类型、标签或标题时,不得声称原生规则能区分主任务和开发任务;使用桥接或人工门禁。

2.2 需求状态

目标状态顺序:

待处理 → 已确认 → 分析中 → 分析完成 → 设计中 → 设计完成
→ 待开发 → 开发中 → 开发完成 → 待测试 → 测试中 → 测试完成
→ 发布中 → 发布完成 / 发布失败 → 已关闭

允许的快轨至少包括已确认 → 待开发设计完成 → 待开发发布失败 → 发布中用于重试。已有近义状态先映射,禁止静默创建完成发布/发布完成已完成/已关闭等重复状态。

2.3 任务状态

  • 主任务:首选与需求同名镜像状态。
  • 开发任务:待处理 → 处理中 → 已完成,另有取消态。
  • 测试任务:待处理/待测试 → 测试中 → 已完成
  • 发版任务:待处理 → 发布中 → 发布完成/发布失败

若任务工作流不能承载主任务全量状态不配置Y02Y16原生镜像由桥接更新需求并记录主任务显示口径。

3. 原生Y规则

统一规则前缀:[OneOS终态] Yxx ...。保存后重新打开核对事件、条件、动作、顺序、启用状态和执行账号。

3.1 主任务镜像

ID 触发 条件 动作 默认方式
Y01 新增正式关联主任务 主任务可可靠识别;需求为待处理/已确认 需求与主任务进入分析中或获批快轨 原生/桥接
Y02 主任务到分析完成 正式关联唯一需求 需求到分析完成 原生
Y03 主任务到设计中 正式关联唯一需求 需求到设计中 原生
Y04 主任务到设计完成 正式关联唯一需求 需求到设计完成 原生
Y05 主任务到待开发 正式关联唯一需求 需求到待开发;负责人按项目配置 原生/桥接
Y06 主任务到开发中 正式关联唯一需求 需求到开发中 原生
Y07 主任务到开发完成 正式关联唯一需求 需求到开发完成 原生
Y08 主任务到待测试 正式关联唯一需求 需求到待测试 原生
Y09 主任务到测试中 正式关联唯一需求 需求到测试中 原生
Y10 主任务到测试完成 Testhub门禁通过 需求到测试完成 桥接优先
Y11 主任务到发布中 发版任务和迭代范围有效 需求到发布中 原生/桥接
Y12 主任务到发布完成 生产发布证据有效 需求到发布完成 桥接
Y13 主任务到发布失败 生产发布失败证据有效 需求到发布失败并记录原因 桥接
Y14 主任务到已关闭 产品验收证据有效 需求到已关闭 默认人工
Y15 需求状态变化 存在唯一主任务且无循环风险 主任务同名镜像 可选原生
Y16 需求快轨到待开发 存在唯一主任务 主任务到待开发 原生/桥接

每条双向镜像规则必须有防循环条件。平台无法区分“由本规则写入”的事件时,只保留一个权威方向。

3.2 开发任务汇总

ID 触发 条件 动作 默认方式
Y20 新增第一条开发任务或正式关联开发分支 需求=待开发开发任务数量≥1任务已指派 需求和主任务到开发中;对应开发任务处理中 原生/桥接
Y21 开发任务完成 非取消开发任务数量≥1且全部完成全部相关MR已合并 需求和主任务到开发完成 桥接优先
Y22 开发完成 同需求无未取消测试任务;幂等键未处理 创建并关联唯一测试任务,进入待测试 桥接

现有的“任务添加分支且标签=开发待处理→处理中”和“全部MR已合并且标签=开发处理中→已完成”可作为Y20/Y21的任务侧子规则保留。需求侧“全部MR已合并”只能看到正式关联资产必须执行多仓库负向测试。

3.3 测试、发布和迭代

ID 触发 条件 动作 默认方式
Y30 创建测试任务 正式关联需求和主任务 需求/主任务到待测试 桥接
Y31 首条用例执行或测试负责人开工 测试任务=待处理/待测试 测试任务、需求、主任务到测试中 原生/人工
Y32 测试验收完成 本需求用例包全部通过且缺陷闭环 三个对象完成测试阶段 桥接/人工
Y33 发版任务提交 发版任务正式关联迭代与本批需求 发版任务和本批需求到发布中 原生/桥接
Y34 生产发布成功 流水线执行、环境、范围、签名和幂等均有效 到发布完成 桥接
Y35 生产发布失败 同上;失败证据有效 到发布失败并记录原因 桥接
Y40 需求到待开发 未关联迭代 通知产品负责人,不自动写入未知迭代 通知/人工

test部署只能允许测试开始不能触发Y34。发布完成后必须停留等待产品/业务验收;禁止自动进入已关闭。

4. AI与Webhook桥接

ID 能力 最小门禁
A01 发布原型/附件并回写需求描述 外部存储授权;链接可审计
A02 生成并保留更新内容历史 不覆盖历史段;OneOS 默认调用 $oneos-autoprd 第 10 章「功能变更记录」(自上次定稿以来);旧段挪到「更新内容·历史」
A02B 生成产品可读需求说明 不写实现机密;保留来源;OneOS 默认调用 $oneos-autoprd 全文/交付口径写入「需求说明」
A03 建需求和唯一主任务并快轨待开发 幂等查询;正式关系可见;建单写描述前先完成 A02+A02BAutoPRD;进入待开发时按 auto-stage-task.md 建/复用与需求同名任务,负责人何斐,时间沿用需求
A03B 需求进入分析中/设计中自动建同名阶段任务 标签分析/设计;负责人=需求创建人;正式关联;时间沿用需求;与 A03 同一套查重
A04 拆分多条开发任务 负责人、范围和父子关系明确
A05 按MR证据关闭开发任务 所有仓库、目标分支和关联关系完整
A06 全部开发完成后建唯一测试任务 幂等键=项目ID+需求ID+create_test_task
A07 按Testhub结果完成测试 用例与缺陷口径满足TC/DF控制
A08 按迭代创建发版任务和更新说明 正式关联迭代和本批需求
A09 发布成败回写 验证环境、签名、时间戳、执行ID和范围
A10 产品验收后关闭 明确验收人和证据;不得由发布成功替代

所有桥接必须具备最小权限服务账号、签名、时间戳、防重放、幂等、失败重试、审计日志和人工回退。不得把未部署的AI能力写成已自动化。

5. 迁移就绪门禁

只有全部满足时才停用旧R/TK进场规则

  1. 需求状态已包含待测试发布中发布失败,并配置必要流转边。
  2. 主任务能被可靠识别;若只能靠标题前缀,已明确由桥接处理,不使用无过滤原生镜像。
  3. 主任务和开发/测试/发版任务的工作流已选定并验证。
  4. Y/A控制逐项指定native_ruleintegration_bridgemanualnot_supported
  5. A03、A06、A08、A09具备幂等键、负责人和回退方案。
  6. Codeup前后端仓库、真实dev/develop、正式关联和多仓库MR门禁已验证。
  7. Testhub按需求分包未执行、阻塞、失败用例和仅“已修复”缺陷会阻塞测试完成。
  8. test、生产发布、发布变更和产品验收证据已分离。
  9. 已保存旧规则名称、条件、顺序、启用状态和执行账号证据。
  10. L01L02已停用,发布完成不会瞬时关闭。

未通过门禁时:保留当前可用规则,只停用会绕过验收或造成误触发的规则,并输出迁移计划。

6. 分阶段实施

  • P0补齐工作流、唯一主任务、快轨待开发、负责人和旧规则备份。
  • P1开发任务拆分、分支/MR双关联、多仓库完成门禁、唯一测试任务。
  • P2迭代、Testhub按需求分包、用例和缺陷复测闭环。
  • P3发版任务、生产流水线成败回写、发布失败重试、产品验收关闭。

每阶段先在隔离测试需求验证,再启用下一阶段。新规则不补触发历史事件;历史数据修正必须单独记录。

7. 验收与负向测试

ID 操作 期望 负向检查
V01 创建需求和唯一主任务 正式关联且不重复 重放不得建第二条主任务
V02 未建开发任务 保持待开发 主任务本身不得被当作开发任务
V03 建两条开发任务 进入开发中 无正式关系或无负责人不触发
V04 只完成一条开发任务/MR 保持开发中 不得提前完成
V05 所有开发任务和MR完成 开发完成并只建一条测试任务 重复回调不重复创建
V06 同迭代其他需求未测完 本需求仍可独立完成测试 不按整个计划全绿判断
V07 用例失败且缺陷仅已修复 保持测试中 未复测不得完成
V08 复测通过/失败 用例通过+缺陷关闭 / 用例失败+缺陷重开 双方状态必须一致
V09 test部署成功 允许测试开始 不得发布完成
V10 生产发布成功 发布完成并停留 不得自动已关闭
V11 生产发布失败后重试 发布失败→发布中 原因和执行ID可审计
V12 产品验收 已关闭 无验收证据不关闭

8. 已知风险和回滚

  • “全部关联任务完成”若无法按任务身份过滤,会把主任务或测试任务纳入,默认交桥接。
  • 仅标题前缀不能替代正式关系,也不能保证原生规则可过滤。
  • 需求和主任务双向镜像可能循环,只保留一个权威方向或增加来源防重。
  • 分支/MR只关联需求而未关联开发任务会导致任务状态不更新。
  • 发布完成自动关闭会绕过产品验收;L01L02默认停用。

回滚顺序先禁用本次新增Y/A入口恢复旧规则启用状态和顺序再恢复状态流转边保留已创建任务、关系和执行日志删除任何资产需单独授权。