收口 INI 面板 persistence summary 发布门禁
This commit is contained in:
636
text14.txt
636
text14.txt
@@ -2135,3 +2135,639 @@ host_wasm_opfs_browser_smokes=ok
|
||||
继续以实质能力推进为主。下一批可把 shell API surface inventory 渲染为 browser-visible summary
|
||||
row 或挂载到 workflow overview embedding report,方便验收页面直接显示 API surface 覆盖;仍保持只读,
|
||||
不新增控制按钮,不解析 G-code,不扩大 LinuxCNC 语义边界。
|
||||
|
||||
二十七、2026-06-16 继续执行记录:INI panel SDK shell/control-page negotiation surface
|
||||
|
||||
本轮继续以功能实质性推进为主,把已经稳定存在于 UI shell 的 entry manifest、launcher link、
|
||||
control-page browser API、shell integration negotiation 与 workflow overview contract helper 纳入
|
||||
`runtime/sdk/src/index.js` 稳定导出。外部调用者现在可以只从 SDK 入口完成 launch/control-page/shell
|
||||
协商,不需要导入 `runtime/ui/ini-panel/` 私有路径。
|
||||
|
||||
完成内容:
|
||||
|
||||
- `wasm-port/runtime/sdk/src/index.js` re-export:
|
||||
- `INI_PANEL_ENTRIES`;
|
||||
- `getIniPanelEntryManifest()`;
|
||||
- `getIniPanelEntryByHref()`;
|
||||
- `getVisibleIniPanelEntries()`;
|
||||
- `createIniPanelLauncherLinkViewModel()`;
|
||||
- `createControlPageBrowserApiSchema()`;
|
||||
- `createControlPageBrowserApiManifest()`;
|
||||
- `createControlPageBrowserApiMethods()`;
|
||||
- `createIniPanelShellControlPageContract()`;
|
||||
- `isSupportedIniPanelControlPageApiManifest()`;
|
||||
- `createIniPanelShellIntegrationSchema()`;
|
||||
- `createIniPanelShellIntegrationManifest()`;
|
||||
- `createIniPanelShellIntegrationReadiness()`;
|
||||
- `createIniPanelShellIntegrationWorkflowPlan()`;
|
||||
- `isSupportedIniPanelShellIntegrationManifest()`;
|
||||
- `createIniPanelShellWorkflowOverviewContract()`;
|
||||
- `wasm-port/tests/sdk/node/verify_sdk_surface.mjs` 覆盖:
|
||||
- 新 SDK export shape;
|
||||
- SDK README drift;
|
||||
- entry manifest 与 visible entries 一致;
|
||||
- launcher link view-model shape;
|
||||
- control-page manifest/schema/methods 支持判断;
|
||||
- shell integration manifest/readiness/workflow plan ready;
|
||||
- workflow overview contract 包含 API surface inventory method;
|
||||
- `wasm-port/runtime/sdk/README.md` 的 stable imports 示例和 INI panel shell handoff exports
|
||||
记录新增 SDK surface;
|
||||
- `PROJECT_COMPLETION_TRACKER.md` 同步 latest completed batch 与 SDK/API surface 状态;
|
||||
- 未新增控制按钮;
|
||||
- 未执行 action-plan;
|
||||
- 未解析 G-code;
|
||||
- 未解释 canonical events;
|
||||
- 未新增 JS CNC 语义;
|
||||
- 未运行 opt-in runtime probes;
|
||||
- 未 promotion blocked runtime family;
|
||||
- 未改变 LinuxCNC interpreter、tool、parameter、planner、kinematics、remap 或 LinuxCNC-owned
|
||||
runtime semantics。
|
||||
|
||||
验证已通过:
|
||||
|
||||
```bash
|
||||
git diff --check
|
||||
wasm-port/tests/sdk/node/verify_sdk_surface.sh
|
||||
wasm-port/tools/verify_vendor_sync.sh
|
||||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||||
wasm-port/tests/ui/node/verify_ui_node_smokes.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/host/verify_host_smokes.sh
|
||||
```
|
||||
|
||||
关键输出:
|
||||
|
||||
```text
|
||||
sdk_surface_node_smoke=ok
|
||||
vendor sync up to date
|
||||
standalone CNC semantics guard complete
|
||||
ui_node_smokes=ok
|
||||
interp_wasm_node_smoke=ok
|
||||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||||
browser_ini_launch_smoke=ok
|
||||
browser_ini_workflow_overview_smoke=ok
|
||||
browser_ini_shell_integration_workflow_smoke=ok
|
||||
host_wasm_opfs_browser_smokes=ok
|
||||
```
|
||||
|
||||
下一步工作计划:
|
||||
|
||||
继续以实质能力推进为主。下一批可把 shell API surface inventory 渲染为 browser-visible summary
|
||||
row 或接入 workflow overview embedding report,让验收页面直接显示 API surface 覆盖;仍保持只读,
|
||||
不新增控制按钮,不解析 G-code,不扩大 LinuxCNC 语义边界。
|
||||
|
||||
二十八、2026-06-16 继续执行记录:INI panel workflow overview API surface summary row
|
||||
|
||||
本轮继续以功能实质性推进为主,把上一批可调用的 shell API surface inventory 接入真实 workflow
|
||||
overview 和外部 shell 可见的只读 summary/render path。验收页面现在不只能够通过 API 读取
|
||||
`createIniPanelShellApiSurfaceInventory()`,还会在 workflow summary DOM rows 中显示
|
||||
`api-surface-inventory` 行,直接暴露 API surface 覆盖状态。
|
||||
|
||||
完成内容:
|
||||
|
||||
- `createIniPanelShellSessionHandoffWorkflowSummary()` 新增可选 `apiSurfaceInventory` 输入;
|
||||
- workflow summary 输出新增:
|
||||
- `apiSurfaceInventory` 摘要对象;
|
||||
- `api-surface-inventory` display row;
|
||||
- `createIniPanelShellViewModel()` 构建流程调整为:
|
||||
- 先生成基础 workflow summary;
|
||||
- 生成 session readiness workflow report;
|
||||
- 生成 shell API surface inventory;
|
||||
- 再生成包含 API surface inventory 行的最终 workflow summary/display/render-state;
|
||||
- `workflow-overview.html` 现有渲染路径自动显示 `api-surface-inventory` row;
|
||||
- Browser smoke 覆盖真实 DOM:
|
||||
- workflow overview 主 DOM row count;
|
||||
- `data-handoff-workflow-value="api-surface-inventory"`;
|
||||
- launch iframe workflow overview embedding row count;
|
||||
- external shell workflow overview embedding row count;
|
||||
- external shell 手动注入 `apiSurfaceInventory` 后的 workflow DOM mount row count;
|
||||
- SDK smoke 覆盖 `createIniPanelShellViewModel()` 的 workflow summary 包含
|
||||
`api-surface-inventory: ready: 5 rows`;
|
||||
- `runtime/sdk/README.md`、`docs/panel-entry.md`、`docs/project-release-handoff.md` 记录:
|
||||
- API surface inventory 可以作为 workflow summary row;
|
||||
- browser overview 和外部 shell 可直接显示 API 覆盖;
|
||||
- 未新增控制按钮;
|
||||
- 未执行 action-plan;
|
||||
- 未解析 G-code;
|
||||
- 未解释 canonical events;
|
||||
- 未新增 JS CNC 语义;
|
||||
- 未运行 opt-in runtime probes;
|
||||
- 未 promotion blocked runtime family;
|
||||
- 未改变 LinuxCNC interpreter、tool、parameter、planner、kinematics、remap 或 LinuxCNC-owned
|
||||
runtime semantics。
|
||||
|
||||
验证已通过:
|
||||
|
||||
```bash
|
||||
git diff --check
|
||||
wasm-port/tools/verify_vendor_sync.sh
|
||||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||||
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
|
||||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh
|
||||
wasm-port/tests/sdk/node/verify_sdk_surface.sh
|
||||
wasm-port/tests/ui/node/verify_ini_panel_entry_docs.sh
|
||||
wasm-port/tests/docs/node/verify_project_release_handoff_docs.sh
|
||||
wasm-port/tests/ui/node/verify_ini_panel_shell_integration_manifest.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
|
||||
wasm-port/tests/host/verify_host_smokes.sh
|
||||
```
|
||||
|
||||
关键输出:
|
||||
|
||||
```text
|
||||
vendor sync up to date
|
||||
standalone CNC semantics guard complete
|
||||
ui_node_smokes=ok
|
||||
browser_ini_workflow_overview_smoke=ok
|
||||
browser_ini_shell_integration_workflow_smoke=ok
|
||||
sdk_surface_node_smoke=ok
|
||||
ini_panel_entry_docs_node_smoke=ok
|
||||
project_release_handoff_docs_node_smoke=ok
|
||||
ini_panel_shell_integration_manifest_node_smoke=ok
|
||||
interp_wasm_node_smoke=ok
|
||||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||||
host_wasm_opfs_browser_smokes=ok
|
||||
```
|
||||
|
||||
下一步工作计划:
|
||||
|
||||
继续以实质能力推进为主。下一批可把 OPFS/session persistence 也做成类似的 browser-visible
|
||||
summary row 或 report,汇总 machine files、session snapshot、readonly status、handoff readiness;
|
||||
仍保持只读,不新增控制按钮,不解析 G-code,不扩大 LinuxCNC 语义边界。
|
||||
|
||||
二十九、2026-06-16 继续执行记录:INI panel OPFS/session persistence summary
|
||||
|
||||
本轮继续以功能实质性推进为主,为 OPFS/session persistence 增加可复用、可由浏览器真实流程读取的
|
||||
只读 summary helper。外部调用者和 INI panel 页面现在可以通过稳定 API 一次查看 machine files、
|
||||
session snapshot、session readiness、session load、readonly status、handoff readiness 的汇总 rows。
|
||||
|
||||
完成内容:
|
||||
|
||||
- `panel-state-summary.js` 新增 `createMachineSessionPersistenceSummary()`;
|
||||
- persistence summary 输出:
|
||||
- `apiName: "machine-session-persistence-summary"`;
|
||||
- `summaryVersion`;
|
||||
- `phase`;
|
||||
- `ready`;
|
||||
- `checks`;
|
||||
- `missing`;
|
||||
- `counts`;
|
||||
- rows:
|
||||
- `opfs`;
|
||||
- `machine-files`;
|
||||
- `session-snapshot`;
|
||||
- `session-readiness`;
|
||||
- `session-load`;
|
||||
- `readonly-status`;
|
||||
- `handoff-readiness`;
|
||||
- `app.js` 暴露:
|
||||
- `linuxCncIniPanelApi.getMachineSessionPersistenceSummary()`;
|
||||
- legacy `window.getMachineSessionPersistenceSummary()`;
|
||||
- `ui-shell.js` re-export `createMachineSessionPersistenceSummary()`;
|
||||
- `runtime/sdk/src/index.js` re-export `createMachineSessionPersistenceSummary()`;
|
||||
- `verify_ini_panel_state_summary.mjs` 覆盖 ready summary 与 missing summary;
|
||||
- `verify_ini_panel_ui_shell.mjs` 覆盖 ui-shell export;
|
||||
- `verify_sdk_surface.mjs` 覆盖 SDK export 与 session-load row;
|
||||
- `ini_panel_smoke.html` 覆盖真实 browser OPFS/session persistence workflow 后的 summary:
|
||||
- `ready === true`;
|
||||
- machine files row;
|
||||
- session load row;
|
||||
- `runtime/sdk/README.md`、`docs/panel-entry.md`、`docs/project-release-handoff.md` 记录该 helper 和
|
||||
browser API;
|
||||
- `PROJECT_COMPLETION_TRACKER.md` 同步 latest completed batch 与 OPFS/session persistence 状态;
|
||||
- 未新增控制按钮;
|
||||
- 未执行 action-plan;
|
||||
- 未解析 G-code;
|
||||
- 未解释 canonical events;
|
||||
- 未新增 JS CNC 语义;
|
||||
- 未运行 opt-in runtime probes;
|
||||
- 未 promotion blocked runtime family;
|
||||
- 未改变 LinuxCNC interpreter、tool、parameter、planner、kinematics、remap 或 LinuxCNC-owned
|
||||
runtime semantics。
|
||||
|
||||
验证已通过:
|
||||
|
||||
```bash
|
||||
git diff --check
|
||||
wasm-port/tools/verify_vendor_sync.sh
|
||||
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
|
||||
wasm-port/tests/ui/node/verify_ini_panel_state_summary.sh
|
||||
wasm-port/tests/ui/node/verify_ini_panel_ui_shell.sh
|
||||
wasm-port/tests/sdk/node/verify_sdk_surface.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/ui/node/verify_ini_panel_entry_docs.sh
|
||||
wasm-port/tests/docs/node/verify_project_release_handoff_docs.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
|
||||
wasm-port/tests/host/verify_host_smokes.sh
|
||||
```
|
||||
|
||||
关键输出:
|
||||
|
||||
```text
|
||||
vendor sync up to date
|
||||
standalone CNC semantics guard complete
|
||||
ini_panel_state_summary_node_smoke=ok
|
||||
ini_panel_ui_shell_node_smoke=ok
|
||||
sdk_surface_node_smoke=ok
|
||||
browser_ini_opfs_smoke=ok
|
||||
ui_node_smokes=ok
|
||||
ini_panel_entry_docs_node_smoke=ok
|
||||
project_release_handoff_docs_node_smoke=ok
|
||||
interp_wasm_node_smoke=ok
|
||||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||||
host_wasm_opfs_browser_smokes=ok
|
||||
```
|
||||
|
||||
下一步工作计划:
|
||||
|
||||
继续以实质能力推进为主。下一批可把 `createMachineSessionPersistenceSummary()` 接入 shell handoff
|
||||
workflow summary 或 workflow overview API surface inventory,让外部 shell 在一个 overview 中同时看到
|
||||
API surface 与 OPFS/session persistence 状态;仍保持只读,不新增控制按钮,不解析 G-code,不扩大
|
||||
LinuxCNC 语义边界。
|
||||
|
||||
三十、2026-06-16 继续执行记录:INI panel shell workflow persistence summary row
|
||||
|
||||
本轮继续以功能实质性推进为主,把 OPFS/session persistence summary 接入 shell handoff workflow
|
||||
summary 和 workflow overview render path。外部 shell 现在可以在同一个 overview 中同时显示
|
||||
`persistence-summary` 与 `api-surface-inventory` rows,直接看到 OPFS/session persistence 状态和 API
|
||||
surface 覆盖。
|
||||
|
||||
完成内容:
|
||||
|
||||
- `createIniPanelShellSessionHandoffWorkflowSummary()` 新增可选 `persistenceSummary` 输入;
|
||||
- workflow summary 输出新增:
|
||||
- `persistenceSummary` 摘要对象;
|
||||
- `persistence-summary` display row;
|
||||
- `createIniPanelShellViewModel()` 默认生成 `shellPersistenceSummary`,并将其纳入最终
|
||||
shell workflow summary/display/render-state;
|
||||
- `createIniPanelShellViewModel()` 暴露 `shellPersistenceSummary` 和
|
||||
`createMachineSessionPersistenceSummary`;
|
||||
- Workflow overview browser DOM 默认显示:
|
||||
- `persistence-summary: waiting: 5 missing`;
|
||||
- `api-surface-inventory: ready: 5 rows`;
|
||||
- External shell browser workflow smoke 在真实 panel/control-page workflow 后读取
|
||||
`linuxCncIniPanelApi.getMachineSessionPersistenceSummary()`,再注入
|
||||
`getShellSessionHandoffWorkflowSummary({ persistenceSummary })`,验证:
|
||||
- `persistence-summary: ready: 7 rows`;
|
||||
- workflow DOM mount row count;
|
||||
- SDK smoke 覆盖 `createIniPanelShellViewModel()` 的 workflow summary 包含
|
||||
`persistence-summary` row;
|
||||
- `runtime/sdk/README.md`、`docs/panel-entry.md`、`docs/project-release-handoff.md` 记录该 workflow
|
||||
summary row;
|
||||
- `PROJECT_COMPLETION_TRACKER.md` 同步 latest completed batch 与 Browser/UI workflow 状态;
|
||||
- 未新增控制按钮;
|
||||
- 未执行 action-plan;
|
||||
- 未解析 G-code;
|
||||
- 未解释 canonical events;
|
||||
- 未新增 JS CNC 语义;
|
||||
- 未运行 opt-in runtime probes;
|
||||
- 未 promotion blocked runtime family;
|
||||
- 未改变 LinuxCNC interpreter、tool、parameter、planner、kinematics、remap 或 LinuxCNC-owned
|
||||
runtime semantics。
|
||||
|
||||
验证已通过:
|
||||
|
||||
```bash
|
||||
git diff --check
|
||||
wasm-port/tests/ui/node/verify_ini_panel_entry_docs.sh
|
||||
wasm-port/tests/docs/node/verify_project_release_handoff_docs.sh
|
||||
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
|
||||
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
|
||||
wasm-port/tests/sdk/node/verify_sdk_surface.sh
|
||||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh
|
||||
wasm-port/tests/host/verify_host_smokes.sh
|
||||
```
|
||||
|
||||
关键输出:
|
||||
|
||||
```text
|
||||
ini_panel_entry_docs_node_smoke=ok
|
||||
project_release_handoff_docs_node_smoke=ok
|
||||
vendor sync up to date
|
||||
standalone CNC semantics guard complete
|
||||
interp_wasm_node_smoke=ok
|
||||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||||
ui_node_smokes=ok
|
||||
sdk_surface_node_smoke=ok
|
||||
browser_ini_workflow_overview_smoke=ok
|
||||
browser_ini_shell_integration_workflow_smoke=ok
|
||||
host_wasm_opfs_browser_smokes=ok
|
||||
```
|
||||
|
||||
下一步工作计划:
|
||||
|
||||
继续以实质能力推进为主。下一批可补齐 release/project docs smoke 对 `persistence-summary` row 的显式
|
||||
断言,或开始收口最终提交前的全量 project release gate;仍保持只读,不新增控制按钮,不解析 G-code,
|
||||
不扩大 LinuxCNC 语义边界。
|
||||
|
||||
三十一、2026-06-16 继续执行记录:INI panel launch/workflow persistence summary API
|
||||
|
||||
本轮继续以功能实质性推进为主,把 `createMachineSessionPersistenceSummary()` 从 SDK/UI helper 推进为
|
||||
真实 launch API 和 workflow overview API surface。外部 shell 现在可以从页面 API 直接构造 OPFS/session
|
||||
persistence summary,不需要导入私有模块或绕过 browser namespace。
|
||||
|
||||
完成内容:
|
||||
|
||||
- `createIniPanelLaunchApiManifest().methods` 新增 `getMachineSessionPersistenceSummary`;
|
||||
- `createIniPanelShellWorkflowOverviewContract().methodNames` 新增
|
||||
`getWorkflowOverviewPersistenceSummary`;
|
||||
- `launch.html` 暴露:
|
||||
- `linuxCncIniPanelLaunchApi.getMachineSessionPersistenceSummary()`;
|
||||
- `workflow-overview.html` 暴露:
|
||||
- `linuxCncIniPanelWorkflowOverviewApi.getWorkflowOverviewPersistenceSummary()`;
|
||||
- Browser launch smoke 覆盖 launch API persistence summary API name 与 rows;
|
||||
- Browser workflow overview smoke 覆盖 workflow overview API persistence summary API name 与 rows;
|
||||
- UI Node smoke 覆盖 launch manifest、workflow overview contract/readiness 和 shell integration manifest;
|
||||
- `docs/panel-entry.md`、`docs/project-release-handoff.md` 记录 launch/workflow overview API 暴露该 helper;
|
||||
- `PROJECT_COMPLETION_TRACKER.md` 同步 latest completed batch;
|
||||
- 未新增控制按钮;
|
||||
- 未执行 action-plan;
|
||||
- 未解析 G-code;
|
||||
- 未解释 canonical events;
|
||||
- 未新增 JS CNC 语义;
|
||||
- 未运行 opt-in runtime probes;
|
||||
- 未 promotion blocked runtime family;
|
||||
- 未改变 LinuxCNC interpreter、tool、parameter、planner、kinematics、remap 或 LinuxCNC-owned
|
||||
runtime semantics。
|
||||
|
||||
验证已通过:
|
||||
|
||||
```bash
|
||||
git diff --check
|
||||
wasm-port/tests/ui/node/verify_ini_panel_entry_docs.sh
|
||||
wasm-port/tests/docs/node/verify_project_release_handoff_docs.sh
|
||||
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
|
||||
wasm-port/tests/ui/node/verify_ini_panel_launch_api_manifest.sh
|
||||
wasm-port/tests/ui/node/verify_ini_panel_shell_integration_manifest.sh
|
||||
wasm-port/tests/ui/node/verify_ini_panel_ui_shell.sh
|
||||
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
|
||||
wasm-port/tests/sdk/node/verify_sdk_surface.sh
|
||||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh
|
||||
wasm-port/tests/host/verify_host_smokes.sh
|
||||
```
|
||||
|
||||
关键输出:
|
||||
|
||||
```text
|
||||
ini_panel_entry_docs_node_smoke=ok
|
||||
project_release_handoff_docs_node_smoke=ok
|
||||
vendor sync up to date
|
||||
standalone CNC semantics guard complete
|
||||
interp_wasm_node_smoke=ok
|
||||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||||
ini_panel_launch_api_manifest_node_smoke=ok
|
||||
ini_panel_shell_integration_manifest_node_smoke=ok
|
||||
ini_panel_ui_shell_node_smoke=ok
|
||||
ui_node_smokes=ok
|
||||
sdk_surface_node_smoke=ok
|
||||
browser_ini_launch_smoke=ok
|
||||
browser_ini_workflow_overview_smoke=ok
|
||||
host_wasm_opfs_browser_smokes=ok
|
||||
```
|
||||
|
||||
下一步工作计划:
|
||||
|
||||
继续以实质能力推进为主。下一批建议运行完整 project release gate 并根据结果只修实质性 gate 缺口;
|
||||
仍保持只读,不新增控制按钮,不解析 G-code,不扩大 LinuxCNC 语义边界。
|
||||
|
||||
三十二、2026-06-16 继续执行记录:INI panel API inventory persistence summary rows
|
||||
|
||||
本轮继续以功能实质性推进为主,把 OPFS/session persistence summary 纳入 shell API surface inventory。
|
||||
外部 shell 现在通过 `getShellApiSurfaceInventory()` 或
|
||||
`getWorkflowOverviewApiSurfaceInventory()` 可以同时看到 API 方法覆盖、session readiness report rows
|
||||
和 persistence summary rows。
|
||||
|
||||
完成内容:
|
||||
|
||||
- `createIniPanelShellApiSurfaceInventory()` 新增可选 `persistenceSummary` 输入;
|
||||
- inventory `counts` 新增 `persistenceSummaryRows`;
|
||||
- inventory `apiNames` 新增 `persistenceSummary`;
|
||||
- inventory `entries` 新增 `persistence-summary`;
|
||||
- inventory `rows` 新增 `persistence-summary`;
|
||||
- `createIniPanelShellViewModel()` 将 `shellPersistenceSummary` 注入 `shellApiSurfaceInventory`;
|
||||
- Browser launch smoke 覆盖 `shellApiSurfaceInventory.counts.persistenceSummaryRows`;
|
||||
- Browser workflow overview smoke 覆盖 workflow overview API inventory 的 persistence summary rows;
|
||||
- Browser shell integration workflow smoke 在真实 panel summary 下把 persistence summary 注入
|
||||
`getShellApiSurfaceInventory()` 并验证 row count;
|
||||
- SDK/UI node smoke 覆盖 workflow summary 的 API inventory row 从 `ready: 5 rows` 推进为
|
||||
`ready: 6 rows`;
|
||||
- `runtime/sdk/README.md`、`docs/panel-entry.md` 记录 inventory 包含 persistence summary row counts;
|
||||
- `PROJECT_COMPLETION_TRACKER.md` 同步 latest completed batch;
|
||||
- 未新增控制按钮;
|
||||
- 未执行 action-plan;
|
||||
- 未解析 G-code;
|
||||
- 未解释 canonical events;
|
||||
- 未新增 JS CNC 语义;
|
||||
- 未运行 opt-in runtime probes;
|
||||
- 未 promotion blocked runtime family;
|
||||
- 未改变 LinuxCNC interpreter、tool、parameter、planner、kinematics、remap 或 LinuxCNC-owned
|
||||
runtime semantics。
|
||||
|
||||
验证已通过:
|
||||
|
||||
```bash
|
||||
git diff --check
|
||||
wasm-port/tests/ui/node/verify_ini_panel_entry_docs.sh
|
||||
wasm-port/tests/docs/node/verify_project_release_handoff_docs.sh
|
||||
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
|
||||
wasm-port/tests/ui/node/verify_ini_panel_ui_shell.sh
|
||||
wasm-port/tests/ui/node/verify_ini_panel_shell_integration_manifest.sh
|
||||
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
|
||||
wasm-port/tests/sdk/node/verify_sdk_surface.sh
|
||||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh
|
||||
wasm-port/tests/host/verify_host_smokes.sh
|
||||
```
|
||||
|
||||
关键输出:
|
||||
|
||||
```text
|
||||
ini_panel_entry_docs_node_smoke=ok
|
||||
project_release_handoff_docs_node_smoke=ok
|
||||
vendor sync up to date
|
||||
standalone CNC semantics guard complete
|
||||
interp_wasm_node_smoke=ok
|
||||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||||
ini_panel_ui_shell_node_smoke=ok
|
||||
ini_panel_shell_integration_manifest_node_smoke=ok
|
||||
ui_node_smokes=ok
|
||||
sdk_surface_node_smoke=ok
|
||||
browser_ini_launch_smoke=ok
|
||||
browser_ini_workflow_overview_smoke=ok
|
||||
browser_ini_shell_integration_workflow_smoke=ok
|
||||
host_wasm_opfs_browser_smokes=ok
|
||||
```
|
||||
|
||||
下一步工作计划:
|
||||
|
||||
继续以实质能力推进为主。下一批建议运行完整 project release gate,若通过则整理最终提交;若失败,
|
||||
只修实质性 gate 缺口;仍保持只读,不新增控制按钮,不解析 G-code,不扩大 LinuxCNC 语义边界。
|
||||
|
||||
三十三、2026-06-16 继续执行记录:INI panel persistence summary display/render state
|
||||
|
||||
本轮继续以功能实质性推进为主,把 OPFS/session persistence summary 从数据 report 推进为可直接显示的
|
||||
display view-model 和 render-state。外部 shell 现在可以拿到稳定标题、状态、明细、rows、statusLine
|
||||
和 dataset 字段,不需要自行拼接 persistence 状态文案。
|
||||
|
||||
完成内容:
|
||||
|
||||
- `panel-state-summary.js` 新增:
|
||||
- `createMachineSessionPersistenceDisplayViewModel()`;
|
||||
- `createMachineSessionPersistenceRenderState()`;
|
||||
- persistence render-state 输出:
|
||||
- `apiName: "machine-session-persistence-render-state"`;
|
||||
- `renderStateVersion`;
|
||||
- `phase`;
|
||||
- `ready`;
|
||||
- `title`;
|
||||
- `statusText`;
|
||||
- `detailText`;
|
||||
- `statusLine`;
|
||||
- `rows`;
|
||||
- `dataset.persistencePhase`;
|
||||
- `dataset.persistenceReady`;
|
||||
- `dataset.persistenceScope`;
|
||||
- `app.js` 暴露:
|
||||
- `linuxCncIniPanelApi.getMachineSessionPersistenceDisplayViewModel()`;
|
||||
- `linuxCncIniPanelApi.getMachineSessionPersistenceRenderState()`;
|
||||
- legacy window getters;
|
||||
- `ui-shell.js` re-export 新 display/render helpers;
|
||||
- `runtime/sdk/src/index.js` re-export 新 display/render helpers;
|
||||
- `verify_ini_panel_state_summary.mjs` 覆盖 ready display view-model、ready render-state 和 waiting
|
||||
render-state;
|
||||
- `ini_panel_smoke.html` 覆盖真实 browser OPFS/session workflow 后的 display/render state;
|
||||
- `verify_sdk_surface.mjs` 覆盖 SDK export 和 render-state API name;
|
||||
- `docs/panel-entry.md`、`docs/project-release-handoff.md`、`runtime/sdk/README.md` 记录新 helper;
|
||||
- `PROJECT_COMPLETION_TRACKER.md` 同步 latest completed batch;
|
||||
- 未新增控制按钮;
|
||||
- 未执行 action-plan;
|
||||
- 未解析 G-code;
|
||||
- 未解释 canonical events;
|
||||
- 未新增 JS CNC 语义;
|
||||
- 未运行 opt-in runtime probes;
|
||||
- 未 promotion blocked runtime family;
|
||||
- 未改变 LinuxCNC interpreter、tool、parameter、planner、kinematics、remap 或 LinuxCNC-owned
|
||||
runtime semantics。
|
||||
|
||||
验证已通过:
|
||||
|
||||
```bash
|
||||
git diff --check
|
||||
wasm-port/tests/docs/node/verify_project_release_handoff_docs.sh
|
||||
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
|
||||
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
|
||||
wasm-port/tests/ui/node/verify_ini_panel_state_summary.sh
|
||||
wasm-port/tests/ui/node/verify_ini_panel_ui_shell.sh
|
||||
wasm-port/tests/sdk/node/verify_sdk_surface.sh
|
||||
wasm-port/tests/ui/node/verify_ini_panel_entry_docs.sh
|
||||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh
|
||||
wasm-port/tests/host/verify_host_smokes.sh
|
||||
```
|
||||
|
||||
关键输出:
|
||||
|
||||
```text
|
||||
project_release_handoff_docs_node_smoke=ok
|
||||
ui_node_smokes=ok
|
||||
vendor sync up to date
|
||||
standalone CNC semantics guard complete
|
||||
interp_wasm_node_smoke=ok
|
||||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||||
ini_panel_state_summary_node_smoke=ok
|
||||
ini_panel_ui_shell_node_smoke=ok
|
||||
sdk_surface_node_smoke=ok
|
||||
ini_panel_entry_docs_node_smoke=ok
|
||||
browser_ini_opfs_smoke=ok
|
||||
host_wasm_opfs_browser_smokes=ok
|
||||
```
|
||||
|
||||
下一步工作计划:
|
||||
|
||||
继续以实质能力推进为主。下一批建议运行完整 project release gate,若通过则整理最终提交;若失败,
|
||||
只修实质性 gate 缺口;仍保持只读,不新增控制按钮,不解析 G-code,不扩大 LinuxCNC 语义边界。
|
||||
|
||||
三十四、2026-06-16 继续执行记录:project release gate validation closure
|
||||
|
||||
本轮按上一批计划运行完整 project release gate,把当前 OPFS/session persistence display/render helper、
|
||||
SDK/API surface、browser/UI workflow、docs smoke、host/runtime boundary smoke 一次性收口到可交付验证状态。
|
||||
|
||||
完成内容:
|
||||
|
||||
- 运行 `wasm-port/tests/host/verify_project_release_gate.sh`;
|
||||
- 验证当前未提交实现可通过统一发布门禁;
|
||||
- 确认 browser INI panel、control page、launch、workflow overview、shell integration workflow smoke 仍通过;
|
||||
- 确认 SDK surface、OPFS/session docs、sim-config coverage docs、host/runtime boundary docs、project release handoff docs
|
||||
均在 host aggregate gate 中通过;
|
||||
- 确认 `browser_interp_smoke=ok` 仍通过;
|
||||
- 确认 sim config inventory 仍为:
|
||||
- `executed=28`;
|
||||
- `passed=28`;
|
||||
- `skipped=131`;
|
||||
- `unexpected_fail=0`;
|
||||
- 确认 blocked runtime family 未 promotion:
|
||||
- `L4-USER-M-PROCESS`;
|
||||
- `L4-TOOL-DB`;
|
||||
- `L4-PYTHON-REMAP`;
|
||||
- 未新增控制按钮;
|
||||
- 未执行 action-plan;
|
||||
- 未解析 G-code;
|
||||
- 未解释 canonical events;
|
||||
- 未新增 JS CNC 语义;
|
||||
- 未运行 opt-in runtime probes;
|
||||
- 未改变 LinuxCNC interpreter、tool、parameter、planner、kinematics、remap 或 LinuxCNC-owned
|
||||
runtime semantics。
|
||||
|
||||
验证已通过:
|
||||
|
||||
```bash
|
||||
wasm-port/tests/host/verify_project_release_gate.sh
|
||||
```
|
||||
|
||||
关键输出:
|
||||
|
||||
```text
|
||||
vendor sync up to date
|
||||
standalone CNC semantics guard complete
|
||||
interp_wasm_node_smoke=ok
|
||||
sim_configs_wasm_node_inventory_unexpected_fail=0
|
||||
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
|
||||
ui_node_smokes=ok
|
||||
ini_wasm_node_smoke=ok
|
||||
sim_configs_wasm_node_smoke=ok
|
||||
nc_files_wasm_node_smoke=ok
|
||||
tp_wasm_node_smoke=ok
|
||||
opfs_file_service_node_smoke=ok
|
||||
sdk_surface_node_smoke=ok
|
||||
opfs_session_docs_node_smoke=ok
|
||||
sim_configs_coverage_docs_node_smoke=ok
|
||||
host_runtime_boundary_docs_node_smoke=ok
|
||||
project_release_handoff_docs_node_smoke=ok
|
||||
browser_interp_smoke=ok
|
||||
host_wasm_opfs_browser_smokes=ok
|
||||
project_release_gate=ok
|
||||
```
|
||||
|
||||
下一步工作计划:
|
||||
|
||||
整理并提交当前批次。提交后若工作树 clean,则当前 scope 已达到 `PROJECT_COMPLETION_TRACKER.md`
|
||||
定义的发布验证闭环;后续只在新 scope 请求或真实 LinuxCNC host runtime 可用时继续推进 blocked runtime family。
|
||||
|
||||
Reference in New Issue
Block a user