Files
FreeCADWasmDev/docs/current/cloud-configure-recompute-boundary.md
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

2.5 KiB

Cloud configure/recompute batch 2650dce33b1c1ca67fcd1839

Selected behavior: Cloud:cloud.configureRecompute.

The existing six native Cloud Python setters remain the configuration path. fc_web_cloud_configure now obtains the native FreeCAD active document, creates a document when none exists, and invokes native Document::recompute. The application retains that document for subsequent requests. The returned summary is the recomputed document's name; count advances only after recompute returns, and its native error output, negative count, or Python exception fails the request. The Python binding returns an object count, not a success boolean: zero objects is valid. The recovery patch removes the incorrect truthiness test and reads the native error output separately from that count.

Remaining boundaries:

  • Document context belongs to the existing Cloud WASM runtime. The six-string request has no document selector or cross-worker document transfer contract; this change does not claim to recompute documents owned by another worker.
  • Configuration applies the supplied connection settings. It does not establish or verify a remote authenticated Cloud connection.
  • Legacy fixture/recovery probe counters are outside this selected business entry point and do not establish actual document recomputation evidence.
  • Build, artifact synchronization, and business acceptance are pending with the outer pipeline. No runtime pass is claimed by these edits.

Reuse: CloudKernelProbe.cpp, cloud-facade.ts, cloud.worker.ts, and the existing tools/cloud-business-cases.mjs / docs/business-acceptance/Cloud.json contract. The business script now covers two configurations in the same document, null-input rejection and subsequent recovery, filters FREECAD_BUSINESS_IDS, and terminates available pthread workers before flushing its result and exiting. The outer pipeline must run these cases against rebuilt artifacts; no failure key or issue ID was supplied for evidence linkage in this recovery packet.

The subsequent acceptance_incomplete evidence 06c785a1dc5205859aebcfe3-20260908T230211941624.json contains empty results. The runner supplies FREECAD_BUSINESS_IDS as a JSON array; the case script's comma splitting incorrectly skipped the selected capability. The script now parses and validates that JSON array and reports malformed selectors as failures. This correction changes only case selection, with native behavior retained. Actual business execution and acceptance remain pending with the outer pipeline.