公开 INI 面板 session readiness report SDK surface
This commit is contained in:
@@ -9,7 +9,7 @@ turn-by-turn continuation notes and next-batch execution records.
|
||||
## Current Status
|
||||
|
||||
- Active continuation file: `text14.txt`
|
||||
- Latest completed batch: INI panel session readiness workflow report
|
||||
- Latest completed batch: INI panel session readiness workflow report SDK surface
|
||||
- Latest relevant commit: use `git log -1 --oneline` after each committed batch
|
||||
- Working tree at tracker creation: clean
|
||||
- Required policy: LinuxCNC remains the only CNC semantic source
|
||||
@@ -43,7 +43,7 @@ The project is complete for the current scope when all of the following are true
|
||||
| Native nc_files baseline | Stable | Last recorded Layer 1: `total 107`, `pass 101`, `expected_fail 6`, `unexpected_fail 0`. |
|
||||
| Native sim configs baseline | Stable | Last recorded Layer 2: `total 159`, `pass 151`, `expected_fail 8`, `unexpected_fail 0`. |
|
||||
| OPFS/session persistence | Stable for current scope | Browser smoke passes, SDK re-exports OPFS/session helpers including `readMachineSessionReadiness()`, and `docs/opfs-session-persistence.md` defines the project-level release gate. |
|
||||
| SDK/API surface | Stable for current scope | SDK re-exports core, OPFS/session readiness/load helpers, sim-config staging, and INI panel shell/workflow overview helpers with a Node surface smoke. |
|
||||
| SDK/API surface | Stable for current scope | SDK re-exports core, OPFS/session readiness/load helpers, sim-config staging, INI panel shell/workflow overview helpers, and the session readiness workflow report with a Node surface smoke. |
|
||||
| Browser/UI workflow | Stable for current scope | Workflow overview embedding mount DOM closure is complete, and INI panel session workflows plus read-only control/shell handoff expose, render, and report OPFS/session readiness before loading or reading WASM session state. |
|
||||
| Workflow overview embedding | Stable for current scope | Report/display/render, DOM contract/readiness/renderer, mount result/display/render, mount DOM contract/readiness/renderer/wrapper exist. |
|
||||
| Host/runtime boundary proof | Stable blocked state | Host smoke passes; runtime families remain blocked and `docs/host-runtime-boundary-handoff.md` records host readiness, promotion blockers, dispatch, and evidence gates. |
|
||||
|
||||
71
text14.txt
71
text14.txt
@@ -1986,3 +1986,74 @@ host_wasm_opfs_browser_smokes=ok
|
||||
继续以实质能力推进为主。下一批可把 session readiness workflow report 纳入 SDK surface 或 release
|
||||
handoff docs 的 API surface 表,方便外部调用者从 SDK/文档直接发现;仍保持只读,不新增控制按钮,
|
||||
不解析 G-code,不扩大 LinuxCNC 语义边界。
|
||||
|
||||
二十五、2026-06-16 继续执行记录:INI panel session readiness workflow report SDK surface
|
||||
|
||||
本轮继续以功能实质性推进为主,把上一批新增的 session readiness workflow report 纳入 SDK/API
|
||||
surface 和 release handoff 发现路径。外部调用者现在可以从 `runtime/sdk/src/index.js` 稳定导入
|
||||
`createIniPanelShellSessionReadinessWorkflowReport()`,并在 SDK README 与 project release handoff 中发现该能力。
|
||||
|
||||
完成内容:
|
||||
|
||||
- `wasm-port/runtime/sdk/src/index.js` re-export
|
||||
`createIniPanelShellSessionReadinessWorkflowReport()`;
|
||||
- `wasm-port/runtime/sdk/README.md` 的 stable imports 示例加入新 helper;
|
||||
- SDK README 的 INI panel shell handoff exports 记录新 helper 的用途:
|
||||
- machine-readable session readiness workflow report;
|
||||
- phase;
|
||||
- missing reasons;
|
||||
- status line;
|
||||
- stable rows;
|
||||
- `wasm-port/tests/sdk/node/verify_sdk_surface.mjs` 覆盖:
|
||||
- SDK export shape;
|
||||
- SDK README drift;
|
||||
- launch manifest 中 `getShellSessionReadinessWorkflowReport`;
|
||||
- helper API name;
|
||||
- `wasm-port/docs/project-release-handoff.md` 点名 SDK 调用者可用该 helper 获取 machine-readable
|
||||
session readiness phase 与 missing reasons;
|
||||
- `wasm-port/tests/docs/node/verify_project_release_handoff_docs.mjs` 覆盖 release handoff docs drift;
|
||||
- `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/tests/docs/node/verify_project_release_handoff_docs.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/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/host/verify_host_smokes.sh
|
||||
```
|
||||
|
||||
关键输出:
|
||||
|
||||
```text
|
||||
sdk_surface_node_smoke=ok
|
||||
project_release_handoff_docs_node_smoke=ok
|
||||
ui_node_smokes=ok
|
||||
browser_ini_shell_integration_workflow_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
|
||||
host_wasm_opfs_browser_smokes=ok
|
||||
```
|
||||
|
||||
下一步工作计划:
|
||||
|
||||
继续以实质能力推进为主。下一批可为 session readiness workflow report 增加更高层的 release/API
|
||||
inventory row 或 browser-visible summary row,方便验收页面和外部 shell 快速列出当前稳定 API;仍保持只读,
|
||||
不新增控制按钮,不解析 G-code,不扩大 LinuxCNC 语义边界。
|
||||
|
||||
@@ -29,7 +29,9 @@ continuation records are in `../text14.txt`.
|
||||
- External shells should use the read-only helpers documented in
|
||||
`docs/panel-entry.md`, including workflow overview embedding mount DOM
|
||||
contract/readiness/renderer/wrapper helpers.
|
||||
- SDK callers should import stable helpers from `runtime/sdk/src/index.js`.
|
||||
- SDK callers should import stable helpers from `runtime/sdk/src/index.js`,
|
||||
including `createIniPanelShellSessionReadinessWorkflowReport()` when they
|
||||
need machine-readable session readiness phase and missing reasons.
|
||||
- OPFS/session persistence is host-side storage glue. Parameter and tool-table
|
||||
behavior still comes from the LinuxCNC-backed interpreter SDK calls.
|
||||
- Sim-config inventory promotion remains evidence-driven and must keep
|
||||
|
||||
@@ -25,6 +25,7 @@ Use `src/index.js` for stable imports:
|
||||
import {
|
||||
analyzeIniRuntimeBoundaries,
|
||||
createIniPanelLaunchApiManifest,
|
||||
createIniPanelShellSessionReadinessWorkflowReport,
|
||||
createIniPanelShellViewModel,
|
||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract,
|
||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
|
||||
@@ -191,6 +192,9 @@ for external browser shells:
|
||||
`isSupportedIniPanelLaunchApiManifest()` for launch API negotiation.
|
||||
- `createIniPanelShellViewModel()` for a complete read-only shell integration
|
||||
bundle.
|
||||
- `createIniPanelShellSessionReadinessWorkflowReport()` for a machine-readable
|
||||
session readiness workflow report with phase, missing reasons, status line,
|
||||
and stable rows.
|
||||
- `createIniPanelShellWorkflowOverviewEmbeddingMountDomContract()` and
|
||||
`createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness()` for
|
||||
workflow overview embedding mount DOM checks.
|
||||
|
||||
@@ -68,6 +68,7 @@ export {
|
||||
createIniPanelShellSessionHandoffPackageReport,
|
||||
createIniPanelShellSessionHandoffPackageRenderState,
|
||||
createIniPanelShellSessionHandoffPackageSchema,
|
||||
createIniPanelShellSessionReadinessWorkflowReport,
|
||||
createIniPanelShellSessionHandoffSummary,
|
||||
createIniPanelShellSessionHandoffSummarySchema,
|
||||
createIniPanelShellViewModel,
|
||||
|
||||
@@ -31,6 +31,7 @@ for (const phrase of [
|
||||
"docs/drift-report.md",
|
||||
"PROJECT_COMPLETION_TRACKER.md",
|
||||
"runtime/sdk/src/index.js",
|
||||
"createIniPanelShellSessionReadinessWorkflowReport()",
|
||||
"workflow overview embedding mount DOM",
|
||||
"verify_no_standalone_cnc_semantics.sh",
|
||||
"verify_host_smokes.sh",
|
||||
@@ -80,6 +81,7 @@ for (const phrase of [
|
||||
for (const phrase of [
|
||||
"OPFS/session persistence exports",
|
||||
"INI panel shell handoff exports",
|
||||
"createIniPanelShellSessionReadinessWorkflowReport()",
|
||||
]) {
|
||||
assert.match(sdkReadmeText, literalRegExp(phrase));
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import { fileURLToPath } from "node:url";
|
||||
import {
|
||||
analyzeIniRuntimeBoundaries,
|
||||
createIniPanelLaunchApiManifest,
|
||||
createIniPanelShellSessionReadinessWorkflowReport,
|
||||
createIniPanelShellViewModel,
|
||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract,
|
||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
|
||||
@@ -81,6 +82,7 @@ const requiredExports = [
|
||||
["createIniPanelLaunchApiManifest", createIniPanelLaunchApiManifest],
|
||||
["isSupportedIniPanelLaunchApiManifest", isSupportedIniPanelLaunchApiManifest],
|
||||
["createIniPanelShellViewModel", createIniPanelShellViewModel],
|
||||
["createIniPanelShellSessionReadinessWorkflowReport", createIniPanelShellSessionReadinessWorkflowReport],
|
||||
[
|
||||
"createIniPanelShellWorkflowOverviewEmbeddingMountDomContract",
|
||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract,
|
||||
@@ -124,6 +126,14 @@ assert.equal(
|
||||
shellViewModel.launchApiManifest.methods.includes("mountWorkflowOverviewEmbeddingMountState"),
|
||||
true,
|
||||
);
|
||||
assert.equal(
|
||||
shellViewModel.launchApiManifest.methods.includes("getShellSessionReadinessWorkflowReport"),
|
||||
true,
|
||||
);
|
||||
assert.equal(
|
||||
createIniPanelShellSessionReadinessWorkflowReport().apiName,
|
||||
"ini-panel-shell-session-readiness-workflow-report",
|
||||
);
|
||||
assert.equal(
|
||||
shellViewModel.mountWorkflowOverviewEmbeddingMountState,
|
||||
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||
|
||||
Reference in New Issue
Block a user