tasks.md 4.9 KB

1. 开发前准备

  • 1.1 已从 develop@a4c17f1 创建独立工作区 .worktrees/codex-mrc-demo-mp-base-001 与分支 codex/mrc-demo-mp-base-001;初始范围仅允许修改新增 packageMRC/、必要分包注册、局部 Demo Adapter 与本 change 的任务/验证记录。2026-09-16 项目负责人另行授权首页智慧服务单一 病案复印(Demo) 本地入口及对应白名单路由,详见第 4 节。
  • 1.2 确认现有小程序分包注册位置,只新增 packageMRC/ 配置和页面,不改动既有页面逻辑。
  • 1.3 为小程序 Demo Adapter 编写使用 mrc-demo-state/v1 的失败用例:未启用、未知场景、非法状态均失败关闭。

2. Demo 入口与桥接 Adapter

  • 2.1 新增病案复印 Demo 分包入口页和持续可见的“Demo 数据”标识。
  • 2.2 实现小程序 Demo Adapter 的快照读取、场景切换/重置和演示申请创建语义。
  • 2.3 将入口页绑定到 Adapter,验证创建的 MRC-DEMO-* 订单和 revision 可被读取。
  • 2.4 对非 Demo Adapter、未知场景和非法状态显示受控错误,并验证无真实网络调用。

3. 验证与交接

  • 3.1 运行现有小程序离线测试及新增模块级测试,记录命令和结果。
  • 3.2 执行变更范围检查、git diff --check 和 openspec validate mrc-demo-mp-base-001 --strict。
  • 3.3 更新模块自检、进度状态和集成队列,项目负责人已于 2026-09-17 完成首批 Demo 视觉审查裁定。

4. 2026-09-16 首页 Demo 入口受控例外

  • 4.1 在 utils/homeMenu.js 新增单一 病案复印(Demo) 本地必备菜单项,复用既有菜单去重;不得修改其他菜单或请求。
  • 4.2 在 utils/homeRoute.js 为患者入口 /packageMRC/pages/apply-entry/index 注册 navigateTo 白名单路由;/packageMRC/pages/entry/index 仅保留开发工具白名单,不得由首页菜单使用;不得新增任何网络或宿主能力。
  • 4.3 按 TDD 先新增 mrc-home-menu-entry.test.js,证明服务菜单无数据、服务菜单有同路由项、服务端返回旧调试路由(含无前导 /)均只保留唯一患者入口,且患者入口分发类型为 navigateTo。
  • 4.4 更新项目总控、模块复审/禁止范围、Demo MVP 验收清单与本 change 的 proposal/design/spec,记录本例外仅服务于 Demo 验收。
  • 4.5 执行 node tests/mrc-home-menu-entry.test.js、npm test、npm run validate:source、openspec validate mrc-demo-mp-base-001 --strict 与正确项目根下的文档链接检查;全部通过。npm run validate:docs 的基线脚本少退一层目录,未纳入本次范围修复。

2026-09-15 实施证据

  • TDD RED:node tests/mrc-demo-state.test.js 先因 packageMRC/common/mrcDemoState 不存在失败;node tests/mrc-demo-pages.test.js 先因未注册分包失败。
  • TDD GREEN:新增本端内存 Adapter、分包入口与页面后,node tests/mrc-demo-state.test.js、node tests/mrc-demo-pages.test.js 均通过。
  • 回归:npm test 16 passed;npm run validate:source passed(117 routes、190 authored JS、129 JSON)。
  • 边界:静态范围用例检索 packageMRC/,未发现 wx.request、上传、下载、存储、定位或 HTTP URL;未建立服务或跨端状态。

2026-09-15 规格复核修正

  • 新增 mrc-demo-remediation.test.js,实际验证 Adapter 未启用时 getSnapshot、resetScenario 均返回 DEMO_UNAVAILABLE;入口页也显示同一受控错误,不回退真实能力。
  • 追加本端内存草稿读取/更新,仅供 Demo 页面串联;重置/切换场景清除草稿,不使用 Storage、文件或网络。

2026-09-15 第二轮规格复核修正

  • resetScenario、场景切换和入口创建导航均在读取结果前判定 ok;患者端 transitionOrder 一律返回 PATIENT_ACTION_FORBIDDEN,不暴露订单状态写入。
  • 预置订单在场景激活或重置后写入订单级 revision,供详情/进度同一轮本端路由核对。

2026-09-15 第三轮规格复核修正

  • 入口创建流程已具备先读 Adapter、失败即停留本页的门禁;本轮 focused 回归再次覆盖该安全分支。

2026-09-15 最终规格关闭修正

  • 入口的“创建演示申请”和“查看我的申请”均在导航前读取 Adapter 并对失败关闭;小程序患者端不会暴露订单状态写入。

2026-09-16 首页患者入口规格复核修正

  • 首页 病案复印(Demo) 的唯一患者目标已校正为 /packageMRC/pages/apply-entry/index;/packageMRC/pages/entry/index 仅保留开发工具用途。
  • 服务端返回旧调试路径(有或无前导 /)时,首页菜单会归一为患者入口,避免与本地必备项并存两个病案复印菜单。

2026-09-15 代码质量修正

  • 移除患者端 transitionOrder 后所有不可达状态流转、订单写入与 TRANSITIONS 定义;该入口只返回受控 PATIENT_ACTION_FORBIDDEN。