背景
2026-09-01 至 2026-09-04,LiliaCode 主干上出现 10+次独立提交仅为「升级 NanaUI pin 到 」,同期 NanaLive / LiliaBilibili / NanaShader 也各自 pin 同一批 Chip/Avatar rev。
现有 docs/design/mutsuki-dependency-pin.md 只约束 Mutsuki 的 PATH/GIT 切换,NanaUI 没有对等文档。结果:
- 消费方 git 历史被 pin 噪声浸没,难以追踪产品行为。
- 多仓库同一天重复升级,容易出现短暂 API 不对齐(例如 atom 公开 API 收窄后立刻再 pin)。
nanaui-api-gaps.md 的 pin 记录无法跟上。
问题
框架与产品仓库分离是正确的,但缺 pin 合同会把框架迭代成本转嫁到每个消费方。
修改方案
- 新增
docs/design/nanaui-dependency-pin.md,镜像 Mutsuki 文档:
- 默认 GIT rev;本地 sibling PATH 仅作开发区,不进主干。
- 一次升级必须同时改
Cargo.toml / Cargo.lock 与 gaps 文档中的 rev。
- 允许单独 pin 的条件:公开 API 破坏、修复阻塞产品的布局/命中 bug。
- 禁止仅为「跟 origin/main」提交而不带产品改动或验收说明。
xtask 增加轻量检查:读 Cargo.lock 中 nana-ui rev,与 gaps 文档首段对齐;失配时 cargo xtask verify 告警。
- 规范提交信息:「升级 NanaUI pin」必须写清带入的 API、应用侧是否改调用、验证命令。
验收
非范围
- 不把 NanaUI 改为 workspace path 依赖。
- 不在本 Issue 实现跨仓库自动批量 pin bot。
背景
2026-09-01 至 2026-09-04,LiliaCode 主干上出现 10+次独立提交仅为「升级 NanaUI pin 到 」,同期 NanaLive / LiliaBilibili / NanaShader 也各自 pin 同一批 Chip/Avatar rev。
现有
docs/design/mutsuki-dependency-pin.md只约束 Mutsuki 的 PATH/GIT 切换,NanaUI 没有对等文档。结果:nanaui-api-gaps.md的 pin 记录无法跟上。问题
框架与产品仓库分离是正确的,但缺 pin 合同会把框架迭代成本转嫁到每个消费方。
修改方案
docs/design/nanaui-dependency-pin.md,镜像 Mutsuki 文档:Cargo.toml/Cargo.lock与 gaps 文档中的 rev。xtask增加轻量检查:读Cargo.lock中nana-uirev,与 gaps 文档首段对齐;失配时cargo xtask verify告警。验收
非范围