切换后续记录到 text15
This commit is contained in:
@@ -3,12 +3,12 @@
|
|||||||
Last updated: 2026-06-16 CST
|
Last updated: 2026-06-16 CST
|
||||||
|
|
||||||
This file tracks the overall completion state of the LinuxCNC WASM/browser port.
|
This file tracks the overall completion state of the LinuxCNC WASM/browser port.
|
||||||
Use it for project-level status and acceptance tracking. Use `text14.txt` for
|
Use it for project-level status and acceptance tracking. Use `text15.txt` for
|
||||||
turn-by-turn continuation notes and next-batch execution records.
|
turn-by-turn continuation notes and next-batch execution records.
|
||||||
|
|
||||||
## Current Status
|
## Current Status
|
||||||
|
|
||||||
- Active continuation file: `text14.txt`
|
- Active continuation file: `text15.txt`
|
||||||
- Latest completed batch: project release artifact URL workflow action-plan SDK API
|
- Latest completed batch: project release artifact URL workflow action-plan SDK API
|
||||||
- Latest relevant commit: use `git log -1 --oneline` after each committed batch
|
- Latest relevant commit: use `git log -1 --oneline` after each committed batch
|
||||||
- Working tree at tracker creation: clean
|
- Working tree at tracker creation: clean
|
||||||
@@ -30,7 +30,7 @@ The project is complete for the current scope when all of the following are true
|
|||||||
- Host/runtime blocked families are explicitly documented and not falsely promoted.
|
- Host/runtime blocked families are explicitly documented and not falsely promoted.
|
||||||
- All required gates pass.
|
- All required gates pass.
|
||||||
- Documentation explains what is supported, blocked, and how to verify it.
|
- Documentation explains what is supported, blocked, and how to verify it.
|
||||||
- `text14.txt` contains the final completion record and the working tree is clean.
|
- `text15.txt` contains the current continuation record and the working tree is clean.
|
||||||
|
|
||||||
## Area Status
|
## Area Status
|
||||||
|
|
||||||
@@ -76,9 +76,9 @@ Execute these in order unless a later user request explicitly changes priority.
|
|||||||
|
|
||||||
Current next task:
|
Current next task:
|
||||||
|
|
||||||
- No required work remains for the current scope. Future work should start from
|
- Current scope is complete for the established release baseline. Continue future
|
||||||
a new scope request or from a real LinuxCNC host runtime becoming available
|
work from `text15.txt`, and keep each batch tied to a callable API, verifiable
|
||||||
for the blocked runtime families.
|
workflow, executable gate, or real UI/browser capability.
|
||||||
|
|
||||||
Then complete the closure:
|
Then complete the closure:
|
||||||
|
|
||||||
@@ -194,7 +194,7 @@ Work items:
|
|||||||
Completion criteria:
|
Completion criteria:
|
||||||
|
|
||||||
- A new developer can run validation from README/docs without reading old
|
- A new developer can run validation from README/docs without reading old
|
||||||
`text1` through `text13`.
|
`text1` through `text14`.
|
||||||
- `project_release_handoff_docs_node_smoke=ok` is included in the host
|
- `project_release_handoff_docs_node_smoke=ok` is included in the host
|
||||||
aggregate gate.
|
aggregate gate.
|
||||||
|
|
||||||
@@ -236,7 +236,7 @@ wasm-port/tests/native/verify_sim_configs.sh
|
|||||||
## Final Acceptance Checklist
|
## Final Acceptance Checklist
|
||||||
|
|
||||||
- [x] Working tree is clean.
|
- [x] Working tree is clean.
|
||||||
- [x] Latest `text14.txt` record says the project is complete for current scope.
|
- [x] Latest continuation state has moved to `text15.txt`.
|
||||||
- [x] `git diff --check` passes.
|
- [x] `git diff --check` passes.
|
||||||
- [x] Vendor sync guard passes.
|
- [x] Vendor sync guard passes.
|
||||||
- [x] Standalone CNC semantics guard passes.
|
- [x] Standalone CNC semantics guard passes.
|
||||||
|
|||||||
301
text15.txt
Normal file
301
text15.txt
Normal file
@@ -0,0 +1,301 @@
|
|||||||
|
项目整体完成情况与后续执行计划
|
||||||
|
|
||||||
|
生成时间:2026-06-16 CST
|
||||||
|
|
||||||
|
本文件接替 `text14.txt`。后续工作按 `text15.txt` 执行;除非明确要求审计旧记录,
|
||||||
|
不要再回到 `text1/text2/text3/text4/text5/text6/text7/text8/text9/text10/text11/text12/text13/text14`
|
||||||
|
扩展进度。`text14.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. 当前续接点。
|
||||||
|
|
||||||
|
`text14.txt` 已推进到:
|
||||||
|
|
||||||
|
```text
|
||||||
|
五十六、2026-06-16 继续执行记录:project release artifact URL workflow action-plan SDK API
|
||||||
|
```
|
||||||
|
|
||||||
|
该批已提交:
|
||||||
|
|
||||||
|
```text
|
||||||
|
e11c295 新增 release artifact URL workflow action plan API
|
||||||
|
```
|
||||||
|
|
||||||
|
本文件从 `text15.txt` 重新开始记录后续进度。
|
||||||
|
|
||||||
|
2. 每轮开始前必须先执行:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git status --short
|
||||||
|
git log -5 --oneline
|
||||||
|
tail -n 120 text15.txt
|
||||||
|
awk '/^[一二三四五六七八九十百]+、/ {print}' text15.txt | sort | uniq -d
|
||||||
|
```
|
||||||
|
|
||||||
|
执行规则:
|
||||||
|
|
||||||
|
- 如果 `git status --short` 是 clean,且最新提交已经包含当前建议工作,不要重复追加记录;
|
||||||
|
- 每轮只追加一个新的中文编号记录;
|
||||||
|
- 提交前再次检查标题唯一性;
|
||||||
|
- `text15.txt` 只记录新的后续进度,不复制 `text14.txt` 的长历史;
|
||||||
|
- 每批完成后,如果要写记录,先写 `text15.txt`,再提交该批代码和记录;
|
||||||
|
- 如果发现重复记录,先做 dedupe 清理并提交,再继续新功能或新 guard;
|
||||||
|
- `text14.txt` 不再追加新进度,除非明确要求审计或修正历史记录。
|
||||||
|
|
||||||
|
三、当前完成情况摘要
|
||||||
|
|
||||||
|
1. 当前工作树状态。
|
||||||
|
|
||||||
|
切换到 `text15.txt` 前已确认:
|
||||||
|
|
||||||
|
```text
|
||||||
|
git status --short: clean
|
||||||
|
```
|
||||||
|
|
||||||
|
当前最近提交:
|
||||||
|
|
||||||
|
```text
|
||||||
|
e11c295 新增 release artifact URL workflow action plan API
|
||||||
|
b7ec759 新增 release artifact URL workflow SDK gate
|
||||||
|
bee0500 新增 release artifact URL workflow summary API
|
||||||
|
9015de1 新增 release artifact URL workflow SDK API
|
||||||
|
d789920 新增 release artifact JSON workflow API
|
||||||
|
640f1e4 新增 release artifact validation action plan API
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 关键基线保持稳定。
|
||||||
|
|
||||||
|
- `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`
|
||||||
|
|
||||||
|
3. 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. SDK/API surface 能力。
|
||||||
|
|
||||||
|
当前 SDK 已覆盖:
|
||||||
|
|
||||||
|
- LinuxCNC-backed INI/interpreter SDK;
|
||||||
|
- OPFS/session persistence path、file、snapshot、machine-file、parameter、tool-table、session readiness/load helpers;
|
||||||
|
- sim-config staging 和 host runtime boundary classifier;
|
||||||
|
- project release gate manifest;
|
||||||
|
- project release gate result matrix;
|
||||||
|
- project release gate action-plan;
|
||||||
|
- project release readiness report;
|
||||||
|
- project release readiness summary view-model;
|
||||||
|
- project release readiness artifact parse/validation;
|
||||||
|
- artifact validation summary view-model;
|
||||||
|
- artifact validation action-plan;
|
||||||
|
- artifact JSON non-throwing workflow;
|
||||||
|
- artifact URL non-throwing workflow;
|
||||||
|
- artifact URL workflow summary view-model;
|
||||||
|
- artifact URL workflow action-plan;
|
||||||
|
- INI panel entry/launcher/control-page/shell/workflow overview helpers;
|
||||||
|
- shell session readiness workflow report;
|
||||||
|
- shell API surface inventory。
|
||||||
|
|
||||||
|
当前 SDK 聚合验证入口:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
wasm-port/tests/sdk/node/verify_sdk_surface.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
关键输出:
|
||||||
|
|
||||||
|
```text
|
||||||
|
sdk_surface_node_smoke=ok
|
||||||
|
project_release_gate_manifest_node_smoke=ok
|
||||||
|
project_release_artifact_url_workflow_node_smoke=ok
|
||||||
|
```
|
||||||
|
|
||||||
|
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
|
||||||
|
```
|
||||||
|
|
||||||
|
当前 release artifact URL browser workflow gate:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_release_artifact_url_workflow_browser.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
关键输出:
|
||||||
|
|
||||||
|
```text
|
||||||
|
browser_release_artifact_url_workflow_smoke=ok
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Project release gate wrapper。
|
||||||
|
|
||||||
|
当前顶层 release gate:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
wasm-port/tests/host/verify_project_release_gate.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
该 wrapper 已显式运行:
|
||||||
|
|
||||||
|
- `git diff --check`;
|
||||||
|
- vendor sync guard;
|
||||||
|
- standalone CNC semantics guard;
|
||||||
|
- interpreter WASM Node smoke;
|
||||||
|
- sim-config inventory;
|
||||||
|
- INI panel browser smoke;
|
||||||
|
- release artifact URL browser workflow smoke;
|
||||||
|
- UI Node smokes;
|
||||||
|
- SDK release artifact URL workflow gate;
|
||||||
|
- host aggregate smoke;
|
||||||
|
- release readiness artifact writer;
|
||||||
|
- release readiness artifact validator。
|
||||||
|
|
||||||
|
关键输出:
|
||||||
|
|
||||||
|
```text
|
||||||
|
project_release_artifact_url_workflow_node_smoke=ok
|
||||||
|
host_wasm_opfs_browser_smokes=ok
|
||||||
|
project_release_readiness_artifact_node_smoke=ok
|
||||||
|
project_release_gate=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
|
||||||
|
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_release_artifact_url_workflow_browser.sh
|
||||||
|
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
|
||||||
|
wasm-port/tests/host/verify_host_smokes.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
建议每批也运行当前顶层 wrapper:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
wasm-port/tests/host/verify_project_release_gate.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
若只改 SDK release readiness URL workflow,可先 targeted:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
wasm-port/tests/sdk/node/verify_project_release_artifact_url_workflow.sh
|
||||||
|
wasm-port/tests/sdk/node/verify_sdk_surface.sh
|
||||||
|
wasm-port/tests/docs/node/verify_project_release_handoff_docs.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
|
||||||
|
```
|
||||||
|
|
||||||
|
六、下一步建议
|
||||||
|
|
||||||
|
继续只做实质能力推进。优先选择可执行 gate、SDK/API surface、或真实 browser workflow;
|
||||||
|
不要做只整理断言或局部常量化的批次。
|
||||||
|
|
||||||
|
可选下一批方向:
|
||||||
|
|
||||||
|
- 把 project release readiness URL workflow 的 action-plan 或 summary 进一步暴露到 browser
|
||||||
|
workflow overview API;
|
||||||
|
- 增加 machine-readable release gate execution manifest/artifact,供外部 CI 展示每个 gate 的
|
||||||
|
command、expected output、observed output 和 pass/blocked 状态;
|
||||||
|
- 增加 OPFS/session persistence 的独立 SDK/browser gate,减少只依赖聚合 smoke 的排障成本;
|
||||||
|
- 若真实 LinuxCNC host runtime 可用,再按 native -> Node/WASM -> browser/host 顺序处理 blocked
|
||||||
|
runtime family promotion。
|
||||||
Reference in New Issue
Block a user