513 lines
24 KiB
Markdown
513 lines
24 KiB
Markdown
# 03 推进台账
|
||
|
||
生成日期:2026-06-26
|
||
|
||
说明:本台账保留历史推进记录。早期条目中的“遗留问题”和“下一步”已由后续 W4-IMPL-002
|
||
和 W4-DOC-002 收口;当前状态以 `04-task-matrix.md` 和 `05-acceptance-evidence.md` 为准。
|
||
|
||
## 1. 台账规则
|
||
|
||
每轮结束必须追加一条记录,格式保持一致:
|
||
|
||
```text
|
||
轮次:
|
||
日期:
|
||
目标:
|
||
做了什么:
|
||
改了哪些文件:
|
||
验证了什么:
|
||
结果:
|
||
遗留问题:
|
||
下一步:
|
||
```
|
||
|
||
如果一轮只写文档,没有改代码,也必须明确写出“未改代码”。如果运行了测试,必须记录命令和结果。如果没有运行测试,必须说明原因。
|
||
|
||
## 2. 当前台账
|
||
|
||
### W4-DOC-001
|
||
|
||
日期:2026-06-26
|
||
|
||
目标:
|
||
|
||
使用 `working3` 资料,为 `web-rtcp-5axis-sim-plan` 下一阶段功能完善建立文档包。
|
||
|
||
做了什么:
|
||
|
||
- 梳理 `working3/gmoccapy_XYZAB_execution_analysis.md`,提取 gmoccapy_XYZAB native 启动顺序、NML command/status/error、HAL/postgui、G-code 运行互锁和按钮控制逻辑。
|
||
- 梳理 `working3/gmoccapy_button_icons/`,确认按钮清单、CSV、112 个图标资源和 211 行按钮/状态记录。
|
||
- 对照 `web-rtcp-5axis-sim-plan` 当前 README、docs、working_run、app/src、tests,确认已有 gmoccapy shell、xyzac/xyzbc profile、kinematics/interpreter/task-HAL runtime 和 RUN 验证。
|
||
- 建立 `working4` 文档集,覆盖功能内容、开发步骤、推进台账、任务矩阵、验收证据、决策记录。
|
||
|
||
改了哪些文件:
|
||
|
||
```text
|
||
/home/meswork/cnc_wams/work/working4/README.md
|
||
/home/meswork/cnc_wams/work/working4/01-function-content.md
|
||
/home/meswork/cnc_wams/work/working4/02-program-development-steps.md
|
||
/home/meswork/cnc_wams/work/working4/03-progress-ledger.md
|
||
/home/meswork/cnc_wams/work/working4/04-task-matrix.md
|
||
/home/meswork/cnc_wams/work/working4/05-acceptance-evidence.md
|
||
/home/meswork/cnc_wams/work/working4/06-decision-records.md
|
||
```
|
||
|
||
验证了什么:
|
||
|
||
- 验证 `working3` 输入文件存在。
|
||
- 验证 `working4` 起始为空,可作为本轮输出目录。
|
||
- 验证目标项目已有构建、Node smoke、browser smoke、QA evidence 目录和相关文档。
|
||
- 本轮以文档生成为主,未修改 `web-rtcp-5axis-sim-plan/app/src` 代码。
|
||
|
||
结果:
|
||
|
||
- 文档规划完成。
|
||
- 任务矩阵建立,后续实施可按任务编号推进,避免重复做。
|
||
|
||
遗留问题:
|
||
|
||
- 尚未把 `working3` 图标复制到 app assets。
|
||
- 尚未新增 `gmoccapy-xyzab` profile。
|
||
- 尚未新增图标 manifest、HAL diagnostics、XYZAB gate 测试和浏览器报告。
|
||
|
||
下一步:
|
||
|
||
从 `04-task-matrix.md` 的 `W4-A01` 开始,将资料和图标资产落库。
|
||
|
||
### W4-IMPL-001
|
||
|
||
日期:2026-06-26
|
||
|
||
目标:
|
||
|
||
按 `working4` 从 W4-A01 开始实施资料落库、gmoccapy_XYZAB reference profile、通信/HAL 诊断模型和 Node 验收。
|
||
|
||
做了什么:
|
||
|
||
- 新增 `docs/gmoccapy-xyzab-reference.md`,记录 native 启动顺序、NML command/status/error、HAL/postgui、互锁和图标资产边界。
|
||
- 将 `working3/gmoccapy_button_icons/button_icon_inventory.csv` 转成 `app/src/ui-reference/gmoccapy-button-icons.json`,保留 211 行清单。
|
||
- 将 `working3/gmoccapy_button_icons/files/` 的 112 个 PNG/SVG 图标复制到 `app/src/assets/gmoccapy-icons/`。
|
||
- 新增 `gmoccapy-xyzab` profile,坐标为 XYZAB,标记 `trivkins coordinates=xyzab`、`tcpCapable=false`、`rtcpProof=false`、`promotionAllowed=false`。
|
||
- 新增 gmoccapy communication model 和 HAL/postgui model。
|
||
- 在 UI/store 层阻止 `gmoccapy-xyzab` 这种 reference-only profile 被切到 TCP/RTCP。
|
||
- 修正 fallback RTCP frame 的 joint pose 轴映射,使 XYZAB 显示 B 轴而不是误用 C 轴。
|
||
- 新增并接入 Node 测试:XYZAB profile、icon manifest、communication model、HAL model。
|
||
- 更新 `docs/traceability-matrix.md`、`04-task-matrix.md`、`05-acceptance-evidence.md`。
|
||
|
||
改了哪些文件:
|
||
|
||
```text
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/docs/gmoccapy-xyzab-reference.md
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/docs/traceability-matrix.md
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/package.json
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/ui-reference/gmoccapy-button-icons.json
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/assets/gmoccapy-icons/
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/profiles/gmoccapy-xyzab.js
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/profiles/index.js
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/profiles/source-reference-map.js
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/gmoccapy-communication-model.js
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/gmoccapy-hal-model.js
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/rtcp-frame.js
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/state/store.js
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-shell.js
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_profile.mjs
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_icon_manifest.mjs
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_communication_model.mjs
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_hal_model.mjs
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_profile_boundary.mjs
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_rtcp_store.mjs
|
||
/home/meswork/cnc_wams/work/working4/03-progress-ledger.md
|
||
/home/meswork/cnc_wams/work/working4/04-task-matrix.md
|
||
/home/meswork/cnc_wams/work/working4/05-acceptance-evidence.md
|
||
```
|
||
|
||
验证了什么:
|
||
|
||
```bash
|
||
node web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_profile.mjs
|
||
node web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_icon_manifest.mjs
|
||
node web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_communication_model.mjs
|
||
node web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_hal_model.mjs
|
||
node web-rtcp-5axis-sim-plan/tests/node/verify_profile_boundary.mjs
|
||
node web-rtcp-5axis-sim-plan/tests/node/verify_rtcp_store.mjs
|
||
npm --prefix web-rtcp-5axis-sim-plan/app run build
|
||
npm --prefix web-rtcp-5axis-sim-plan/app run smoke:node
|
||
bash web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_shell_browser.sh
|
||
bash web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_dist_browser.sh
|
||
git diff --check -- web-rtcp-5axis-sim-plan work/working4
|
||
```
|
||
|
||
结果:
|
||
|
||
- 新增 Node 测试全部通过。
|
||
- `npm run build` 通过。
|
||
- `npm run smoke:node` 通过。
|
||
- browser shell smoke 和 dist browser smoke 均通过。
|
||
- `git diff --check` 通过。
|
||
|
||
遗留问题:
|
||
|
||
- 尚未建立 icon registry,也未将图标接入实际按钮 DOM。
|
||
- communication/HAL model 已有数据和测试,但尚未接入信息面板页面。
|
||
- 尚未新增 gmoccapy_XYZAB gate 独立测试。
|
||
- 尚未生成 QA JSON/PDF/截图报告。
|
||
|
||
下一步:
|
||
|
||
继续 `W4-U01`,建立 `app/src/ui/gmoccapy-icon-registry.js`,并将 manifest 资产接入右侧栏、底部栏、Auto 栏、spindle/coolant 和 preview controls。
|
||
|
||
### W4-IMPL-002
|
||
|
||
日期:2026-06-26
|
||
|
||
目标:
|
||
|
||
继续 `working4` 的 UI/icon、gmoccapy_XYZAB gate、browser smoke 和 QA 报告任务。
|
||
|
||
做了什么:
|
||
|
||
- 新增 `gmoccapy-icon-registry.js`,为核心 gmoccapy 按钮提供 icon name、asset path、variant 和 fallback。
|
||
- 将右侧状态栏、底部控制栏、preview toolbar、spindle/coolant 控件接入 gmoccapy 图标,并保留 `aria-label`、`data-icon-name`、blocked reason。
|
||
- 将 gmoccapy communication model 和 HAL/postgui model 接入信息面板,显示 NML command/status、Web runtime path、postgui 顺序和 HAL pins/nets。
|
||
- 扩展 `linuxcnc-task-policy.js`,为 `gmoccapy-xyzab` RUN gate 增加 INI、machine-file、opened program、interp idle、task/HAL runtime ready 检查;补齐 MDI、JOG/HOME、spindle/coolant/override gate。
|
||
- 在 store 中新增 spindle direction 行为,并对 coolant/spindle/override 操作应用 gate。
|
||
- 新增 icon registry 和 gmoccapy_XYZAB gate Node 测试。
|
||
- 更新 browser smoke,断言核心按钮 icon 和 gmoccapy NML/HAL diagnostics。
|
||
- 新增 QA capture 脚本,生成 gmoccapy_XYZAB JSON/PDF 报告和 6 张截图。
|
||
- 更新 `04-task-matrix.md` 和 `05-acceptance-evidence.md`。
|
||
|
||
改了哪些文件:
|
||
|
||
```text
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/package.json
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-icon-registry.js
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-shell.js
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/styles/gmoccapy.css
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/state/linuxcnc-task-policy.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/node/verify_gmoccapy_icon_registry.mjs
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_gates.mjs
|
||
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html
|
||
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/capture-gmoccapy-xyzab-function-cases.mjs
|
||
/home/meswork/cnc_wams/work/working4/03-progress-ledger.md
|
||
/home/meswork/cnc_wams/work/working4/04-task-matrix.md
|
||
/home/meswork/cnc_wams/work/working4/05-acceptance-evidence.md
|
||
```
|
||
|
||
验证了什么:
|
||
|
||
```bash
|
||
node --check web-rtcp-5axis-sim-plan/app/src/ui/gmoccapy-shell.js
|
||
node --check web-rtcp-5axis-sim-plan/app/src/state/store.js
|
||
node --check web-rtcp-5axis-sim-plan/app/src/state/linuxcnc-task-policy.js
|
||
node --check qa/web-rtcp-5axis-site-test/capture-gmoccapy-xyzab-function-cases.mjs
|
||
node web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_icon_registry.mjs
|
||
node web-rtcp-5axis-sim-plan/tests/node/verify_gmoccapy_xyzab_gates.mjs
|
||
node web-rtcp-5axis-sim-plan/tests/node/verify_rtcp_store.mjs
|
||
node web-rtcp-5axis-sim-plan/tests/node/verify_run_preconditions.mjs
|
||
npm --prefix web-rtcp-5axis-sim-plan/app run build
|
||
bash web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_shell_browser.sh
|
||
node qa/web-rtcp-5axis-site-test/capture-gmoccapy-xyzab-function-cases.mjs
|
||
```
|
||
|
||
结果:
|
||
|
||
- 新增 Node 测试全部通过。
|
||
- `verify_rtcp_store` 和 `verify_run_preconditions` 回归通过。
|
||
- 静态 build 通过。
|
||
- browser shell smoke 通过。
|
||
- QA capture 返回 `gmoccapy_xyzab_function_status=PASS`,最新 job_id 为 `xyzab-20260626190724-7b80b3aa`,生成 JSON、PDF 和 6 张截图。
|
||
|
||
遗留问题:
|
||
|
||
- `gmoccapy-xyzab` 仍为 `trivkins` reference-only profile,不提供 TCP/RTCP proof。
|
||
- 本轮 QA 证明 profile、图标、diagnostics 和 blocked gate,不证明 native `linuxcncsvr/milltask/HAL` 实机运行。
|
||
|
||
下一步:
|
||
|
||
完整 `npm --prefix web-rtcp-5axis-sim-plan/app run smoke:node`、build、browser smoke、dist browser smoke、QA capture 和 `git diff --check` 已作为本轮最终回归执行。
|
||
|
||
### W4-DOC-002
|
||
|
||
日期:2026-06-26
|
||
|
||
目标:
|
||
|
||
继续收口 `working4`,消除状态文档中仍停留在初始规划阶段的过期描述。
|
||
|
||
做了什么:
|
||
|
||
- 更新 `README.md`,明确 `working4` 当前是已实施、已验证、已归档状态,不再描述为仅生成规划文档。
|
||
- 更新 `01-function-content.md`,将 F-XYZAB-01 到 F-XYZAB-07 的状态对齐到当前完成情况,并保留 `gmoccapy-xyzab` reference-only 边界。
|
||
- 更新 `02-program-development-steps.md`,标明阶段 A 到 G 已收口,QA capture JSON/PDF 已生成。
|
||
- 更新 `02-program-development-steps.md` 的阶段文件清单措辞,从规划口径调整为已归档的主要新增/更新文件。
|
||
- 更新 `04-task-matrix.md`,新增 W4-D08 状态文档收口任务并标记 `done`。
|
||
- 更新 `05-acceptance-evidence.md`,修正“只创建文档、没有 job_id/report_id”的旧说明,并补充 W4-U01、W4-V04、W4-V05 证据行。
|
||
|
||
改了哪些文件:
|
||
|
||
```text
|
||
/home/meswork/cnc_wams/work/working4/README.md
|
||
/home/meswork/cnc_wams/work/working4/01-function-content.md
|
||
/home/meswork/cnc_wams/work/working4/02-program-development-steps.md
|
||
/home/meswork/cnc_wams/work/working4/03-progress-ledger.md
|
||
/home/meswork/cnc_wams/work/working4/04-task-matrix.md
|
||
/home/meswork/cnc_wams/work/working4/05-acceptance-evidence.md
|
||
```
|
||
|
||
验证了什么:
|
||
|
||
```bash
|
||
rg -n "\\| W4-[A-Z0-9-]+ \\| (todo|in_progress|blocked|deferred) \\|" work/working4/04-task-matrix.md
|
||
node -e "const r=JSON.parse(require('fs').readFileSync('qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.json','utf8')); if(r.status!=='PASS') process.exit(1); console.log(r.status, r.steps.length, r.checks.length)"
|
||
git diff --check -- web-rtcp-5axis-sim-plan qa/web-rtcp-5axis-site-test work/working4
|
||
```
|
||
|
||
结果:
|
||
|
||
- `04-task-matrix.md` 未发现 `todo`、`in_progress`、`blocked` 或 `deferred` 的任务行。
|
||
- 过期状态扫描未发现当前 README、功能内容、开发步骤或验收证据中的待实施/待验证旧口径;命中项仅为状态词定义、README 的“当前没有待执行任务”说明,以及早期台账的历史遗留记录。
|
||
- QA JSON 保持 `PASS`,包含 6 个步骤和 10 个检查。
|
||
- `git diff --check -- web-rtcp-5axis-sim-plan qa/web-rtcp-5axis-site-test work/working4` 返回 0。
|
||
|
||
遗留问题:
|
||
|
||
- `gmoccapy-xyzab` 仍为 `trivkins` reference-only profile,不提供 TCP/RTCP proof。
|
||
- 本阶段不证明 native `linuxcncsvr/milltask/HAL` 实机运行。
|
||
|
||
下一步:
|
||
|
||
- `working4` 当前无剩余任务;后续新增工作需先在 `04-task-matrix.md` 新增任务编号。
|
||
|
||
### W4-DOC-003
|
||
|
||
日期:2026-06-26
|
||
|
||
目标:
|
||
|
||
继续完成 `working4` 收口,清理剩余会让读者误判为规划阶段的措辞。
|
||
|
||
做了什么:
|
||
|
||
- 更新 `README.md` 文档清单说明,将“要完善/应改”口径改为“已完善/已改”口径。
|
||
- 更新 `02-program-development-steps.md`,将各阶段“建议新增或更新文件”统一改为“主要新增或更新文件”。
|
||
- 更新 `03-progress-ledger.md` 说明,明确早期条目的“遗留问题/下一步”是历史记录,当前状态以矩阵和验收证据为准。
|
||
- 更新 `04-task-matrix.md`,将 W4-D01 验收标准改为后续维护入口,将 W4-T07 验收标准改为已输出 JSON、PDF 和截图。
|
||
|
||
改了哪些文件:
|
||
|
||
```text
|
||
/home/meswork/cnc_wams/work/working4/README.md
|
||
/home/meswork/cnc_wams/work/working4/02-program-development-steps.md
|
||
/home/meswork/cnc_wams/work/working4/03-progress-ledger.md
|
||
/home/meswork/cnc_wams/work/working4/04-task-matrix.md
|
||
```
|
||
|
||
验证了什么:
|
||
|
||
```bash
|
||
rg -n "\\| W4-[A-Z0-9-]+ \\| (todo|in_progress|blocked|deferred) \\|" work/working4/04-task-matrix.md
|
||
rg -n "待实施|待验证|待生成|PDF 任务保持 todo|本轮只创建文档|没有生成新的 job_id|后续新增:|建议新增|建议新增或更新|必要时输出 PDF|后续执行入口|拟完善功能包|TODO" work/working4/README.md work/working4/01-function-content.md work/working4/02-program-development-steps.md work/working4/04-task-matrix.md work/working4/05-acceptance-evidence.md
|
||
node -e "const r=JSON.parse(require('fs').readFileSync('qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.json','utf8')); if(r.status!=='PASS') process.exit(1); console.log('qa_report_status='+r.status); console.log('qa_report_steps='+r.steps.length); console.log('qa_report_checks='+r.checks.length);"
|
||
git diff --check -- web-rtcp-5axis-sim-plan qa/web-rtcp-5axis-site-test work/working4
|
||
```
|
||
|
||
结果:
|
||
|
||
- 未发现未完成 W4 任务行。
|
||
- 当前状态文档未发现规划阶段残留关键词。
|
||
- QA JSON 保持 `PASS`,包含 6 个步骤和 10 个检查。
|
||
- `git diff --check` 返回 0。
|
||
|
||
遗留问题:
|
||
|
||
- 无新的 `working4` 剩余任务。
|
||
- 保留既定边界:`gmoccapy-xyzab` 是 `trivkins` reference-only profile,不证明 TCP/RTCP 或 native LinuxCNC realtime 执行。
|
||
|
||
下一步:
|
||
|
||
- 当前无需继续执行;后续新增需求先在 `04-task-matrix.md` 新增任务编号。
|
||
|
||
### W4-DOC-004
|
||
|
||
日期:2026-06-26
|
||
|
||
目标:
|
||
|
||
继续复核 `working4` 验收证据,确认 QA report 编号字段与归档表一致。
|
||
|
||
做了什么:
|
||
|
||
- 重新扫描 `04-task-matrix.md`,确认没有未完成 W4 任务行。
|
||
- 重新扫描当前状态文档,确认没有规划阶段残留关键词。
|
||
- 读取 `gmoccapy-xyzab-function-report.json`,确认报告字段为 `jobId` 和 `reportId`。
|
||
- 读取 QA capture 脚本,确认控制台输出为 `gmoccapy_xyzab_function_job_id` 和 `gmoccapy_xyzab_function_report_id`,来源是同一组 report 字段。
|
||
- 更新 `05-acceptance-evidence.md`,说明 JSON camelCase 字段与归档表 `job_id/report_id` 标签的对应关系。
|
||
|
||
改了哪些文件:
|
||
|
||
```text
|
||
/home/meswork/cnc_wams/work/working4/03-progress-ledger.md
|
||
/home/meswork/cnc_wams/work/working4/05-acceptance-evidence.md
|
||
```
|
||
|
||
验证了什么:
|
||
|
||
```bash
|
||
rg -n "\\| W4-[A-Z0-9-]+ \\| (todo|in_progress|blocked|deferred) \\|" work/working4/04-task-matrix.md
|
||
rg -n "待实施|待验证|待生成|PDF 任务保持 todo|本轮只创建文档|没有生成新的 job_id|后续新增:|建议新增|建议新增或更新|必要时输出 PDF|后续执行入口|拟完善功能包|TODO" work/working4/README.md work/working4/01-function-content.md work/working4/02-program-development-steps.md work/working4/04-task-matrix.md work/working4/05-acceptance-evidence.md
|
||
node -e "const r=JSON.parse(require('fs').readFileSync('qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.json','utf8')); if(r.status!=='PASS') process.exit(1); console.log(r.jobId, r.reportId, r.status, r.steps.length, r.checks.length)"
|
||
git diff --check -- web-rtcp-5axis-sim-plan qa/web-rtcp-5axis-site-test work/working4
|
||
```
|
||
|
||
结果:
|
||
|
||
- 未发现未完成 W4 任务行。
|
||
- 当前状态文档未发现规划阶段残留关键词。
|
||
- QA JSON 保持 `PASS`,包含 `jobId=xyzab-20260626190724-7b80b3aa`、`reportId=report-xyzab-20260626190724-7b80b3aa`、6 个步骤和 10 个检查。
|
||
- `git diff --check` 返回 0。
|
||
|
||
遗留问题:
|
||
|
||
- 无新的 `working4` 剩余任务。
|
||
- 保留既定边界:`gmoccapy-xyzab` 是 `trivkins` reference-only profile,不证明 TCP/RTCP 或 native LinuxCNC realtime 执行。
|
||
|
||
下一步:
|
||
|
||
- 当前无需继续执行;后续新增需求先在 `04-task-matrix.md` 新增任务编号。
|
||
|
||
### W4-DOC-005
|
||
|
||
日期:2026-06-26
|
||
|
||
目标:
|
||
|
||
建立 `working4` 一眼可读的最终收口入口,避免完成状态分散在 README、任务矩阵、验收证据和台账中。
|
||
|
||
做了什么:
|
||
|
||
- 新增 `07-final-closure.md`,汇总收口结论、最终证据、QA identifiers、最终校验命令、保留边界和后续变更规则。
|
||
- 更新 `README.md`,将 `07-final-closure.md` 标为最终收口入口,并加入文档清单和后续维护步骤。
|
||
- 更新 `04-task-matrix.md`,新增 W4-D09 并标记 `done`。
|
||
|
||
改了哪些文件:
|
||
|
||
```text
|
||
/home/meswork/cnc_wams/work/working4/07-final-closure.md
|
||
/home/meswork/cnc_wams/work/working4/README.md
|
||
/home/meswork/cnc_wams/work/working4/03-progress-ledger.md
|
||
/home/meswork/cnc_wams/work/working4/04-task-matrix.md
|
||
```
|
||
|
||
验证了什么:
|
||
|
||
```bash
|
||
rg -n "\\| W4-[A-Z0-9-]+ \\| (todo|in_progress|blocked|deferred) \\|" work/working4/04-task-matrix.md
|
||
# stale wording scan command is recorded in 07-final-closure.md
|
||
node -e "const r=JSON.parse(require('fs').readFileSync('qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.json','utf8')); if(r.status!=='PASS') process.exit(1); console.log(r.jobId, r.reportId, r.status, r.steps.length, r.checks.length)"
|
||
git diff --check -- web-rtcp-5axis-sim-plan qa/web-rtcp-5axis-site-test work/working4
|
||
```
|
||
|
||
结果:
|
||
|
||
- 未发现未完成 W4 任务行。
|
||
- 当前状态文档未发现规划阶段残留关键词;`07-final-closure.md` 中的示例扫描命令已使用 escaped pattern 和拆分 token,避免自命中。
|
||
- QA JSON 保持 `PASS`,包含 `jobId=xyzab-20260626190724-7b80b3aa`、`reportId=report-xyzab-20260626190724-7b80b3aa`、6 个步骤和 10 个检查。
|
||
- `git diff --check` 返回 0。
|
||
|
||
遗留问题:
|
||
|
||
- 无新的 `working4` 剩余任务。
|
||
- 保留既定边界:`gmoccapy-xyzab` 是 `trivkins` reference-only profile,不证明 TCP/RTCP 或 native LinuxCNC realtime 执行。
|
||
|
||
下一步:
|
||
|
||
- `working4` 已有最终收口入口;后续新增需求先在 `04-task-matrix.md` 新增任务编号,并同步更新 `07-final-closure.md`。
|
||
|
||
### W4-VERIFY-006
|
||
|
||
日期:2026-06-26
|
||
|
||
目标:
|
||
|
||
接续上一轮中断后的 `working4` 收口状态,重新运行关键验收链路,确认当前代码、报告和最终证据仍一致。
|
||
|
||
做了什么:
|
||
|
||
- 读取 `AGENTS.md` 和 `working4` README、任务矩阵、推进台账、最终收口说明,确认当前范围和日志规则。
|
||
- 扫描 `04-task-matrix.md`,确认没有未完成 W4 任务行。
|
||
- 扫描当前状态文档,确认没有规划阶段残留关键词。
|
||
- 重新运行 build、Node smoke、gmoccapy shell browser smoke、dist browser smoke 和 QA capture。
|
||
- QA capture 重新生成 `gmoccapy-xyzab-function-report.json`、`.pdf` 和截图目录内容。
|
||
- 更新 `05-acceptance-evidence.md` 和 `07-final-closure.md`,将当前最终证据编号对齐到最新 QA report。
|
||
|
||
改了哪些文件:
|
||
|
||
```text
|
||
/home/meswork/cnc_wams/work/working4/03-progress-ledger.md
|
||
/home/meswork/cnc_wams/work/working4/05-acceptance-evidence.md
|
||
/home/meswork/cnc_wams/work/working4/07-final-closure.md
|
||
```
|
||
|
||
验证了什么:
|
||
|
||
```bash
|
||
rg -n "\\| W4-[A-Z0-9-]+ \\| (todo|in_progress|blocked|deferred) \\|" work/working4/04-task-matrix.md
|
||
TD_WORD="$(printf '%s%s' TO DO)"; STALE_W4_PATTERN="$(printf '\\u5f85\\u5b9e\\u65bd|\\u5f85\\u9a8c\\u8bc1|\\u5f85\\u751f\\u6210|PDF \\u4efb\\u52a1\\u4fdd\\u6301 todo|\\u672c\\u8f6e\\u53ea\\u521b\\u5efa\\u6587\\u6863|\\u6ca1\\u6709\\u751f\\u6210\\u65b0\\u7684 job_id|\\u540e\\u7eed\\u65b0\\u589e\\uff1a|\\u5efa\\u8bae\\u65b0\\u589e|\\u5efa\\u8bae\\u65b0\\u589e\\u6216\\u66f4\\u65b0|\\u5fc5\\u8981\\u65f6\\u8f93\\u51fa PDF|\\u540e\\u7eed\\u6267\\u884c\\u5165\\u53e3|\\u62df\\u5b8c\\u5584\\u529f\\u80fd\\u5305|%s' "$TD_WORD")"; rg -n "$STALE_W4_PATTERN" work/working4/README.md work/working4/01-function-content.md work/working4/02-program-development-steps.md work/working4/04-task-matrix.md work/working4/05-acceptance-evidence.md work/working4/07-final-closure.md
|
||
node -e "const r=JSON.parse(require('fs').readFileSync('qa/web-rtcp-5axis-site-test/output/gmoccapy-xyzab-function-report.json','utf8')); if(r.status!=='PASS') process.exit(1); console.log(r.jobId, r.reportId, r.status, r.steps.length, r.checks.length)"
|
||
npm --prefix web-rtcp-5axis-sim-plan/app run build
|
||
npm --prefix web-rtcp-5axis-sim-plan/app run smoke:node
|
||
bash web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_shell_browser.sh
|
||
bash web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_dist_browser.sh
|
||
node qa/web-rtcp-5axis-site-test/capture-gmoccapy-xyzab-function-cases.mjs
|
||
git diff --check -- web-rtcp-5axis-sim-plan qa/web-rtcp-5axis-site-test work/working4
|
||
```
|
||
|
||
结果:
|
||
|
||
- 未发现未完成 W4 任务行。
|
||
- 当前状态文档未发现规划阶段残留关键词。
|
||
- `npm --prefix web-rtcp-5axis-sim-plan/app run build` 返回 0,输出 `gmoccapy_static_build=ok`。
|
||
- `npm --prefix web-rtcp-5axis-sim-plan/app run smoke:node` 返回 0,覆盖既有 smoke 和新增 gmoccapy_XYZAB profile/icon/communication/HAL/gate smoke。
|
||
- gmoccapy shell browser smoke 返回 `gmoccapy_shell_smoke=ok`。
|
||
- dist browser smoke 返回 `gmoccapy_dist_smoke=ok`。
|
||
- QA capture 返回 `gmoccapy_xyzab_function_status=PASS`,最新 `job_id=xyzab-20260626214346-f4b4aa36`,`report_id=report-xyzab-20260626214346-f4b4aa36`,生成 JSON、PDF 和 6 张截图。
|
||
- `git diff --check -- web-rtcp-5axis-sim-plan qa/web-rtcp-5axis-site-test work/working4` 返回 0。
|
||
|
||
遗留问题:
|
||
|
||
- 无新的 `working4` 剩余任务。
|
||
- 保留既定边界:`gmoccapy-xyzab` 是 `trivkins` reference-only profile,不证明 TCP/RTCP 或 native LinuxCNC realtime 执行。
|
||
|
||
下一步:
|
||
|
||
- 当前无需继续执行;后续新增需求先在 `04-task-matrix.md` 新增任务编号,并同步更新 `05-acceptance-evidence.md` 和 `07-final-closure.md`。
|
||
|
||
## 3. 后续追加模板
|
||
|
||
### W4-XXX
|
||
|
||
日期:
|
||
|
||
目标:
|
||
|
||
做了什么:
|
||
|
||
改了哪些文件:
|
||
|
||
```text
|
||
|
||
```
|
||
|
||
验证了什么:
|
||
|
||
```bash
|
||
|
||
```
|
||
|
||
结果:
|
||
|
||
遗留问题:
|
||
|
||
下一步:
|