公开 INI 面板 session readiness report SDK surface

This commit is contained in:
2026-06-16 07:08:44 +08:00
parent ce3d08ef61
commit 2615e5bc57
7 changed files with 93 additions and 3 deletions

View File

@@ -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

View File

@@ -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.

View File

@@ -68,6 +68,7 @@ export {
createIniPanelShellSessionHandoffPackageReport,
createIniPanelShellSessionHandoffPackageRenderState,
createIniPanelShellSessionHandoffPackageSchema,
createIniPanelShellSessionReadinessWorkflowReport,
createIniPanelShellSessionHandoffSummary,
createIniPanelShellSessionHandoffSummarySchema,
createIniPanelShellViewModel,

View File

@@ -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));
}

View File

@@ -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,