DESIGN.md token引用报错：修复按钮引用的不存在颜色，保住共享色值

素材身份：作者原创输入/可编辑参考。目标工具未在本轮执行。
先打开 index.html；input.csv 是原始字段，reference.csv 是验收基准，negative.csv 是故意构造的坏样例。
actual-results.csv 保留未测状态，实际执行后再填写。

前置条件：
Node.js与npm已可运行；练习只需本地文本文件和官方@google/design.md CLI，不需要Stitch账号或付费生成。
固定当前CLI版本并保留版本号；DESIGN.md仍为alpha格式，升级前先在练习副本复核。
本课给出作者自制规则文件和预期，不把预期JSON冒充已执行的官方CLI返回。

操作步骤：
1. 保留带错的规则文件
复制DESIGN-broken.md到工作目录，确认colors只有primary和surface。
主按钮backgroundColor故意写成{colors.action}，不要在运行前自行补同名颜色。

2. 先保存原始lint返回
运行designmd lint --format json DESIGN-broken.md，将标准输出保存为lint-before.json。
单独记录退出码，broken-ref是error，不能只看终端有没有打印内容。

3. 回到被点名的组件
按finding中的path定位button-primary.backgroundColor，再核对colors.action确实不存在。
如果报的是另一个路径，先保留现场并检查是否运行了错误文件。

4. 修复引用而非复制色值
把按钮引用改为{colors.primary}，保存成DESIGN-fixed.md。
不要把背景直接改为十六进制色值，否则以后主色升级不会跟着统一。

5. 检查共用主色的导航
在同一文件让nav-active继续引用colors.primary，对照按钮与导航的解析值。
若两处视觉不一致，检查是否一个组件仍在使用硬编码旧色。

6. 重跑并保留负例
对修复文件重跑lint，再给负例把primary拼成primay。
正例不应再有该broken-ref，负例应仍能暴露失效目标，不能靠忽略error过关。

7. 交付规则和检查记录
保存两份规则、前后lint原文与一个按钮/导航示例页。
在记录中区分实际退出码与练习预期，尚未执行时保持not_run。

验收：
修复后引用仍使用花括号路径，且目标确实存在。
共享主色只改一处即可影响按钮与导航。
负例仍出现broken-ref，原始返回未被手工改写。

官方资料：
https://github.com/google-labs-code/design.md

图片身份：assets/ 为内置image_gen生成的原创练习输入缩略版，原始文件保留在网站图片来源地址。可编辑SVG为作者原生排版。
