# 0.6.7 计划：principle 卡——把传统艺术奖的“抽象审美”变成可执行方向

> 状态：**已实现（0.6.7）** · 目标版本：`0.6.7` · 前置：`0.6.6`（DashScope 多模态 + 语义召回）
> 范围：`kind: principle` 卡（PR-*）、brief 双通道、principleRefs 对照、策展 skill、20 条基准查询。

## 1. 为什么加 principle 卡

传统艺术/装置奖（ADA、iF、Core77、A' Fine Arts 等）能给 AI 的是**审美先验**，
不是组件级规则。直接让模型“看获奖作品感悟”会得到不可证伪的形容词；
直接搬 UI 截图又会把别的平台/品牌的偶然特征当成通用规则。

所以拆成两层：

| 层 | 内容 | 用途 | 是否可硬判 |
| --- | --- | --- | --- |
| `principle`（PR-*） | 留白、明暗、节奏、材质诚实、空间序列… | 给方向、做对照 | 不硬判；必须有可测代理 |
| `pattern`（DSG-*） | 布局、tokens、checklist、Do/Don't | 给实现 | 可引用为 `designRefs` |
| `anti-pattern`（AP-*） | 明确禁止项 | 审计闸门 | 可引用为 `antiPatternRefs` |

一句话：**principle 负责“往哪走”，pattern 负责“怎么落地”，AP 负责“不要做什么”。**

## 2. 卡 schema

`DesignCard.kind` 增加 `principle`，卡片 ID 使用 `PR-0001` 命名空间（与 DSG/AP 并列）。
新增可选字段：

```jsonc
{
  "kind": "principle",
  "title": "负空间即注意力预算",
  "principle": "留白不是空，是引导视线和降低认知负荷的手段",
  "perceptualEffect": "安静、聚焦、高级感",
  "proxies": ["空白占比 ≥ 35%", "首屏主操作 = 1", "字号级数 ≤ 3"],
  "applications": ["阅读类首屏", "会员中心", "数据看板空态"],
  "misuses": ["为了留白牺牲信息密度", "在工具型界面强行极简"],
  "checklist": ["首屏只有一个主 CTA", "正文/背景对比 ≥ 4.5:1"],
  "dimensions": { "appType": "阅读", "platform": "harmonyos", "style": "极简" },
  "source": { "kind": "official", "ref": "奖项页 URL", "license": "link-only" }
}
```

约束（ingest 时强制）：

- 必须有 `principle`（或 `rationale`）说明原则；
- **至少一个 `proxies` 或 `checklist` 项**——否则就是不可执行的形容词，直接跳过并警告；
- 允许挂 `antiPatterns`（该原则的误用）；
- `principle` 内容进入独立 chunk（`section: principle`），可被检索；
- 默认 `search` 只返回 pattern；`kind: principle` 显式查；品牌卡仍单独处理。

## 3. brief 双通道

`tasks/design-brief.md` 新增：

```text
## 0.2 设计原则（方向）
- `PR-0001` 负空间即注意力预算
  - 原则：…
  - 可测代理：空白占比 ≥ 35%；首屏主操作 = 1
  - 适用：阅读类首屏…
  - 误用：为了留白牺牲信息密度…
```

- principle 检索使用与 pattern 相同的 query，但走 `kind: principle`，默认 top-3（`designPrincipleCards`）；
- principle 不参与 pattern 卡片列表的“参考对照”分数，避免把抽象方向和具体实现混排；
- 品牌卡仍强制注入；返工建议仍只定向 pattern/DSG；
- `dispatch` 生成的 goal brief 自动引用同一份 design brief，无需额外改动。

## 4. spec / audit：只做对照，不做硬判

- 审美判据/检查可带 `principleRefs: ["PR-0001"]`；
- `dwguard_spec` 校验：格式 `PR-<4 位数字>`、仅审美判据、卡片存在且 active；
- `dwguard_audit` 闸门：拒绝缺失/blocked 的 principle 引用（引用完整性），
  **但不因 principle 文本本身判 fail**；真正开闸的仍是 `proxies` 转化出的 checklist/断言/设备证据；
- 报告新增「原则对照」列（显示 PR id + title + proxies 摘要）；
- `audit-<n>.json` 的 `design.principles[]` 记录 `{ criterionId, principleRef, status, title, proxies }`；
- 原则卡不参与 AP 自动继承（继承只走 DSG 卡上的 antiPatterns）。

## 5. 策展流程（awards-curation skill）

1. **来源**：Apple Design Awards、iF Winner Ranking、Core77、A' Design Award 等公开页面；
   记录 URL、检索日期、许可状态；遵守 ToS/robots，不批量搬运截图/描述。
2. **拆模式**：一条记录只描述一个可复用原则；至少 2 个作品支撑同一原则时才提高权重。
3. **翻译**：原则 → 2–3 个 UI 动作 → 至少一个可测代理（token/checklist/断言）；
   写清 `misuses`，防止“为了艺术感牺牲可用性”。
4. **来源分层**：官方事实用 `source.kind: official`；策展推导用 `user` + evidence 标注；
   `license: unknown` 默认不进检索。
5. **入库与版本化**：inbox meta → `library ingest` → 有变化时 `pack export awards-2026`。
6. **基准测试**：用 `benchmarks/awards-2026.json` 的 20 条查询跑 top-3 命中；
   miss 记录到校准/知识库，调 tags/同义词/weight，不靠“感觉”。

## 6. 验收标准（可证伪）

| ID | 判据 | 验证方式 |
| --- | --- | --- |
| PR-1 | principle 卡字段完整往返；缺 proxy/checklist 被拒绝 | 单测：ingest + manifest |
| PR-2 | principle 使用 `PR-*` id，默认检索不混入 pattern | 单测：kind 过滤 |
| PR-3 | brief 含「设计原则（方向）」且列出 principle/proxies/misuses | 单测：brief markdown |
| PR-4 | principleRefs 在 spec/audit 做存在/blocked 校验 | 单测 |
| PR-5 | 报告含「原则对照」列，audit JSON 含 `design.principles` | 单测 |
| PR-6 | 20 条基准查询文件存在且 schema 合法 | 单测/脚本校验 |

## 7. 不做什么

- 不把 principle 当 `must` 判据的自动闸门；不把艺术奖截图直接当 tokens；
- 不自动联网抓取奖项站点（默认离线，数据由用户/策展脚本导入）；
- 不做模型微调；principle 卡仍走检索 + 用户确认 + 审计对照；
- 不对 principle 卡片自动生成“审美分数”。

## 8. 风险

- **不可证伪**：靠“强制至少一个 proxy/checklist”约束；
- **平台错配**：principle 必须带 `dimensions.platform`，应用时按平台过滤；
- **过拟合奖项**：principle 是参考不是标准，审计仍以设备证据和用户确认为准；
- **版权**：只存原则、事实、链接与 token，不批量复制作品图/原文。
