Files
cnc_wams/textbak/text38.txt
wangdequan 626bcfe8e3 继续完成 web-rtcp-5axis-sim-plan
结论:完成 LinuxCNC kinematics WASM ABI 覆盖,并将 web-rtcp-5axis-sim-plan 的 RTCP frame/boundary adapter 接到 xyzac-trt kinematics SDK;Node、build、browser smoke 验证通过。
2026-06-21 16:44:29 +08:00

380 lines
9.6 KiB
Plaintext
Raw Permalink 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.
text38.txt
一、接续说明
执行时间2026-06-20 CST
本文件专门关闭下面这个问题:
```text
剩余 77 个 SKIP 中哪些是真正可 promotion 的 main-program row
```
结论不是“还要继续逐条找”,而是:
```text
当前没有可直接 promotion 的 skipped main-program row。
baseline 不能继续因为这 77 个 SKIP 而变化。
```
本文件的作用是把该结论整理成可执行、可复查、可防回归的方法,供后续接续时直接引用,
避免下一轮再次重复总复核。
二、已确认事实
当前 inventory baseline 已重新生成并复核:
```text
sim_configs_wasm_node_inventory_executed=82
sim_configs_wasm_node_inventory_passed=82
sim_configs_wasm_node_inventory_skipped=77
sim_configs_wasm_node_inventory_unexpected_fail=0
```
77 个 SKIP 的构成已经固定为:
```text
ASSET-ONLY=65
L4-USER-M-PROCESS=1
NON_MAIN_CLASS=10
UPSTREAM-DEMO=1
```
其中真正 `class=main` 的 skipped row 只有 2 个:
```text
axis/vismach/millturn/example.ngc
axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition_g533.ngc
```
这 2 个 row 当前均为:
```text
promotion_allowed=0
promotion_ready=0
```
因此最终判定:
```text
remaining_skip_count=77
remaining_skipped_main_program_rows=2
remaining_skipped_main_program_promotion_allowed=0
direct_inventory_promotion_rows=0
baseline_change_allowed=no
```
三、问题关闭判定
该问题已经完全解决,理由如下:
```text
1. 审计对象已经限定:
只检查 current_status=SKIP 且 class=main 的 row。
2. 审计数据已经落盘:
remaining-skip-main-program-promotion-audit.tsv 已生成并被 docs smoke 检查。
3. 审计结果已经闭环:
当前只有 2 个 skipped main-program row且 promotion_allowed 全部为 0。
4. 非 main-program SKIP 已排除:
ASSET-ONLY=65 和 NON_MAIN_CLASS=10 不能伪装成 standalone main-program PASS。
5. blocked runtime / invalid upstream demo 已排除:
L4-USER-M-PROCESS 缺 promotion proof
UPSTREAM-DEMO 缺有效 motion G-code
两者都不能直接 promotion。
```
所以后续不应再把“复核 77 个 SKIP 哪些可 promotion”当作开放任务。
四、逐类处理方法
1. ASSET-ONLY=65
处理规则:
```text
不 promotion。
不计入 standalone main-program promotion 候选。
不为了降低 SKIP 数量改成 PASS。
```
原因:
```text
这些 row 是 source asset / dependency / support file不是可独立运行的 main-program。
即使它们对某个 PASS row 有贡献,也只能作为 source coverage 或 evidence dependency
不能独立改变 inventory PASS baseline。
```
允许后续动作:
```text
1. 作为已 PASS row 的 evidence dependency 引用;
2. 在 diagnostics/release artifact 中展示 source coverage
3. 不改变 current_status=SKIP 的 inventory 语义。
```
2. NON_MAIN_CLASS=10
处理规则:
```text
不 promotion。
不重分类为 main除非 LinuxCNC source / inventory classifier 明确变化。
不作为 baseline promotion 候选。
```
原因:
```text
这些 row 不是 standalone main-program class。
promotion 的目标是可作为主程序执行并被 Node/WASM/browser proof 覆盖的 row。
```
允许后续动作:
```text
1. 保持分类;
2. 如果 classifier 规则改变,先重跑 inventory 并检查 drift
3. 只有 class 真实变为 main 后,才进入 skipped main-program audit。
```
3. L4-USER-M-PROCESS=1
对应 row
```text
axis/vismach/millturn/example.ngc
```
当前状态:
```text
class=main
skip_kind=L4-USER-M-PROCESS
native_status=PASS
simulation_proof_status=ready_disabled_by_default:native=0:node=0:browser=0
promotion_allowed=0
```
处理规则:
```text
当前不 promotion。
Web/virtual HAL 状态 proof 只能证明页面和虚拟 HAL 仿真链路可展示相关状态,
不能替代 external user-M arbitrary process execution 的 runtime promotion proof。
```
要让它未来可重新进入 promotion 讨论,必须先满足:
```text
1. native opt-in runtime probe 真正通过;
2. millturn_user_m_runtime_probe_status=runtime_state_probe_passed
3. execution gate 有明确 artifact 证明;
4. Node inventory promotion gate 重新计算后给出 promotion_allowed=1
5. browser/host proof 补齐;
6. manual promotion lock review 明确放行。
```
在这些条件满足前,禁止动作:
```text
1. 禁止仅凭 virtual HAL proof 改 PASS
2. 禁止仅凭 native_status=PASS 改 PASS
3. 禁止手写 promotion_allowed=1
4. 禁止把 baseline 从 82/82/77/0 往前推。
```
4. UPSTREAM-DEMO=1
对应 row
```text
axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition_g533.ngc
```
当前状态:
```text
class=main
skip_kind=UPSTREAM-DEMO
native_status=FAIL
native_expected_failure=upstream-demo-missing-motion-gcode
promotion_allowed=0
```
处理规则:
```text
当前不 promotion。
不能为了 baseline 变化修补或替换 LinuxCNC upstream demo 的语义。
```
允许后续动作:
```text
1. 保留为 upstream invalid/demo edge
2. 在 docs 中说明它不是可执行 motion main-program
3. 如果 upstream source 将来修复,先更新 vendor source再重跑 inventory
4. 只有 native/WASM/browser proof 全部重算后,才允许重新评估。
```
五、以后如何复查而不重做总复核
后续如果有人再次问“77 个 SKIP 中还有没有可 promotion main-program row”
不要重新从 77 行人工审起,按下面方法复查即可。
第一步:重新生成 inventory artifact
```bash
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
```
第二步:只看两个关键 artifact
```text
wasm-port/build/wasm/sim-configs-inventory/skip-summary.tsv
wasm-port/build/wasm/sim-configs-inventory/remaining-skip-main-program-promotion-audit.tsv
```
第三步:确认 skip summary 是否仍为当前结构
期望:
```text
ASSET-ONLY=65
L4-USER-M-PROCESS=1
NON_MAIN_CLASS=10
UPSTREAM-DEMO=1
```
如果一致,则不重开问题。
第四步:确认 audit 行数和 promotion_allowed
期望:
```text
remaining-skip-main-program-promotion-audit.tsv 只有 2 行;
两行 class=main
两行 promotion_allowed=0
两行 promotion_ready=0
路径分别是:
axis/vismach/millturn/example.ngc
axis/vismach/5axis/table-rotary_spindle-rotary-nutating/demos/incremental_repetition_g533.ngc
```
如果一致,则结论仍是:
```text
direct_inventory_promotion_rows=0
baseline_change_allowed=no
```
六、允许重开问题的唯一条件
只有出现以下任一 drift才允许重开“剩余 SKIP promotion”问题
```text
1. remaining-skip-main-program-promotion-audit.tsv 行数不再是 2
2. audit 中出现新的 class=main skipped row
3. 任一 audit row 的 promotion_allowed 变为 1
4. 任一 audit row 的 promotion_ready 变为 1
5. skip-summary.tsv 的四类计数发生变化;
6. L4-USER-M-PROCESS native opt-in runtime probe 变为 runtime_state_probe_passed
7. UPSTREAM-DEMO row 的 native_expected_failure 不再是 upstream-demo-missing-motion-gcode
8. inventory classifier 明确改变了 ASSET-ONLY 或 NON_MAIN_CLASS 的 class 语义。
```
如果没有这些 drift禁止重新打开总复核。
七、推荐验证命令
关闭该问题时的最小验证:
```bash
git diff --check
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
wasm-port/tests/docs/node/verify_sim_configs_coverage_docs.sh
```
如果后续涉及 release / browser evidence还应追加
```bash
wasm-port/tests/sdk/node/verify_sdk_surface.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_real_simulation_browser.sh
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
```
如果后续专门尝试 L4-USER-M-PROCESS promotion proof还应追加
```bash
bash wasm-port/tests/native/probe_millturn_user_m_runtime.sh
wasm-port/tests/native/verify_native_probes.sh
```
但这些 native probe 只有在明确选择 L4-USER-M-PROCESS runtime 主线时才需要跑,
不作为当前 77 SKIP 问题关闭的必要条件。
八、后续工作分流
该问题关闭后,后续只能走两条线之一。
第一条:继续当前 smoke 收尾
```text
目标:
继续收敛 real_simulation_page_smoke.html 中 review/statusbar/external-shell
相关重复断言。
边界:
不改 inventory baseline
不改 diagnostics artifact schema
不改 release artifact schema
不重开 77 SKIP 总复核。
```
第二条:切回 promotion 主线
promotion 主线不能从“77 个 SKIP 里继续找”开始,而应二选一:
```text
1. L4-USER-M-PROCESS runtime proof
先解决 native opt-in runtime probe
目标是 runtime_state_probe_passed
通过后再进入 inventory promotion gate。
2. 已 PASS row evidence expansion
继续扩展 browser diagnostics / release evidence
优先选择 current_status=PASS 且已有 matrix/browser REP 基础的 row
不改变 inventory baseline=82/82/77/0。
```
九、最终接续结论
本问题的最终处理口径:
```text
不要继续尝试把剩余 77 个 SKIP 直接改 PASS。
当前没有可直接 promotion 的 skipped main-program row。
baseline 保持 82/82/77/0。
后续只有 audit drift 或 runtime proof drift 出现时,才允许重开 promotion 评估。
```
下一轮如果继续做当前实际工作,优先接:
```text
text37.txt 中列出的 real_simulation_page_smoke.html
review/statusbar/external-shell badge 重复断言收尾。
```
下一轮如果切回 promotion优先接
```text
L4-USER-M-PROCESS native opt-in runtime probe
而不是重新复核 77 个 SKIP。
```