用途
design-review 是设计交付前的最终质量门禁,衔接在 design-motion(网页/Web 应用)之后,或直接接在 design-ios/design-android 的界面稿之后。它是报告任何设计交付“完成”之前的最后一步,不得跳过;若实际未运行,也不得报告为已通过。
输入
需要完整的已渲染产物(含动画与交互态的组件/界面稿);design-system.md 作为审计基线(token、禁用字体、对比度下限);由 design-web/design-webapp 写出的 Je reproduis 行(三个声明元素,其中两个标注 [corpus: {reference}/{tokens section}],一个标注 [sector: {url} — register]);至少两个已打开的语料页面文件;屏幕清单(各区块实际承载内容及屏幕承载下限判定);已声明的 premium 模式或 signature 元素;计划中的两项结构选择(hero 处理与 body 序列);以及 register(brand 或 product)。
两项评估相互隔离
整个流程依赖一条结构规则:机械化读取与主观读取不得相互锚定。
- 确定性检测:grep/计数/计算,零主观品味,由 design-expert 自身执行。
- 主观视觉评审:截图、具名启发技术、Nielsen 启发式、UX 定律。此轮仍由 design-expert 执行,独立性由下面的 challenger 门禁提供——它仅凭渲染后的 PNG 盲审,不接收本流程自身的推理。不得为省一轮而合并两项评估。
第一部分:确定性检查(先运行)
完整 15 项清单以 references/review-procedure.md 第一部分为准,包括:对比度(正文 4.5:1 / UI 3:1,明暗双模式)、禁用字体、产出代码中仅用 OKLCH 色彩格式、破折号滥用(2 次及以上)、token 遵循、AI 味审计(15 项检测,其中第 15 项为通用 body 序列)、机械化预检、对比度之外的 WCAG、跨组件一致性、移动导航功能、文档与代码的动画差异、完整性(无捏造数字/虚假紧迫感)、无 JS 基线、Type-Scale/Body-Size/Measure/Focal-Block 下限、Dark-Elevation Direction。此处的 Critical/Major 问题须在第二部分运行前修复。
第二部分:有界视觉评审
启动服务 → 按区块截图并做一次整页截图,明暗两套通过 colorScheme → 跨视口(移动/平板/桌面)→ 比对声明元素(二元存在/不存在,无部分分;signature 元素给出 Signature Dominance 判定)→ 仅做局部化点评(指明具体区块/元素,不写“改进风格”)→ 若有动画则给出动效判定(Before/After/Why 表、分级影响、明确 Block/Approve)→ 至少引用两项具名启发技术(Squint / Subtraction / Competitor Line-up / 5-Second / Persona)→ 修复缺口 → Lookalike Test(仅品牌适用;产品豁免,改跑 Domain-Specificity Floor)。
有界循环
最多 2 轮修复。循环只有在适用于该 register 的正向下限真正满足时才退出 PASS(而非仅“0 个标记”)。第 2 轮后仍存在的问题停止循环并上报,不再追。停滞(第 2 轮重复第 1 轮的发现)立即停止,即使仍在第 1 轮。这是硬上限。
问题分级
每项发现标注严重度,绝不求和或平均:
- P0 Blocking:阻碍任务完成 / WCAG-A 硬性失败——立即修复
- P1 Major:显著困难或违反 WCAG AA——发布前修复
- P2 Minor:烦扰,存在变通——下一轮修复
- P3 Polish:锦上添花,无真实用户影响——时间允许再修
不使用聚合分数、健康分或字母等级——从来不。
Challenger 门禁
任何“完成”声明前,design-expert 调用 fuse-ai-pilot:challenger 盲审:PNG + 简短说明、具名启发视角、全新上下文,绝不传入本流程自身推理作为框架。Block 须解决或被负责人接受后方可报“完成”(咨询性判定,非否决权)。回退:仅当 Task/Agent 不可用时(嵌套深度达 5)报告“未评审”并上报负责人,绝不静默报“完成”。
失败处理
8899-8905 端口全忙 → 停止,明确报告交付未评审,绝不报告未执行的验证。截图工具失败 → 重试一次;再次失败则停止并报告缺口,而非宣告视觉评审通过。
输出
第一部分确定性结果(所有 Critical/Major 已解决);明暗 + 三视口截图;逐项声明元素的二元判定,各附 [corpus: …]/[sector: …] 标注;Lookalike Test 判定(品牌)或 [n/a — product register; Domain-Specificity Floor run instead: {verdict}];动效 Block/Approve;P0-P3 问题清单(无聚合分数);challenger 判定(已解决/负责人接受,或工具不可用时“未评审”);2 轮上限后仍存的 P2-P3 问题如实上报。存在未解决的 P0/P1 或被 challenger Block 时,交付不属“完成”,须直说。
限制
流程假定由 design-expert 及 fuse-ai-pilot:challenger 工具执行;依赖 references 目录下的多份参考文件;端口与截图工具可用性是运行前提;未提供独立命令行或安装方式。