LLD review, Low-Level Design review, 详细设计评审。Use when: 实现前需要审查 LLD 与 PRD/HLD/API Contract/Guardrails 的一致性。
执行前读取 工作流执行约定:先取证再提问、按实际工具能力回退,并从本次安装位置定位资源。
语言规则:默认跟随用户输入语言;用户显式指定时以用户指定为准;不要因为本
SKILL.md是中文而强制输出中文;TRACEABILITY-METADATA的字段名、枚举值、ID、comment markers 始终保持英文。若本 skill 使用模板或派发子任务,继续传递同一个output_language。详见../../references/language-policy.md。
你的职责是验证实现级设计是否在有效上游边界内可行,而不是借评审重新设计系统。正式 LLD 准出与有限修复方案使用不同入口,不能让一个数据库 bugfix 自动重走全套设计流程。
开始前必须完整读取 ../../references/review-boundaries.md,按实际变化而非标题、仓库数、代码行数或安全关键词选择层级。
code-reviewer;本 skill 不签源码、CI 或部署批准。| 模式 | 适用范围 | 必要输入与输出 |
|---|---|---|
formal_design |
用户要求完整新功能 LLD 准出 | 正式 LLD、Manifest、相关 PRD/HLD/Contract/Guardrails;完成四 Gate 与全量模块追溯,满足条件时给正式设计证书 |
bounded_change |
既有系统 bugfix、兼容修复、ADR 增量、有限整改计划 | 现有修复说明、有效基线/ADR/用户决定与相关事实即可;只评审受影响链路,允许直接回复,不强制全套新文档或证书 |
有限模式不强制补写 PRD/HLD、LLD Manifest、Test Strategy、Test Spec 或 Runbook;正式模式不能借此省略用户已要求的完整设计。基线记录形式不完整与实际行为依据不明分别处理,源码/现网只证明事实,不单独证明设计获批。
「模拟设计评审,验证可实现性,而非重新设计」
| 原则 | 说明 |
|---|---|
| 有效基线先于准出 | 关键依据不明则暂停依赖该依据的结论,继续可独立判断部分;不把缺文件一律判 P0 |
| 模式决定覆盖 | Manifest 是正式 LLD 完整性要求,不是有限修复的强制新产物 |
| Contract 是事实源 | 未经批准不得改变契约;发现冲突按实际失败与影响分级,所需契约变更单列待裁定 |
| 先做 Guardrails trigger check | 若评审本身暴露项目级约束缺口,先判定是否阻塞准出 |
| 证据强制 | 所有结论必须有证据支撑,禁止拍脑袋挑刺 |
| 有限、真实覆盖 | 不以问题数量衡量质量,不用 checklist 自动追加 DLQ、PDP、Feature Flag、ledger 等能力 |
| 授权独立判断 | 技术可行、设计授权、执行许可分别报告;Reviewer 自己的旧意见不能循环自证为批准来源 |
| 级别 | 名称 | 处理方式 | 门槛 |
|---|---|---|---|
| P0 | 阻断 | 任一 P0 ⇒ 不通过 | = 0 |
| P1 | 严重 | 任一 P1 ⇒ 不通过 | = 0 |
| P2 | 建议 | 始终可选,数量不阻断;不自动结转为下轮必修 | 不设数量门槛 |
P0/P1:必须有有效依据、实际失败路径及相应影响,例如可证明的越权、数据破坏或关键流程无法实现;不能仅凭某个章节/图/伪代码未写而定严重性。 Evidence gap:关键基线、实现细节或可行性事实无法确认,指出最小缺失证据,不冒充已证明缺陷或 PASS。 Scope decision:真正所需修复超出授权或批准记录冲突;说明旧/新行为、边界内选项与有权 Owner,只暂停依赖决定的部分。 P2 典型场景:表述不清、可读性问题
每条强制 comment 写清:稳定 ID、有效依据、当前失败、影响、最小修复、是否改变边界。技术必要性、行业惯例、安全更严格、测试 PASS 都不是范围授权;证据及判定方法见 references/drift-detection-guide.md。
使用当前可用的计划机制跟踪进度;无专用工具时用简短文字。以下四 Gate 是正式设计的覆盖清单;有限模式只取受影响项,不要求逐 Gate 产出报告。
□ Phase 0:确定模式、范围与依据
□ 0.1 读取请求和修复说明/LLD,识别真实层级
□ 0.2 读取可取得的批准基线,核对争议边界的原始批准来源
□ 0.3 仅就影响判断的未知事实提问
□ 0.4 执行 Guardrails trigger check
□ 0.5 输出「基线收集报告」
□ Phase 1:Gate 1 - 基线与 Manifest
□ 1.1 版本引用检查
□ 1.2 Manifest 完整性检查
□ 1.3 Guardrails 覆盖检查
□ 1.4 新边界检测
□ 1.5 区分缺陷、证据缺口与边界决定,继续独立部分
□ Phase 2:Gate 2 - 一致性与漂移
□ 2.1 HLD→LLD 映射检查
□ 2.2 漂移检测
□ 2.3 Contract 一致性检查
□ 2.4 输出「漂移检测报告」
□ Phase 3:Gate 3 - 模块完整性
□ 3.1 按 Manifest 检查各模块必填项
□ 3.2 N/A 理由合理性检查
□ 3.3 输出「模块完整性报告」
□ Phase 4:Gate 4 - 可实现性
□ 4.1 伪代码检查
□ 4.2 错误处理/并发/幂等检查
□ 4.3 测试策略检查
□ 4.4 输出「可实现性报告」
□ Phase 5:输出最终结果
□ 5.1 汇总问题清单
□ 5.2 分开输出 technical_verdict 与 scope_status
目标:知道在什么有效边界内评审什么,不给修复补造上游授权。
formal_design 或 bounded_change、受影响链路、不在范围内的事项。整改复审复用原 ID 与验收语义。references/askuser-templates.md;不因工具不可用或缺固定文件格式停工。../../references/guardrails-trigger-check.md 执行一次 Guardrails trigger checkno_trigger:继续后续 Gatesuggest_guardrails:在报告中记录治理跟进项,默认记为 P2,不单独阻塞准出require_guardrails_before_design:记录具体项目级约束缺口及依赖它的结论;缺依据记 Evidence gap,改变边界记 Scope decision,已证明违反有效基线再按影响分级。不得借 trigger 自动扩写规则或暂停无关部分。目标:验证 LLD 的基线引用和 Manifest 完整性。
0. Traceability Metadata 校验(正式设计)
TRACEABILITY-METADATA block?缺失记录正式产物缺口,不能凭此捏造功能 P1。python3 "$TESTANY_ENG_ROOT/scripts/trace_lint.py" --format json <LLD 路径>trace_build_rtm.py 检查跨文档追溯有限模式可直接引用已有批准条目及受影响实现位置,不要求给修复 note 新建 metadata、RTM 或 Manifest。
检查项:
Gate 1 处理:不明或冲突只暂停依赖它的结论;继续可独立判断的内容,不强制全任务回到 Gate 1。
目标:检测 HLD→LLD 漂移和 Contract 一致性。
漂移类型(详见 references/drift-detection-guide.md):
| 类型 | 定义 | 严重度 |
|---|---|---|
| 遗漏 | 在本次范围内的有效上游要求缺少实现设计 | 按失败/影响定 P0/P1;尚无法判断则 Evidence gap |
| 膨胀 | 方案增加未经授权的职责/行为/常态依赖 | 能退回明确既有边界则要求最小退回;真实边界变更另列 Scope decision |
| 变形 | 实现改变有效上游意图 | 区分已获批增量、实际缺陷与 Scope decision |
| 降级 | 有效质量要求被放宽 | 按实际影响分级;理由合理不等于获准降低 |
Contract 一致性:接口签名、错误码、权限和兼容语义必须符合当前有效 Contract;可行但尚待批准的变更不能伪装已准出,交受影响契约增量评审。
目标:按 Manifest 检查每个 Included 模块的完整性。
各模块必填项详见 references/module-checklist.md。
检查逻辑:
有限模式无需遍历未受影响模块;“本次不改、沿用既有实现”可作为增量范围说明,不要求重写完整 N/A 表。
目标:验证设计的可实现性和可测试性。
检查项:
输出参考:中文读取 references/report-templates.md,英文读取 references/report-templates.en.md;其他语言按 output_language 表达同一判定,不重复读取两份模板。
technical_verdict:APPROVED / CHANGES_REQUIRED / EVIDENCE_BLOCKED。scope_status:WITHIN_APPROVED_SCOPE / DECISION_REQUIRED。CHANGES_REQUIRED,没有已证实缺陷但关键技术证据不足为 EVIDENCE_BLOCKED。范围待决定可与技术结论并存。| 场景 | 处理 |
|---|---|
| 启动 | 用户提供 LLD 路径,建议同时提供 PRD/HLD/Contract |
| 基线不明 | 先读可取得资料,只问影响判断的未知事实;没有提问工具时直接问 |
| 复审 | 继承原 ID、范围、验收语义,只审 delta、原阻断与直接影响;未审/缺证部分明确补审,不自动重跑四 Gate |
bounded_change 审查两条 SQL、原事务/锁不变和真实 JDBC 回归;不要求新 HLD/Manifest/PDP,也不向产品经理询问 SQL 选择。| 文档 | 内容 |
|---|---|
references/module-checklist.md |
各模块必填项详细清单 |
references/drift-detection-guide.md |
HLD→LLD 漂移检测指南 |
references/report-templates.md |
审查报告和准出证书模板 |
references/report-templates.en.md |
英文输出时使用的等价模板 |
references/askuser-templates.md |
AskUserQuestion 模板 |
../../references/review-boundaries.md |
必读:分层、两种入口、范围来源与权限边界 |
../../references/guardrails-trigger-check.md |
Guardrails 触发检查与分流规则 |