Files
FreeCADWasmDev/docs/current/acceptance-reuse-optimization-20260911.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

1.6 KiB
Raw Blame History

业务验收增量复用优化

日期:2026-09-11(Asia/Shanghai)。

已定位瓶颈

最近 20 轮计时中,pre-agent-pipeline/business-acceptance 平均 34.26 秒,最大 93.17 秒。原因不是每次都需要重新加载 WASM,而是同一模块批次中只要一个业务 ID 的证据失效,旧运行器就会把整组已通过 ID 一并重新执行。

已落地策略

tools/run_business_acceptance.py --reuse 现在按业务 ID 划分:

  • 对源码、产物、依赖和问题指纹均未变化的 ID,直接保留原始证据路径和账本记录。
  • 只把失效、未通过或新加入的 ID 放入 FREECAD_BUSINESS_IDS,重新执行对应真实 WASM/浏览器用例。
  • 运行期间仍检查所有选中 ID 的业务输入指纹和合同依赖稳定性;若依赖发生变化,整批保持失败,不能用部分复用掩盖不稳定输入。
  • 新执行报告只写入新 ID;复用 ID 不改写原证据时间戳。最终 passed、remaining 和问题闭环仍按全选中集合计算。

该优化只减少重复执行,不降低业务断言,不把实现回执或旧证据直接提升为新通过。

验证

证据复用、调度恢复和优先级测试共 43 项通过;传输、调度、上下文、业务恢复、无人值守和交付规划测试共 101 项通过。随后对 Part 合同执行了实测:21 个 ID 中 11 个直接复用、10 个真实执行,全部通过,总耗时 74.507 秒;这验证了增量分组已生效。当前无人值守调度器和 watchdog 仍在运行,最新有效业务验收计数为 123/1504(以当前指纹账本实时计算为准)。