继续完成 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 验证通过。
This commit is contained in:
2026-06-21 16:44:29 +08:00
parent a6eda3fbff
commit 626bcfe8e3
101 changed files with 101586 additions and 770 deletions

202
textbak/text22.txt Normal file
View File

@@ -0,0 +1,202 @@
项目接续文件:按铁律收束当前阶段 promotion 工作
生成时间2026-06-18 CST
本文件接替 `text19.txt`,并对 `text20.txt` / `text21.txt` 做范围收束。当前阶段铁律为:
```text
virtual HAL 成果作为 sim config promotion 证据基础;
同时明确不解锁 Python remap / tool DB / external user-M 这些 hard block。
```
一、当前阶段完成定义
当前阶段要完成的是 evidence-based promotion不是 hard-block runtime 解锁。
允许做:
- 复用 virtual HAL source compliance
- 复用 virtual HAL sim-config source coverage
- 复用 virtual HAL promotion candidate report
- 复用 macro/load fixture report
- 复用 command script fixture report
- 复用 manifest-backed motion controller matrix
- 复用 browser diagnostics artifact
- 复用 release readiness / URL workflow / batch acceptance evidence
- 生成并维护 `promotion-candidates.tsv`,把候选分为:
- `evidence-ready`
- `inventory-ready`。
禁止做:
- 不新增 virtual HAL runtime capability
- 不用 virtual HAL 替代 LinuxCNC CNC 语义;
- 不用 JS/browser glue 解锁 Python remap
- 不用 JS/browser glue 解锁 tool DB
- 不用 JS/browser glue 解锁 external user-M process
- 不把 `.tbl` fallback 当作 tool DB pass
- 不把 macro/load asset 当 standalone main program
- 不靠改 docs 声称 skipped 下降。
二、当前 hard block 状态
以下 hard block 在当前阶段必须保持 locked
```text
L4-PYTHON-REMAP
L4-TOOL-DB
L4-USER-M-PROCESS
UPSTREAM-DEMO
standalone-main 语境下的 ASSET-ONLY
```
当前 skip/block summary 仍保持:
```text
ASSET-ONLY=65
L4-PYTHON-REMAP=53
L4-TOOL-DB=1
L4-USER-M-PROCESS=1
NON_MAIN_CLASS=10
UPSTREAM-DEMO=1
```
三、当前 baseline 必须保持
当前阶段完成后Node inventory baseline 仍应为:
```text
executed=28
passed=28
skipped=131
unexpected_fail=0
```
这不是失败而是当前铁律下的正确结果virtual HAL 已把一批可用 sim config row 推进到
browser diagnostics / release evidence 层,但没有解锁 hard runtime family。
四、当前已完成的 evidence-ready promotion
`promotion-candidates.tsv` 中必须包含以下 `evidence-ready` rows
- `qtdragon/qtdragon_multi_joint/on_abort.ngc`
- `qtdragon/qtdragon_xyz/on_abort.ngc`
- `qtdragon/qtdragon_xyz45/on_abort.ngc`
- `qtdragon_hd/qtdragon_hd_xyz/on_abort.ngc`
- `qtdragon_hd/qtdragon_hd_z_compensation/on_abort.ngc`
- `qtvcp_screens/qtdragon/on_abort.ngc`
- `axis/vismach/puma/puma_seam_weld.ngc`
- `axis/rose_engine/rcone_demo.ngc`
这些 rows 的语义:
```text
current_status=PASS
skip_kind=-
matrix_layer4_node=INV
matrix_layer4_browser=-
blocked_kind=-
virtual_hal_evidence_ready=1
promotion_allowed=0
block_reason=browser_release_evidence_ready_inventory_baseline_unchanged
```
`promotion_allowed=0` 是有意的:这些 row 已有 browser/release evidence但不代表
inventory baseline 发生变化。
五、当前 inventory-ready hard block rows
`promotion-candidates.tsv` 中也会列出 `inventory-ready` 类型的 skipped main rows。
这些行用于后续分析,不代表当前可解锁。
当前直接 inventory promotion 必须保持:
```text
promotion_allowed=0
```
原因:
- `L4-PYTHON-REMAP` 需要 LinuxCNC Python remap runtime
- `L4-TOOL-DB` 需要 tool database process protocol proof
- `L4-USER-M-PROCESS` 需要 external user-M process state proof
- `UPSTREAM-DEMO` 是 preserved upstream demo edge。
六、text20 / text21 的范围解释
`text20.txt` 和 `text21.txt` 只作为未来解锁研究记录:
- `text20.txt`future tool DB native/runtime 解锁步骤;
- `text21.txt`future WASM + OPFS tool DB feasibility architecture。
它们不改变当前阶段铁律,不允许在当前阶段据此把 `L4-TOOL-DB` 解锁。
当前阶段若引用 `text20.txt` / `text21.txt`,只能作为:
- future milestone planning
- risk analysis
- architecture note
- blocked family proof requirement。
不能作为:
- 当前 baseline promotion 依据;
- 当前 release ready 的解锁依据;
- 当前 browser diagnostics positive pass 的替代证据。
七、当前阶段验收标准
当前阶段完成需要满足:
1. `promotion-candidates.tsv` 存在;
2. `promotion-candidates.tsv` 同时包含 `evidence-ready` 和 `inventory-ready` 两层;
3. `evidence-ready` rows 绑定 virtual HAL source-derived browser/release evidence
4. `inventory-ready` hard block rows 仍 `promotion_allowed=0`
5. baseline 保持 `28/28/131/0`
6. `L4-PYTHON-REMAP`、`L4-TOOL-DB`、`L4-USER-M-PROCESS` 仍 locked
7. docs 明确 artifact count 和 candidate report
8. release / SDK gate 仍要求 virtual HAL promotion candidate summary
9. 不新增 virtual HAL runtime capability
10. 不新增 JS-owned CNC semantics。
八、已验证命令
当前阶段最小验证命令:
```text
git diff --check
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
wasm-port/tests/sdk/node/verify_sdk_surface.sh
wasm-port/tests/sdk/node/verify_project_release_gate_manifest.sh
```
预期 inventory 输出:
```text
sim_configs_wasm_node_inventory_executed=28
sim_configs_wasm_node_inventory_passed=28
sim_configs_wasm_node_inventory_skipped=131
sim_configs_wasm_node_inventory_unexpected_fail=0
sim_configs_wasm_node_inventory=ok
```
九、下一步建议
下一步不要直接解锁 hard block。按当前铁律优先做
1. 扩展 `evidence-ready` browser diagnostics 展示;
2. 强化 release URL workflow 对 promotion candidate summary 的可见性;
3. 对 `blocked=-`、native `PASS`、class `main` 的非 hard-block family 继续找可真实 promotion row
4. 对 Python remap / tool DB / external user-M 只维护 proof requirement 和 lock artifact
5. 如果要解锁 tool DB、Python remap 或 external user-M必须另开 milestone不能混入当前阶段。
十、简要结论
当前阶段已经按铁律完成:
```text
virtual HAL 成果作为 sim config promotion 证据基础;
Python remap / tool DB / external user-M hard block 不解锁;
baseline 保持 28/28/131/0
promotion candidates 进入双层 evidence-ready / inventory-ready 管理。
```