Files
FreeCADWasmDev/docs/current/ACCEPTANCE_EFFICIENCY_PROGRESS.md

4.1 KiB

Acceptance Efficiency Progress

Verified on 2026-09-16. Scope remains all 1508 requirements. Missing cases and incomplete semantic proof areas remain outstanding; no placeholders count as business acceptance.

Execution Changes

  • Verify reusable IDs once per invocation and load each evidence report once. Preserve individual source, case, artifact and issue fingerprint checks.
  • Hash large artifacts as streams. Cache by device, inode, size, modification and change timestamps, and reject files changing during hashing.
  • Group up to 32 cases with the same declared build owner. Separate build overrides. Existing contracts need 26 planned batches instead of 36 batches at the previous size of eight; this is a plan count, not a runtime benchmark.
  • Retain failures per requirement and input signature, so regrouping does not rerun unchanged failures or suppress passed/new siblings. Relevant source, case or runner changes permit retry; --retry-failed remains available.
  • Run cases in owned process groups and clean up descendants after completion or timeout. Retain stdout/stderr for diagnosis, including timeout failures.

acceptance-loading-benchmark.json records the same-machine Points comparison: 71 to 20 JSON reads, 20 to four evidence reads, and 19 to two ledger reads. The measured metadata/reuse check took 75 ms before and 24 ms after, with the same nine reusable IDs. This does not measure native geometry throughput. The actual nine-case Points reuse completed without starting WASM. During the subsequent sweep, BIM reused 24 cases and executed only its one remaining semantic case in 14.215 seconds, compared with 51.274 seconds for the preceding complete 25-case execution. Both retain the same six semantic proof gaps. The sweep journal records per-batch reuse/execution counts.

IFC Blocker And Remaining Work

Native persistence changed one bounding-box coordinate from 442.5495138717498 to 442.54951387174987. Exact JSON equality incorrectly failed persistence and failure-atomicity checks. The corrected case compares only volume/bounds with an explicit absolute tolerance of 1e-6; semantic properties, GlobalIds, hierarchy, validity, document inventory and destination hashes remain exact. Regression cases reject changed properties, identities, geometry and NaN.

Evidence: business-evidence/c987af417d437b7467ffacb3-20260916T013011378730.json. BIM has 24 accepted cases in this execution. The additional semantic case has six executed scenarios and 13 passing assertions; the unchanged independent verifier also passes. The outer runner correctly retains incomplete acceptance because these six mandatory areas are still missing:

  • added_deleted_objects
  • classifications
  • geometry_property_edits
  • materials
  • native_bim_authoring
  • quantities

Continue from the existing native imported-graph implementation in freecad-source/src/WebAssembly/FreeCADCoreProbe/IfcOpenShellExport.cpp, the local upstream src/Mod/BIM/importers and cached IfcOpenShell source. Imported property/hierarchy edits and added/deleted objects currently reject explicitly. Do not add coverage tags without output assertions for the corresponding work.

Focused native FCStd roundtrip evidence: ifc-source-roundtrip-diagnostics/2026-09-16T01-22-40-380Z/result.json. Automation regressions: 40 business tests, 25 acceptance tests, 180 scheduler tests and three semantic snapshot comparison tests passed. Latest complete scope counts are generated in business-acceptance-reconciliation.json.

Completed Sweep

The sweep finished at 2026-09-16 01:38:16 UTC (09:38:16 Asia/Shanghai). business-acceptance-runs/20260916T013038551196.json retains all 26 batches: 122 requirements reused current proof, and 44 were executed. The accumulated case/reuse time was 453.45 seconds. Current acceptance is 165/1508, with 1342 missing executable cases plus the incomplete semantic-export requirement. All declared original executable requirements passed. The Web IFC import finished successfully with actual building geometry and browser evidence. The continuous development service was restarted after the sweep completed.