新增 text14 接续执行计划

This commit is contained in:
2026-06-15 21:03:15 +08:00
parent 1a863fa0b4
commit b51ff3415a

221
text14.txt Normal file
View File

@@ -0,0 +1,221 @@
项目整体完成情况与后续执行计划
生成时间2026-06-15 CST
本文件接替 `text13.txt`。后续工作按 `text14.txt` 执行;除非明确要求审计旧记录,
不要再回到 `text1/text2/text3/text4/text5/text6/text7/text8/text9/text10/text11/text12/text13`
扩展进度。`text13.txt` 作为历史归档保留。
一、第一原则:继续加快实质性推进
后续批次仍必须以“实质性能力优先”为第一遵守原则。
1. 优先级从高到低:
- OPFS/session persistence
- SDK/API surface
- browser/UI workflow
- sim config coverage promotion
- host/runtime boundary proof
- 文档化可执行工作流。
2. 每批默认应产出至少一种可直接复用的能力:
- 可调用 helper
- 可复用 API
- 可验证用户流程;
- 可执行 gate
- 可提升覆盖面的 runtime boundary proof
- 能直接指导下一步实现的设计/清单。
3. 暂停低收益推进:
- 不再把“局部常量化、路径变量收敛、断言分组整理”作为主目标;
- 只有当它支撑可复用 workflow/API/gate 时,才允许做测试胶水;
- 禁止为了推进而扩大 CNC 语义边界;
- 禁止启动性能测试,除非已有明确用户流程需要性能基线。
4. LinuxCNC 仍是唯一 CNC 语义来源:
- G-code、remap、tool、parameter、planner、kinematics、user-M、tool DB、Python remap
等语义必须来自 LinuxCNC upstream 或 vendored LinuxCNC C/C++/配置/脚本源码;
- JS/browser 只允许做 build、source sync、runtime shim、filesystem staging、OPFS、
WASM/browser boundary、测试胶水、文档和机器可读 gate/artifact
- 不在 JS 中重写 G-code 或 CNC 语义;
- 不修改 vendored LinuxCNC 源文件来让测试通过;
- 不把 full-process/HAL/UI/Python/tool DB 依赖伪装成 standalone pass
- 不把 expected failure 硬改成 pass除非已有 LinuxCNC-owned runtime proof并且
native、Node、browser gate 都按顺序通过;
- browser 不能依赖目录枚举。
二、续接状态与防重规则
1. 当前续接点。
`text13.txt` 已推进到:
```text
十九、2026-06-15 继续执行记录INI panel workflow overview embedding mount render-state
```
本文件从 `text14.txt` 重新开始记录后续进度。
2. 每轮开始前必须先执行:
```bash
git status --short
git log -5 --oneline
tail -n 120 text14.txt
awk '/^[一二三四五六七八九十百]+、/ {print}' text14.txt | sort | uniq -d
```
执行规则:
- 如果 `git status --short` 是 clean且最新提交已经包含当前建议工作不要重复追加记录
- 每轮只追加一个新的中文编号记录;
- 提交前再次检查标题唯一性;
- `text14.txt` 只记录新的后续进度,不复制 `text13.txt` 的长历史;
- 每批完成后,如果要写记录,先写 `text14.txt`,再提交该批代码和记录;
- 如果发现重复记录,先做 dedupe 清理并提交,再继续新功能或新 guard
- `text13.txt` 不再追加新进度,除非明确要求审计或修正历史记录。
三、当前完成情况摘要
1. 当前工作树状态。
切换到 `text14.txt` 时工作树为 clean。
2. 最近提交:
```text
1a863fa 推进 INI 面板 workflow overview embedding mount render state
fc9e6a3 推进 INI 面板 workflow overview embedding mount display
83df80d 推进 INI 面板 workflow overview embedding mount result
75f71c2 推进 INI 面板 workflow overview embedding DOM renderer
6856721 推进 INI 面板 workflow overview embedding DOM readiness
3cfd4b3 推进 INI 面板 workflow overview embedding DOM contract
f70fc09 推进 INI 面板 workflow overview embedding render-state
4fdbadd 推进 INI 面板 workflow overview embedding display view-model
```
3. 关键基线保持稳定。
- `linuxcnc/nc_files` native Layer 1
- `total 107`
- `pass 101`
- `expected_fail 6`
- `unexpected_fail 0`
- `linuxcnc/configs/sim` native Layer 2
- `total 159`
- `pass 151`
- `expected_fail 8`
- `unexpected_fail 0`
- Node sim-config inventory
- `executed=28`
- `passed=28`
- `skipped=131`
- `unexpected_fail=0`
4. blocked runtime family 仍未 promotion。
仍 blocked不允许 promotion
- `L4-USER-M-PROCESS`
- `L4-TOOL-DB`
- `L4-PYTHON-REMAP`
当前 host 仍按缺少 LinuxCNC host runtime 处理,不执行任何:
```bash
ENABLE_MILLTURN_USER_M_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_millturn_user_m_runtime.sh
ENABLE_TOOL_DB_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_tool_db_runtime.sh
ENABLE_PYTHON_REMAP_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_python_remap_runtime.sh
```
四、当前实质能力进展
1. INI panel/UI helper 能力。
当前 UI helper 已覆盖:
- run summary
- run workflow
- session snapshot summary
- session load summary
- machine file save/load summary
- panel state summary
- session snapshot save/restore workflow
- entry manifest、launcher link view-model、shell view-model
- read-only control-page controller
- read-only control-page refresh workflow
- read-only control-page session readiness workflow
- shell integration readiness、workflow plan、session handoff summary
- shell session handoff summary schema、compatibility report、display view-model、snapshot
- shell handoff package、package report、package display/render state
- shell handoff package mount state、mount display/render state
- shell handoff mount DOM contract、DOM readiness、renderer、mount workflow
- shell handoff workflow summary、display/render state、DOM contract/readiness、renderer、mount workflow
- workflow overview surface
- workflow overview embedding report、display view-model、render-state
- workflow overview embedding DOM contract、DOM readiness、renderer
- workflow overview embedding mount workflow result、mount display view-model、mount render-state。
当前聚合验证入口:
```bash
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
```
2. Browser/UI workflow 验证。
当前 browser INI panel smoke 覆盖真实 OPFS/session persistence workflow、control page、
workflow overview surface 与外部 shell workflow
```bash
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh
```
关键输出:
```text
browser_ini_opfs_smoke=ok
browser_ini_control_page_smoke=ok
browser_ini_launch_smoke=ok
browser_ini_workflow_overview_smoke=ok
browser_ini_shell_integration_workflow_smoke=ok
```
五、当前必须保持通过的验证入口
每批后续改动至少运行:
```bash
git diff --check
wasm-port/tools/verify_vendor_sync.sh
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
wasm-port/tests/host/verify_host_smokes.sh
```
如果涉及 browser interpreter smoke再运行
```bash
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
```
涉及 native baseline 或大范围 source/staging 改动时,再运行:
```bash
wasm-port/tests/native/verify_nc_files.sh
wasm-port/tests/native/verify_sim_configs.sh
```
六、下一步建议
继续推进 browser/UI workflow。下一批建议新增只读
`createIniPanelShellWorkflowOverviewEmbeddingMountDomContract()` 或等价 helper为 mount render-state
定义 mount/status/rows selectors、dataset keys 与 render-result fields给后续 DOM readiness 和 renderer
提供稳定契约;仍保持只读,不新增控制按钮,不解析 G-code。