完善五轴 RTCP 仿真与验证资料
This commit is contained in:
74
work/working7/01-测试功能内容.md
Normal file
74
work/working7/01-测试功能内容.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# 01 测试功能内容
|
||||
|
||||
生成日期:2026-06-27
|
||||
|
||||
## 1. 测试目标
|
||||
|
||||
按《Web RTCP 五轴联动数控系统仿真界面操作手册》验证
|
||||
`/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan` 的核心操作功能,并把可重复执行的测试方法写入
|
||||
`/home/meswork/cnc_wams/work/working7`。
|
||||
|
||||
本轮测试目标包括:
|
||||
|
||||
- 确认项目可以完成静态构建、Node runtime smoke 和浏览器 smoke。
|
||||
- 将操作手册中的功能拆分为可追踪测试任务。
|
||||
- 明确哪些功能已有自动化证据,哪些功能后续需要补截图、PDF 或专用脚本证据。
|
||||
- 保持 Web 仿真安全边界,不把浏览器状态误认为真实 LinuxCNC 实时硬件控制。
|
||||
|
||||
## 2. 输入资料
|
||||
|
||||
| 类型 | 路径 |
|
||||
| --- | --- |
|
||||
| 操作手册 | `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/docs/Web-RTCP五轴数控系统仿真界面操作手册.docx` |
|
||||
| 项目 README | `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/README.md` |
|
||||
| 前端 app | `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app` |
|
||||
| Node 测试 | `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node` |
|
||||
| 浏览器测试 | `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser` |
|
||||
| 既有 QA 证据 | `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output` |
|
||||
|
||||
## 3. 安全边界
|
||||
|
||||
本项目是 Web 侧仿真界面,不直接驱动真实机床硬件,不替代 LinuxCNC 实时内核。测试中所有 POWER、HOME、RUN、JOG、MDI、主轴和冷却行为都只验证浏览器仿真状态、Task/HAL WASM 运行时、UI 状态和诊断信息。
|
||||
|
||||
验收表述必须保留这些边界:
|
||||
|
||||
- 可以说:Web UI、store、Task/HAL simulation、LinuxCNC source-derived WASM 运行链路通过测试。
|
||||
- 不可以说:浏览器已具备真实机床控制能力。
|
||||
- 可以说:`xyzac-trt`、`xyzbc-trt` 的 RTCP/TCP 运动学使用 LinuxCNC source-derived WASM 证据。
|
||||
- 不可以说:`gmoccapy-xyzab` 的 `trivkins` reference profile 是 RTCP proof。
|
||||
|
||||
## 4. 手册功能拆解
|
||||
|
||||
| 功能域 | 手册章节 | 测试内容 | 主要验收点 |
|
||||
| --- | --- | --- | --- |
|
||||
| F01 主界面区域 | 2 | titlebar、preview、DRO、G-code、info tabs、override、spindle/coolant、bottom controls、status sidebar | 9 个区域存在,非预览区域有可读状态,预览 canvas ready 且非空。 |
|
||||
| F02 开机和急停 | 3.1 | E-STOP、RESET、POWER | POWER 后 `powerOn=true`,急停会关闭 power、主轴和冷却,按钮 title 显示 gate 原因。 |
|
||||
| F03 回零 | 3.2 | Home | `allHomed=true`,DRO 回到 profile 参考位置,AUTO/MDI gate 解除。 |
|
||||
| F04 模式切换 | 3.3 | AUTO、MANUAL、JOG、MDI | AUTO 激活为绿色且 MANUAL 灰色;切回 MANUAL 时反向成立;未满足前置条件时阻止并提示原因。 |
|
||||
| F05 AUTO 自动运行 | 4 | LinuxCNC source、Run Ready、Run、Pause、Resume、Step、Stop | G-code 当前行绿色高亮,DRO/预览/Task/HAL feedback 同步,Stop 后 interpreter idle。 |
|
||||
| F06 MANUAL 点动 | 5 | X-/X+/Y-/Y+ 和 JOG 入口 | 仅在 power on、manual、idle 条件下允许;DRO 对应轴变化,Operator 信息记录点动。 |
|
||||
| F07 MDI | 6 | 输入并执行 MDI 命令 | `machine.mode=mdi`,执行后坐标更新,命令进入 MDI 历史。 |
|
||||
| F08 RTCP/TCP | 7 | IDENTITY/TCP 切换、M428/M429 switchkins | TCP profile 可切换 RTCP on/off;reference-only profile 禁用并说明原因。 |
|
||||
| F09 倍率和 HAL 输入 | 8 | Rapid、Feed、Limits、Block、M1 | 倍率增减/100 恢复,HAL 输入同步到 Web 状态和诊断面板。 |
|
||||
| F10 主轴和冷却 | 8 | Flood、Mist、FWD、STOP、REV、主轴倍率 | 未上电时阻止,上电后状态切换和倍率更新可见。 |
|
||||
| F11 程序来源 | 9.1 | Open、LinuxCNC 5-axis source、Stage、Reload | 本地程序或内置 LinuxCNC source 可加载,stage 状态可见,reload 重置运行状态。 |
|
||||
| F12 会话保存恢复 | 9.2 | Save Session、Restore Session | 保存 profile、坐标、模式、程序和 UI 状态;OPFS 不可用时降级 memory-fallback。 |
|
||||
| F13 诊断 | 10 | Task policy、INI、Task/HAL、Full boundary、gmoccapy/HAL | 诊断能解释 gate、INI、Task/HAL readiness、source boundary、HAL pins 和 gmoccapy native 边界。 |
|
||||
|
||||
## 5. 已有自动化覆盖
|
||||
|
||||
| 覆盖项 | 当前证据 |
|
||||
| --- | --- |
|
||||
| 构建 | `npm --prefix .../app run build` 输出 `gmoccapy_static_build=ok`。 |
|
||||
| Node runtime | `smoke:node` 覆盖 kinematics、interpreter、INI、run preconditions、run feedback、Task/HAL、full source、machine staging、session、RTCP、profile boundary、gmoccapy profile/icon/HAL/gate、linear unit。 |
|
||||
| 浏览器 DOM | `smoke` 覆盖 gmoccapy shell 和 dist 页面,验证区域、canvas、profile 切换、按钮图标、模式颜色、G-code 高亮、Task/HAL runtime readiness。 |
|
||||
| 历史截图/PDF | QA 目录已有 `gmoccapy-xyzab-function-report`、`button-control-evidence-report` 等 JSON/PDF/截图。 |
|
||||
|
||||
## 6. 成功定义
|
||||
|
||||
本阶段成功定义:
|
||||
|
||||
- `work/working7` 中形成 README、测试功能内容、详细步骤、推进台账、任务矩阵、验收证据和决策记录。
|
||||
- 构建、Node smoke、浏览器 smoke 均通过,并记录输出标记。
|
||||
- 手册功能均有任务编号和验收口径。
|
||||
- 后续如新增截图/PDF/专用脚本,可以按任务矩阵继续推进,不重复拆解同一功能。
|
||||
41
work/working7/01-项目功能内容.md
Normal file
41
work/working7/01-项目功能内容.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# 01 项目功能内容
|
||||
|
||||
生成日期:2026-06-27
|
||||
|
||||
本文件是本轮最终版功能索引;详细拆解见同目录 [01-测试功能内容.md](01-测试功能内容.md)。
|
||||
|
||||
## 我本轮确认的功能范围
|
||||
|
||||
我对 `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan` 的 Web RTCP 五轴仿真界面做了实际执行验证,覆盖:
|
||||
|
||||
- 主界面九大区域:titlebar、preview、DRO、G-code、status sidebar、info tabs、override、spindle/coolant、bottom controls。
|
||||
- 所有主要按钮和右侧控制区按钮:E-STOP、POWER、RESET、AUTO、MANUAL、JOG、MDI、IDENTITY、TCP、HOME、RUN、STOP、PAUSE、RESUME、STEP、Run Ready、Open、Reload、Full、Save/Restore、Audit。
|
||||
- 刀具预览:X/Y/Z 视图、Fit、Clear、Reload、canvas pathPoints、RTCP 状态、当前段高亮。
|
||||
- 程序来源和执行:LinuxCNC 5-axis source staging、source 下拉选择、本地 G-code Open、Run Ready、RUN、STOP、G-code 当前行和执行状态。
|
||||
- 刀具实时执行路径:Task/HAL runtime feedback、executedPathPoints、DRO、axisPose、programRuntimeFeedback。
|
||||
- 机床轴值:HOME 后轴值、JOG X-/X+/Y-/Y+、MDI `G90 X12.5 Y-4 Z1.25 F900` 后坐标和历史。
|
||||
- 主轴/冷却/倍率/HAL:FWD、REV、STOP、Flood、Mist、Rapid/Feed/Spindle override、Limits、Block、M1。
|
||||
- 会话与诊断:Save/Restore Session、Full、Task policy、INI、Task/HAL、Full boundary、gmoccapy comm/HAL/native page。
|
||||
|
||||
## 我确认的边界
|
||||
|
||||
- 本轮验证结论属于 Web 仿真、WASM runtime 和 Task/HAL simulation,不代表真实机床硬件控制。
|
||||
- `xyzac-trt`、`xyzbc-trt` 用于 LinuxCNC source-derived 5-axis/RTCP 验证。
|
||||
- `gmoccapy-xyzab` 是 `trivkins coordinates=xyzab` reference-only profile,只验证 gmoccapy 参考 UI/HAL 语义,不作为 RTCP proof。
|
||||
|
||||
## 最终证据
|
||||
|
||||
全量图文报告:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.md
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.pdf
|
||||
```
|
||||
|
||||
最终状态:
|
||||
|
||||
```text
|
||||
working7_full_functional_status=PASS
|
||||
job_id=w7full-20260628002838-518bf522
|
||||
report_id=report-w7full-20260628002838-518bf522
|
||||
```
|
||||
282
work/working7/02-程序测试开发完善详细步骤.md
Normal file
282
work/working7/02-程序测试开发完善详细步骤.md
Normal file
@@ -0,0 +1,282 @@
|
||||
# 02 程序测试开发完善详细步骤
|
||||
|
||||
生成日期:2026-06-27
|
||||
|
||||
## 1. 环境准备
|
||||
|
||||
工作目录:
|
||||
|
||||
```bash
|
||||
cd /home/meswork/cnc_wams
|
||||
```
|
||||
|
||||
基础要求:
|
||||
|
||||
- Node/npm 可用。
|
||||
- Chrome/Chromium 可用,浏览器 smoke 会自动查找 `chromium`、`chromium-browser`、`google-chrome` 或 `google-chrome-stable`。
|
||||
- 不需要真实 LinuxCNC 实时内核;测试目标是 Web 仿真和 WASM/source-derived 边界。
|
||||
|
||||
## 2. 手册正文抽取方法
|
||||
|
||||
操作手册是 docx。需要复核手册内容时,可临时转文本:
|
||||
|
||||
```bash
|
||||
mkdir -p /tmp/cnc_wams_manual_extract
|
||||
libreoffice --headless --convert-to txt:Text --outdir /tmp/cnc_wams_manual_extract \
|
||||
"/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/docs/Web-RTCP五轴数控系统仿真界面操作手册.docx"
|
||||
sed -n '1,260p' /tmp/cnc_wams_manual_extract/Web-RTCP五轴数控系统仿真界面操作手册.txt
|
||||
```
|
||||
|
||||
抽取后按章节映射到 [04-任务矩阵.md](04-任务矩阵.md),不要直接凭截图或文件名推断功能。
|
||||
|
||||
## 3. 基线验证命令
|
||||
|
||||
### 3.1 静态构建
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run build
|
||||
```
|
||||
|
||||
通过标准:
|
||||
|
||||
- 退出码为 0。
|
||||
- 输出包含 `gmoccapy_static_build=ok`。
|
||||
- `app/dist/index.html` 和 `app/dist/src/main.js` 存在。
|
||||
|
||||
### 3.2 Node smoke
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke:node
|
||||
```
|
||||
|
||||
通过标准:
|
||||
|
||||
- 退出码为 0。
|
||||
- 输出至少包含这些标记:
|
||||
- `linuxcnc_kinematics_runtime_smoke=ok`
|
||||
- `linuxcnc_interpreter_runtime_smoke=ok`
|
||||
- `linuxcnc_ini_runtime_smoke=ok`
|
||||
- `run_preconditions_ini_profile_smoke=ok`
|
||||
- `run_feedback_status_loop_smoke=ok`
|
||||
- `run_ready_sequence_smoke=ok`
|
||||
- `linuxcnc_task_hal_runtime_smoke=ok`
|
||||
- `full_linuxcnc_5axis_source_node_smoke=ok`
|
||||
- `machine_file_staging_smoke=ok`
|
||||
- `five_axis_session_smoke=ok`
|
||||
- `rtcp_store_smoke=ok`
|
||||
- `gmoccapy_xyzab_profile_smoke=ok`
|
||||
- `gmoccapy_hal_model_smoke=ok`
|
||||
- `gmoccapy_xyzab_gates_smoke=ok`
|
||||
- `linear_unit_conversion_smoke=ok`
|
||||
|
||||
### 3.3 浏览器 smoke
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke
|
||||
```
|
||||
|
||||
通过标准:
|
||||
|
||||
- 退出码为 0。
|
||||
- 输出包含 `gmoccapy_shell_smoke=ok` 和 `gmoccapy_dist_smoke=ok`。
|
||||
- 若失败,先记录 Chrome 路径、缺失浏览器、canvas/WebGL、端口启动或 DOM 断言失败原因,不直接改业务代码。
|
||||
|
||||
### 3.4 working7 手册流程专项证据
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7
|
||||
```
|
||||
|
||||
通过标准:
|
||||
|
||||
- 退出码为 0。
|
||||
- 输出 `working7_manual_flow_status=PASS`。
|
||||
- 生成 JSON、PDF 和截图目录:
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.json`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.pdf`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence`
|
||||
- 报告检查项覆盖主界面/canvas、POWER/HOME、AUTO/MANUAL、MANUAL JOG、MDI 提交、倍率/HAL 输入、主轴/冷却、Save/Restore 和诊断。
|
||||
|
||||
## 4. 按手册执行的人工测试方法
|
||||
|
||||
人工测试用于补充截图、PDF 或问题复现证据。建议用本地静态服务打开 app:
|
||||
|
||||
```bash
|
||||
cd /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app
|
||||
npm run dev
|
||||
```
|
||||
|
||||
默认地址为:
|
||||
|
||||
```text
|
||||
http://127.0.0.1:4173
|
||||
```
|
||||
|
||||
若端口占用,换空闲端口启动等价静态服务,并在 [05-验收证据.md](05-验收证据.md) 记录实际 URL。
|
||||
|
||||
### 4.1 主界面区域
|
||||
|
||||
操作:
|
||||
|
||||
1. 打开页面,等待 `[data-shell="gmoccapy-5axis"]` 出现。
|
||||
2. 检查这些区域:`titlebar`、`preview`、`dro`、`gcode`、`status-sidebar`、`info-tabs`、`override`、`spindle-coolant`、`bottom-controls`。
|
||||
3. 检查 canvas 的 dataset:`threeReady=true`、`threeFrameApi=web-rtcp-5axis-motion-frame`、`threeSceneMode=program-preview-and-tool-execution`。
|
||||
|
||||
验收:
|
||||
|
||||
- 9 个区域存在。
|
||||
- 预览非空,canvas ready。
|
||||
- `window.webRtcp5AxisSimulation.getState()` 可读取状态。
|
||||
|
||||
### 4.2 开机、回零和模式切换
|
||||
|
||||
操作:
|
||||
|
||||
1. 首屏确认 MANUAL 默认 active,POWER 未开启。
|
||||
2. 点击 POWER。
|
||||
3. 点击 Home。
|
||||
4. 点击 AUTO。
|
||||
5. 点击 MANUAL。
|
||||
|
||||
验收:
|
||||
|
||||
- POWER 后 `machine.powerOn=true`。
|
||||
- Home 后 `machine.allHomed=true`。
|
||||
- AUTO 后 `machine.mode=auto`,右侧 AUTO 为绿色、MANUAL 为灰色。
|
||||
- MANUAL 后 `machine.mode=manual`,右侧 MANUAL 为绿色、AUTO 为灰色。
|
||||
- 未满足条件时按钮 title 或 Operator 信息说明 gate 原因。
|
||||
|
||||
### 4.3 AUTO 自动运行
|
||||
|
||||
操作:
|
||||
|
||||
1. 选择 `xyzac-trt` 或 `xyzbc-trt`。
|
||||
2. 选择 LinuxCNC 5-axis source 程序。
|
||||
3. 点击 Run Ready。
|
||||
4. 点击 Run,等待当前 G-code 行推进。
|
||||
5. 分别测试 Pause、Resume、Step、Stop。
|
||||
|
||||
验收:
|
||||
|
||||
- Run Ready 后 `powerOn=true`、`allHomed=true`、`mode=auto`。
|
||||
- Run 后 `programExecutionSourceMode=linuxcnc-task-motion-hal-wasm` 或对应 source-derived runtime。
|
||||
- 当前 G-code 行绿色高亮,已执行行变灰。
|
||||
- Stop 后 `runState` 为 `stopped`、`complete` 或 `idle`,`machine.interpState=idle`。
|
||||
|
||||
### 4.4 MANUAL 点动
|
||||
|
||||
操作:
|
||||
|
||||
1. POWER + Home 后点击 MANUAL。
|
||||
2. 点击 JOG 或直接点击 X+/X-/Y+/Y-。
|
||||
3. 记录点动前后 DRO 和 `axisPose`。
|
||||
|
||||
验收:
|
||||
|
||||
- 仅在 manual + idle + power on 条件下允许点动。
|
||||
- 对应轴坐标发生变化。
|
||||
- 被阻止时提示 power、mode 或 interpreter 非 idle 的原因。
|
||||
|
||||
### 4.5 MDI
|
||||
|
||||
操作:
|
||||
|
||||
1. POWER + Home 后点击 MDI。
|
||||
2. 在 MDI 输入框输入:`G90 X12.5 Y-4 Z1.25 F900`。
|
||||
3. 点击 MDI 区 Run 或底部 MDI。
|
||||
4. 读取 DRO、`axisPose` 和 MDI 历史。
|
||||
|
||||
验收:
|
||||
|
||||
- `machine.mode=mdi`。
|
||||
- 执行后目标坐标被写入或按 profile 限位夹紧。
|
||||
- MDI 历史出现刚执行命令。
|
||||
|
||||
### 4.6 RTCP、IDENTITY 和 TCP
|
||||
|
||||
操作:
|
||||
|
||||
1. 在 `xyzac-trt` 或 `xyzbc-trt` profile 下切换 IDENTITY/TCP。
|
||||
2. 运行包含 M428/M429 的 LinuxCNC source 程序。
|
||||
3. 切换到 `gmoccapy-xyzab`,检查 TCP 按钮禁用原因。
|
||||
|
||||
验收:
|
||||
|
||||
- TCP profile 下 RTCP badge 可显示 on,DRO 中 TCP 坐标和刀轴向量更新。
|
||||
- M428/M429 可驱动 `kinsType` 和 RTCP 状态变化。
|
||||
- `gmoccapy-xyzab` 因 reference-only/trivkins 不允许 TCP proof。
|
||||
|
||||
### 4.7 倍率、主轴、冷却和 HAL 输入
|
||||
|
||||
操作:
|
||||
|
||||
1. 测试 Rapid Override 的 +、-、100。
|
||||
2. 测试 Feed Rate 的 +、-、100。
|
||||
3. 测试 Limits、Block、M1。
|
||||
4. 上电后测试 Flood、Mist、FWD、STOP、REV 和主轴倍率。
|
||||
|
||||
验收:
|
||||
|
||||
- 倍率值按按钮变化,100 可恢复默认。
|
||||
- HAL 输入同步到 `gmoccapyGui` 或对应诊断状态。
|
||||
- 未上电时主轴/冷却被阻止,上电后可切换。
|
||||
|
||||
### 4.8 程序来源、Stage、Reload、Save/Restore
|
||||
|
||||
操作:
|
||||
|
||||
1. 使用 Open 加载本地 `.ngc` 程序。
|
||||
2. 使用 LinuxCNC 5-axis source 选择内置程序。
|
||||
3. 点击 Stage 刷新 machine files。
|
||||
4. 点击 Reload。
|
||||
5. 点击 Save Session,改变 profile/坐标/模式后点击 Restore Session。
|
||||
|
||||
验收:
|
||||
|
||||
- 程序来源和当前文件名可见。
|
||||
- Stage 状态为 staged,并能看到 machine-file 数量。
|
||||
- Reload 后运行状态复位。
|
||||
- Restore 后恢复保存时的 profile、坐标、模式、程序和 RTCP 状态。
|
||||
- 若 OPFS 不可用,显示 memory-fallback 且行为可解释。
|
||||
|
||||
### 4.9 诊断信息
|
||||
|
||||
操作:
|
||||
|
||||
1. 逐个查看 Task policy、INI、Task/HAL、Full boundary、gmoccapy/HAL 信息。
|
||||
2. 对照当前 profile 和运行状态读取诊断内容。
|
||||
|
||||
验收:
|
||||
|
||||
- Task policy 显示 gate、task state、task mode、interp state 和可执行命令。
|
||||
- INI 显示坐标、关节、限位和 kinematics。
|
||||
- Task/HAL 显示 runtime readiness、cycle、HAL sync 和 runtime feedback。
|
||||
- Full boundary 能说明是否满足完整 LinuxCNC 程序执行边界。
|
||||
- gmoccapy/HAL 能区分 native NML/HAL 参考和 Web store/runtime 映射。
|
||||
|
||||
## 5. 新增自动化脚本规则
|
||||
|
||||
后续需要把人工步骤固化为自动化时,按以下位置扩展:
|
||||
|
||||
| 类型 | 位置 | 规则 |
|
||||
| --- | --- | --- |
|
||||
| Node 单元/集成 | `web-rtcp-5axis-sim-plan/tests/node` | 优先验证 store、runtime、policy、session、profile 边界,不依赖 DOM。 |
|
||||
| 浏览器 smoke | `web-rtcp-5axis-sim-plan/tests/browser` | 验证 DOM、颜色、canvas、按钮、public API 和 dist 页面。 |
|
||||
| QA 截图/PDF | `qa/web-rtcp-5axis-site-test` | 生成 job_id、report_id、JSON、PDF、截图,写入 `output`。 |
|
||||
|
||||
新增脚本后必须:
|
||||
|
||||
- 更新 `app/package.json` 中对应 smoke 命令或新增明确命令。
|
||||
- 在 [04-任务矩阵.md](04-任务矩阵.md) 更新任务状态。
|
||||
- 在 [05-验收证据.md](05-验收证据.md) 记录命令、输出、路径和报告编号。
|
||||
|
||||
## 6. 异常处理
|
||||
|
||||
| 异常 | 处理 |
|
||||
| --- | --- |
|
||||
| 浏览器 smoke 找不到 Chromium | 安装或设置 `CHROMIUM=/path/to/browser`,记录路径。 |
|
||||
| canvas/WebGL 失败 | 记录 `canvas.dataset`、Chrome 参数和 fallback 原因。 |
|
||||
| AUTO 不变绿 | 检查 `SET_MODE` 是否保留 machine state,检查 power/home/interp idle gate。 |
|
||||
| RUN blocked | 读取 button title、Operator 信息和 Task policy 诊断,不直接绕过 gate。 |
|
||||
| Save Session memory-fallback | 判断是否 HTTPS/OPFS 安全上下文问题,memory fallback 可作为测试环境可接受状态。 |
|
||||
| `gmoccapy-xyzab` TCP 禁用 | 这是预期边界,不按缺陷处理。 |
|
||||
60
work/working7/02-项目程序开发详细步骤.md
Normal file
60
work/working7/02-项目程序开发详细步骤.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# 02 项目程序开发详细步骤
|
||||
|
||||
生成日期:2026-06-27
|
||||
|
||||
本文件是本轮最终版开发/测试步骤索引;原有详细测试方法见 [02-程序测试开发完善详细步骤.md](02-程序测试开发完善详细步骤.md)。
|
||||
|
||||
## 我本轮新增的自动化入口
|
||||
|
||||
我在 `qa/web-rtcp-5axis-site-test/package.json` 中增加:
|
||||
|
||||
```json
|
||||
{
|
||||
"evidence:working7": "node capture-working7-manual-flow-evidence.mjs",
|
||||
"evidence:working7:full": "node capture-working7-full-functional-evidence.mjs"
|
||||
}
|
||||
```
|
||||
|
||||
## 我新增的全量证据脚本
|
||||
|
||||
文件:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-full-functional-evidence.mjs
|
||||
```
|
||||
|
||||
脚本执行流程:
|
||||
|
||||
1. 启动本地静态 HTTP server。
|
||||
2. 使用 headless Chromium 打开真实 app 页面。
|
||||
3. 等待 canvas、store、kinematics、interpreter、Task/HAL 和 machine-file staging 就绪。
|
||||
4. 收集所有 `data-action` 控件库存。
|
||||
5. 实际点击并验证门禁、上电、回零、右侧控制区、profile、预览、Stage、source、Open、Run Ready、Run、Pause、Resume、Step、Stop、JOG、MDI、倍率、HAL、主轴、冷却、会话、Full、Audit、gmoccapy HAL/native page。
|
||||
6. 每个阶段截图,统计 canvas 非空像素。
|
||||
7. 输出 JSON、Markdown 图文报告和 PDF 图文报告。
|
||||
|
||||
## 我修复程序的步骤
|
||||
|
||||
1. 先运行全量 evidence,记录失败动作和状态快照。
|
||||
2. 修正安全初始状态:主轴关闭、冷却关闭、当前速度为 0。
|
||||
3. 修正 Task/HAL 状态回写:JOG/MDI 通过 `preserveAxisPose` 和 `preserveMachine` 保留 Web 侧执行结果。
|
||||
4. 修正 STOP/ABORT:停止后保留 `interpState=idle`。
|
||||
5. 修正 reference-only profile 测试口径:`gmoccapy-xyzab` 不等待 RTCP proof,只验证 TCP 禁用和 reference-only 原因。
|
||||
6. 修正资源路径噪声:favicon、INI source/dist 路径、gmoccapy reference 资源复制、`linuxcnc/` staging URL、reference-only kinematics 跳过。
|
||||
7. 更新旧 working7 手动流程脚本的冷却 flood 断言。
|
||||
8. 重新运行 build、Node smoke、browser smoke、full evidence、manual evidence,直到全部 PASS 且 console/network/page error 为 0。
|
||||
|
||||
## 最终复跑命令
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run build
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke:node
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7:full
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7
|
||||
```
|
||||
|
||||
最终验收:
|
||||
|
||||
- full evidence:73 个 action PASS,19 张截图,console/network/page error 均为 0。
|
||||
- manual evidence:10 个检查项 PASS,9 张截图,console/network/page error 均为 0。
|
||||
371
work/working7/03-推进台账.md
Normal file
371
work/working7/03-推进台账.md
Normal file
@@ -0,0 +1,371 @@
|
||||
# 03 推进台账
|
||||
|
||||
生成日期:2026-06-27
|
||||
|
||||
## W7-R01 操作手册功能测试方法归档
|
||||
|
||||
时间:2026-06-27 02:39-02:43 EDT
|
||||
|
||||
### 做了什么
|
||||
|
||||
- 确认 `work/working7` 为空目录,可作为本轮测试方法归档目录。
|
||||
- 抽取并阅读《Web RTCP 五轴联动数控系统仿真界面操作手册》正文。
|
||||
- 对照项目 `README.md`、`app/package.json`、`tests/node`、`tests/browser` 和既有 QA 输出目录,确认现有验证入口。
|
||||
- 执行项目构建、Node smoke 和浏览器 smoke。
|
||||
- 按手册功能拆分主界面、开机/回零、模式切换、AUTO、MANUAL、MDI、RTCP、倍率、HAL、主轴/冷却、程序来源、会话和诊断测试任务。
|
||||
- 新增 working7 文档包:README、测试功能内容、测试开发完善步骤、推进台账、任务矩阵、验收证据、决策记录。
|
||||
|
||||
### 改了哪些文件
|
||||
|
||||
新增:
|
||||
|
||||
- `/home/meswork/cnc_wams/work/working7/README.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/01-测试功能内容.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/02-程序测试开发完善详细步骤.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/03-推进台账.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/04-任务矩阵.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/05-验收证据.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/06-决策记录.md`
|
||||
|
||||
未修改业务代码。
|
||||
|
||||
注意:执行前 `git status --short` 已显示 `web-rtcp-5axis-sim-plan/app/package.json`、`app/src/state/store.js`、`tests/browser/gmoccapy_shell_smoke.html`、`gptlog-process/gpdlog.md`、操作手册 docx、manual-assets 等存在未提交改动或未跟踪文件。本轮没有回退这些既有改动。
|
||||
|
||||
### 验证了什么
|
||||
|
||||
已执行:
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run build
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke:node
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
- build 通过,输出 `gmoccapy_static_build=ok`。
|
||||
- Node smoke 通过,覆盖 LinuxCNC kinematics/interpreter/INI、run preconditions、run feedback、Task/HAL、full source、machine staging、session、RTCP、gmoccapy profile/icon/HAL/gate、linear unit。
|
||||
- 浏览器 smoke 通过,输出 `gmoccapy_shell_smoke=ok`、`gmoccapy_dist_smoke=ok`。
|
||||
|
||||
### 下一步
|
||||
|
||||
- 如需要正式截图/PDF,则按 [02-程序测试开发完善详细步骤.md](02-程序测试开发完善详细步骤.md) 的人工测试流程执行,并把 job_id、report_id、截图路径和 PDF 路径追加到 [05-验收证据.md](05-验收证据.md)。
|
||||
- 如需要把手册每一步都转为自动化脚本,先在 [04-任务矩阵.md](04-任务矩阵.md) 新增或拆分任务,再扩展 `tests/browser` 或 `qa/web-rtcp-5axis-site-test`。
|
||||
|
||||
## W7-R02 手册流程专项 QA 证据补齐
|
||||
|
||||
时间:2026-06-27 03:08-03:14 EDT
|
||||
|
||||
### 做了什么
|
||||
|
||||
- 新增 `capture-working7-manual-flow-evidence.mjs`,使用本地静态服务和 headless Chrome 打开真实 app 页面。
|
||||
- 脚本按手册流程执行并截图:主界面、POWER/HOME、AUTO、MANUAL JOG、MDI、倍率/HAL 输入、主轴/冷却、Save/Restore、诊断。
|
||||
- 在 QA `package.json` 新增可复跑命令 `npm run evidence:working7`。
|
||||
- 生成本轮 JSON、PDF 和 9 张截图证据。
|
||||
- 更新任务矩阵,将 W7-T06、W7-T08、W7-T09、W7-T11 的状态从 `method-ready` 推进为 `done`。
|
||||
- 更新详细步骤和验收证据,写入专项命令、job_id、report_id、PDF、JSON、截图路径和 PASS 检查摘要。
|
||||
|
||||
### 改了哪些文件
|
||||
|
||||
新增:
|
||||
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-manual-flow-evidence.mjs`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.json`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.pdf`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/*.png`
|
||||
|
||||
修改:
|
||||
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/package.json`
|
||||
- `/home/meswork/cnc_wams/work/working7/02-程序测试开发完善详细步骤.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/03-推进台账.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/04-任务矩阵.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/05-验收证据.md`
|
||||
|
||||
未修改业务运行逻辑。
|
||||
|
||||
### 验证了什么
|
||||
|
||||
已执行:
|
||||
|
||||
```bash
|
||||
node --check /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-manual-flow-evidence.mjs
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
- `node --check` 通过。
|
||||
- `evidence:working7` 退出码 0,输出 `working7_manual_flow_status=PASS`。
|
||||
- job_id:`w7-20260627071353-8853ddd9`。
|
||||
- report_id:`report-w7-20260627071353-8853ddd9`。
|
||||
- 10 个检查项全部 PASS,截图非空。
|
||||
|
||||
### 下一步
|
||||
|
||||
- 如需更细粒度验收,可新增 W7-T18 起的任务,例如 MDI 历史按钮专项截图或 Word 汇总报告生成。
|
||||
|
||||
## W7-R03 收尾复核和最新证据同步
|
||||
|
||||
时间:2026-06-27 06:22 EDT
|
||||
|
||||
### 做了什么
|
||||
|
||||
- 复核 working7 任务矩阵,确认 W7-T01 至 W7-T16 均为 `done`。
|
||||
- 复核当前工作区差异,确认 `store.js`、`gmoccapy-shell.js` 和浏览器 smoke 中的改动属于前序 AUTO/MANUAL 模式切换与 titlebar 稳定性修正,working7 收尾未再新增业务运行改动。
|
||||
- 重新执行构建、Node smoke、浏览器 smoke 和 working7 专项 QA 证据命令。
|
||||
- 专项 QA 报告被重新生成,已把 [05-验收证据.md](05-验收证据.md) 同步到最新 job_id、report_id、generatedAt 和 targetUrl。
|
||||
- 更新 README 与决策记录,明确 working7 证据基于当前源码运行,且当前源码包含前序 UI/状态稳定性修正。
|
||||
|
||||
### 改了哪些文件
|
||||
|
||||
修改:
|
||||
|
||||
- `/home/meswork/cnc_wams/work/working7/README.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/03-推进台账.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/05-验收证据.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/06-决策记录.md`
|
||||
- `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/gptlog-process/gpdlog.md`
|
||||
|
||||
未新增业务运行改动。
|
||||
|
||||
### 验证了什么
|
||||
|
||||
已执行:
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run build
|
||||
node --check /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-manual-flow-evidence.mjs
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke:node
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
- build 通过,输出 `gmoccapy_static_build=ok`。
|
||||
- 专项 QA 脚本语法检查通过。
|
||||
- Node smoke 通过,全部 runtime/source/gmoccapy/linear-unit 标记为 `ok`。
|
||||
- 浏览器 smoke 通过,输出 `gmoccapy_shell_smoke=ok`、`gmoccapy_dist_smoke=ok`。
|
||||
- working7 专项 QA 通过,输出 `working7_manual_flow_status=PASS`。
|
||||
- 最新 job_id:`w7-20260627102205-6f1d5918`。
|
||||
- 最新 report_id:`report-w7-20260627102205-6f1d5918`。
|
||||
- 最新报告 10 个检查项全部 PASS,9 张截图非空。
|
||||
|
||||
### 下一步
|
||||
|
||||
- working7 当前任务矩阵已完成;如要继续扩展,只新增 W7-T18 起的新任务,不复用既有编号。
|
||||
|
||||
## W7-R04 全量功能实际执行、问题修复和最终图文报告
|
||||
|
||||
时间:2026-06-27 23:11-23:47 EDT
|
||||
|
||||
### 做了什么
|
||||
|
||||
- 参考 `work/working1` 到 `work/working7` 的历史资料和当前 working7 文档,对 `web-rtcp-5axis-sim-plan` 做全量真实浏览器执行验证。
|
||||
- 新增 `capture-working7-full-functional-evidence.mjs`,逐项点击并验证 73 个 action,生成 19 张截图、JSON、Markdown 图文报告和 PDF 图文报告。
|
||||
- 复跑旧 `capture-working7-manual-flow-evidence.mjs`,作为手册流程交叉证据。
|
||||
- 在测试过程中修复发现的问题:安全初始状态、Task/HAL JOG/MDI 状态保留、STOP 后 idle、gmoccapy reference-only 等待条件、资源 404 噪声和旧脚本冷却断言。
|
||||
- 新增根目录 `测试过程.md`,用第一人称记录测试、修复、命令、报告和结论。
|
||||
- 按用户指定名称新增 `01-项目功能内容.md` 和 `02-项目程序开发详细步骤.md`,同时保留原有 `01-测试功能内容.md`、`02-程序测试开发完善详细步骤.md`。
|
||||
|
||||
### 改了哪些文件
|
||||
|
||||
新增:
|
||||
|
||||
- `/home/meswork/cnc_wams/测试过程.md`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-full-functional-evidence.mjs`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.json`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.md`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.pdf`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/*.png`
|
||||
- `/home/meswork/cnc_wams/work/working7/01-项目功能内容.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/02-项目程序开发详细步骤.md`
|
||||
|
||||
修改:
|
||||
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/package.json`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-manual-flow-evidence.mjs`
|
||||
- `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/index.html`
|
||||
- `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/scripts/build-static.mjs`
|
||||
- `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/main.js`
|
||||
- `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/linuxcnc-ini-runtime.js`
|
||||
- `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/linuxcnc-machine-file-staging.js`
|
||||
- `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/state/store.js`
|
||||
- `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html`
|
||||
- `/home/meswork/cnc_wams/work/working7/README.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/03-推进台账.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/04-任务矩阵.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/05-验收证据.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/06-决策记录.md`
|
||||
|
||||
### 验证了什么
|
||||
|
||||
最终执行:
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run build
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke:node
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7:full
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
- build 通过:`gmoccapy_static_build=ok`。
|
||||
- Node smoke 全部通过。
|
||||
- 浏览器 smoke 通过:`gmoccapy_shell_smoke=ok`、`gmoccapy_dist_smoke=ok`。
|
||||
- full evidence 通过:`working7_full_functional_status=PASS`,73 个 action、6 个总体验收检查均 PASS,19 张截图非空,console/network/page error 均为 0。
|
||||
- manual evidence 通过:`working7_manual_flow_status=PASS`,10 个检查项 PASS,9 张截图非空,console/network/page error 均为 0。
|
||||
|
||||
最新 full job_id:`w7full-20260627234631-6825b68a`。
|
||||
最新 full report_id:`report-w7full-20260627234631-6825b68a`。
|
||||
最新 manual job_id:`w7-20260627234712-039ce4a2`。
|
||||
最新 manual report_id:`report-w7-20260627234712-039ce4a2`。
|
||||
|
||||
### 下一步
|
||||
|
||||
- working7 当前全量验证已完成;后续若新增功能,只新增 W7-T18 起的新任务,不复用既有编号。
|
||||
- 若需要提交代码,提交前应再次运行本轮五条最终命令,并确认 evidence 报告仍为 PASS。
|
||||
|
||||
## W7-R05 接续复跑和最新证据同步
|
||||
|
||||
时间:2026-06-27 20:06-20:08 EDT
|
||||
|
||||
### 做了什么
|
||||
|
||||
- 接续上一轮,先复核 working7 README、任务矩阵、验收证据和当前源码差异。
|
||||
- 重新执行本轮最终五条验证命令。
|
||||
- 全量 QA 证据和手册流程 QA 证据均重新生成,并同步 README、项目功能内容、验收证据和测试过程中的最新 job_id/report_id。
|
||||
- 本轮没有新增业务运行逻辑;只复跑验证并同步最新证据索引。
|
||||
|
||||
### 改了哪些文件
|
||||
|
||||
修改:
|
||||
|
||||
- `/home/meswork/cnc_wams/work/working7/README.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/01-项目功能内容.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/03-推进台账.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/05-验收证据.md`
|
||||
- `/home/meswork/cnc_wams/测试过程.md`
|
||||
- `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/gptlog-process/gpdlog.md`
|
||||
|
||||
重新生成:
|
||||
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.json`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.md`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.pdf`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/*.png`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.json`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.pdf`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/*.png`
|
||||
|
||||
### 验证了什么
|
||||
|
||||
已执行:
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run build
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke:node
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7:full
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
- build 通过:`gmoccapy_static_build=ok`。
|
||||
- Node smoke 全部通过。
|
||||
- 浏览器 smoke 通过:`gmoccapy_shell_smoke=ok`、`gmoccapy_dist_smoke=ok`。
|
||||
- full evidence 通过:`working7_full_functional_status=PASS`,73 个 action、6 个总体验收检查均 PASS,19 张截图非空,console/network/page error 均为 0。
|
||||
- manual evidence 通过:`working7_manual_flow_status=PASS`,10 个检查项 PASS,9 张截图非空,console/network/page error 均为 0。
|
||||
|
||||
最新 full job_id:`w7full-20260628000642-da5dc39d`。
|
||||
最新 full report_id:`report-w7full-20260628000642-da5dc39d`。
|
||||
最新 manual job_id:`w7-20260628000750-51a8b25c`。
|
||||
最新 manual report_id:`report-w7-20260628000750-51a8b25c`。
|
||||
|
||||
### 下一步
|
||||
|
||||
- working7 当前任务已完成;后续若新增功能,只新增 W7-T18 起的新任务,不复用既有编号。
|
||||
- 若需要提交代码,提交前应再次运行本轮五条最终命令,并确认 evidence 报告仍为 PASS。
|
||||
|
||||
## W7-R06 测试错误完全修复
|
||||
|
||||
时间:2026-06-27 20:20-20:31 EDT
|
||||
|
||||
### 做了什么
|
||||
|
||||
- 复查最新 working7 full/manual evidence,确认二者均为 PASS,无 console/network/page error。
|
||||
- 读取旧 `site-test-report.json`,发现历史失败集中在 JOG、MDI M429、STEP、Restore Session。
|
||||
- 重新执行 `run-site-test.mjs`,复现真实脚本错误:Puppeteer 点击时出现 `Node is detached from document`。
|
||||
- 修复 `run-site-test.mjs`:
|
||||
- 默认启动本地静态服务测试当前工作区源码,不再默认打远端旧部署。
|
||||
- 支持 `TARGET_URL=...` 覆盖外部地址。
|
||||
- 点击和 select 改为在页面上下文中即时查询元素,避免 DOM 重挂载导致 detached node。
|
||||
- 增加 `status` 输出和失败退出码。
|
||||
- STEP 验收改为 Task/HAL `singleStepping=true` 且保持暂停态。
|
||||
- Restore Session 前先切回 MANUAL 并确认 JOG 改变坐标,再验证恢复快照。
|
||||
- 修复 QA `package.json` 的 `test` 脚本,从默认失败命令改为 `node run-site-test.mjs`。
|
||||
- 复跑站点测试、工程测试和 working7 evidence,全部通过。
|
||||
|
||||
### 改了哪些文件
|
||||
|
||||
修改:
|
||||
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/run-site-test.mjs`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/package.json`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/site-test-report.json`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/screenshots/*.png`
|
||||
- `/home/meswork/cnc_wams/work/working7/README.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/01-项目功能内容.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/03-推进台账.md`
|
||||
- `/home/meswork/cnc_wams/work/working7/05-验收证据.md`
|
||||
- `/home/meswork/cnc_wams/测试过程.md`
|
||||
- `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/gptlog-process/gpdlog.md`
|
||||
|
||||
重新生成:
|
||||
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.json`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.md`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.pdf`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/*.png`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.json`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.pdf`
|
||||
- `/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/*.png`
|
||||
|
||||
### 验证了什么
|
||||
|
||||
已执行:
|
||||
|
||||
```bash
|
||||
node --check /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/run-site-test.mjs
|
||||
node /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/run-site-test.mjs
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test test
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run build
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke:node
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7:full
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
- `run-site-test.mjs` 语法检查通过。
|
||||
- 站点回归测试通过:`site_test_status=PASS`,41 个 finding,0 FAIL,0 WARN,console/page/request error 均为 0。
|
||||
- QA `npm test` 通过:`site_test_status=PASS`。
|
||||
- build 通过:`gmoccapy_static_build=ok`。
|
||||
- Node smoke 全部通过。
|
||||
- 浏览器 smoke 通过:`gmoccapy_shell_smoke=ok`、`gmoccapy_dist_smoke=ok`。
|
||||
- full evidence 通过:`working7_full_functional_status=PASS`,73 个 action、6 个总体验收检查均 PASS,19 张截图非空,console/network/page error 均为 0。
|
||||
- manual evidence 通过:`working7_manual_flow_status=PASS`,10 个检查项 PASS,9 张截图非空,console/network/page error 均为 0。
|
||||
|
||||
最新 full job_id:`w7full-20260628002838-518bf522`。
|
||||
最新 full report_id:`report-w7full-20260628002838-518bf522`。
|
||||
最新 manual job_id:`w7-20260628002915-30d1c6c8`。
|
||||
最新 manual report_id:`report-w7-20260628002915-30d1c6c8`。
|
||||
|
||||
### 下一步
|
||||
|
||||
- 本轮测试发现的错误已清零;后续若新增功能或发现新错误,新增 W7-T18 起的新任务,不复用既有编号。
|
||||
44
work/working7/04-任务矩阵.md
Normal file
44
work/working7/04-任务矩阵.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# 04 任务矩阵
|
||||
|
||||
生成日期:2026-06-27
|
||||
|
||||
状态说明:
|
||||
|
||||
- `done`:本轮已完成测试方法归档,并有当前自动化或既有 QA 证据。
|
||||
- `method-ready`:测试方法已写清,可后续补充专用截图/PDF/脚本证据。
|
||||
- `blocked`:当前无法推进,需要外部条件。
|
||||
|
||||
| 任务编号 | 功能/任务 | 状态 | 验收标准 | 证据入口 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| W7-T01 | 操作手册功能拆解 | done | 手册 1-10 章和附录按钮被拆分到功能域和测试项。 | `01-测试功能内容.md` |
|
||||
| W7-T02 | 静态构建验证 | done | `npm --prefix .../app run build` 退出码 0,输出 `gmoccapy_static_build=ok`。 | `05-验收证据.md#1-本轮命令证据` |
|
||||
| W7-T03 | Node runtime smoke | done | `smoke:node` 退出码 0,覆盖 kinematics、interpreter、INI、run、Task/HAL、session、RTCP、gmoccapy 和 unit conversion。 | `05-验收证据.md#1-本轮命令证据` |
|
||||
| W7-T04 | 浏览器 smoke | done | `smoke` 退出码 0,输出 `gmoccapy_shell_smoke=ok`、`gmoccapy_dist_smoke=ok`。 | `05-验收证据.md#1-本轮命令证据` |
|
||||
| W7-T05 | 主界面九大区域 | done | titlebar、preview、DRO、G-code、sidebar、info、override、spindle/coolant、bottom controls 存在,canvas ready。 | 浏览器 smoke;`02-程序测试开发完善详细步骤.md#41-主界面区域` |
|
||||
| W7-T06 | 开机、回零和模式切换 | done | POWER 后上电,Home 后 `allHomed=true`,AUTO/MANUAL 绿色/灰色状态互斥,gate 原因可见。 | `05-验收证据.md#2-working7-全量功能实际执行图文证据`;`05-验收证据.md#3-working7-手册流程专项-qa-证据` |
|
||||
| W7-T07 | AUTO 自动运行 | done | Run Ready 完成 power/home/auto,Run 后 G-code 行推进,Stop 后 interpreter idle。 | `run_feedback_status_loop_smoke=ok`、`run_ready_sequence_smoke=ok` |
|
||||
| W7-T08 | MANUAL 点动 | done | manual + power + idle 时点动改变对应 DRO;非法状态给出 gate 原因。 | `05-验收证据.md#2-working7-全量功能实际执行图文证据`;`05-验收证据.md#3-working7-手册流程专项-qa-证据`;`rtcp_store_smoke=ok` |
|
||||
| W7-T09 | MDI 命令 | done | MDI 模式下命令可提交;store 逻辑验证坐标更新、历史记录和 profile 限位夹紧。 | `05-验收证据.md#2-working7-全量功能实际执行图文证据`;`05-验收证据.md#3-working7-手册流程专项-qa-证据`;`rtcp_store_smoke=ok` |
|
||||
| W7-T10 | RTCP/IDENTITY/TCP | done | TCP profile 支持 RTCP on/off 和 switchkins;`gmoccapy-xyzab` reference-only profile 禁用 TCP proof。 | `rtcp_store_smoke=ok`、`full_linuxcnc_5axis_source_node_smoke=ok` |
|
||||
| W7-T11 | 倍率、HAL 输入、主轴、冷却 | done | 倍率可调并可恢复 100;HAL 输入同步诊断;主轴/冷却受 power gate 控制。 | `05-验收证据.md#2-working7-全量功能实际执行图文证据`;`05-验收证据.md#3-working7-手册流程专项-qa-证据`;`gmoccapy_hal_model_smoke=ok` |
|
||||
| W7-T12 | 程序来源、Stage、Reload | done | machine files 可 stage,LinuxCNC source 程序可加载,运行前置条件能识别未加载/未 staged 状态。 | `machine_file_staging_smoke=ok`、`run_preconditions_machine_file_smoke=ok` |
|
||||
| W7-T13 | Save/Restore Session | done | session payload 可保存和恢复 profile、程序、RTCP、坐标和 runtime feedback。 | `five_axis_session_smoke=ok`;`05-验收证据.md#2-working7-全量功能实际执行图文证据`;`05-验收证据.md#3-working7-手册流程专项-qa-证据` |
|
||||
| W7-T14 | 诊断信息 | done | Task policy、INI、Task/HAL、Full boundary、gmoccapy/HAL 诊断边界可读。 | 浏览器 smoke;`gmoccapy_communication_model_smoke=ok`、`gmoccapy_hal_model_smoke=ok` |
|
||||
| W7-T15 | 既有 QA 报告索引 | done | 记录 gmoccapy XYZAB、button control 等历史 JSON/PDF/截图路径和 report_id。 | `05-验收证据.md#2-既有-qa-证据` |
|
||||
| W7-T16 | working7 文档包 | done | README 和 01-06 文档存在,后续推进规则明确。 | 本目录 |
|
||||
| W7-T17 | 全量按钮、程序、刀具路径、G-code、轴值和右侧控制区实际执行 | done | 真实 Chromium 页面中 73 个 action 均实际执行并 PASS;19 张截图非空;报告为第一人称图文格式;console/network/page error 均为 0。 | `05-验收证据.md#2-working7-全量功能实际执行图文证据` |
|
||||
|
||||
## 后续任务新增规则
|
||||
|
||||
如后续需要更细粒度测试,例如“MDI 历史按钮截图”或“Save Session OPFS 专项”,不要复用既有任务编号。新增编号格式:
|
||||
|
||||
```text
|
||||
W7-T18, W7-T19, ...
|
||||
```
|
||||
|
||||
新增任务必须填写:
|
||||
|
||||
- 功能/任务。
|
||||
- 初始状态。
|
||||
- 明确验收标准。
|
||||
- 证据入口。
|
||||
431
work/working7/05-验收证据.md
Normal file
431
work/working7/05-验收证据.md
Normal file
@@ -0,0 +1,431 @@
|
||||
# 05 验收证据
|
||||
|
||||
生成日期:2026-06-27
|
||||
|
||||
## 1. 本轮命令证据
|
||||
|
||||
执行目录:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams
|
||||
```
|
||||
|
||||
### 1.1 静态构建
|
||||
|
||||
命令:
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run build
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
```text
|
||||
退出码:0
|
||||
gmoccapy_static_build=ok
|
||||
```
|
||||
|
||||
产物:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/dist/index.html
|
||||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/dist/src/main.js
|
||||
```
|
||||
|
||||
### 1.2 Node smoke
|
||||
|
||||
命令:
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke:node
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
```text
|
||||
退出码:0
|
||||
linuxcnc_kinematics_runtime_smoke=ok
|
||||
linuxcnc_interpreter_runtime_smoke=ok
|
||||
linuxcnc_ini_runtime_smoke=ok
|
||||
run_preconditions_ini_profile_smoke=ok
|
||||
run_preconditions_kinematics_smoke=ok
|
||||
run_preconditions_machine_file_smoke=ok
|
||||
run_feedback_status_loop_smoke=ok
|
||||
run_ready_sequence_smoke=ok
|
||||
linuxcnc_task_hal_runtime_smoke=ok
|
||||
task_hal_machine_file_smoke=ok
|
||||
switchkins_remap_hal_sync_smoke=ok
|
||||
browser_task_hal_worker_smoke=ok
|
||||
native_task_hal_source_artifact_audit=ok
|
||||
full_linuxcnc_5axis_source_node_smoke=ok
|
||||
real_linuxcnc_5axis_program_cases_smoke=ok
|
||||
full_execution_boundary_smoke=ok
|
||||
machine_file_staging_smoke=ok
|
||||
five_axis_session_smoke=ok
|
||||
rtcp_store_smoke=ok
|
||||
profile_boundary_smoke=ok
|
||||
gmoccapy_xyzab_profile_smoke=ok
|
||||
gmoccapy_icon_manifest_smoke=ok
|
||||
gmoccapy_icon_registry_smoke=ok
|
||||
gmoccapy_communication_model_smoke=ok
|
||||
gmoccapy_hal_model_smoke=ok
|
||||
gmoccapy_xyzab_gates_smoke=ok
|
||||
linear_unit_conversion_smoke=ok
|
||||
```
|
||||
|
||||
额外输出摘要:
|
||||
|
||||
```text
|
||||
native_task_hal_readiness_artifact=web-rtcp-5axis-sim-plan/build/readiness/native-task-hal-readiness.json
|
||||
hardware_drive=0
|
||||
host_realtime_kernel=0
|
||||
external_user_m_process_ready=0
|
||||
tool_db_process_ready=0
|
||||
promotion_scope=web_simulation_only
|
||||
linuxcnc_source_program_case_count=8
|
||||
all_cases_program_preview_points=ok
|
||||
all_cases_executed_path_points=ok_after_run_or_step
|
||||
all_cases_toolpath_preview_source=linuxcnc_interpreter_canonical_motion
|
||||
all_cases_tool_execution_trace_source=linuxcnc_tp_samples_or_task_motion_hal_feedback
|
||||
all_switchkins_cases_rtcp_state_changes_verified=1
|
||||
fixture_toolpath_fallback_not_promoted=1
|
||||
```
|
||||
|
||||
### 1.3 浏览器 smoke
|
||||
|
||||
命令:
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
```text
|
||||
退出码:0
|
||||
gmoccapy_shell_smoke=ok
|
||||
gmoccapy_dist_smoke=ok
|
||||
```
|
||||
|
||||
覆盖说明:
|
||||
|
||||
- `verify_gmoccapy_shell_browser.sh` 使用 headless Chromium 打开测试页。
|
||||
- `verify_gmoccapy_dist_browser.sh` 先构建 dist,再打开 dist 入口。
|
||||
- 浏览器断言覆盖主区域、Three.js canvas dataset、profile 切换、RTCP 诊断、LinuxCNC INI 诊断、Task policy 诊断、按钮图标、按钮 active/inactive 视觉状态和 G-code 行高亮。
|
||||
|
||||
### 1.4 QA 站点回归测试
|
||||
|
||||
命令:
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test test
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
```text
|
||||
退出码:0
|
||||
site_test_status=PASS
|
||||
site_test_target_url=http://127.0.0.1:35861/web-rtcp-5axis-sim-plan/app/index.html
|
||||
site_test_report=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/site-test-report.json
|
||||
```
|
||||
|
||||
报告摘要:
|
||||
|
||||
```text
|
||||
status=PASS
|
||||
generatedAt=2026-06-28T00:31:19.883Z
|
||||
findings=41
|
||||
failures=0
|
||||
warnings=0
|
||||
consoleErrors=0
|
||||
pageErrors=0
|
||||
requestFailures=0
|
||||
```
|
||||
|
||||
修复说明:
|
||||
|
||||
- `run-site-test.mjs` 默认从当前仓库启动本地静态服务,避免把本地修复结果和远端旧部署混在一起;如需测远端,仍可通过 `TARGET_URL=...` 覆盖。
|
||||
- 点击逻辑改为每次在页面上下文即时查询元素,修复 Puppeteer `Node is detached from document`。
|
||||
- STEP 验收改为 Task/HAL `singleStepping=true` 且保持暂停态。
|
||||
- Restore Session 前先进入 MANUAL 并确认 JOG 改变坐标,再验证恢复快照。
|
||||
|
||||
## 2. working7 全量功能实际执行图文证据
|
||||
|
||||
本轮新增全量实测证据,覆盖所有主要按钮、程序执行、刀具预览、刀具实时执行路径、G-code 执行过程、机床轴值和右侧控制区。
|
||||
|
||||
命令:
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7:full
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
```text
|
||||
退出码:0
|
||||
working7_full_functional_status=PASS
|
||||
working7_full_functional_job_id=w7full-20260628002838-518bf522
|
||||
working7_full_functional_report_id=report-w7full-20260628002838-518bf522
|
||||
working7_full_functional_json=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.json
|
||||
working7_full_functional_pdf=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.pdf
|
||||
working7_full_functional_md=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.md
|
||||
working7_full_functional_screenshots=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence
|
||||
```
|
||||
|
||||
报告摘要:
|
||||
|
||||
```text
|
||||
jobId=w7full-20260628002838-518bf522
|
||||
reportId=report-w7full-20260628002838-518bf522
|
||||
evidenceScope=working7-full-functional-evidence
|
||||
generatedAt=2026-06-28T00:28:38.507Z
|
||||
targetUrl=http://127.0.0.1:41281/web-rtcp-5axis-sim-plan/app/index.html
|
||||
status=PASS
|
||||
steps=19
|
||||
actions=73
|
||||
failedActions=0
|
||||
checks=6
|
||||
failedChecks=0
|
||||
consoleErrors=0
|
||||
networkErrors=0
|
||||
pageErrors=0
|
||||
```
|
||||
|
||||
图文报告:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.md
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.pdf
|
||||
```
|
||||
|
||||
截图:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/01-loaded-inventory.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/02-initial-run-blocked.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/03-powered-homed.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/04-auto-right-panel.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/05-right-sidebar-all-states.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/06-profile-xyzbc.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/07-preview-buttons.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/08-linuxcnc-source-loaded.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/09-open-file-loaded.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/10-run-ready.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/11-run-realtime-path.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/12-pause-resume-step.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/13-stop-idle.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/14-manual-jog-axis-values.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/15-mdi-execution.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/16-overrides-hal.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/17-spindle-coolant.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/18-session-fullscreen.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence/19-diagnostics-audit.png
|
||||
```
|
||||
|
||||
覆盖说明:
|
||||
|
||||
- 全量报告使用第一人称图文格式。
|
||||
- 每个阶段都记录截图、store 状态、DRO、axisPose、canvas dataset、G-code 当前行和关键按钮状态。
|
||||
- `gmoccapy-xyzab` 作为 reference-only profile 验证 TCP 禁用原因,不作为 RTCP proof。
|
||||
- 最终报告无 console、network 或 page error。
|
||||
|
||||
## 3. working7 手册流程专项 QA 证据
|
||||
|
||||
本轮新增专项证据,覆盖原任务矩阵中需要截图/PDF 的手册操作流。
|
||||
|
||||
命令:
|
||||
|
||||
```bash
|
||||
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
```text
|
||||
退出码:0
|
||||
working7_manual_flow_status=PASS
|
||||
working7_manual_flow_job_id=w7-20260628002915-30d1c6c8
|
||||
working7_manual_flow_report_id=report-w7-20260628002915-30d1c6c8
|
||||
working7_manual_flow_json=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.json
|
||||
working7_manual_flow_pdf=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.pdf
|
||||
working7_manual_flow_screenshots=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence
|
||||
```
|
||||
|
||||
报告信息:
|
||||
|
||||
```text
|
||||
jobId=w7-20260628002915-30d1c6c8
|
||||
reportId=report-w7-20260628002915-30d1c6c8
|
||||
evidenceScope=working7-manual-flow-evidence
|
||||
generatedAt=2026-06-28T00:29:15.240Z
|
||||
targetUrl=http://127.0.0.1:41931/web-rtcp-5axis-sim-plan/app/index.html
|
||||
status=PASS
|
||||
consoleErrors=0
|
||||
networkErrors=0
|
||||
pageErrors=0
|
||||
```
|
||||
|
||||
截图:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/01-loaded.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/02-powered-homed-manual.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/03-auto-active.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/04-manual-jog-x.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/05-mdi-command.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/06-overrides-hal.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/07-spindle-coolant.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/08-session-restored.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/09-diagnostics.png
|
||||
```
|
||||
|
||||
检查项摘要:
|
||||
|
||||
```text
|
||||
Main shell regions and canvas are ready=PASS
|
||||
POWER and HOME leave MANUAL ready=PASS
|
||||
AUTO activates without losing power/home=PASS
|
||||
Manual jog changes X=PASS
|
||||
MDI command is accepted in MDI mode=PASS
|
||||
Overrides reset and HAL toggles are active=PASS
|
||||
Spindle and coolant controls update state=PASS
|
||||
Session restore returns to saved profile=PASS
|
||||
Diagnostics expose Task/HAL and gmoccapy HAL=PASS
|
||||
Screenshots are nonblank=PASS
|
||||
```
|
||||
|
||||
专项说明:
|
||||
|
||||
- MDI 浏览器证据证明真实页面可进入 MDI 并提交 `G90 X12.5 Y-4 Z1.25 F900`,Task/HAL runtime 接收后进入 MDI/reading 状态。
|
||||
- `rtcp_store_smoke=ok` 继续作为 MDI 坐标更新、MDI 历史和 profile 限位夹紧的 Node store 逻辑证据。
|
||||
- Save/Restore 本轮在浏览器中使用 OPFS,路径为 `web-rtcp-5axis-sim-plan/sessions/working7-manual-flow/working7-session.json`。
|
||||
|
||||
## 4. 既有 QA 证据
|
||||
|
||||
项目已有可引用 QA 证据:
|
||||
|
||||
### 3.1 gmoccapy XYZAB 功能报告
|
||||
|
||||
JSON:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.json
|
||||
```
|
||||
|
||||
PDF:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.pdf
|
||||
```
|
||||
|
||||
报告信息:
|
||||
|
||||
```text
|
||||
jobId=xyzab-20260626214346-f4b4aa36
|
||||
reportId=report-xyzab-20260626214346-f4b4aa36
|
||||
evidenceScope=gmoccapy-xyzab-function
|
||||
generatedAt=2026-06-26T21:43:46.310Z
|
||||
targetUrl=http://127.0.0.1:36983/web-rtcp-5axis-sim-plan/app/index.html
|
||||
screenshotsDir=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab
|
||||
```
|
||||
|
||||
截图:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab/01-loaded.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab/02-profile-selected.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab/03-run-blocked-power.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab/04-run-blocked-reference-evidence.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab/05-controls-active.png
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab/06-hal-diagnostics.png
|
||||
```
|
||||
|
||||
### 3.2 按钮控制报告
|
||||
|
||||
JSON:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/button-control-evidence-report.json
|
||||
```
|
||||
|
||||
PDF:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/button-control-evidence-report.pdf
|
||||
```
|
||||
|
||||
报告信息:
|
||||
|
||||
```text
|
||||
jobId=btn-20260623091525-b35869f1
|
||||
reportId=report-btn-20260623091525-b35869f1
|
||||
evidenceScope=button-control-evidence
|
||||
generatedAt=2026-06-23T09:15:25.426Z
|
||||
targetUrl=http://127.0.0.1:41741/web-rtcp-5axis-sim-plan/app/index.html
|
||||
screenshotsDir=/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/screenshots/button-control-evidence
|
||||
```
|
||||
|
||||
截图目录:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/screenshots/button-control-evidence
|
||||
```
|
||||
|
||||
### 3.3 Native Task/HAL 对比
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/native-task-hal-comparison-report.json
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/native-task-hal-comparison-report.md
|
||||
```
|
||||
|
||||
### 3.4 LinuxCNC source run 报告
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/test-linuxcnc-source-run-report-2026-06-23.docx
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/test-linuxcnc-source-run-report.json
|
||||
```
|
||||
|
||||
## 4. 页面和脚本入口
|
||||
|
||||
本地 app:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/index.html
|
||||
```
|
||||
|
||||
dist app:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/dist/index.html
|
||||
```
|
||||
|
||||
浏览器 smoke 测试页:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html
|
||||
```
|
||||
|
||||
浏览器验证脚本:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_shell_browser.sh
|
||||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_dist_browser.sh
|
||||
```
|
||||
|
||||
专项 QA 脚本:
|
||||
|
||||
```text
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-manual-flow-evidence.mjs
|
||||
```
|
||||
|
||||
## 5. 证据缺口
|
||||
|
||||
当前没有缺少构建/自动化 smoke 证据,也已有本轮手册流程专项 JSON/PDF/截图证据。
|
||||
|
||||
如后续验收要求“逐条复刻操作手册每一个按钮截图”或“生成新的 Word 汇总报告”,需要补充:
|
||||
|
||||
- 新的 job_id/report_id。
|
||||
- 更细粒度的每个按钮截图路径。
|
||||
- 人工或 Playwright 执行时的目标 URL。
|
||||
- MDI 历史按钮专项截图。
|
||||
135
work/working7/06-决策记录.md
Normal file
135
work/working7/06-决策记录.md
Normal file
@@ -0,0 +1,135 @@
|
||||
# 06 决策记录
|
||||
|
||||
生成日期:2026-06-27
|
||||
|
||||
## W7-D01 以操作手册作为测试拆解主线
|
||||
|
||||
决定:本轮测试功能按《Web RTCP 五轴联动数控系统仿真界面操作手册》的章节拆分,不按代码目录或历史工作目录重新命名功能。
|
||||
|
||||
原因:
|
||||
|
||||
- 手册是用户指定输入。
|
||||
- 手册章节直接对应操作者工作流,便于后续人工测试、截图和报告复用。
|
||||
- 任务矩阵可以防止后续再次重复拆分主界面、开机、AUTO、MDI 等相同功能。
|
||||
|
||||
## W7-D02 R01 阶段不修改业务代码
|
||||
|
||||
决定:W7-R01 只新增 `work/working7` 文档并执行现有验证命令,不改 `web-rtcp-5axis-sim-plan/app` 或测试脚本。
|
||||
|
||||
原因:
|
||||
|
||||
- 用户要求是“测试方法写入 working7”,不是新增功能或修复缺陷。
|
||||
- 当前 build、Node smoke、browser smoke 均已通过,没有发现必须在本轮修复的失败。
|
||||
- 工作区已有未提交改动,避免混入无关业务变更。
|
||||
|
||||
## W7-D03 现有自动化作为基线证据
|
||||
|
||||
决定:以 `npm run build`、`npm run smoke:node`、`npm run smoke` 作为本轮基线验收命令。
|
||||
|
||||
原因:
|
||||
|
||||
- 这些命令是项目 `app/package.json` 中已有正式入口。
|
||||
- Node smoke 覆盖 runtime、policy、session、RTCP、gmoccapy HAL 和 gate。
|
||||
- 浏览器 smoke 覆盖真实 DOM、按钮视觉状态、canvas 和 dist 页面。
|
||||
|
||||
## W7-D04 人工手册步骤不等同于全部已截图验收
|
||||
|
||||
决定:对手册中的人工流程,本轮写清测试方法;只有已跑命令和既有 QA 报告作为当前证据。
|
||||
|
||||
原因:
|
||||
|
||||
- 本轮没有重新生成逐步骤截图/PDF。
|
||||
- 直接把“方法已写入”说成“全部人工截图已验收”会造成证据口径不准确。
|
||||
- 后续如需要新截图/PDF,可按 `02-程序测试开发完善详细步骤.md` 和 `04-任务矩阵.md` 继续推进。
|
||||
|
||||
## W7-D05 保留 Web 仿真安全边界
|
||||
|
||||
决定:所有 POWER、HOME、RUN、JOG、MDI、主轴和冷却测试均按 Web 仿真状态验收,不声明真实机床控制能力。
|
||||
|
||||
原因:
|
||||
|
||||
- 项目 README 和操作手册都说明浏览器不替代 LinuxCNC 实时内核。
|
||||
- Node smoke 输出也明确 `hardware_drive=0`、`host_realtime_kernel=0`、`promotion_scope=web_simulation_only`。
|
||||
- 这是验收文档中必须保留的安全边界。
|
||||
|
||||
## W7-D06 区分 RTCP proof 和 gmoccapy reference profile
|
||||
|
||||
决定:`xyzac-trt`、`xyzbc-trt` 用于 RTCP/TCP source-derived WASM 证明;`gmoccapy-xyzab` 只作为 `trivkins` reference-only profile 测试 gmoccapy 操作和 HAL 语义。
|
||||
|
||||
原因:
|
||||
|
||||
- `gmoccapy-xyzab` 来自 `gmoccapy_XYZAB.ini`,使用 `trivkins coordinates=xyzab`。
|
||||
- 操作手册也说明 reference-only profile 可能禁用 TCP 切换并显示原因。
|
||||
- 混淆这两个边界会导致错误验收结论。
|
||||
|
||||
## W7-D07 后续新增证据必须有编号
|
||||
|
||||
决定:后续新增截图、PDF、JSON 或脚本时,先在任务矩阵新增 `W7-Txx` 编号,再写入证据。
|
||||
|
||||
原因:
|
||||
|
||||
- 可避免“同一功能多轮重复测试但状态不清”。
|
||||
- 可让 README、推进台账、证据文件保持一致。
|
||||
- 便于按 job_id、report_id、截图路径追溯。
|
||||
|
||||
## W7-D08 新增 working7 专项 QA 脚本补齐方法就绪项
|
||||
|
||||
决定:新增 `qa/web-rtcp-5axis-site-test/capture-working7-manual-flow-evidence.mjs`,用本地静态服务和 headless Chrome 生成 JSON、PDF 和截图证据。
|
||||
|
||||
原因:
|
||||
|
||||
- W7-R01 已完成手册测试方法归档,但 W7-T06、W7-T08、W7-T09、W7-T11 仍是 `method-ready`。
|
||||
- 既有 QA 报告可以引用,但不是按 working7 手册流程和本轮日期生成。
|
||||
- 专项脚本可重复执行,能把 POWER/HOME、AUTO/MANUAL、JOG、MDI、倍率/HAL、主轴/冷却、Save/Restore 和诊断证据集中到同一个 report_id。
|
||||
- 该脚本本身只增加 QA 证据;专项证据基于当前源码执行,当前源码包含前序 AUTO/MANUAL 模式切换与 titlebar 稳定性修正。
|
||||
|
||||
## W7-D09 working7 证据引用当前源码状态
|
||||
|
||||
决定:working7 的最终验收记录引用当前工作区源码状态,不把前序 `store.js`、`gmoccapy-shell.js` 和浏览器 smoke 修正错误归入 working7 新增业务功能。
|
||||
|
||||
原因:
|
||||
|
||||
- `store.js` 修正确保 Task/HAL 模式切换时保留已上电、已回零和目标模式状态,这是 AUTO/MANUAL 手册流程成立的前置稳定性修正。
|
||||
- `gmoccapy-shell.js` 修正确保 titlebar profile selector 和当前行节点在普通状态刷新时不被重挂载,便于浏览器自动化稳定复测。
|
||||
- `gmoccapy_shell_smoke.html` 已增加对应回归断言,working7 专项 QA 在这些前序修正之上生成 JSON/PDF/截图证据。
|
||||
- working7 本轮收尾动作是证据复核、报告重跑和文档同步,不再扩大业务运行逻辑范围。
|
||||
|
||||
## W7-D10 使用全量 evidence 脚本作为最终验收主证据
|
||||
|
||||
决定:新增 `capture-working7-full-functional-evidence.mjs`,作为 W7-T17 的最终主证据;旧的 `capture-working7-manual-flow-evidence.mjs` 保留为手册流程交叉证据。
|
||||
|
||||
原因:
|
||||
|
||||
- 用户要求验证“所有按钮、程序执行、刀具预览、实时路径、G-code 执行过程、机床轴值、仿真界面右侧按钮”,旧脚本只覆盖手册主流程,不足以证明全量按钮矩阵。
|
||||
- 全量脚本记录 73 个实际动作、19 张截图、JSON、Markdown 和 PDF,能按 job_id/report_id 复查。
|
||||
- 旧脚本继续保留,可以防止全量脚本过宽时遗漏手册主线。
|
||||
|
||||
## W7-D11 Task/HAL 下 JOG/MDI 需要保留 Web 可视执行结果
|
||||
|
||||
决定:在 Task/HAL 状态应用链路中增加 `preserveAxisPose` 和 `preserveMachine`,JOG/MDI 发送 Task/HAL 命令后保留 Web 侧 axisPose、DRO、mode 和 idle 状态。
|
||||
|
||||
原因:
|
||||
|
||||
- Task/HAL runtime 当前主要提供 simulation feedback,不一定会在单次 JOG/MDI 命令后返回 Web UI 需要的最终轴值。
|
||||
- 用户验证的是 Web 仿真界面的可见执行过程,点击 JOG/MDI 后 DRO 和 axisPose 必须稳定反映操作者刚执行的动作。
|
||||
- 保留字段只作用于明确的 Web 命令回写,不改变自动程序运行时的 Task/HAL feedback 主链路。
|
||||
|
||||
## W7-D12 初始主轴、冷却和速度采用安全关闭状态
|
||||
|
||||
决定:首屏初始状态改为主轴停止、冷却关闭、当前速度为 0。
|
||||
|
||||
原因:
|
||||
|
||||
- 未上电状态下主轴/冷却显示 active 会和 gate 语义冲突。
|
||||
- 安全关闭状态更符合机床 UI 的默认预期。
|
||||
- 浏览器 smoke 和 working7 evidence 均已更新为该语义。
|
||||
|
||||
## W7-D13 资源路径 404 不作为可接受噪声保留
|
||||
|
||||
决定:修正 favicon、INI loader、machine-file staging、dist 复制和 reference-only kinematics 跳过逻辑,使最终 evidence 报告中 console/network/page error 均为 0。
|
||||
|
||||
原因:
|
||||
|
||||
- 404 fallback 虽不一定影响功能,但会降低验收报告可信度。
|
||||
- source 模式和 dist 模式应各自使用明确有效路径,不依赖失败后回退。
|
||||
- `gmoccapy-xyzab` 是 reference-only profile,不应尝试 source-derived kinematics runtime。
|
||||
49
work/working7/README.md
Normal file
49
work/working7/README.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# working7 README 索引
|
||||
|
||||
生成日期:2026-06-27
|
||||
|
||||
本目录用于承接
|
||||
`/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/docs/Web-RTCP五轴数控系统仿真界面操作手册.docx`
|
||||
中的操作流程,把 Web RTCP 五轴仿真界面的功能测试方法、任务状态、验收证据和决策依据集中归档。
|
||||
|
||||
本轮 working7 已完成全量真实浏览器执行验证,并在测试过程中修复发现的问题。已执行工程验证命令、全量 QA 证据命令和手册流程 QA 证据命令:
|
||||
|
||||
- `npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run build`
|
||||
- `npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke:node`
|
||||
- `npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke`
|
||||
- `npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test test`
|
||||
- `npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7:full`
|
||||
- `npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7`
|
||||
|
||||
六项命令均通过。站点回归测试状态为 `PASS`;全量 QA 证据状态为 `PASS`,生成 JSON、Markdown、PDF 和 19 张截图;手册流程 QA 证据状态为 `PASS`,生成 JSON、PDF 和 9 张截图。详细输出摘要见 [05-验收证据.md](05-验收证据.md)。
|
||||
|
||||
最新全量证据:
|
||||
|
||||
```text
|
||||
job_id=w7full-20260628002838-518bf522
|
||||
report_id=report-w7full-20260628002838-518bf522
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.md
|
||||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.pdf
|
||||
```
|
||||
|
||||
## 文档清单
|
||||
|
||||
| 编号 | 文件 | 用途 |
|
||||
| --- | --- | --- |
|
||||
| 01 | [01-项目功能内容.md](01-项目功能内容.md) | 本轮最终功能范围索引,覆盖全量按钮、程序、刀具路径、G-code、轴值和右侧控制区。 |
|
||||
| 01A | [01-测试功能内容.md](01-测试功能内容.md) | 按操作手册拆解测试功能、覆盖范围、安全边界和成功标准。 |
|
||||
| 02 | [02-项目程序开发详细步骤.md](02-项目程序开发详细步骤.md) | 本轮最终开发/测试步骤索引,记录新增 evidence 脚本和修复顺序。 |
|
||||
| 02A | [02-程序测试开发完善详细步骤.md](02-程序测试开发完善详细步骤.md) | 记录测试环境、命令、人工流程、脚本扩展规则和异常处理方法。 |
|
||||
| 03 | [03-推进台账.md](03-推进台账.md) | 记录每轮做了什么、改了哪些文件、验证了什么、下一步是什么。 |
|
||||
| 04 | [04-任务矩阵.md](04-任务矩阵.md) | 统一任务编号、状态、验收标准和证据入口,防止重复做。 |
|
||||
| 05 | [05-验收证据.md](05-验收证据.md) | 记录命令、页面、job_id、report_id、PDF、截图和输出标记。 |
|
||||
| 06 | [06-决策记录.md](06-决策记录.md) | 记录测试边界和实施选择,后续变更时不重复争论同一问题。 |
|
||||
| 过程 | [/home/meswork/cnc_wams/测试过程.md](/home/meswork/cnc_wams/测试过程.md) | 本轮完整测试修改过程,使用第一人称记录。 |
|
||||
|
||||
## 后续推进规则
|
||||
|
||||
1. 新增测试项前先更新 [04-任务矩阵.md](04-任务矩阵.md),给出任务编号、状态和验收标准。
|
||||
2. 每轮结束追加 [03-推进台账.md](03-推进台账.md),写清楚本轮动作、改动文件、验证结果和下一步。
|
||||
3. 所有命令输出、截图、PDF、JSON、job_id、report_id 统一写入 [05-验收证据.md](05-验收证据.md)。
|
||||
4. 涉及安全边界、LinuxCNC 对标口径、是否新增脚本或是否修改业务代码的判断,写入 [06-决策记录.md](06-决策记录.md)。
|
||||
5. `gmoccapy-xyzab` 是 reference-only profile,不作为 TCP/RTCP proof;RTCP/TCP 证明继续以 `xyzac-trt`、`xyzbc-trt` 的 source-derived WASM 链路为准。
|
||||
Reference in New Issue
Block a user