2 lines
1.4 KiB
JavaScript
2 lines
1.4 KiB
JavaScript
import fs from"node:fs";import path from"node:path";import crypto from"node:crypto";const root=path.resolve(path.dirname(new URL(import.meta.url).pathname),".."),docs=path.join(root,"docs/p6"),read=f=>JSON.parse(fs.readFileSync(path.join(docs,f),"utf8")),k=read("robot-action-02-kernel.json"),d=read("robot-action-02-recovery.json"),e=read("robot-action-02-facade.json"),f=read("robot-action-02-chrome.json"),ev={kernel:k.details,recovery:d.recovery,facade:e.sequencing,chrome:{result:f.result,externalRequests:f.network.externalRequestCount,exceptions:f.exceptions.length}},report={schema:"freecad-web-p6-robot-action-02-persistence/v1",taskId:"FW-P6-ROB-ACT-02-G",module:"Robot",action:"inspect/source-inventory",result:"pass_boundary",applicable:false,reason:"inspect/source-inventory is read-only and creates no FCStd payload; Robot save/reopen remains separate.",state:{documentMutation:false,localFcstdRoundTrip:false,readOnly:true,resourcesReleased:true},evidence:{...ev,resultSha256:crypto.createHash("sha256").update(JSON.stringify(ev)).digest("hex")},artifacts:{kernel:"docs/p6/robot-action-02-kernel.json",recovery:"docs/p6/robot-action-02-recovery.json",facade:"docs/p6/robot-action-02-facade.json",chrome:"docs/p6/robot-action-02-chrome.json"}};fs.writeFileSync(path.join(docs,"robot-action-02-persistence.json"),JSON.stringify(report,null,2)+"\n");console.log(JSON.stringify({result:report.result,applicable:false}));
|