Files
FreeCADWasmDev/tools/run_p6_import_action04_persistence.mjs
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

3 lines
1.4 KiB
JavaScript

import fs from "node:fs"; import path from "node:path";
const root = path.resolve(path.dirname(new URL(import.meta.url).pathname), ".."); const docs = path.join(root, "docs/p6"); const facade = JSON.parse(fs.readFileSync(path.join(docs, "import-action-04-facade.json"))); const chrome = JSON.parse(fs.readFileSync(path.join(docs, "import-action-04-chrome.json"))); const report = { schema: "freecad-web-p6-import-action-04-persistence/v1", taskId: "FW-P6-IMP-ACT-04-G", module: "Import", action: "python-api", result: "pass_boundary", persistence: { applicability: "not_applicable_read_only", reason: "Python API inventory is read-only and does not create a document", verification: "manifest-and-replay" }, readOnly: true, arbitraryExecution: false, chrome: { result: chrome.result, externalRequests: chrome.network.externalRequestCount, runtimeExceptions: chrome.runtimeExceptionCount }, sourceBacked: true }; if (report.chrome.result !== "pass") throw new Error(JSON.stringify(report)); fs.writeFileSync(path.join(docs, "import-action-04-persistence.json"), `${JSON.stringify(report, null, 2)}\n`); fs.writeFileSync(path.join(root, "docs/freecad-p6-import-action-04-g-persistence.log"), "result=pass_boundary\napplicability=not_applicable_read_only\nreadOnly=true\narbitraryExecution=false\nexternalRequests=0\n"); console.log(JSON.stringify({ result: report.result, readOnly: true }));