feat: advance FreeCAD exact parity evidence
This commit is contained in:
@@ -421,6 +421,14 @@ EX-ORA-02 的 mutation corpus 由 `config/freecad-parameter-mutation-plan.json`
|
||||
|
||||
30 个复合模型的 219 个文档阶段已通过 FreeCAD 运行时 `getElementMappedName/getElementIndexedName/getElementHistory` 获得直接命名证据,并由两个门禁逐阶段验证。此处的 `native-evidence=219/219` 不等于内部 builder exact:219 个阶段都有 IndexedName,但只有 74 个阶段的全部子形有 MappedName,145 个阶段只有原生索引身份;当前识别出的 42 个操作阶段仍为 `internalBuilderEvidence=0`。没有内部 builder Shape/history 时,最终几何不能用于制造中间 Generated/Modified/Deleted;没有实际 StringHasher/MappedNameRef 时也不能制造私有 token;同构候选没有唯一原生来源时继续持久化为 ambiguous。
|
||||
|
||||
### 22.1 30-case 原生 mutation 与恢复门(2026-08-14)
|
||||
|
||||
`freecad-composite-history-elementmap-oracle` 现把固定语料锁定为 `9 Boolean + 11 PartDesign + 6 复合 Boolean + 4 dress-up`,每个 case 声明目标对象、原生 Property TypeId、editor mode、编辑值和最终对象。采集器对每个 case 执行 before/edit/recompute/restore/recompute,并为全部 219 个阶段保存三相几何、关系和命名摘要,共 657 条阶段记录。解析几何摘要包含拓扑计数、包围盒、顶点坐标、边长、面面积、面积和体积,不依赖 B-Rep 文本中的瞬时内部布局;原始 B-Rep SHA-256 仍单独保留作证据。
|
||||
|
||||
锁定 FreeCAD 1.1.1 实跑结果为 `mutation=30/30`、最终传播失败 `0`、几何恢复失败 `0/219`。mutation 恢复后的状态才作为 FCStd nominal 基线,30 个 case 再完成 save/reopen/resave,219 个阶段的 `roundtripNameDrift=0`、`resaveNameDrift=0`。FreeCAD 重算过程中,11 个 PartDesign case 的 28 个阶段在参数恢复后产生不同的原生 relation/semantic-name digest;该差异被单独锁定为 mutation naming drift,不能与几何恢复混算,也不能被零保存漂移掩盖。
|
||||
|
||||
`check:freecad-composite-history-elementmap`、`check:freecad-tsn-stage-correlation` 和 `check:freecad-exact-history-elementmap-gate` 共同按 case id、类别配额、stage ordinal 和三相 identity fail-closed。来源解析同时接受 FreeCAD 原生 `FaceN/EdgeN/VertexN`、`#d:1`、`#42` 与 `g1v2;SKT` 语法,不再把原生局部 token 误判为未解释关系。当前三门结果均为 `wrongBindings=0`、`unexplainedRelations=0`,但 mutation naming drift、五阶段 proxy/builder 缺口及未分类操作对仍使 `EX-TSN-04=in_progress`、`exactPromotionReady=false`。
|
||||
|
||||
### 23. EX-PD-02 Attachment 与跨文档引用闭合(2026-08-13)
|
||||
|
||||
`EX-PD-02` 已按独立机器证据关闭。FreeCAD 1.1.1 原生 Attachment 注册表仍为 55 项,四类引擎实现并集为 50 项;新增全组合 oracle 将 Plane/Sketch/Line/Point 的所有模式及所有引用组合展开为 236 个可执行槽位。每项都通过初始重算、统一源几何平移和 FCStd 关闭重开,Placement 与支持引用无漂移。原有未实现模式反例仍要求 `Touched + Invalid`,不会因本批完整执行覆盖而被误判为实现。
|
||||
|
||||
Reference in New Issue
Block a user