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
- 原子需求与验收
- 设计与工程合同
- 代码与仓库定位
- 里程碑与工作包
- 验证计划
- 无阻断决策
- Development Ready 已通过
- 验收标准已覆盖
- 正式测试已登记
- Fixture 与环境已定义
- 测试规格已物化到正式测试
- 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 归档退出执行;无法确定的记录显式处理,不猜测通过。