feat: advance FreeCAD exact parity evidence
This commit is contained in:
@@ -1885,3 +1885,29 @@ Node 与真实 Chrome 的 19-operation 生产矩阵均重跑通过。17 类样
|
||||
扩展 `freecad-composite-history-elementmap-oracle` 的每个 30-case 流程:初次保存后关闭并重开,采集 ElementMap/`getElementMappedName()`;随后再次 `saveAs()`,再次关闭并重开,再采集同一组阶段和子形名称。报告新增 `nativeDesktopResaveCovered`、`resaveNameDrift` 及汇总计数,检查器要求 30/30 案例完成二次原生保存且 `roundtripNameDrift=0`、`resaveNameDrift=0`。
|
||||
|
||||
本轮实际结果为 30 个案例、219 个阶段、91 个 ElementMap2 资源和 11 个 StringHasher 资源全部通过;二次保存后的命名漂移为 `0`,`wrongBindings/unexplainedRelations/roundtripNameDrift` 等 exact gate 指标继续为零。EX-TSN-04 已把该门禁登记为证据,但仍保持 `in_progress`:生产 Worker 五阶段链与桌面 30-case 语料尚未完成逐阶段相关性对账,跨特征 mutation 矩阵也未穷尽。完整 `./npmw run verify`、构建、签名发布和 `git diff --check` 均通过。
|
||||
|
||||
## 241. 2026-08-14 EX-TSN-04 桌面五阶段关联与跨特征 mutation 门
|
||||
|
||||
新增锁定 FreeCAD 1.1.1 的 `freecad-tsn-stage-correlation-oracle`,按生产顺序执行 Cut→Rotate→Fillet→Mirrored→LinearPattern,采集每阶段 Shape、MappedName 摘要、`getElementHistory()` 来源图,并完成关闭、重开、二次 `saveAs()`、再次重开。该专用链与原 30-case corpus 合计形成 31 个桌面 resave 用例;新增链的 `wrongBindings=0`、`unexplainedRelations=0`、`roundtripNameDrift=0`、`resaveNameDrift=0`。exact history gate 现正式计入 `resaveNameDrift`,不再只检查首次 round-trip。
|
||||
|
||||
跨特征 mutation 对五个阶段各执行一次参数编辑、全链重算和恢复,5/5 参数与几何恢复通过;现有 35-family 报告能为 Cut、Fillet、Mirrored、LinearPattern 提供独立原生 mutation,对 Rotate 仍无注册 feature family。FreeCAD 的顺序 PartDesign 链拒绝继续变换 Mirrored 输出,原生错误为 `Only additive and subtractive features can be transformed`,因此专用顺序链的 Rotate、Mirrored、LinearPattern 仍只能标记为通用 Shape 代理,不能算原生 builder。Cut 与 Rotate 的恢复还导致 2/5 用例、5 个下游语义拓扑摘要变化,虽未形成错误绑定,仍阻断 exact。
|
||||
|
||||
新门禁将 19 类生产 operation 展开为 361 个有序组合;当前真实回放 4 个相邻转换,剩余 357 个尚未完成类型兼容分类。`EX-TSN-04` 因此保持 `in_progress`,机器化剩余量为 `native sequential builder=2/5`、`native mutation correlation=4/5`、`classified transition=4/361`。不得用当前零漂移结果越过这些显式阻断。
|
||||
|
||||
## 242. 2026-08-14 30-case 逐阶段 mutation 与恢复对账
|
||||
|
||||
`freecad-composite-history-elementmap-oracle` 已为固定的 `9 Boolean + 11 PartDesign + 6 复合 Boolean + 4 dress-up` 构造器增加逐案例 mutation 合同。Boolean 编辑 Cylinder.Radius,PartDesign 编辑 Pad.Length,复合 Boolean 编辑第一层基体 Box.Length,Fillet/Chamfer 分别编辑 Radius/Size;每个目标均由 FreeCAD 报告为原生可编辑 Property,并必须改变最终对象的解析几何摘要。采集器为 219 个阶段各保存 before/edited/restored 三相记录,共 657 条,包含稳定解析几何 digest、B-Rep SHA-256、relation digest 与 semantic-name digest。
|
||||
|
||||
锁定 FreeCAD 1.1.1 oracle 实跑为 `30/30 mutation pass`、最终传播失败 `0`、几何恢复失败 `0/219`。恢复后的文档状态作为实际 FCStd nominal 基线,再执行 save/reopen/resave;30/30 case、219/219 阶段保持 `roundtripNameDrift=0` 与 `resaveNameDrift=0`,91 个 ElementMap2 和 11 个 StringHasher 资源继续通过解析、写回与语义检查。恢复重算本身仍使 11 个 PartDesign case 的 28 个阶段产生 relation/semantic-name digest 演进;报告与 exact gate 将其作为独立非零指标保留,未把几何恢复等同于命名 exact。
|
||||
|
||||
新增共享 `freecad-composite-mutation-evidence` 校验器,锁定 30 个 case identity、四类配额、原生 Property/editor 状态、target/final stage ordinal、三相阶段 identity、最终传播和逐阶段恢复。TSN-04 checker 与 exact history gate 都按 case 一对一连接 resave 证据,任一案例缺失、重复、错序或局部指标不一致即失败。FreeCAD 来源子形解析同时覆盖 `FaceN/EdgeN/VertexN`、`#d:1`、`#42` 和 `g1v2;SKT` 原生语法;当前 `wrongBindings=0`、`unexplainedRelations=0`。`EX-TSN-04` 仍为 `in_progress`:除 28 个恢复命名摘要演进外,五阶段链仍有 3/5 proxy、rotate mutation family 缺失、5 个拓扑恢复 drift 和 357 个未分类 operation pair。
|
||||
|
||||
## 243. 2026-08-14 执行重审与首个 GUI 成功工作流
|
||||
|
||||
新增 `freecad-web-execution-master-plan.zh-CN.md`,重新区分 83/83 兼容任务与 5/52 exact 任务,按 ORA、TSN、Property、Document、Kernel、Sketcher、Part、PartDesign、FCStd、GUI、工程工作台、平台和发布拆出最小 A-I 验收步骤。机器队列继续保持 `maxInProgress=1`,不以文档计划替代原生和浏览器证据。
|
||||
|
||||
`ORA-GUI-WF-000` 选择 `partdesign-pad-task`,代表命令为 `PartDesign_Pad`,主 exact 映射为 `EX-UI-03`,关联 `EX-ORA-01/EX-PD-01`。选择依据、成功/禁用/失败/取消/恢复配方和串行进度保存在 `config/freecad-gui-workflow-plan.json`,新增 check 保证命令敏感度与 1111 命令运行时清册一致。
|
||||
|
||||
`ORA-GUI-WF-001` 随后在隔离 Xvfb 的锁定 FreeCAD 1.1.1 桌面进程真实执行。原生命令从已选矩形 Sketch 打开 Pad Task,TaskView 的实际接受按钮为 `Done`;接受并清理 edit 状态后得到 `PartDesign::Pad`,Body Group 为 `Sketch,Pad`、Tip=Pad、Profile=Sketch、Length=10,实体为 6 面/12 边/8 点、体积 120、状态 Up-to-date,UndoCount=1。报告只声明 success,remainingStates 仍为 disabled/failure/cancel/recovery。队列前移为 112 completed、1 in_progress、374 pending,唯一下一项是 `ORA-GUI-WF-002`。
|
||||
|
||||
本轮完整 `./npmw run verify` 以退出码 0 完成,生产构建、79 个签名发布文件、34 模块 release closure 和 Ed25519 验签通过;能力矩阵仍准确保持 0 exact、26 compatible、5 proxy、3 development。
|
||||
|
||||
Reference in New Issue
Block a user