diff --git a/text10.txt b/text10.txt index cebb0f8..a4eb710 100644 --- a/text10.txt +++ b/text10.txt @@ -1540,6 +1540,242 @@ browser_interp_smoke=ok 抽取为纯 helper 并接入 `verify_ui_node_smokes.sh`;保持 helper 只描述 host/runtime 边界, 不扩展 CNC 语义。 +二十七、2026-06-14 继续执行记录:browser explicit session readback path helper + +本轮继续沿 OPFS/session/UI boundary 推进,把 browser interpreter smoke 中 ini-named 和 +explicit session 的 saved parameter / backup / tool-table readback path 统一成一个小 helper, +只收拢已有 boundary 返回值的命名,不改变 readback 行为。 + +完成内容: + +- 在 `wasm-port/tests/browser/interp_smoke.html` 新增 + `opfsSessionSavedReadbackPaths(session, savedParameters)`; +- helper 只返回: + - session.parameters.opfsPath; + - savedParameters.backupOpfsPath; + - session.toolTable.opfsPath; +- `opfs_saved_ini_named_parameter_text`、 + `opfs_saved_ini_named_parameter_backup_text`、 + `opfs_saved_ini_named_tool_table_text`、 + `opfs_saved_explicit_parameter_text`、 + `opfs_saved_explicit_parameter_backup_text`、 + `opfs_saved_explicit_tool_table_text` + 改为复用该 helper; +- 未改变参数值、tool-table 值、INI 内容、OPFS/WASM path 字符串、file-service、 + path-model、SDK planner、interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime + semantics。 + +验证已通过: + +```bash +git diff --check +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh +wasm-port/tests/host/verify_host_smokes.sh +``` + +关键输出: + +```text +browser_interp_smoke=ok +host_wasm_opfs_browser_smokes=ok +``` + +下一步建议: + +继续沿 browser/OPFS test glue 推进。优先查看 `verifyOpfsReadback(...)` 周围是否还有 +“路径 + 期望行”成组重复,或者 `saveMachineTextFiles(...)` 相关的 machine text store path +断言是否还能再收一层小 helper;保持只做测试胶水和路径命名,不扩展 CNC 语义。 + +二十二、2026-06-14 继续执行记录:INI panel session load summary helper + +本轮继续沿 OPFS/session/UI boundary 推进,把 machine session load 的 OPFS/WASM 映射 +日志构造收敛为纯 helper,并与 session snapshot summary 一起纳入 UI Node smoke。 + +完成内容: + +- 新增 `wasm-port/runtime/ui/ini-panel/session-load-summary.js`; +- 导出: + - `createMachineSessionLoadSummary(session)`; + - `machineSessionLoadLogLines(summary)`; +- helper 只聚合 machine-session bridge 已返回的 host/runtime boundary facts: + - INI OPFS/WASM path; + - parameter OPFS/WASM path; + - parameter load result text; + - tool table OPFS/WASM path; + - tool table load result text; +- `wasm-port/runtime/ui/ini-panel/app.js` 的 `Load Machine Session` 和 + `Restore And Load Session` 日志改为复用该 helper; +- 新增 `wasm-port/docs/ui-session-summary-helpers.md`,记录 session snapshot 与 session + load helper 的输入/输出和语义边界; +- `wasm-port/tests/ui/node/verify_ini_panel_session_summary.mjs` 增加 session load summary + 和 log lines 覆盖; +- UI node smoke 继续通过 `verify_ini_panel_session_summary.sh` 覆盖该 helper; +- 未改变 UI runtime、OPFS bridge、interpreter run API、G-code 文本、canonical-event 输出 + 或 LinuxCNC-owned runtime semantics。 + +验证已通过: + +```bash +git diff --check +wasm-port/tests/ui/node/verify_ini_panel_session_summary.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/opfs/node/verify_file_service.sh +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh +wasm-port/tests/host/verify_host_smokes.sh +``` + +关键输出: + +```text +ini_panel_session_summary_node_smoke=ok +ini_panel_run_summary_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_executed=28 +sim_configs_wasm_node_inventory_passed=28 +sim_configs_wasm_node_inventory_skipped=131 +sim_configs_wasm_node_inventory_unexpected_fail=0 +opfs_file_service_node_smoke=ok +browser_ini_opfs_smoke=ok +browser_interp_smoke=ok +host_wasm_opfs_browser_smokes=ok +``` + +下一步建议: + +继续沿 OPFS/session/UI boundary 推进。优先把 `ui-session-summary-helpers.md` 的验证入口 +同步到 `compatibility-validation.md` 或补充统一 UI helper docs 索引,确保新增 helper 和 +常规 gate 的关系可发现;仍只做 host/runtime boundary 文档和测试 glue,不扩展 CNC 语义。 + +二十三、2026-06-14 继续执行记录:UI helper docs index + +本轮继续沿 OPFS/session/UI boundary 推进,把两个 UI helper 文档的入口同步到兼容性 +验证索引,方便后续查找对应 helper 和验证命令。 + +完成内容: + +- 在 `wasm-port/docs/compatibility-validation.md` 新增 UI helper docs 索引: + - `wasm-port/docs/ui-run-summary-helpers.md` + - `wasm-port/docs/ui-session-summary-helpers.md` +- 继续保留 UI helper Node smoke 入口: + - `wasm-port/tests/ui/node/verify_ui_node_smokes.sh` +- 未改变 UI runtime、OPFS bridge、interpreter run API、G-code 文本、canonical-event 输出 + 或 LinuxCNC-owned runtime semantics。 + +验证已通过: + +```bash +git diff --check +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/opfs/node/verify_file_service.sh +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh +wasm-port/tests/host/verify_host_smokes.sh +``` + +关键输出: + +```text +ini_panel_run_summary_node_smoke=ok +ini_panel_session_summary_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_executed=28 +sim_configs_wasm_node_inventory_passed=28 +sim_configs_wasm_node_inventory_skipped=131 +sim_configs_wasm_node_inventory_unexpected_fail=0 +opfs_file_service_node_smoke=ok +browser_ini_opfs_smoke=ok +browser_interp_smoke=ok +host_wasm_opfs_browser_smokes=ok +``` + +下一步建议: + +继续沿 OPFS/session/UI boundary 推进。优先扫描 INI panel 中是否还有类似 +“日志文本 / DOM 状态 / 机器可读状态”三份并行维护的 host-boundary 数据,如果有,继续 +抽取为纯 helper 并接入 `verify_ui_node_smokes.sh`;保持 helper 只描述 host/runtime 边界, +不扩展 CNC 语义。 + +二十四、2026-06-14 继续执行记录:INI panel machine file summary helper + +本轮继续沿 OPFS/session/UI boundary 推进,把 INI panel 的 machine text file save/load +日志构造收敛为纯 helper,并接入 UI Node smoke。 + +完成内容: + +- 新增 `wasm-port/runtime/ui/ini-panel/machine-file-summary.js`; +- 导出: + - `createMachineFileSaveSummary(paths, gcodePath)`; + - `machineFileSaveLogLines(summary)`; + - `createMachineFileLoadSummary(files)`; + - `machineFileLoadLogLines(summary)`; +- helper 只聚合 OPFS/staging boundary facts: + - INI/tool/parameter/G-code OPFS path; + - INI/tool/parameter loaded text length; +- `wasm-port/runtime/ui/ini-panel/app.js` 的 `Save Machine Files` 和 `Load Machine Files` + 日志改为复用该 helper; +- 新增 `wasm-port/tests/ui/node/verify_ini_panel_machine_file_summary.mjs` 和 shell wrapper; +- `wasm-port/tests/ui/node/verify_ui_node_smokes.sh` 现在覆盖 run/session/machine-file + 三组 UI helper; +- 未改变 UI runtime、OPFS bridge、interpreter run API、G-code 文本、canonical-event 输出 + 或 LinuxCNC-owned runtime semantics。 + +验证已通过: + +```bash +git diff --check +wasm-port/tests/ui/node/verify_ini_panel_machine_file_summary.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/opfs/node/verify_file_service.sh +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh +SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh +wasm-port/tests/host/verify_host_smokes.sh +``` + +关键输出: + +```text +ini_panel_machine_file_summary_node_smoke=ok +ini_panel_run_summary_node_smoke=ok +ini_panel_session_summary_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_executed=28 +sim_configs_wasm_node_inventory_passed=28 +sim_configs_wasm_node_inventory_skipped=131 +sim_configs_wasm_node_inventory_unexpected_fail=0 +opfs_file_service_node_smoke=ok +browser_ini_opfs_smoke=ok +browser_interp_smoke=ok +host_wasm_opfs_browser_smokes=ok +``` + +下一步建议: + +继续沿 OPFS/session/UI boundary 推进。优先把 machine file helper 补入 UI helper docs +索引或独立文档,确保新 helper 和 `verify_ui_node_smokes.sh` 的关系可发现;仍只做 +host/runtime boundary 文档和测试 glue,不扩展 CNC 语义。 + 二十五、2026-06-14 继续执行记录:INI panel machine file helper docs 本轮继续沿 OPFS/session/UI boundary 推进,把 machine file summary helper 的文档入口 @@ -1666,193 +1902,3 @@ host_wasm_opfs_browser_smokes=ok `loadedIniOverrideSession.toolTable.opfsPath`。只处理 browser/OPFS test glue,不改变 参数值、tool-table 值、INI 内容、OPFS/WASM path 字符串、file-service、path-model、SDK planner、interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。 - -二十四、2026-06-14 继续执行记录:INI panel machine file summary helper - -本轮继续沿 OPFS/session/UI boundary 推进,把 INI panel 的 machine text file save/load -日志构造收敛为纯 helper,并接入 UI Node smoke。 - -完成内容: - -- 新增 `wasm-port/runtime/ui/ini-panel/machine-file-summary.js`; -- 导出: - - `createMachineFileSaveSummary(paths, gcodePath)`; - - `machineFileSaveLogLines(summary)`; - - `createMachineFileLoadSummary(files)`; - - `machineFileLoadLogLines(summary)`; -- helper 只聚合 OPFS/staging boundary facts: - - INI/tool/parameter/G-code OPFS path; - - INI/tool/parameter loaded text length; -- `wasm-port/runtime/ui/ini-panel/app.js` 的 `Save Machine Files` 和 `Load Machine Files` - 日志改为复用该 helper; -- 新增 `wasm-port/tests/ui/node/verify_ini_panel_machine_file_summary.mjs` 和 shell wrapper; -- `wasm-port/tests/ui/node/verify_ui_node_smokes.sh` 现在覆盖 run/session/machine-file - 三组 UI helper; -- 未改变 UI runtime、OPFS bridge、interpreter run API、G-code 文本、canonical-event 输出 - 或 LinuxCNC-owned runtime semantics。 - -验证已通过: - -```bash -git diff --check -wasm-port/tests/ui/node/verify_ini_panel_machine_file_summary.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/opfs/node/verify_file_service.sh -SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh -SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh -wasm-port/tests/host/verify_host_smokes.sh -``` - -关键输出: - -```text -ini_panel_machine_file_summary_node_smoke=ok -ini_panel_run_summary_node_smoke=ok -ini_panel_session_summary_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_executed=28 -sim_configs_wasm_node_inventory_passed=28 -sim_configs_wasm_node_inventory_skipped=131 -sim_configs_wasm_node_inventory_unexpected_fail=0 -opfs_file_service_node_smoke=ok -browser_ini_opfs_smoke=ok -browser_interp_smoke=ok -host_wasm_opfs_browser_smokes=ok -``` - -下一步建议: - -继续沿 OPFS/session/UI boundary 推进。优先把 machine file helper 补入 UI helper docs -索引或独立文档,确保新 helper 和 `verify_ui_node_smokes.sh` 的关系可发现;仍只做 -host/runtime boundary 文档和测试 glue,不扩展 CNC 语义。 - -二十二、2026-06-14 继续执行记录:INI panel session load summary helper - -本轮继续沿 OPFS/session/UI boundary 推进,把 machine session load 的 OPFS/WASM 映射 -日志构造收敛为纯 helper,并与 session snapshot summary 一起纳入 UI Node smoke。 - -完成内容: - -- 新增 `wasm-port/runtime/ui/ini-panel/session-load-summary.js`; -- 导出: - - `createMachineSessionLoadSummary(session)`; - - `machineSessionLoadLogLines(summary)`; -- helper 只聚合 machine-session bridge 已返回的 host/runtime boundary facts: - - INI OPFS/WASM path; - - parameter OPFS/WASM path; - - parameter load result text; - - tool table OPFS/WASM path; - - tool table load result text; -- `wasm-port/runtime/ui/ini-panel/app.js` 的 `Load Machine Session` 和 - `Restore And Load Session` 日志改为复用该 helper; -- 新增 `wasm-port/docs/ui-session-summary-helpers.md`,记录 session snapshot 与 session - load helper 的输入/输出和语义边界; -- `wasm-port/tests/ui/node/verify_ini_panel_session_summary.mjs` 增加 session load summary - 和 log lines 覆盖; -- UI node smoke 继续通过 `verify_ini_panel_session_summary.sh` 覆盖该 helper; -- 未改变 UI runtime、OPFS bridge、interpreter run API、G-code 文本、canonical-event 输出 - 或 LinuxCNC-owned runtime semantics。 - -验证已通过: - -```bash -git diff --check -wasm-port/tests/ui/node/verify_ini_panel_session_summary.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/opfs/node/verify_file_service.sh -SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh -SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh -wasm-port/tests/host/verify_host_smokes.sh -``` - -关键输出: - -```text -ini_panel_session_summary_node_smoke=ok -ini_panel_run_summary_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_executed=28 -sim_configs_wasm_node_inventory_passed=28 -sim_configs_wasm_node_inventory_skipped=131 -sim_configs_wasm_node_inventory_unexpected_fail=0 -opfs_file_service_node_smoke=ok -browser_ini_opfs_smoke=ok -browser_interp_smoke=ok -host_wasm_opfs_browser_smokes=ok -``` - -下一步建议: - -继续沿 OPFS/session/UI boundary 推进。优先把 `ui-session-summary-helpers.md` 的验证入口 -同步到 `compatibility-validation.md` 或补充统一 UI helper docs 索引,确保新增 helper 和 -常规 gate 的关系可发现;仍只做 host/runtime boundary 文档和测试 glue,不扩展 CNC 语义。 - -二十三、2026-06-14 继续执行记录:UI helper docs index - -本轮继续沿 OPFS/session/UI boundary 推进,把两个 UI helper 文档的入口同步到兼容性 -验证索引,方便后续查找对应 helper 和验证命令。 - -完成内容: - -- 在 `wasm-port/docs/compatibility-validation.md` 新增 UI helper docs 索引: - - `wasm-port/docs/ui-run-summary-helpers.md` - - `wasm-port/docs/ui-session-summary-helpers.md` -- 继续保留 UI helper Node smoke 入口: - - `wasm-port/tests/ui/node/verify_ui_node_smokes.sh` -- 未改变 UI runtime、OPFS bridge、interpreter run API、G-code 文本、canonical-event 输出 - 或 LinuxCNC-owned runtime semantics。 - -验证已通过: - -```bash -git diff --check -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/opfs/node/verify_file_service.sh -SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh -SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh -wasm-port/tests/host/verify_host_smokes.sh -``` - -关键输出: - -```text -ini_panel_run_summary_node_smoke=ok -ini_panel_session_summary_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_executed=28 -sim_configs_wasm_node_inventory_passed=28 -sim_configs_wasm_node_inventory_skipped=131 -sim_configs_wasm_node_inventory_unexpected_fail=0 -opfs_file_service_node_smoke=ok -browser_ini_opfs_smoke=ok -browser_interp_smoke=ok -host_wasm_opfs_browser_smokes=ok -``` - -下一步建议: - -继续沿 OPFS/session/UI boundary 推进。优先扫描 INI panel 中是否还有类似 -“日志文本 / DOM 状态 / 机器可读状态”三份并行维护的 host-boundary 数据,如果有,继续 -抽取为纯 helper 并接入 `verify_ui_node_smokes.sh`;保持 helper 只描述 host/runtime 边界, -不扩展 CNC 语义。 diff --git a/wasm-port/tests/browser/interp_smoke.html b/wasm-port/tests/browser/interp_smoke.html index 666ced5..cd86ad1 100644 --- a/wasm-port/tests/browser/interp_smoke.html +++ b/wasm-port/tests/browser/interp_smoke.html @@ -4839,6 +4839,14 @@ await verifyOpfsSavedText(label, () => loadTextFile(opfsPath), expectedLines); } + function opfsSessionSavedReadbackPaths(session, savedParameters) { + return { + parameters: session.parameters.opfsPath, + parameterBackup: savedParameters.backupOpfsPath, + toolTable: session.toolTable.opfsPath, + }; + } + async function verifyOpfsMachineFileReadback(label, machineId, fileKey, expectedLines) { await verifyOpfsSavedText(label, async () => { const machineFiles = await loadMachineTextFiles(machineId); @@ -9881,20 +9889,22 @@ "\t", iniNamedParameterReadbackValues, ); - const iniNamedSavedParameterTextPath = loadedIniFileSession.parameters.opfsPath; + const iniNamedSavedReadbackPaths = opfsSessionSavedReadbackPaths( + loadedIniFileSession, + savedIniNamedParameters, + ); await verifyOpfsReadback( "opfs_saved_ini_named_parameter_text", - iniNamedSavedParameterTextPath, + iniNamedSavedReadbackPaths.parameters, iniNamedSavedParameterTextLines, ); const iniNamedSavedParameterBackupTextLines = opfsSavedParameterPlainTextLinesForValues( " ", iniNamedInitialParameterValues, ); - const iniNamedSavedParameterBackupPath = savedIniNamedParameters.backupOpfsPath; await verifyOpfsReadback( "opfs_saved_ini_named_parameter_backup_text", - iniNamedSavedParameterBackupPath, + iniNamedSavedReadbackPaths.parameterBackup, iniNamedSavedParameterBackupTextLines, ); const iniNamedLoadToolTableResultLines = opfsToolTableResultLinesForTool( @@ -9937,10 +9947,9 @@ iniNamedSaveToolTableResultLines, ); const iniNamedSavedToolTableTextLines = opfsToolTableTextLinesForTool(iniNamedToolTable); - const iniNamedSavedToolTableTextPath = loadedIniFileSession.toolTable.opfsPath; await verifyOpfsReadback( "opfs_saved_ini_named_tool_table_text", - iniNamedSavedToolTableTextPath, + iniNamedSavedReadbackPaths.toolTable, iniNamedSavedToolTableTextLines, ); @@ -10073,20 +10082,22 @@ "\t", explicitParameterReadbackValues, ); - const explicitSavedParameterTextPath = loadedIniOverrideSession.parameters.opfsPath; + const explicitSavedReadbackPaths = opfsSessionSavedReadbackPaths( + loadedIniOverrideSession, + savedExplicitParameters, + ); await verifyOpfsReadback( "opfs_saved_explicit_parameter_text", - explicitSavedParameterTextPath, + explicitSavedReadbackPaths.parameters, explicitSavedParameterTextLines, ); const explicitSavedParameterBackupTextLines = opfsSavedParameterPlainTextLinesForValues( " ", explicitInitialParameterValues, ); - const explicitSavedParameterBackupPath = savedExplicitParameters.backupOpfsPath; await verifyOpfsReadback( "opfs_saved_explicit_parameter_backup_text", - explicitSavedParameterBackupPath, + explicitSavedReadbackPaths.parameterBackup, explicitSavedParameterBackupTextLines, ); const savedExplicitToolTable = await saveMachineToolTableToOpfs( @@ -10115,10 +10126,9 @@ explicitSaveToolTableResultLines, ); const explicitSavedToolTableTextLines = opfsToolTableTextLinesForTool(explicitToolTable); - const explicitSavedToolTableTextPath = loadedIniOverrideSession.toolTable.opfsPath; await verifyOpfsReadback( "opfs_saved_explicit_tool_table_text", - explicitSavedToolTableTextPath, + explicitSavedReadbackPaths.toolTable, explicitSavedToolTableTextLines, );