结论:完成 evidence-ready / inventory-ready 双层 promotion candidate 管理,release/SDK gate 已纳入 virtual HAL promotion summary,baseline 保持 28/28/131/0,Python remap、tool DB、external user-M hard block 继续 locked。
203 lines
6.1 KiB
Plaintext
203 lines
6.1 KiB
Plaintext
项目接续文件:按铁律收束当前阶段 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 管理。
|
||
```
|