公开 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
|
## Current Status
|
||||||
|
|
||||||
- Active continuation file: `text14.txt`
|
- 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
|
- Latest relevant commit: use `git log -1 --oneline` after each committed batch
|
||||||
- Working tree at tracker creation: clean
|
- Working tree at tracker creation: clean
|
||||||
- Required policy: LinuxCNC remains the only CNC semantic source
|
- 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 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`. |
|
| 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. |
|
| 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. |
|
| 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. |
|
| 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. |
|
| 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
|
继续以实质能力推进为主。下一批可把 session readiness workflow report 纳入 SDK surface 或 release
|
||||||
handoff docs 的 API surface 表,方便外部调用者从 SDK/文档直接发现;仍保持只读,不新增控制按钮,
|
handoff docs 的 API surface 表,方便外部调用者从 SDK/文档直接发现;仍保持只读,不新增控制按钮,
|
||||||
不解析 G-code,不扩大 LinuxCNC 语义边界。
|
不解析 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
|
- External shells should use the read-only helpers documented in
|
||||||
`docs/panel-entry.md`, including workflow overview embedding mount DOM
|
`docs/panel-entry.md`, including workflow overview embedding mount DOM
|
||||||
contract/readiness/renderer/wrapper helpers.
|
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
|
- OPFS/session persistence is host-side storage glue. Parameter and tool-table
|
||||||
behavior still comes from the LinuxCNC-backed interpreter SDK calls.
|
behavior still comes from the LinuxCNC-backed interpreter SDK calls.
|
||||||
- Sim-config inventory promotion remains evidence-driven and must keep
|
- Sim-config inventory promotion remains evidence-driven and must keep
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ Use `src/index.js` for stable imports:
|
|||||||
import {
|
import {
|
||||||
analyzeIniRuntimeBoundaries,
|
analyzeIniRuntimeBoundaries,
|
||||||
createIniPanelLaunchApiManifest,
|
createIniPanelLaunchApiManifest,
|
||||||
|
createIniPanelShellSessionReadinessWorkflowReport,
|
||||||
createIniPanelShellViewModel,
|
createIniPanelShellViewModel,
|
||||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract,
|
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract,
|
||||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
|
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
|
||||||
@@ -191,6 +192,9 @@ for external browser shells:
|
|||||||
`isSupportedIniPanelLaunchApiManifest()` for launch API negotiation.
|
`isSupportedIniPanelLaunchApiManifest()` for launch API negotiation.
|
||||||
- `createIniPanelShellViewModel()` for a complete read-only shell integration
|
- `createIniPanelShellViewModel()` for a complete read-only shell integration
|
||||||
bundle.
|
bundle.
|
||||||
|
- `createIniPanelShellSessionReadinessWorkflowReport()` for a machine-readable
|
||||||
|
session readiness workflow report with phase, missing reasons, status line,
|
||||||
|
and stable rows.
|
||||||
- `createIniPanelShellWorkflowOverviewEmbeddingMountDomContract()` and
|
- `createIniPanelShellWorkflowOverviewEmbeddingMountDomContract()` and
|
||||||
`createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness()` for
|
`createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness()` for
|
||||||
workflow overview embedding mount DOM checks.
|
workflow overview embedding mount DOM checks.
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ export {
|
|||||||
createIniPanelShellSessionHandoffPackageReport,
|
createIniPanelShellSessionHandoffPackageReport,
|
||||||
createIniPanelShellSessionHandoffPackageRenderState,
|
createIniPanelShellSessionHandoffPackageRenderState,
|
||||||
createIniPanelShellSessionHandoffPackageSchema,
|
createIniPanelShellSessionHandoffPackageSchema,
|
||||||
|
createIniPanelShellSessionReadinessWorkflowReport,
|
||||||
createIniPanelShellSessionHandoffSummary,
|
createIniPanelShellSessionHandoffSummary,
|
||||||
createIniPanelShellSessionHandoffSummarySchema,
|
createIniPanelShellSessionHandoffSummarySchema,
|
||||||
createIniPanelShellViewModel,
|
createIniPanelShellViewModel,
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ for (const phrase of [
|
|||||||
"docs/drift-report.md",
|
"docs/drift-report.md",
|
||||||
"PROJECT_COMPLETION_TRACKER.md",
|
"PROJECT_COMPLETION_TRACKER.md",
|
||||||
"runtime/sdk/src/index.js",
|
"runtime/sdk/src/index.js",
|
||||||
|
"createIniPanelShellSessionReadinessWorkflowReport()",
|
||||||
"workflow overview embedding mount DOM",
|
"workflow overview embedding mount DOM",
|
||||||
"verify_no_standalone_cnc_semantics.sh",
|
"verify_no_standalone_cnc_semantics.sh",
|
||||||
"verify_host_smokes.sh",
|
"verify_host_smokes.sh",
|
||||||
@@ -80,6 +81,7 @@ for (const phrase of [
|
|||||||
for (const phrase of [
|
for (const phrase of [
|
||||||
"OPFS/session persistence exports",
|
"OPFS/session persistence exports",
|
||||||
"INI panel shell handoff exports",
|
"INI panel shell handoff exports",
|
||||||
|
"createIniPanelShellSessionReadinessWorkflowReport()",
|
||||||
]) {
|
]) {
|
||||||
assert.match(sdkReadmeText, literalRegExp(phrase));
|
assert.match(sdkReadmeText, literalRegExp(phrase));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import { fileURLToPath } from "node:url";
|
|||||||
import {
|
import {
|
||||||
analyzeIniRuntimeBoundaries,
|
analyzeIniRuntimeBoundaries,
|
||||||
createIniPanelLaunchApiManifest,
|
createIniPanelLaunchApiManifest,
|
||||||
|
createIniPanelShellSessionReadinessWorkflowReport,
|
||||||
createIniPanelShellViewModel,
|
createIniPanelShellViewModel,
|
||||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract,
|
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract,
|
||||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
|
createIniPanelShellWorkflowOverviewEmbeddingMountDomReadiness,
|
||||||
@@ -81,6 +82,7 @@ const requiredExports = [
|
|||||||
["createIniPanelLaunchApiManifest", createIniPanelLaunchApiManifest],
|
["createIniPanelLaunchApiManifest", createIniPanelLaunchApiManifest],
|
||||||
["isSupportedIniPanelLaunchApiManifest", isSupportedIniPanelLaunchApiManifest],
|
["isSupportedIniPanelLaunchApiManifest", isSupportedIniPanelLaunchApiManifest],
|
||||||
["createIniPanelShellViewModel", createIniPanelShellViewModel],
|
["createIniPanelShellViewModel", createIniPanelShellViewModel],
|
||||||
|
["createIniPanelShellSessionReadinessWorkflowReport", createIniPanelShellSessionReadinessWorkflowReport],
|
||||||
[
|
[
|
||||||
"createIniPanelShellWorkflowOverviewEmbeddingMountDomContract",
|
"createIniPanelShellWorkflowOverviewEmbeddingMountDomContract",
|
||||||
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract,
|
createIniPanelShellWorkflowOverviewEmbeddingMountDomContract,
|
||||||
@@ -124,6 +126,14 @@ assert.equal(
|
|||||||
shellViewModel.launchApiManifest.methods.includes("mountWorkflowOverviewEmbeddingMountState"),
|
shellViewModel.launchApiManifest.methods.includes("mountWorkflowOverviewEmbeddingMountState"),
|
||||||
true,
|
true,
|
||||||
);
|
);
|
||||||
|
assert.equal(
|
||||||
|
shellViewModel.launchApiManifest.methods.includes("getShellSessionReadinessWorkflowReport"),
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
assert.equal(
|
||||||
|
createIniPanelShellSessionReadinessWorkflowReport().apiName,
|
||||||
|
"ini-panel-shell-session-readiness-workflow-report",
|
||||||
|
);
|
||||||
assert.equal(
|
assert.equal(
|
||||||
shellViewModel.mountWorkflowOverviewEmbeddingMountState,
|
shellViewModel.mountWorkflowOverviewEmbeddingMountState,
|
||||||
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
mountIniPanelShellWorkflowOverviewEmbeddingMountState,
|
||||||
|
|||||||
Reference in New Issue
Block a user