Files
cnc_wams/work/working1/04-任务矩阵.md

51 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 04-任务矩阵
## 状态说明
- Done已实现并有测试证据。
- Partial部分实现需要继续扩展。
- Pending未开始。
- Done-with-blocker验收报告已完成且明确记录当前主机/外部条件阻塞,不再作为本轮未完成项。
## 任务矩阵
| 编号 | 任务 | 状态 | 验收标准 | 验收证据 |
|---|---|---|---|---|
| BTN-001 | Run blocked 时仍可点击 | Done | Run 按钮不被 HTML disabled`data-command-ready=false`;点击后出现 blocked 原因 | `gmoccapy_shell_smoke.html``verify_gmoccapy_shell_browser.sh` |
| BTN-002 | Run 执行条件检查 | Done | 未上电、未 AUTO、未 Home、runtime 未就绪、未选 G-code 等条件会阻止执行并提示 | `verify_run_preconditions.mjs``verify_rtcp_store.mjs` |
| BTN-003 | Run 正常执行 | Done | 条件满足后进入 task/HAL run产生 runtime feedback状态来自 `linuxcnc-task-motion-hal-wasm` | `verify_linuxcnc_task_hal_runtime.mjs`browser smoke |
| BTN-004 | Stop 功能 | Done | 点击 Stop 后发送 `EMC_TASK_ABORT`runState 为 stoppedmotion aborted 为 true | `verify_linuxcnc_task_hal_runtime.mjs` |
| BTN-005 | Pause 功能 | Done | 点击 Pause 后 task/HAL interpState 为 pausedmotion paused 为 true | `verify_linuxcnc_task_hal_runtime.mjs`browser smoke |
| BTN-006 | Resume 功能 | Done | 点击 Resume 后发送 `EMC_TASK_PLAN_RESUME`;仅在状态允许时恢复 status loop | `verify_linuxcnc_task_hal_runtime.mjs`browser smoke |
| BTN-007 | Step 功能 | Done | 点击 Step 后发送 `EMC_TASK_PLAN_STEP`singleStepping 为 true状态保持 paused | `verify_linuxcnc_task_hal_runtime.mjs` |
| BTN-008 | Home 功能 | Done | 点击 Home 后发送 `EMC_JOINT_HOME`Web/task gate 保留 allHomed快速切模式不丢状态 | `verify_linuxcnc_task_hal_runtime.mjs``verify_run_preconditions.mjs` |
| BTN-009 | 按钮 UI 状态标识 | Done | 按钮根据 gate 输出 `data-command-ready``aria-disabled`、title | `gmoccapy-shell.js`browser smoke |
| BTN-010 | LinuxCNC 源码语义映射 | Done | 文档和实现引用 LinuxCNC task command 语义,不新增独立 CNC 行为 | `linuxcnc-task-policy.js` sourceReferences本工作文档 |
| RUNTIME-001 | task/HAL paused 状态输出 | Done | status JSON 输出 `taskPaused` | `linuxcnc_task_hal_wasm.cpp`WASM/Node 测试 |
| RUNTIME-002 | task/HAL single stepping 状态输出 | Done | status JSON 输出 `singleStepping` | `verify_linuxcnc_task_hal_runtime.mjs` |
| RUNTIME-003 | motion runtime 支持 step | Done | `EMC_TRAJ_STEP` / `EMCMOT_STEP` 可进入 queue 并在 paused 时通过 | `linuxcnc_motion_runtime.c`WASM/Node 测试 |
| TEST-001 | WASM runtime 测试 | Done | `verify_task_hal_wasm.mjs` 通过 | 命令输出 |
| TEST-002 | Node task/HAL 测试 | Done | `verify_linuxcnc_task_hal_runtime.mjs` 通过 | 命令输出 |
| TEST-003 | Run precondition 测试 | Done | `verify_run_preconditions.mjs` 通过 | 命令输出 |
| TEST-004 | Browser smoke 测试 | Done | `verify_gmoccapy_shell_browser.sh` 通过 | 命令输出 |
| TEST-005 | Browser 按钮流程截图取证 | Done | Home/Run/Pause/Resume/Step/Stop 点击前后状态截图和 JSON 报告生成,检查项全部 PASS | `capture-button-control-evidence.mjs``button-control-evidence-report.json``screenshots/button-control-evidence/` |
| TEST-006 | 云端按钮流程截图取证 | Done | `https://82.156.24.101:8092/` 页面 Home/Run/Pause/Resume/Step/Stop 流程 PASS生成 job_id/report_id/PDF/截图 | `cloud-button-control-evidence-report.json``cloud-button-control-evidence-report.pdf``screenshots/cloud-button-control-evidence/` |
| TEST-007 | LinuxCNC native task/HAL 对照报告 | Done-with-blocker | source/phase0/native readiness audit 通过opt-in host-native runtime probe 的阻塞原因被记录 | `native-task-hal-comparison-report.json``native-task-hal-comparison-report.md` |
| DOC-001 | 过程日志 | Done | 追加到 `gptlog-process/gpdlog.md` | `gpdlog.md` |
| DOC-002 | 工作交付文档 | Done | 在 `work/working1` 创建 6 份文档 | 本目录 |
## 防重复规则
1. 后续如果继续改这些按钮,先检查 BTN-001 到 BTN-010 的状态,避免重复实现已有 gate。
2. 不要重新写一套 JavaScript CNC 状态机替代 LinuxCNC task/HAL command。
3. 新增按钮时必须先建立 LinuxCNC command/source mapping再接入 store 和 tests。
4. 修改 runtime 行为时必须同时更新 WASM/Node/browser 至少一层测试。
## 后续可扩展任务
| 编号 | 任务 | 状态 | 验收标准 |
|---|---|---|---|
| BTN-011 | 云端页面验收截图 | Done | `https://82.156.24.101:8092/` 部署后截图和报告证明按钮行为 |
| BTN-012 | Stop/Pause/Resume/Step/Home 浏览器截图证据 | Done | 浏览器报告包含每个按钮点击前后状态截图 |
| BTN-013 | 更完整 LinuxCNC native 对照 | Done-with-blocker | native/source 对照和 opt-in host-native runtime blocker 报告完成;当前主机不能生成 native task 状态转换日志 |