chore(backlog): 记录 g228 完成

This commit is contained in:
HIsheR
2026-10-26 20:30:30 +08:00
parent a692cab80f
commit 7579170912
3 changed files with 12 additions and 2 deletions
+9
View File
@@ -2438,6 +2438,15 @@
"status": "done", "status": "done",
"notes": "打开 effect 的 rAF 里在 reveal 之后补焦点:优先时列 is-active 格、无值退到首格,focus({ preventScroll: true }) 避免浏览器把刚算好的列内居中位置重新滚掉;收起路径未改(Esc 与选完分都 trigger.focus());manifest steps 补第 10 条;check 全绿", "notes": "打开 effect 的 rAF 里在 reveal 之后补焦点:优先时列 is-active 格、无值退到首格,focus({ preventScroll: true }) 避免浏览器把刚算好的列内居中位置重新滚掉;收起路径未改(Esc 与选完分都 trigger.focus());manifest steps 补第 10 条;check 全绿",
"domain": "tune" "domain": "tune"
},
{
"id": "g228",
"title": "ua doctor 环境自检命令",
"motivation": "AGENTS.md 要求新 Agent 先跑通环境再干活,但「环境是否就绪」目前只能靠跑一次完整 npm run check 反推(几分钟)。缺一条秒级的自检命令,把 node 版本、依赖安装、git 钩子、.ua 元数据可解析性一次性检完。",
"acceptance": "新增 `ua doctor`:逐项检查 node >=18、pnpm-lock 与 node_modules 存在、commit-msg 钩子在位、.ua/backlog.json 与 .ua/index.json 可解析、iterations.log 每行是合法 JSON;全部通过打印 pass 清单退出 0,任一失败打印该条原因退出 1;AGENTS.md 环境准备补一行;manifest docs 说明;npm run docs 重生成;npm run check 全绿。",
"status": "done",
"domain": "tooling",
"notes": "新增 cmdDoctor:七项检查(node>=18、pnpm-lock、node_modules、commit-msg 钩子、backlog/index 可解析、留痕逐行 JSON),core.hooksPath 优先于默认 .git/hooks;负向自检确认污染留痕即 FAIL 退出 1;AGENTS.md 环境准备改为「先 doctor 再 check」;manifest usage/steps 同步;check 全绿"
} }
] ]
} }
+1
View File
@@ -272,3 +272,4 @@
{"ts":"2026-10-26T20:06:34+08:00","id":"g226","result":"done","commit":"93a7c67","summary":"配方《通用约定》补三条单一来源规则:动效走 ua-pop-drop / ua-pop-rise、新滚动容器进 scrollbar 名单、颜色令牌两处双写"} {"ts":"2026-10-26T20:06:34+08:00","id":"g226","result":"done","commit":"93a7c67","summary":"配方《通用约定》补三条单一来源规则:动效走 ua-pop-drop / ua-pop-rise、新滚动容器进 scrollbar 名单、颜色令牌两处双写"}
{"ts":"2026-10-26T20:07:11+08:00","id":"g227","result":"done","commit":"87bdc03","summary":"timePicker 打开弹层即把焦点送进时列当前格(preventScroll 保住滚动位置),键盘用户不必再 Tab 找,Esc 仍归还触发器"} {"ts":"2026-10-26T20:07:11+08:00","id":"g227","result":"done","commit":"87bdc03","summary":"timePicker 打开弹层即把焦点送进时列当前格(preventScroll 保住滚动位置),键盘用户不必再 Tab 找,Esc 仍归还触发器"}
{"ts":"2026-10-26T20:07:32+08:00","id":"g220","result":"done","commit":"1ac8bae","summary":"滚动条统一规则补入 .ua-timepicker-col:脚本枚举 14 个 overflow 容器逐个核对,覆盖由 13/14 补到 14/14"} {"ts":"2026-10-26T20:07:32+08:00","id":"g220","result":"done","commit":"1ac8bae","summary":"滚动条统一规则补入 .ua-timepicker-col:脚本枚举 14 个 overflow 容器逐个核对,覆盖由 13/14 补到 14/14"}
{"ts":"2026-10-26T20:30:30+08:00","id":"g228","result":"done","commit":"a692cab","summary":"新增 ua doctor 环境自检命令:node 版本/依赖/git 钩子/.ua 元数据秒级七项检查,任一失败退出码 1,AGENTS.md 接手流程改为先 doctor 再 check"}
+1 -1
View File
@@ -139,7 +139,7 @@
- ua commit-lint <文件|message>:提交信息门禁(type 枚举 / scope 规则 / subject 中文祈使 ≤50 字符),规范见 COMMITTING.md,违规退出码 1 - ua commit-lint <文件|message>:提交信息门禁(type 枚举 / scope 规则 / subject 中文祈使 ≤50 字符),规范见 COMMITTING.md,违规退出码 1
- ua audit:visual [--json|--baseline]:视觉漂移门禁,统计皮肤包里各类硬编码视觉字面量(字号/动效时长/阴影/圆角/焦点环/内距/控件高度/字重/行高/层级/边框色)并与 .ua/visual-baseline.json 棘轮比对,超基线退出码 1;--baseline 重写基线,--json 出机器可读计数与每类命中行号(line / prop / value / hint,Agent 可直接定位) - ua audit:visual [--json|--baseline]:视觉漂移门禁,统计皮肤包里各类硬编码视觉字面量(字号/动效时长/阴影/圆角/焦点环/内距/控件高度/字重/行高/层级/边框色)并与 .ua/visual-baseline.json 棘轮比对,超基线退出码 1;--baseline 重写基线,--json 出机器可读计数与每类命中行号(line / prop / value / hint,Agent 可直接定位)
- ua mcp:零依赖 stdio MCP server,暴露 list_components / get_component / search_components / get_tokens / list_recipes / get_recipe - ua mcp:零依赖 stdio MCP server,暴露 list_components / get_component / search_components / get_tokens / list_recipes / get_recipe
- 用法: `node packages/tools/cli/bin/ua.js <index|list|info <包名|组件id>|docs|tokens|style|verify|commit-lint|audit:visual|mcp>;仓库内等价于 npm run index / docs / style / verify / audit:visual` - 用法: `node packages/tools/cli/bin/ua.js <index|list|info <包名|组件id>|docs|tokens|style|verify|commit-lint|audit:visual|doctor|mcp>;仓库内等价于 npm run index / docs / style / verify / audit:visual / doctor`
- 约定: 零依赖:只用 node 标准库,Node >= 18 - 约定: 零依赖:只用 node 标准库,Node >= 18
- 约定: 清单是单一来源:代码注释、文档站、llms-full.txt、MCP 全部从 ua.manifest.json 派生 - 约定: 清单是单一来源:代码注释、文档站、llms-full.txt、MCP 全部从 ua.manifest.json 派生
- 约定: 门禁只增不改:新增校验必须能被人手复现,报错要指出文件与字段 - 约定: 门禁只增不改:新增校验必须能被人手复现,报错要指出文件与字段