Skip to main content

Issue 业务操作与责任

Asset
ADP-KNO-FEAT-DOC-0018
Feature
issue-stage-workflow
领域
knowledge-governance
作用域
application-level
文档状态
draft
产品生命周期
active
文档 Owner
DOC
事实源
canonical-docs
工程 Owner
WSC
Development Ready
not-ready
更新
2026/10/14

FEATURE DEVELOPMENT PACKAGE

工程就绪状态

工程 Owner:WSC · 仓库:PIP / PLN / WSC

BLOCKED
development · not ready
  • 原子需求与验收
  • 设计与工程合同
  • 代码与仓库定位
  • 里程碑与工作包
  • 验证计划
  • 无阻断决策
verification · not ready
  • Development Ready 已通过
  • 验收标准已覆盖
  • 正式测试已登记
  • Fixture 与环境已定义
  • 测试规格已物化到正式测试
release · not ready
  • Verification Ready 已通过
  • 实现修订可定位
  • 发布证据已登记
  • 兼容与迁移已定义
  • Runbook 与回滚已定义
查看阻断项(5)
  • Development Ready 缺少:原子需求与验收
  • Development Ready 缺少:设计与工程合同
  • Development Ready 缺少:代码与仓库定位
  • Development Ready 缺少:里程碑与工作包
  • Development Ready 缺少:验证计划

唯一进度​

全部保留 Issue 类型以原生 Issue.state 为唯一进度。State.progress_role 是状态语义元数据;当前责任与可用按钮从原生状态和责任记录取得,不再持久化独立 Task/Bug status、current stage、stage status 或 attempt progress。

IssueWorkflowRun、Attempt、StageInstance、ResponsibilityRun 与 FeedbackBatch 不再持久化 state,当前展示只从 Issue 原生状态派生。业务 revision 仅用于命令、证据和并发保护,不承担状态。

StageDecision.verdict 是追加写的人类历史决定;ActionRun.status 仅审计一次命令的结果;Finding 的整改 disposition/lifecycle 属于独立问题记录。它们连同证据和时间保留,但不能作为 Issue 当前进度的 fallback。

人机合作​

人类开启 Issue 自动化即委托 Symphony,无需再次点击开始。人工处理的 Issue 关闭自动化,继续使用现有按钮。委托有效时自动开始、交付后等待人类;打回自动返工,关闭撤销并保留工作。

Issue assignee 是总体业务负责人,验收责任与 Agent 执行身份单独记录。现有责任默认、补充、失效处理和管理员代执行原因规则保留,Agent 不代签人类决定。

保留按钮​

Task 执行阶段将“提交验收”和“标记阻塞”按钮合并为“执行完成”。点击仅显示“是否确认完成”的二次确认,取消不写入;确认调用既有 submit_review 执行动作,允许不填写交付证据,进入原生专业验收状态。执行完成不代表专业验收或测试验收通过,也不自动弹出直接完成提示。已有交付证据、阻塞历史和恢复能力保留。

开始执行、专业验收、测试/回归、打回、补充责任人、直接完成和适用关闭动作保留。Bug 的修复证据要求保持。每个动作检查当前责任、Issue/Task/交付 revision、幂等和审计;管理员代执行仍必须提供有效原因,简单确认不豁免该权限要求。不同验收环节使用明确原生状态。

终结 override​

强制完成与取消保留既有强授权、必填原因、CAS、幂等与审计。原子更新唯一原生终态,不补造跳过环节的通过决定;适用的未决审批失效,已有证据不改写。Symphony 对终态停止,迟到写入被拒绝。

Epic 退役​

Epic 专用类型及需求/方案阶段审批删除,存量转普通 Issue 保留身份和关系。历史产物、反馈、审批只读归档;需求方案由 OpenSpec 管理,不通过普通父 Issue 重新建立 Epic 影子流程。

UI 与可访问性​

列表、详情、筛选、分组、排序、看板统一使用原生状态。业务责任、反馈与历史可以查看,但不展示第二套进度。按钮、状态下拉、拖动、批量、导入和 API 共用服务端 gate,不能绕过验收或证据。

Bug 完成适用验收流程后仍需执行关闭时,列表与详情的当前业务环节、责任摘要显示“待关闭”,不再用“流程已完成”表示这一待办。该展示不自动执行关闭,也不把非终态 Bug 从当前工作中移除;已关闭或取消对象按原生状态展示,不显示“待关闭”。

“您的工作”的已分配、已创建、已订阅默认只查询未结束事项,保留已结束与全部筛选;分类与数量遵循生命周期合同。责任环节文案不能替代原生状态组的终结判断。

Issue 详情的「当前环节负责人」在当前专业验收或测试验收环节提供人员下拉。Issue 创建者或项目管理员可选取本项目有效人类成员,更换已有负责人或补齐空缺;其他用户、未开始及已结束环节只读。该操作沿用 assign_stage_owner 业务动作,不修改总体 Issue assignees 或原生进度。

更换在现有事务和 Issue/业务/交付 revision 并发保护下追加责任记录与审计事件,保存旧责任人、旧责任记录和新责任记录身份。历史责任及已提交证据保持不可变;当前操作权限、详情、列表、筛选、排序及返工责任使用有效的新责任记录。验收收敛要求新责任人的真实证据,明确被替代的旧责任不再构成当前待办,不能伪造旧负责人验收。已产生决定或封存的环节拒绝更换。

按钮提供可见名称、原因/证据 label、字段错误、取消和 loading;支持键盘和焦点恢复,交互目标至少 44px,不能只依赖颜色。

迁移​

各类型旧状态及确有业务意义的环节一次性映射到原生状态,保存责任、决定、反馈与交付,随后删除旧字段和读写。交付流程迁移一次性归档上述旧 state 值再删除列,不保留 GET fallback 或同步服务。旧 Run 归档退出执行;无法确定的记录显式处理,不猜测通过。