feat: classify recovered naming drift
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Web FreeCAD 当前工作主线
|
||||
|
||||
更新时间:2026-08-14
|
||||
更新时间:2026-08-15
|
||||
|
||||
## 1. 唯一目标
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
## 2. 当前真实状态
|
||||
|
||||
截至 2026-08-14:
|
||||
截至 2026-08-15:
|
||||
|
||||
- 系统级 FreeCAD exact claim 为 `false`。
|
||||
- 34 个模块中 `0 exact`、`26 compatible`、`5 proxy`、`3 development`。
|
||||
@@ -18,7 +18,7 @@
|
||||
- exact 计划共 52 项:`5 completed`、`36 in_progress`、`11 pending`。
|
||||
- 已完成的 exact 项只有 `EX-TSN-00..03` 和 `EX-PD-02`:原生命名证据边界、逐阶段历史、生产私有命名、同构来源处理,以及 Attachment/XLink 生命周期。
|
||||
- exact 发布任务 `EX-REL-01` 仍为 `pending`,34 个模块都不得提升为 exact。
|
||||
- 当前工作树包含 TSN 逐阶段相关性、Property 状态/codec、CAM/LinuxCNC 验证资产、oracle 清册分类和首个 Pad GUI 工作流增量;聚焦门禁、完整 `verify`、发布产物验签和最终差异校验均已通过。
|
||||
- 当前工作树包含 TSN 逐阶段相关性、Property 状态/codec、CAM/LinuxCNC 验证资产、oracle 清册分类和首个 Pad GUI 五态工作流;聚焦门禁、完整 `verify`、发布产物验签和最终差异校验均已通过。
|
||||
|
||||
状态冲突时按以下顺序取真值:
|
||||
|
||||
@@ -73,11 +73,11 @@ EX-DOC-01 -> EX-DOC-03 ---------^
|
||||
|
||||
### P0-A:锁定完整原生 oracle
|
||||
|
||||
对应 `EX-ORA-01/02`。当前隔离配置下有 1111 个工作台启动命令、19 个 source-only 命令和 2 个上下文延迟命令;1111 个启动命令已拆为 100 个独立原生分片,全部完成 no-document/document/selection 三状态采样。首个 `PartDesign_Pad` 命令族已完成选择和原生成功 Task 工作流,下一项只采集无活动文档时的 disabled 状态;failure、cancel、recovery 与其他命令族仍保持开放。没有原生基线的功能不进入 exact 实现判断。
|
||||
对应 `EX-ORA-01/02`。当前隔离配置下有 1111 个工作台启动命令、19 个 source-only 命令和 2 个上下文延迟命令;1111 个启动命令已拆为 100 个独立原生分片,全部完成 no-document/document/selection 三状态采样。首个 `PartDesign_Pad` 命令族的 success、disabled、failure、cancel、recovery 五态工作流和 blocker 更新已全部完成;其他命令族及运行时对象/Property 的未知项仍保持开放。没有原生基线的功能不进入 exact 实现判断。
|
||||
|
||||
### P0-B:关闭跨特征拓扑命名
|
||||
|
||||
对应 `EX-KER-01`、`EX-TSN-04`。锁定 30-case corpus 已按 `9 Boolean + 11 PartDesign + 6 复合 Boolean + 4 dress-up` 逐案例执行原生属性编辑,30/30 都传播到最终 Shape,219/219 阶段几何恢复,657 条 before/edited/restored 阶段记录完成 fail-closed 对账;恢复状态再保存、重开、二次保存后的错误绑定、未解释关系和名称漂移均为零。FreeCAD 重算仍使 11 个 PartDesign 案例的 28 个 mutation 恢复阶段产生原生命名摘要演进。生产 Worker 五阶段链另有 5/5 几何编辑恢复,但顺序链只有 2/5 原生 builder,3/5 为通用 Shape 代理,rotate 缺少原生 mutation family,2/5 恢复用例的 5 个下游语义拓扑摘要发生变化,19 类生产操作的 361 个有序组合仅分类回放 4 个,因此门禁继续 fail-closed。
|
||||
对应 `EX-KER-01`、`EX-TSN-04`。锁定 30-case corpus 已按 `9 Boolean + 11 PartDesign + 6 复合 Boolean + 4 dress-up` 逐案例执行原生属性编辑,30/30 都传播到最终 Shape,219/219 阶段几何恢复,657 条 before/edited/restored 阶段记录完成 fail-closed 对账;恢复状态再保存、重开、二次保存后的错误绑定、未解释关系和名称漂移均为零。FreeCAD 重算使 11 个 PartDesign 案例的 28 个 mutation 恢复阶段产生原生命名摘要演进;其中 `partdesign-plain` 与 `partdesign-midplane` 的 Body/Pad 共 4 个阶段已用第二次独立原生复跑分类为允许演进,恢复几何与初值一致且演进命名在 save/reopen/resave 后稳定,剩余 9 个案例/24 个阶段待解释。生产 Worker 五阶段链另有 5/5 几何编辑恢复,但顺序链只有 2/5 原生 builder,3/5 为通用 Shape 代理,rotate 缺少原生 mutation family,2/5 恢复用例的 5 个下游语义拓扑摘要发生变化,19 类生产操作的 361 个有序组合仅分类回放 4 个,因此门禁继续 fail-closed。
|
||||
|
||||
### P0-C:关闭 App 文档语义
|
||||
|
||||
@@ -101,7 +101,7 @@ P1/P2 的 GUI 全量对标、其他工作台、代理模块和跨浏览器发布
|
||||
| --- | --- | --- | --- | --- |
|
||||
| M0 | 收口当前工作树 | `completed` | 将 TSN、Property、CAM/LinuxCNC 三组已有增量分别核对证据和边界,不再混入新功能 | 聚焦门禁、完整 `verify`、`git diff --check`、全部 JSON 解析通过;计划与报告无陈旧哈希 |
|
||||
| M1 | `EX-ORA-01` 运行时清册闭合 | `in_progress` | 对 352 个注册对象、1111 个启动 GUI command、19 个 source-only command、2 个 context-only command 和 GUI 工作流状态生成差异账本 | 每个候选均为 runtime-backed 或有机器可读排除原因;成功/禁用/失败/取消/恢复工作流未知项为零 |
|
||||
| M2 | `EX-TSN-04A` 漂移判定 | `ready-after-M0` | 逐项解释 11 个 PartDesign case 的 28 个恢复命名摘要演进,以及五阶段链的 5 个恢复拓扑变化 | 每个差异都有 FreeCAD 复跑证据并被判定为稳定语义、允许演进或实现缺陷;未知项为零,缺陷有回归测试 |
|
||||
| M2 | `EX-TSN-04A` 漂移判定 | `in_progress` | 逐项解释 11 个 PartDesign case 的 28 个恢复命名摘要演进,以及五阶段链的 5 个恢复拓扑变化 | 每个差异都有 FreeCAD 复跑证据并被判定为稳定语义、允许演进或实现缺陷;未知项为零,缺陷有回归测试 |
|
||||
| M3 | `EX-TSN-04B` 转换矩阵闭合 | `after-M2` | 将 19×19 的 361 个有序操作对按原生输入/输出类型分类;原生允许的组合使用真实 builder 回放,原生拒绝的组合保存失败 oracle | 361/361 已分类;可执行组合的 history/naming/mutation/resave 通过;不可执行组合的原生错误可复现;不再用通用 Shape 代理冒充 feature builder |
|
||||
| M4 | `EX-DOC-01` Property 批次 | `after-M1` | 先做高复用 App 类型与链接/列表类型,再处理 Material、File、PythonObject 等带安全或工作台边界的类型 | 每批均具备原生值/状态/editor oracle、Facade codec、FCStd reopen/resave、Undo/Redo 和 Chrome 证据;opaque 数量只按机器报告下降 |
|
||||
| M5 | `EX-DOC-02/03` 文档闭环 | `after-M3+M4` | observer 顺序、事务 abort、局部重算失败、Extension、FeaturePython、copy/clone/delete/relink | 原生与浏览器事件序列一致;失败不污染最后有效状态;资源归零;随后再推进 `EX-DOC-04` |
|
||||
@@ -113,18 +113,18 @@ M3 不要求把 FreeCAD 本身拒绝的组合强行实现为顺序特征链。
|
||||
|
||||
### 6.1 微任务队列
|
||||
|
||||
机器真值为 `config/freecad-active-work-queue.json`,由 `generate:freecad-active-work-queue` 从原生报告生成,并由 `check:freecad-active-work-queue` fail-closed 校验。当前共 487 个微任务:112 `completed`、1 `in_progress`、374 `pending`;`maxInProgress=1`,唯一下一任务是 `ORA-GUI-WF-002`。
|
||||
机器真值为 `config/freecad-active-work-queue.json`,由 `generate:freecad-active-work-queue` 从原生报告生成,并由 `check:freecad-active-work-queue` fail-closed 校验。当前共 487 个微任务:119 `completed`、1 `in_progress`、367 `pending`;`maxInProgress=1`,唯一下一任务是 `TSN-DRIFT-002`。
|
||||
|
||||
| 微里程碑 | 任务粒度 | 数量 | 状态 | 下一退出条件 |
|
||||
| --- | --- | ---: | --- | --- |
|
||||
| `ORA-GUI-BASELINE` | 1 个配置边界或 1 个 GUI 命令分片 | 106 | 106 completed | 已关闭:100/100 分片、1111/1111 命令状态、2 个上下文延迟命令均有证据 |
|
||||
| `ORA-GUI-WORKFLOWS` | 1 个命令族的 1 种工作流状态 | 7 | 2 completed / 1 in_progress / 4 pending | `PartDesign_Pad` 选择与成功 Task 已完成;当前只执行 `ORA-GUI-WF-002` disabled 状态 |
|
||||
| `TSN-RECOVERY-DRIFT` | 1 个原生 case 或 1 个生产 mutation | 13 | 13 pending | GUI workflow 七步关闭后,从 `partdesign-plain` 单 case 开始 |
|
||||
| `ORA-GUI-WORKFLOWS` | 1 个命令族的 1 种工作流状态 | 7 | 7 completed | `PartDesign_Pad` 五态原生工作流、聚焦断言和 exact blocker 更新已关闭 |
|
||||
| `TSN-RECOVERY-DRIFT` | 1 个原生 case 或 1 个生产 mutation | 13 | 2 completed / 1 in_progress / 10 pending | `partdesign-plain` 与 `partdesign-midplane` 已分类为允许演进;当前只解释 `partdesign-reverse` |
|
||||
| `TSN-ORDERED-PAIRS` | 1 个有序操作对 | 361 | 4 completed / 357 pending | 每次只分类并回放一个 `from->to`,不按特征族批量关闭 |
|
||||
|
||||
`ORA-GUI-WORKFLOWS` 严格按七步执行:选定命令族、成功、禁用、失败、取消、恢复、更新 blocker/门禁。一步只新增一种原生状态证据,前一步未通过时不启动后一步。
|
||||
`ORA-GUI-WORKFLOWS` 已按七步关闭:选定命令族、成功、禁用、失败、取消、恢复、更新 blocker/门禁。一步只新增一种原生状态证据,前一步未通过时不启动后一步。
|
||||
|
||||
`TSN-RECOVERY-DRIFT` 的 13 个独立任务按以下顺序执行:`partdesign-plain`、`partdesign-midplane`、`partdesign-reverse`、`partdesign-taper`、`partdesign-twoside`、`partdesign-pocket`、`partdesign-pocket-through`、`partdesign-pocket-midplane`、`partdesign-pocket-twoside`、`partdesign-pocket-taper`、`partdesign-pocket-up-to-face`、生产 `cut`、生产 `rotate`。每个任务只允许一种结论:稳定语义、允许演进或实现缺陷;不得以几何恢复代替命名解释。
|
||||
`TSN-RECOVERY-DRIFT` 的 13 个独立任务按以下顺序执行:`partdesign-plain`(已完成,允许演进)、`partdesign-midplane`(已完成,允许演进)、`partdesign-reverse`(当前)、`partdesign-taper`、`partdesign-twoside`、`partdesign-pocket`、`partdesign-pocket-through`、`partdesign-pocket-midplane`、`partdesign-pocket-twoside`、`partdesign-pocket-taper`、`partdesign-pocket-up-to-face`、生产 `cut`、生产 `rotate`。每个任务只允许一种结论:稳定语义、允许演进或实现缺陷;不得以几何恢复代替命名解释。分类账本为 `config/freecad-recovered-naming-classification.json`,其原生 harness 哈希、两次运行一致性和持久化稳定性由 `check:freecad-recovered-naming-classification` 校验。
|
||||
|
||||
100 个 GUI 分片分别对应 `ORA-GUI-SHARD-000..099`,每片覆盖排序命令全集中的 11 或 12 个命令。每片有独立报告、SHA-256、起止索引和退出条件;合并器要求 100 个区间连续、1111 个 ID 唯一且全集哈希一致。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user