# 02-项目程序开发详细步骤

## 步骤 1：建立工作控制文件

- 创建 README、功能内容、开发步骤、推进台账、任务矩阵、验收证据、决策记录。
- 把任务按 LinuxCNC 执行流程拆分为可验收条目。

## 步骤 2：读取基准与现有实现

- 读取 `work/working3/gmoccapy_XYZAB_execution_analysis.md`。
- 读取 Web 项目 runtime、state、profile、ui 和测试文件。
- 将 LinuxCNC 执行链路映射到 Web 项目模块。

## 步骤 3：执行现有测试

- 在 `app` 下运行 `npm run smoke:node`。
- 运行构建：`npm run build`。
- 运行浏览器冒烟：`npm run smoke`。
- 如有失败，先定位是否为环境、测试夹具或功能差异。

## 步骤 4：差异分析

按任务矩阵逐项检查：

- INI/HAL/profile 是否覆盖 `gmoccapy_XYZAB.ini` 的五轴语义。
- task/HAL runtime 是否覆盖状态机、互锁、回零、运行、暂停、停止、换刀、主轴、冷却、倍率。
- interpreter/kinematics/session 是否覆盖 LinuxCNC 解释和五轴运行边界。
- UI 是否按 gmoccapy 规则启停按钮并显示状态。

## 步骤 5：修改实现

- 优先修复已有测试暴露的问题。
- 对未覆盖但属于 LinuxCNC 基准行为的差异，补测试后修实现。
- 修改范围保持在对应 runtime/state/ui/profile/tests 文件内，避免无关重构。

## 步骤 6：回归验收

- 重新运行相关最小测试。
- 运行完整 Node 冒烟测试。
- 对 UI/浏览器改动运行构建与浏览器冒烟。
- 把命令、结果、证据路径写入 `05-验收证据.md`。

## 步骤 7：更新台账和任务矩阵

- 更新已完成任务状态。
- 写清本轮修改文件、验证命令和下一步。
- 对重要取舍写入 `06-决策记录.md`。

