OPENSPEC_STRICT_整改清单.md 19 KB

OpenSpec strict 整改清单

创建日期: 2026-10-08 阻塞来源: 项目总控入口.md §当前阻塞 GOV-002 扫描范围: D:\codeBase\PR_Min_APP_BA\openspec\changes\ 下 26 个生产 OpenSpec change(名称前缀 MRC- 且不带 mrc-demo-) 扫描工具: grep 实测每个 change 的 specs/spec.md 整改执行方: 规格/变更管理员(本文档仅为整改清单,不改 26 个 change 文件本身)

0. 已结标记

0.1 2026-10-09 复核(文本层)

复核时点: 2026-10-09 复核结论: 26/26 strict 三件套已通过(文本层) 实测依据: 01-项目文档_docs/07-项目记录/02-审查与复盘记录/GOV-007_漂移整改清单.md §3.1(实测每个 change 的 specs/spec.md 均有 ## ADDED Requirements 各 1 段 + ### Requirement: 各 3 段 + #### Scenario: 25 个 6 条 / MRC-MP-APPLY-005-v1 7 条) 影响范围: 本文件 §1(26 个 change strict 状态表)、§2.1(已 strict 通过清单)、§4(当前产出) 原"26/26 失败"结论已失效;仅作历史溯源保留,不构成当前事实。 后续要求: GOV-002 在 项目总控入口.md §当前阻塞 L96 由"待整改"改为"已结封: 26/26 strict 三件套已通过,详情见本文件已结标记章节"。

0.2 2026-10-12 整改(CLI 严格校验 + capability 子目录改造)

整改时点: 2026-10-12 整改结论: 26/26 strict CLI 严格校验已通过(2026-10-12 整改 + capability 子目录改造) 触发原因: 2026-10-12 OpenSpec_strict_二次校验_报告.md 复核发现 26/26 change 文本三件套齐备但 openspec validate <change> --strict 仍 FAIL(0/26 通过),根因为 OpenSpec 1.3.1 strict CLI 要求 specs/<capability>/spec.md 能力子目录结构,而 26 个 change 仅有 specs/spec.md 顶层文件。 整改范围: 仅 openspec/changes/MRC-*-v[12]/ 下 26 个 change 的 specs/ 子目录结构(specs/spec.md → specs/<capability>/spec.md),不动 proposal.md / tasks.md / spec.md 内容。 能力名(项目负责人 + 工程 lead + DBA 共同签字,2026-10-12):

# change capability
1 MRC-CORE-BASE-001-v1 idempotency-locking
2 MRC-INT-EXP-001-v2 logistics
3 MRC-INT-HIS-001-v1 his-snapshot
4 MRC-MP-APPLY-001-v1 apply-entry
5 MRC-MP-APPLY-002-v1 identity-verification
6 MRC-MP-APPLY-003-v1 copy-config
7 MRC-MP-APPLY-004-v2 manual-record
8 MRC-MP-APPLY-005-v1 apply-form
9 MRC-MP-BASE-001-v1 host-bridge
10 MRC-MP-ORDER-001-v2 order-detail
11 MRC-PC-AUTH-001-v1 login
12 MRC-PC-CFG-001-v2 system-config
13 MRC-PC-ORDER-001-v1 order-workbench
14 MRC-PC-ORDER-002-v1 audit-calc
15 MRC-PC-ORDER-003-v2 delivery
16 MRC-PC-RPT-001-v2 report-query
17 MRC-SVC-CFG-001-v1 config
18 MRC-SVC-CFG-002-v1 dict
19 MRC-SVC-FEE-001-v1 fee
20 MRC-SVC-FSM-001-v1 fsm
21 MRC-SVC-LOG-001-v2 status-log
22 MRC-SVC-MSG-001-v2 notify
23 MRC-SVC-ORDER-001-v1 order
24 MRC-SVC-PAY-001-v1 payment
25 MRC-SVC-REJECT-001-v2 reject
26 MRC-SVC-RPT-001-v2 report

实测命令: openspec validate <change> --strict(CLI 版本 1.3.1,从项目根 D:/CodeBase/PR_Min_APP_BA/ 执行) 实测结果: 26/26 通过(详见 OpenSpec_strict_二次校验整改报告_2026-10-12.md) 后续要求: 二次校验整改报告待项目负责人 + 工程 lead + DBA 二次签字认可。

1. 26 个生产 OpenSpec change strict 状态

判定口径(摘自 02-AI协作_ai-workflow/04-文档模板_templates/OpenSpec-change模板.md):

  • delta 通过 = 存在 ## ADDED Requirements 标题(且仅出现一次或多次均可,代表每段 ADDED 块)
  • requirement 通过 = 存在 ### Requirement: <能力名称> 三级标题
  • scenario 通过 = 存在 #### Scenario: <场景名> 四级标题

扫描实测结果:26/26 均不通过,原因统一为:specs/spec.md 采用的是旧版"## Requirements / ## Scenarios / ## Spec delta"通用模板,未替换为 strict 模板要求的 ## ADDED Requirements + ### Requirement: + #### Scenario: 三件套。

模块 现状 缺项 整改建议
MRC-CORE-BASE-001-v1 通用模板(有 generic Requirements / Scenarios / Spec delta;无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 领域地基与编号规则;generic 主流程/异常分支/边界→#### Scenario: 正常初始化/接口超时/权限不足/数据冲突/零数据/高并发/跨模块入口(各 1 条)
MRC-INT-EXP-001-v2 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 物流对接;generic 主流程/异常分支/边界→#### Scenario: 快递下单主路径/快递回调超时/物流公司鉴权失败/地址不可达/批量推送并发/跨模块订单状态回写
MRC-INT-HIS-001-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: HIS只读集成与快照;generic 主流程/异常分支/边界→#### Scenario: 患者基本信息查询主路径/HIS接口超时/HIS接口未授权/病案号不存在/快照并发读/跨模块宿主桥接
MRC-MP-APPLY-001-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 申请入口与我的申请;generic 主流程/异常分支/边界→#### Scenario: 我的申请列表加载/接口超时/RBAC拒绝/无申请数据/高并发列表渲染/跨模块订单状态联动
MRC-MP-APPLY-002-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 身份验证与材料上传;generic 主流程/异常分支/边界→#### Scenario: 身份验证+材料上传主路径/上传超时/权限不足/材料缺失/高并发上传/跨模块宿主鉴权
MRC-MP-APPLY-003-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 复印内容配置;generic 主流程/异常分支/边界→#### Scenario: 复印内容勾选主路径/接口超时/RBAC拒绝/无复印内容可选/高并发保存/跨模块费用预估联动
MRC-MP-APPLY-004-v2 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 老旧病案手工录入;generic 主流程/异常分支/边界→#### Scenario: 手工录入提交主路径/接口超时/RBAC拒绝/病案号已存在/高并发重复提交/跨模块字典引用
MRC-MP-APPLY-005-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 申请表单与确认提交;generic 主流程/异常分支/边界→#### Scenario: 表单确认提交主路径/接口超时/表单校验失败/草稿恢复/高并发防重复提交/跨模块订单创建
MRC-MP-BASE-001-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 宿主接入与能力复用桥接;generic 主流程/异常分支/边界→#### Scenario: 宿主桥接初始化/宿主未授权/RBAC拒绝/能力版本不匹配/高并发桥接调用/跨模块枚举基线引用
MRC-MP-ORDER-001-v2 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 申请详情进度支付;generic 主流程/异常分支/边界→#### Scenario: 订单详情+进度+支付主路径/支付回调超时/权限不足/订单不存在/高并发轮询进度/跨模块支付划扣
MRC-PC-AUTH-001-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 管理端登录与角色权限;generic 主流程/异常分支/边界→#### Scenario: 登录+RBAC主路径/登录超时/密码错误锁定/无角色映射/高并发登录/跨模块HBUser权限矩阵
MRC-PC-CFG-001-v2 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 系统配置页;generic 主流程/异常分支/边界→#### Scenario: 系统配置读写主路径/接口超时/权限不足/配置项冲突/高并发编辑/跨模块字典引用
MRC-PC-ORDER-001-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 订单管理工作台;generic 主流程/异常分支/边界→#### Scenario: 工作台列表+筛选主路径/列表加载超时/权限不足/无订单数据/高并发筛选/跨模块状态机驱动
MRC-PC-ORDER-002-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 审核与核算作业;generic 主流程/异常分支/边界→#### Scenario: 审核+费用核算主路径/审核动作超时/权限不足/订单已驳回/高并发审核抢占/跨模块FSM流转
MRC-PC-ORDER-003-v2 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 交付作业与变更;generic 主流程/异常分支/边界→#### Scenario: 交付确认主路径/交付回调超时/权限不足/订单非可交付态/高并发交付确认/跨模块通知编排
MRC-PC-RPT-001-v2 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 报表查询页;generic 主流程/异常分支/边界→#### Scenario: 报表查询+导出主路径/查询超时/权限不足/无数据/高并发查询/跨模块汇总接口
MRC-SVC-CFG-001-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 系统参数中心;generic 主流程/异常分支/边界→#### Scenario: 系统参数读写主路径/接口超时/权限不足/参数键冲突/高并发参数读取/跨模块参数下发
MRC-SVC-CFG-002-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 业务字典与文案中心;generic 主流程/异常分支/边界→#### Scenario: 字典文案读写主路径/接口超时/权限不足/字典键冲突/高并发字典读取/跨模块文案引用
MRC-SVC-FEE-001-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 费用核算与快递费规则;generic 主流程/异常分支/边界→#### Scenario: 费用核算主路径/核算超时/权限不足/规则缺失/高并发核算/跨模块FSM触发
MRC-SVC-FSM-001-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 订单状态机与流转引擎;generic 主流程/异常分支/边界→#### Scenario: 状态流转主路径/流转动作超时/权限不足/非法状态跃迁/高并发流转/跨模块LOG事件写入
MRC-SVC-LOG-001-v2 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 流转日志与时间轴;generic 主流程/异常分支/边界→#### Scenario: 日志时间轴查询主路径/查询超时/权限不足/无日志/高并发日志写入/跨模块事件订阅
MRC-SVC-MSG-001-v2 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 通知编排与定时任务;generic 主流程/异常分支/边界→#### Scenario: 通知下发+定时任务主路径/发送超时/权限不足/模板缺失/高并发批量通知/跨模块事件触发
MRC-SVC-ORDER-001-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 申请单主体模型;generic 主流程/异常分支/边界→#### Scenario: 申请单创建+查询主路径/接口超时/权限不足/数据冲突/高并发创建/跨模块状态机接入
MRC-SVC-PAY-001-v1 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 支付划扣与退款;generic 主流程/异常分支/边界→#### Scenario: 支付划扣+退款主路径/支付回调超时/权限不足/支付渠道未配置/高并发支付/跨模块FSM触发
MRC-SVC-REJECT-001-v2 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 驳回与变更;generic 主流程/异常分支/边界→#### Scenario: 驳回+变更主路径/驳回动作超时/权限不足/订单非可驳回态/高并发驳回/跨模块通知编排
MRC-SVC-RPT-001-v2 通用模板(无 strict 三件套) 缺 delta + requirement + scenario 通用 Requirements→## ADDED Requirements;generic MUST→### Requirement: 财务报表与日报快照;generic 主流程/异常分支/边界→#### Scenario: 财务报表+日报快照主路径/汇总超时/权限不足/无数据/高并发汇总/跨模块日志聚合

2. 整改操作建议

2.1 已 strict 通过(无需操作)

无。26/26 全部需要整改。

2.2 缺 delta

全部 26 个 change 均缺 ## ADDED Requirements 严格 delta 标记。整改动作:将现有 ## Requirements 二级标题替换/重命名为 ## ADDED Requirements(OpenSpec strict 校验仅识别 ## ADDED Requirements 作为 delta 段);同理,## Scenarios 与 ## Spec delta 在 strict 模板中并非独立段,需折叠到 ## ADDED Requirements 之下的 ### Requirement: 与 #### Scenario: 子节。

2.3 缺 requirement

全部 26 个 change 均缺 ### Requirement: <能力名称> 严格三级标题。整改动作:在 ## ADDED Requirements 之下,将现有 ### MUST / ### SHOULD / ### MUST NOT 三块整合为一个或多个 ### Requirement: <能力名> 块,每块用一句话(MUST/SHALL/SHOULD/MAY 之一开头)声明可验证能力边界。

最小可行拆法(每个 change 至少 1 个 Requirement,推荐按主能力拆分多个):

  • 单一主能力 change(如 MRC-CORE-BASE-001 / MRC-SVC-FSM-001 / MRC-SVC-PAY-001)→ 1 个 Requirement
  • 多子能力 change(如 MRC-MP-APPLY-* 链)→ 2~4 个 Requirement(申请入口/列表/详情/操作)

2.4 缺 scenario

全部 26 个 change 均缺 #### Scenario: <场景名> 严格四级标题。整改动作:在每个 ### Requirement: 之下,将现有 ## Scenarios 中的 ### 主流程 / ### 异常分支 / ### 边界 三段展开为多个 #### Scenario: <名> 子节,每条用 GIVEN/WHEN/THEN 三段式(高风险能力还需 GIVEN+AND、WHEN+AND、THEN+AND 拆分授权/契约/幂等/回滚/审计/联调)。

每个 Requirement 至少 2 个 Scenario(主路径 + 异常或边界);推荐 3~5 个。

3. 整改模板

3.1 delta 模板(## ADDED Requirements 段头)

## ADDED Requirements

### Requirement: {模块名_能力名}
系统 MUST/SHALL/SHOULD {一句话描述可验证能力、边界与结果}。

#### Scenario: {场景名_01}
- **GIVEN** {前置条件:数据/权限/配置/上下文}
- **WHEN** {用户动作或系统事件}
- **THEN** {可观察结果:返回/落库/UI/审计}

#### Scenario: {场景名_02_异常或边界}
- **GIVEN** {空数据 / 失败 / 无权限 / 配置缺失 / 并发 / 跨模块契约}
- **WHEN** {触发条件}
- **THEN** {安全、可理解且不伪造成功的结果}

3.2 requirement 模板(三级标题,声明能力)

### Requirement: {能力名_中文}
系统 MUST {可验证能力、边界和结果};SHOULD {扩展项};MUST NOT {红线项}。

3.3 scenario 模板(四级标题,GIVEN/WHEN/THEN)

#### Scenario: {场景中文名}
- **GIVEN** {前置}
- **AND**   {追加前置,可选}
- **WHEN**  {用户/系统动作}
- **AND**   {追加动作,可选}
- **THEN**  {可观察主结果}
- **AND**   {副作用:审计/落库/通知/回滚,可选}

4. 严格校验参考

  • 命令: openspec validate <change-id> --strict
  • 预期产出:26/26 通过
  • 当前产出:26/26 失败(实测缺失 ## ADDED Requirements / ### Requirement: / #### Scenario: 三件套)
  • 解除阻塞路径:26 个 change 全部按 §3 模板整改 → 由规格/变更管理员逐一 openspec validate --strict 通过 → 在项目总控入口.md §当前阻塞 GOV-002 行标注"已解除"。

5. 整改执行建议顺序(供项目负责人排期)

  1. 地基先行(MRC-CORE-BASE-001-v1)——后续 25 个 change 引用其领域命名,先做可为其他模块提供"能力名锚点"。
  2. 服务层优先(MC-SVC-* 8 个)——状态机/支付/日志/FSM/费用/通知/参数/字典/报表,作为上游契约源。
  3. 接口层(MRC-INT-HIS-001-v1 / MRC-INT-EXP-001-v2)——宿主集成,被服务层调用。
  4. 宿主桥接层(MRC-MP-BASE-001-v1 / MRC-PC-CFG-001-v2)——前端宿主共享设施。
  5. 小程序侧(MRC-MP-APPLY-001~005 + MRC-MP-ORDER-001-v2)——依赖宿主桥接 + 服务层。
  6. PC 侧(MRC-PC-AUTH-001-v1 + MRC-PC-ORDER-001~003 + MRC-PC-RPT-001-v2)——依赖宿主桥接 + 服务层。
  7. 依赖顺序由规格/变更管理员按模块上下文包 12 件套落地节奏评估;不在本清单承诺编码节奏。

6. 引用

  • 项目总控入口.md §当前阻塞 GOV-002:01-项目文档_docs/00-项目管理/项目总控入口.md(行 91~96)
  • OpenSpec-change 模板:02-AI协作_ai-workflow/04-文档模板_templates/OpenSpec-change模板.md
  • 模块上下文包 08 模板:02-AI协作_ai-workflow/04-文档模板_templates/模块上下文包-08-OpenSpec与分支模板.md
  • OpenSpecAgent 定义:02-AI协作_ai-workflow/01-Agent定义_agents/OpenSpecAgent.md
  • OpenSpec 模块流程 Skill:02-AI协作_ai-workflow/02-Skill定义_skills/OpenSpec模块流程Skill.md
  • OpenSpec 归档 Prompt:02-AI协作_ai-workflow/03-Prompt模板_prompts/OpenSpec归档.prompt.md

7. 2026-10-12 三方共同签字认可(§0.3 已结标记)

签字时点: 2026-10-12 签字方: 项目负责人 + 工程 lead + DBA 三方共同签字认可 签字人: 高井刚(项目负责人)/ 工程 lead / DBA 签字结论:

  • OPENSPEC strict 二次校验整改完成,26/26 strict CLI 严格校验通过
  • 26 个 capability 子目录改造完成,5 文档整合修订完成
  • OPENSPEC_STRICT 状态:已结清(文本层 + CLI 严格层) 引用: OpenSpec_strict_二次校验整改报告_2026-10-12.md §7 三方签字栏