新增 OPFS session 独立 browser workflow gate

This commit is contained in:
2026-06-16 17:30:23 +08:00
parent 741afc5103
commit 35bc25714d
18 changed files with 478 additions and 51 deletions

View File

@@ -354,3 +354,65 @@ project_release_gate=ok
- 新增内容只属于 release gate evidence packaging、SDK/API surface、browser/UI artifact validation
render rows、docs 和测试 gate
- blocked runtime families 仍不 promotion。
五十八、2026-06-16 继续执行记录OPFS/session persistence 独立 browser workflow gate
本批继续按“每批必须产出可调用 API、可验证 workflow、可执行 gate、或真实 UI/browser 能力”
推进,选择 `text15.txt` 下一步建议中的 OPFS/session persistence 独立 SDK/browser gate。
本批新增实质能力:
- 新增真实浏览器 workflow 页面:`tests/browser/opfs_session_workflow_smoke.html`
- 新增独立 browser gate`tests/browser/verify_opfs_session_workflow_browser.sh`
- 该 gate 在真实 Chromium + OPFS 中验证:
- 初始 `readMachineSessionReadiness()` blocked/missing 检查;
- `saveMachineTextFiles()` 保存 INI、parameter、tool-table
- `saveGcodeProgram()` 保存 G-code
- `saveMachineSessionSnapshot()` 保存 machine session snapshot
- `loadMachineTextFiles()`、`loadGcodeProgram()`、`loadMachineSessionSnapshot()` 回读;
- `readMachineSessionReadiness()` ready 检查;
- `loadMachineSessionFromOpfs()` 把 OPFS machine session 加载到 WASM
- `createMachineSessionPersistenceSummary()` 输出 ready persistence summary。
- 顶层 release gate manifest 新增 `opfs-session-browser` gate
- `createProjectReleaseGateManifest()`、release readiness artifact fixture、artifact writer/validator
与 SDK/browser/UI tests 已同步到 11 个 release gates
- `verify_project_release_gate.sh` 和 `verify_host_smokes.sh` 均纳入独立 OPFS/session browser gate
- `docs/opfs-session-persistence.md` 与 `docs/project-release-handoff.md` 记录该独立 gate。
本批新增/更新可执行验证:
```bash
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_opfs_session_workflow_browser.sh
wasm-port/tests/sdk/node/verify_project_release_gate_manifest.sh
wasm-port/tests/sdk/node/verify_sdk_surface.sh
wasm-port/tests/docs/node/verify_opfs_session_docs.sh
wasm-port/tests/docs/node/verify_project_release_handoff_docs.sh
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_release_artifact_url_workflow_browser.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/host/verify_project_release_gate.sh
```
关键通过输出:
```text
browser_opfs_session_workflow_smoke=ok
project_release_gate_manifest_node_smoke=ok
sdk_surface_node_smoke=ok
opfs_session_docs_node_smoke=ok
project_release_handoff_docs_node_smoke=ok
browser_release_artifact_url_workflow_smoke=ok
browser_ini_shell_integration_workflow_smoke=ok
ui_node_smokes=ok
project_release_readiness_artifact_node_smoke=ok
project_release_gate=ok
```
本批仍保持 LinuxCNC 语义边界:
- 未修改 vendored LinuxCNC 源码;
- 未在 JS/browser 中实现 G-code、tool、parameter、planner、kinematics、remap 或 canonical motion
语义;
- 新增内容只验证 host OPFS/session persistence、WASM staging、SDK/browser workflow 和 release gate
evidence
- blocked runtime families 仍不 promotion。