编译前置校验验证报告
契约入库前,系统执行五项前置校验,任一不过即阻断入库。校验失败返回 { code, message, location },错误定位到具体字段路径。违反不可变边界按 violation_action 三档执行。
校验 semantic_domain 的值是否在字典预定义列表中(observational / transactional / navigational)。
semantic_domain: "observational" # → 在字典预定义列表中 ✓
semantic_domain: "custom_domain" # → 未在字典注册 ✗
校验契约引用的语义绑定(color_token / motion_token / icon_token)是否都在字典中已定义。
visual_mapping: color_token: "status.critical" motion_token: "pulse.red.urgent" # → 全部在字典已定义 ✓
visual_mapping: color_token: "status.unknown" # → 字典中未定义 ✗
校验场景映射(scenario_mappings)是否指向字典中已定义的覆盖层(semantic_domain)。
scenario_mappings: - scenario: "system_error" domain: "observational" # → domain 在字典已注册 ✓
scenario_mappings: - scenario: "user_delete" domain: "transactional" # → 未在 scenario 字典注册 ✗
校验 7 个顶层字段是否齐全(intent_id / semantic_domain / semantic_tokens / immutable_boundaries / version / author / updated_at),且 version 符合 SemVer。
intent_id: "ERR-001" semantic_domain: "observational" semantic_tokens: {...} immutable_boundaries: {...} version: "1.1.0" author: "designops@team" updated_at: "2026-06-20" # → 7 项齐全 · version 符合 SemVer ✓
intent_id: "ERR-001" semantic_domain: "observational" semantic_tokens: {...} # 缺少 immutable_boundaries / version / author / updated_at # version: "v1.1" → 不符合 SemVer ✗
校验 YAML 语法、缩进、类型是否符合 schema/intent-schema.json。
semantic_tokens: error_severity: fatal: description: "系统级故障" # → 语法正确 · 缩进一致 · 类型匹配 schema ✓
semantic_tokens: error_severity: fatal: description: "系统级故障" # → 缩进错误:description 不应与 fatal 同级 ✗
违反 immutable_boundaries 时,按契约声明的 violation_action 执行三档策略。
直接阻断契约入库,返回修改建议。适用于安全类边界(如高危操作缺二次确认、致命错误用普通文字)。
记录警告日志,人工确认后放行入库。适用于非致命降级(如文案语气偏离但语义核心正确)。
自动创建审核工单,升级至人工审核队列。适用于边界模糊、需跨角色裁决的场景。
构造 6 组对抗用例,覆盖五项校验的违规场景,全部在前置校验阶段被拦截,未进入规则树生成环节。
| 用例 ID | 违规类型 | 错误定位 | violation_action | 结果 |
|---|---|---|---|---|
| ADV-001 | 覆盖层未定义 | semantic_domain | block | ✓ 已拦截 |
| ADV-002 | 绑定 token 未定义 | semantic_tokens...color_token | block | ✓ 已拦截 |
| ADV-003 | 场景映射不一致 | scenario_mappings[0].domain | block | ✓ 已拦截 |
| ADV-004 | 字段缺失 + SemVer 错误 | root | block | ✓ 已拦截 |
| ADV-005 | YAML 缩进错误 | semantic_tokens...description | block | ✓ 已拦截 |
| ADV-006 | 不可变边界:同义词降级 | semantic_tokens...llm_constraints | warn | ✓ 已拦截(待确认) |
验证结果:5 项校验全部通过,6 组对抗用例拦截率 100%,
violation_action 三档(block / warn / escalate)策略已验证。错误定位精度 100%,全部返回 { code, message, location } 至具体字段路径(如 semantic_tokens.error_severity.fatal.llm_constraints)。
编译管线 v1 的 M3 里程碑达成,可进入 M4(编译产出:Prompt / JSON Schema / Checklist / CI 规则)。