# PHITE OPERATIONAL VISUAL GRAMMAR · v0 参考研究
> **ARCHIVED — NON-CANONICAL**（V1.0 Foundation Freeze Audit 归档；不得作为实现依据，保留为历史证据。规范以 `phite-v1-audit.md` §G 映射为准）

> 状态：本文件所有新发现均为 **RECOMMENDED — OWNER APPROVAL REQUIRED** 或 **PATTERN CANDIDATE**，未更新宪法、决策登记或金样。

---

## A. REFERENCE FINDINGS

- **v0 参考不可访问**：`phite.v0.build/workspace`、`/transition`、`/dna` 三个地址均返回 `Unauthorized`（Vercel 访问受限），无法提取其视觉内容，故 v0 不能作为本研究的有效参考实验室。
- **Open Design 参考**：`od-live-artifact-…/project-workspace` 即当前 `project-workspace.html` 的部署版，已被纳入本研究作为「当前实现」基线。

结论：本研究在 v0 缺失的情况下，转为 **PHITE 内部收敛**——从已批准规范（P5/P8/P9/P10、状态五轴、对象解剖、交付脊线 V1）与既有实现的不一致中提取更强的可复用语法。

---

## B. PRIMARY RECOMMENDATIONS

### B1 · Delivery Spine V2

**问题**：脊线 V1 只表达「阶段 + 百分比 + 顶部状态线」，缺失 目标/偏差、时间、阻塞/证据、「下一步」，无法回答「应该发生什么 / 是否按时 / 什么在阻挡」。

**V2 节点语法（可缩放，非 stepper）**：

```
[状态线 2px]   done=绿  current=青  future=中性  at-risk=琥珀  delayed/blocked=红
阶段码(mono)   E / P / M / L / I / C
阶段名         工程 / 采购 / 制造 …
实际进度(mono)  58%            ← Progress 量
目标(mono,次)   目标 62%        ← Target
偏差(mono)      −4%             ← Variance（负=琥珀/红，正=绿，0=中性）
进度条          fill=蓝(实际量) + 目标刻度线(tick，非第二条条)
时间(可选)      计划 06-15 → 实际 —（时间成为问题时才显示）
当前节点        十字位置 + “当前”微标签（青，唯一）
```

**原则**：脊线编码 位置 / 进度 / 目标 / 偏差 / 状态 / 例外 / 时间；青只标「当前」，绿标「完成」，蓝填充「进度量」，琥珀/红标「风险/延误」。

### B2 · Progress & State Grammar

五轴概念 → 分离的视觉表达，不塌缩为一个彩色 pill：

| 轴 | 视觉 | 颜色 |
| --- | --- | --- |
| State（条件） | 信号点 + 文字（chip 仅在需要容器时） | 灰/蓝/绿/琥珀/红 |
| Progress（多远） | 填充条 + 百分比（tabular） | 填充=蓝，目标=刻度 |
| Severity（多严重） | 文字 + 形状 + 颜色（绝不只靠颜色） | 琥珀/红 |
| Authority（归属） | 文字人名（头像可选，不强制） | 中性 |
| Activity（当前） | 青：当前节点/选中/焦点 | 青（稀缺） |

**进度色语法**：完成=绿（安静、已解决）· 当前=青（活跃，唯一）· 未来=中性灰 · 延误/风险=琥珀 · 阻塞=红+「阻塞」文字 · 不适用=中性虚线。

**Completed vs Current**：完成应更安静、稳定；当前应更「活」、由青承载，视觉主导完成但不喧哗。

**Progress Bar**：track=surface-3；fill=蓝（实际量，非青）；target=刻度线；current=青刻度（仅当前阶段）；0%=空 track；100%=满绿（完成）；未知=中性虚线。

**Actual vs Target**：一种语法——`实际 58% · 目标 62% · −4%`。Target 用**刻度线/次级数字**表达，不做第二条竞争进度条。

### B3 · Name / Time / Status Grammar

**记录层级**（自上而下，尽量回答）：

1. 这是什么 → 对象名称（strong）
2. 属于什么 → 对象 ID（mono）+ 分类（mono，独立字段）
3. 谁 → 负责人/编制/批准（文字）
4. 何时 → 时间（mono，中性次级）
5. 什么状态 → 信号点 + 文字
6. 需要关注吗 → 例外标记（文字+形状+颜色）
7. 下一步 → 下一步动作（安静 mono 文本链接）

**Name vs Classification**：名称与分类是**两个语义字段**，可视觉相邻，但不得拼接成同一字段。禁止「终缩聚反应器 反应器」式重复。

**Time language**：`创建/更新/计划/要求/到期/预测/实际/发布/完成/逾期` 统一为一套中性次级 mono；仅当「时间本身是问题」时，日期才参与例外表达（逾期→红+「逾期 N」）。

**Status containment**：按语义目的选择——纯文字+点（默认，密集表）→ 信号点（证据链）→ chip（状态是主要筛选/扫描对象时）→ 生命周期标记 → 严重度标记 → 权威指示。避免「每个状态=圆角彩色 pill」。

**Exception/Attention**：逾期/延误/风险/阻塞/关键/缺证据/待审批 → 文字+形状+颜色，不破坏整体层级。

**Milestone**：名称 + 计划日期 + 实际/预测 + 偏差 + 状态点 + 归属 + 依赖（紧凑，非卡片）。

**Event/Activity record**：对象/事件 + 归属 + 时间 + 状态 + 下一步（紧凑行）。

**Next Action**：右对齐 mono 文本链接，安静，不与身份竞争。

**Row state**：default（无）+ hover（surface-2）+ selected（青左条 + surface）+ attention（单元格内例外标记，非整行染色）+ disabled + completed（绿点，文字不弱化）。

---

## C. ADDITIONAL DISCOVERIES

- **对象级生命周期链**（来自 Test #02 设备登记表）：采购链与设备链可共享同一「链式进度」语法（done/now/wait/late 段），不同 schema（PR→…→Payment vs M→FAT→发货→安装→调试）。应正式化为可复用模式。
- **行内例外标记**比整行染色更克制，且不破坏密度。

---

## D. OPPORTUNITY REGISTER

| ID | Idea | Source | Problem | Reusability | Recommendation |
| --- | --- | --- | --- | --- | --- |
| OR-01 | Delivery Spine V2 节点语法（code+name+actual+target tick+variance+state line+current marker） | P8 + 脊线 V1 + T02 链 | V1 只表达百分比 | 高 | ADOPT |
| OR-02 | Progress fill=蓝；Target=刻度线（非第二条条） | 内部 | target/actual 不清 | 高 | ADOPT |
| OR-03 | Variance 作为 mono 数字 | 内部 | 无偏差语法 | 高 | ADOPT |
| OR-04 | State=信号点+文字（chip 仅在需要时） | 内部 | badge 滥用 | 高 | ADAPT |
| OR-05 | Name 与 Classification 分离 | 内部 | 「X X」式语义重复 | 高 | ADOPT |
| OR-06 | Time=中性次级；逾期时间转为例外承载 | 内部 | 日期样式不一致 | 高 | ADOPT |
| OR-07 | Exception=文字+形状+颜色 | 无障碍（已有） | 仅颜色例外 | 高 | ADOPT（强化） |
| OR-08 | Next Action=安静 mono 文本链接 | 采购/设备金样 | 下一步与身份竞争 | 高 | ADOPT |
| OR-09 | Authority=文字（头像可选） | 内部 | 头像过度 | 中 | ADOPT |
| OR-10 | Milestone 紧凑语法 | 内部 | 里程碑语法缺失 | 中 | ADOPT |
| OR-11 | 行状态：青左条+surface，非整行染色 | P2 | 行染色过度 | 高 | ADOPT（已规范） |
| v0-01 | v0 参考（workspace/transition/dna） | v0.build | — | — | STUDY（不可访问） |

---

## E. LIGHT / DARK MAPPING

语义在两种环境**完全稳定**，仅改变对比/中性面/线强度/填充强度：

| 语义 | Light | Dark |
| --- | --- | --- |
| 当前 | 青墨 `oklch(0.45 0.13 227.5)` | 亮青 `#00A6D6` |
| 完成 | 绿（浅色绿） | 绿（深色绿） |
| 进度填充 | 身份蓝 | 派生亮蓝 `oklch(0.60 0.11 263)` |
| 风险/延误 | 琥珀 / 红 | 琥珀 / 红 |
| 目标刻度 | 强线 | 强线 |
| 未来 | 中性灰 | 中性灰 |

同一 PX-4200 数据（工程 92 / 采购 74 / 制造 58 / 物流 31 / 安装 18 / 调试 0，当前=制造，安装=延误）在两种环境下必须「读起来是同一套状态语法」。

---

## F. CROSS-OBJECT VALIDATION

一条生命周期语法，三种 schema（阶段数不必相同）：

| 对象 | Schema |
| --- | --- |
| Project | 工程 → 采购 → 制造 → 物流 → 安装 → 调试（6） |
| Equipment | 工程 → 采购 → 制造 → FAT → 发货 → 安装 → 调试（7，可裁） |
| Procurement | PR → RFQ → PO/合同 → GR → 发票 → 付款（6） |

共享：Progress 语义、Current 语义、Future 语义、Exception 语义、连接线语法。差异：阶段码、阶段名、阶段数、宽度。

---

## G. BEFORE / AFTER

- 消除「进度=状态」的语义重复：进度（条+%）与状态（线/点）分离。
- 更清晰的状态层级：完成/当前/未来/风险/阻塞/不适用，六类可分。
- 更强的生命周期连续性：节点承载 位置+进度+目标+偏差+例外+时间。
- 更清晰的 实际 vs 目标：刻度线而非第二条条。
- 更好的时间层级：中性次级，逾期转例外。
- 减少 badge 泛滥：点+文字优先。
- 更强的跨对象复用：Project/Equipment/Procurement 共享语法。
- 更强的明暗连续性：仅强度变化，语义不变。
- 更克制的青色：仅「当前/选中/焦点」，不作填充。

---

## H. OPEN QUESTIONS

1. Spine V2 是否需在**每种**对象 schema 上都显示「时间」？（默认隐藏，例外才显示？）
2. 进度填充用「身份蓝」还是「派生亮蓝」作为规范？（当前提案：Light=身份蓝，Dark=派生亮蓝）
3. Variance 阈值：偏差 ≥ 多少才着色为琥珀/红（−3%? −5%?）
4. Blocked 与 Delayed 是否需要一个更明确的「阻塞」图形标记（如小竖杠），而非仅颜色+文字？
5. 里程碑语法是否正式纳入 V1（当前为 PATTERN CANDIDATE）？

---

## I. CANONICAL CHANGES

**None**（本文件全部为 RECOMMENDED / PATTERN CANDIDATE，未更新宪法、决策登记或已批准金样；等待 Owner Approval）。
