13-batch-acceptance-spec.md 12 KB

13: 分批替换与终稿验收规格

Type: spec Status: ready-for-agent Label: ready-for-agent Blocked by: 08 Category: spec

本规格固化分批替换与终稿验收方案的讨论结论,作为同一张蓝湖正式素材替换地图的子规格单。100% 仅表示规格交付,不表示任何批次已实施。本规格同时定义 5 张执行票(14–18)的格式与验收清单;它们随本规格同步发布、挂同一张地图,是实施阶段的可认领入口。

Problem Statement

素材替换的全部规则已分散锁定在四张规格里(视觉 token、运行时 manifest、位置符号、字体授权),但没有一条组织好的实施路线:先做哪批、每批怎么进、怎么验收、证据放哪、什么时候能宣布「临时素材已关闭」。

没有这条路线会出现四种失败:实施者各自为政地并行替换,结构越界到终稿才发现(没有入口闸);验收无据可查(没有签收载体);偏差散落在对话里(没有单一缺口来源);临时素材无限期滞留(没有关闭判据)。同时,蓝湖画板的逐项盘点尚未完成,冲突可能在批次中途才暴露,需要一个不阻塞批次的处置闭环。

Solution

按资产类别把实施路线拆成 5 张可认领的执行票:品牌/图标、面板视觉 token、地图/设备位置符号、字体、装饰/纹理。每张执行票自带:

  • 进入自查:素材已入库且过 manifest 校验;用差异判断表把该批差异分类(结构项暂停升级、视觉项放行)。
  • 验收清单:实现者自测(纯逻辑断言、宿主读数、结构回归)+ 维护者走查(真实 /cockpit 人工走查并签收)。
  • 证据区:走查单、截图、data-* 读数、缺口登记,全部写进执行票本身。

批次依赖:位置符号批依赖 token 批(外层母版着色),装饰批最后叠放;品牌/图标、token、字体三批可并行。

终稿验收出六项报告(各批走查单、对照截图、缺口清单现状、临时素材关闭声明、待设计方确认偏差清单、缺陷分级汇总),在真实 /cockpit 与 qiankun 宿主分开签收,并做 1280×720 视口检查。缺陷分 P0–P3 四级,仅 P0(复用票 06 三类阻断判据)阻断发布。临时素材关闭以逐项清单留痕并由维护者签收。

User Stories

  1. 作为实现者,我想每批是一张可认领的执行票,以便清楚知道这一批做什么、验什么。
  2. 作为实现者,我想三张独立批次(品牌/图标、token、字体)可并行认领,以便缩短总周期。
  3. 作为实现者,我想位置符号批在 token 批完成后才解锁,以免在色值未定时返工。
  4. 作为实现者,我想装饰批在前面四批完成后才解锁,以免叠放次序错乱。
  5. 作为实现者,我想每张执行票自带进入自查清单,以便开工前就知道素材是否齐备、差异是否越界。
  6. 作为实现者,我想进入自查包含 manifest 校验,以免拿到不完整或错误版本的素材。
  7. 作为实现者,我想进入自查包含差异判断表分类,以便结构差异在开工前被拦下而不是实现完才发现。
  8. 作为实现者,我想判断表判定为结构的差异立即暂停并升级新票,以便不由我擅自改契约。
  9. 作为实现者,我想判断表判定为视觉的差异放行进批次,以便不被无谓升级拖慢。
  10. 作为实现者,我想每张执行票自带该批验收清单,以便验收不靠感觉。
  11. 作为实现者,我想验收清单引用对应规格的断言面,以便不自造第二套验收标准。
  12. 作为实现者,我想验收先跑纯逻辑断言与宿主读数,以便可回归的部分自动化。
  13. 作为维护者,我想每批由我走查真实 /cockpit 后签收,以便观感与真实环境由人确认。
  14. 作为维护者,我想签收附带走查单与截图/读数证据,以便批次关闭有据可查。
  15. 作为维护者,我想归视觉的偏差在签收前登记进缺口清单,以便每批有独立可追溯的偏差闭环。
  16. 作为维护者,我想批次验收结论注明已登记的缺口数,以便一眼看到该批遗留。
  17. 作为值班人员,我想每批替换后驾驶舱仍可用,以便批次化不破坏值守。
  18. 作为值班人员,我想非核心资源失败时按既有回退链降级,以便单批问题不拖垮整页。
  19. 作为验收人员,我想终稿验收报告包含各批次走查单,以便逐批复核。
  20. 作为验收人员,我想报告包含设计稿与 /cockpit 的对照截图,以便视觉差异可并排比对。
  21. 作为验收人员,我想报告包含缺口清单现状,以便知道哪些项带回退交付。
  22. 作为验收人员,我想报告包含临时素材关闭声明,以便知道核心资源是否全部换新。
  23. 作为验收人员,我想报告包含待设计方确认的偏差清单,以便交接时有明确的确认项。
  24. 作为验收人员,我想报告包含 P0–P3 缺陷分级汇总,以便阻断项清零一目了然。
  25. 作为验收人员,我想真实 /cockpit 与 qiankun 分开走查、分开签收,以便两个环境的覆盖范围不互相掩盖。
  26. 作为验收人员,我想 qiankun 环境专门验证资源解析与基址注入,以便嵌入宿主的资源问题被单独确认。
  27. 作为验收人员,我想 1280×720 视口下逐面板检查不重叠、可读、可滚动,以便最小宽度承诺兑现。
  28. 作为验收人员,我想 1280px 检查附断言截图,以便宽度检查有证据而非口头。
  29. 作为维护者,我想 P0 缺陷复用票 06 的三类阻断判据,以便阻断标准全图一致。
  30. 作为维护者,我想 P3 装饰偏差入缺口清单后即可发布,以便非核心瑕疵不卡死交付。
  31. 作为维护者,我想装饰批走完整流程但阻断级放宽,以便装饰替换仍被验收却不拖住主线。
  32. 作为维护者,我想临时素材关闭以逐项清单留痕(原素材 → 新素材 → 状态),以便「关闭」可审计而不是一句总结。
  33. 作为项目负责人,我想地图在决策收口后保留为实施索引,以便决策历史与实施入口都在一处。

Implementation Decisions

  • 批次划分:5 张执行票按资产类别——品牌/图标、面板视觉 token、地图/设备位置符号、字体、装饰/纹理;与各规格一一对应,每批直接引用对应规格验收面。
  • 批次依赖:位置符号批 Blocked by token 批;装饰批 Blocked by 前四批;品牌/图标、token、字体三批互不阻塞、可并行。依赖用执行票的 Blocked by: 字段表达。
  • 执行票格式:每张执行票含——批次范围、进入自查(manifest 校验 + 判断表分类)、引用规格、验收清单、证据区(完成后填写)、Out of scope。
  • 规格引用而非复制:执行票引用对应规格子票作为单一决策事实来源,不重抄规格内容;验收清单只列「本批要跑的断言面与走查项」。
  • 进入条件:素材已入库且过 manifest 校验(存在、hash、fallback 齐全)+ 该批类别已有可执行验收清单。
  • 判断表入口:每批开始时用差异判断表把该批差异分类——结构项立即按升级路径暂停并另立新决策票,视觉项放行进批次实施。
  • 验收双轨:实现者自测(纯逻辑断言、宿主 data-* 读数、结构回归)+ 维护者走查(真实 /cockpit 人工走查并签收)。
  • 签收证据:走查单逐项勾选 + 真实 /cockpit 截图或 data-* 读数,写进执行票本身;不另建「批验收记录」第二来源。
  • 偏差登记:归视觉偏差在批次签收前写入票 06 缺口清单(语义 key、缺口类型、回退结果、责任人);批次验收结论注明已登记缺口数。
  • 缺陷分级:P0 阻断(核心资源缺失/状态语义误导/授权风险,复用票 06 三类判据);P1 高(1280px 不可读/位置符号不可辨/锚点错位);P2 中(观感偏差/性能不达标);P3 低(非核心装饰偏差,入缺口清单后可发布)。
  • 装饰批放宽:批次 5 走完整验收流程,但装饰不属核心资源组,其偏差只进缺口清单(P3),不阻断后续与终稿。
  • 终稿验收报告:六项——① 各批次走查单(含截图/读数)② 设计稿 vs /cockpit 对照截图 ③ 缺口清单现状(含未替换临时项)④ 临时素材关闭声明 ⑤ 待设计方确认偏差清单 ⑥ P0–P3 分级汇总。
  • 双环境签收:真实 /cockpit(全功能全观感)与 qiankun 宿主(资源解析与基址注入)分别走查、分别签收;predev 预演环境不纳入(布局差异不属本图验收)。
  • 1280px 检查:真实 /cockpit 视口切 1280×720,逐面板确认不重叠、可读、可滚动,记录断言截图。
  • 临时素材关闭:判据 = 核心资源组全部换正式素材 + 缺口清单中无「临时素材仍在使用」条目;非核心装饰留临时项时在缺口清单显式登记「未替换」。最终证据 = 终稿报告中的逐项关闭清单(原临时素材 → 新正式素材 manifest 条目 → 状态:已替换/已删除/登记未替换),由维护者签收。
  • 地图终态:决策票全部收口后,地图保留为实施索引(开放状态),执行票是可认领入口;不因决策完成而关闭或删除地图。

Testing Decisions

  • 好测试只断言可观察事实,不假装自动判定观感或越界。
  • 可断言的三件外围事实:① 执行票开工时是否附 manifest 校验通过与判断表自查记录;② 批次关闭时是否附走查单与截图/读数及维护者签收标记;③ 偏差是否只出现在票 06 缺口清单。三者缺任一即该批验收不成立。
  • 每批结构回归:既有断言面(四模式、16 个 panelId、状态词表冻结、图例与标记一致)全绿是每批的前置;任何一批引入结构变化即失败。
  • 批次专项断言:品牌/图标批跑图标注册表与引用走查(未知图标不抛错);token 批跑无裸色值静态检查与主画板对照;位置符号批跑合成计划纯逻辑断言(母版归属、尺寸层级、锚点比例、内层比例、图例同源)与锚点迁移断言;字体批跑授权证据齐全性与回退链断言;装饰批跑资源引用走查。
  • 走查层:每批维护者走查真实 /cockpit;终稿在真实环境与 qiankun 分别走查并分别签收;1280×720 视口逐面板检查附截图。
  • 锚点迁移的对抗式要求:位置符号批把锚点从中心改为尖端后,既有按中心口径建立的断言必须同步更新,且更新后的断言须以对抗方式确认能失败,避免留下假绿。
  • 临时素材关闭核对:终稿报告的关闭清单逐项核对——原临时素材是否在产物中不再被引用、替换后素材是否有 manifest 条目、未替换项是否在缺口清单登记。
  • 复用既有先例:纯逻辑闸门 + 真机走查双轨(本仓 t06/t09/t44/t47 系列)、缺口清单验收口径(票 06)、既有走查脚本框架。
  • 规格阶段只写验收契约,不运行构建、开发服务器或浏览器调试。

Out of Scope

  • 各批次的具体实施(归执行票 14–18)。
  • 统一资产解析层、位置符号合成计划层等基础设施的实现细节(归对应规格)。
  • 生产部署与发布流程本身。
  • 新的结构或交互决策(按差异判断表升级路径另立票)。
  • predev 预演环境的验收。
  • 观感好坏的自动判定(归维护者走查)。
  • 蓝湖画板逐项盘点本身(票 02 遗留的人工事实采集,在实施阶段消费)。

Further Notes

  • 本规格的唯一决策来源是讨论票 08 的 ## Answer。
  • 5 张执行票(14–18)随本规格同步发布,挂同一张地图,构成实施阶段入口。
  • 蓝湖逐画板盘点未完成前,判断表升级路径保持空触发;盘点完成后再逐项分类,实施批次不因盘点未完成而阻塞。
  • 当前项目规则要求修改代码后不得自动运行构建或调试命令;执行票实施时需由用户明确要求后再运行验证命令。