docs(build): @build 统一为 keil-build skill,build.bat 降为等价原生入口

- AGENTS.md 构建条:@build = keil-build skill(写明 UV4 解析链、退出码
  0/1/2/3、日志路径);MDK-ARM/build.bat 明确为等价原生入口,并列出
  它相对 skill 缺的三项(无超时保护 / UV4 只认 DTU_KEIL_UV4 / 失败 dump 整份日志)
- keil-build SKILL.md「本仓库」段同步:skill 即 @build 口径
- 3 个 skill(new-source-file / ui-verify / new-machine-setup)与 8 篇
  docs、README、MDK-ARM/README、环境与部署 3 篇:命令示例与 @build
  标识统一改指 skill
- scripts/stack_report.py 的构建提示串改指 skill
- 环境与部署:DTU_KEIL_UV4 使用方补 keil_build.py;反向测试期望的报错
  文案对齐 skill 实际输出(BUILD_ENV_ERROR: ... is set but not a file)
- 刻意未改:docs/问题记录/项目审查与优化建议报告.md 的 P2-14/N-18
  历史审计条目(属史实记录);test/run_all_suites.py 的 BUILD_BAT
  常量(是代码、非文档,改动需另做验证)
This commit is contained in:
2026-10-10 16:19:14 +08:00
parent 43c958cac1
commit 7a54fdbc73
23 changed files with 44 additions and 41 deletions
+5 -2
View File
@@ -22,9 +22,12 @@ whenToUse: 需要编译 Keil MDK 工程、验证代码改动是否 0 错误 0
## 本仓库
仓库原生入口 `& "MDK-ARM\build.bat"`(`@build` 约定)与本 skill 脚本判定口径一致
**`@build` = 本 skill**(2026-10-10 起为仓库文档口径):在仓库根目录跑
`& '.venv\Scripts\python.exe' .dsh\skills\keil-build\scripts\keil_build.py`。
仓库原生入口 `& "MDK-ARM\build.bat"` 与本 skill 判定口径一致
(先删旧日志 → `-b -j0 -o` → 无 `error:` 且含 `0 Error(s), 0 Warning(s)`),
两者任选;`@build` 文档口径不变。环境变量 `DTU_KEIL_UV4`(用户级,指向 UV4.exe)。
**等价可用**,但它无超时保护、UV4 只认 `DTU_KEIL_UV4`、失败时 dump 整份日志 → 默认走本 skill。
环境变量 `DTU_KEIL_UV4`(用户级,指向 UV4.exe)。
## 铁律与陷阱(实测教训)
+2 -2
View File
@@ -33,14 +33,14 @@ whenToUse: 换新机器/新克隆要把环境搭起来、构建或烧录报"环
4. **验收三连**(全绿才算环境就绪):
```powershell
& '.venv\Scripts\python.exe' .dsh/skills/serial-assistant/scripts/serial_tool.py selftest # 23/23 PASS
& "MDK-ARM\build.bat" # exit 0
& '.venv\Scripts\python.exe' .dsh\skills\keil-build\scripts\keil_build.py # exit 0
& "MDK-ARM\reset.bat" list # 列出探针
```
## 实测坑(本会话两次撞上)
- **agent/服务派生的 shell 不继承"服务启动之后"设置的用户级环境变量**:
`build.bat` 报 exit 2 先分清"真没设"还是"没继承"——查
`keil_build.py`(或等价的 `build.bat`)报 exit 2 先分清"真没设"还是"没继承"——查
`[Environment]::GetEnvironmentVariable('DTU_KEIL_UV4','User')`,有值就
`$env:DTU_KEIL_UV4 = <该值>` 注入当前会话再跑,别急着让用户重设。
(`env_check.py` 对这种情况报 WARN 并给注入命令。)
+1 -1
View File
@@ -28,7 +28,7 @@ whenToUse: 新建 App/、Drivers/BSP/ 下的 .c 文件,或构建/运行报 und
```powershell
cmake --build simulator/build --config Debug # 0 警告
& "MDK-ARM\build.bat" # BUILD_OK,0 错 0 警
& '.venv\Scripts\python.exe' .dsh\skills\keil-build\scripts\keil_build.py # BUILD_OK,0 错 0 警
```
## 注意
+1 -1
View File
@@ -14,7 +14,7 @@ UI 相关改动完成后必须跑完 5 个门禁再提交。完整说明见 `doc
cmake --build simulator/build --config Debug # 0) 构建模拟器(须 0 警告)
.venv\Scripts\python.exe simulator/tests/check_menu_rows.py # 1) 菜单 8 状态像素回归 + 池基线门禁
.venv\Scripts\python.exe simulator/tests/check_content_pages.py # 2) 内容页黄金参考回归 + 往返池门禁
& "MDK-ARM\build.bat" # 3) Keil 构建(BUILD_OK,0 错 0 警)
& '.venv\Scripts\python.exe' .dsh\skills\keil-build\scripts\keil_build.py # 3) Keil 构建(BUILD_OK,0 错 0 警)
.venv\Scripts\python.exe scripts/check_coding_standard.py # 4) 代码规范检查(PASS)
```