真机验证走查(六条需求)
August 22, 2026 · View on GitHub
前提 1:插件已通过
dsh plugin --profile <name> add dsh-ezcommit-plugin安装, 且 profile 已重启(启动日志可见[dsh-ezcommit-plugin]公告与「已挂载 /ezcommit/api/* 路由」)。前提 2:web 会话标题栏出现
[分支] [一键 Commit]按钮(静态双面包自动挂载, 无需 cordis preset / cordis_define)。本会话工作区必须是 git 仓库。
场景制备工具:node scripts/stage-fixture.mjs demo|noise|clean(见下文各步)。
验证矩阵
| # | 需求 | 操作 | 预期结果 |
|---|---|---|---|
| 1 | 非 git 仓库 → 按钮置灰 | 临时 mv .git .git.bak(不要提交,验证后立即恢复) | 分支 chip 显示「非Git仓库」,按钮置灰,tooltip「当前工作区不是 Git 仓库」 |
| 2 | 分支名展示 | 恢复 .git 后观察按钮左侧 chip | 显示当前分支名(如 main);detached HEAD 时显示短 hash |
| 3 | 点击弹二次确认框 | 点击「一键 Commit」 | 弹确认框:分支、改动计数、未跟踪计数;「取消」关闭且无任何 git 操作 |
| 4 | 模型按业务颗粒度拆分 | node scripts/stage-fixture.mjs demo → 确认框点「开始分析」 | 进入「审查拆分计划」:两批(feat: ...demo-greeting 与 docs: ... 类),文件清单正确、顺序合理 |
| 5 | 无改动 → 置灰 | 执行完毕后观察按钮 | 按钮立即刷新置灰,tooltip「工作区没有改动」 |
| 6 | 噪音 → 提示不 commit | node scripts/stage-fixture.mjs noise → 分析 | 黄色「环境噪音,无需 commit」框 + reason;git log 无新增提交 |
详细步骤
- (需求 1/2)
mv .git .git.bak→ 等 ≤5s 轮询刷新 → 按钮置灰、chip 显示「非Git仓库」;mv .git.bak .git恢复 → chip 回到main、按钮可用。 - (需求 3) 点击按钮 → 确认框展示「分支 main · 共 N 个改动(未跟踪 M 个)」; 先点一次「取消」验证无副作用。
- (需求 4)
node scripts/stage-fixture.mjs demo→ 再次点击按钮 → 「开始分析」→ 等待模型裁决 → 审查计划页应出现两批提交(每批 title 符合 Conventional Commits, files 分别对应src/demo-greeting.js与docs/demo-api-notes.md)。 - 点击「执行 N 批提交」→ 成功框列出每批短 hash →
git log --oneline应多出两笔提交。 - (需求 5) 观察按钮已置灰;
node scripts/stage-fixture.mjs clean后仍置灰。 - (需求 6)
node scripts/stage-fixture.mjs noise→ 分析 → 应裁决noise, 弹黄色提示框且git log无新增提交;clean收尾。
收尾
- 验证产生的演示提交用
git reset --hard <验证前 commit>移除(仓库无远端时安全); 或保留作为使用示例。 - 场景文件全部清理后按钮置灰,闭环验证结束。