feat: extend FreeCAD parity queue and pair diagnostics
Some checks failed
real-verification / chrome (push) Has been cancelled
real-verification / freecad-oracle (push) Has been cancelled
real-verification / wasm (push) Has been cancelled

This commit is contained in:
2026-08-15 06:29:20 -04:00
parent 83cbc80971
commit 378a6e7c0a
13 changed files with 21979 additions and 84 deletions

View File

@@ -0,0 +1,55 @@
# FreeCAD 后续工作细粒度执行计划
## 1. 机器真值
- `config/freecad-active-work-queue.json`:全部微任务、依赖、阶段、证据要求、退出条件和唯一活动任务。
- `docs/freecad-active-work-status.generated.zh-CN.md`:由同一生成器产生的实时摘要;禁止手工编辑或在其他计划中复制动态数字。
- `config/freecad-follow-up-task-progress.json`A-I 后续任务的完成证据账本;只能追加连续前缀。
- `config/freecad-ordered-operation-pair-classification.json`19×19 操作对的原生接受/拒绝事实。
`./npmw run generate:freecad-active-work-queue` 同时生成队列和状态页;`./npmw run check:freecad-active-work-queue` 对两个产物 fail-closed。任何时刻必须恰好有一个 `in_progress` 任务。
## 2. 里程碑顺序
1. `ORA-GUI-BASELINE`:原生 GUI 命令清册和隔离探针。
2. `ORA-GUI-WORKFLOWS`:命令族成功、禁用、失败、取消和恢复。
3. `TSN-RECOVERY-DRIFT`:恢复命名与生产拓扑漂移分类。
4. `TSN-ORDERED-PAIRS`19×19 操作对逐对接受/拒绝、变异、命名和往返。
5. `PROPERTY-CODECS`:从原生语义报告自动枚举所有 opaque Property 类型。
6. `DOCUMENT-SEMANTICS`observer、事务、DAG、失败恢复、Extension、FeaturePython 和多文档。
7. `CORE-MODELING`19 个生产建模操作的纵向闭环。
8. `FCSTD-AND-FORMATS`FCStd 资源、对抗输入和 STEP/IGES/BREP 双向往返。
9. `GUI-CLOSURE`应用壳、MDI、树、Task、属性编辑器、对话框、焦点、选择和响应式无障碍。
10. `DOCUMENT-ENGINEERING-WORKBENCHES`Draft、Spreadsheet、TechDraw、Plot、Assembly、BIM、Surface、Mesh 和 Material。
11. `PLATFORM-SCRIPT-PROXY`FEM、CAM、Robot、数据模块、Python/Macro、Addon 及正式代理边界。
12. `QA-RELEASE`:浏览器/OS/GPU、无障碍/locale、fuzz/长稳、资源、签名发布和 exact promotion。
前一里程碑未完成时,后一里程碑全部保持 `pending`。只读 oracle 可以准备,但不能写入第二个活动任务或提前提升能力。
## 3. 每个能力的九个最小任务
| 阶段 | 单一交付物 | 退出条件 |
| --- | --- | --- |
| A | 原生清册与前置 | TypeId、输入、默认值、依赖和适用性机器可读 |
| B | 原生成功证据 | 名义值和边界值的值、Shape、拓扑、状态与诊断齐全 |
| C | 原生失败/取消证据 | 无效输入、禁用、取消和文档未污染可复现 |
| D | 参数变异/恢复 | 编辑、重算、恢复后的几何与语义完成分类 |
| E | Facade 实现 | 生产路径无隐藏 fallbackUI 不直连内核 |
| F | 事务恢复 | abort/undo/redo/stale/失败和资源所有权闭合 |
| G | FCStd 往返 | FreeCAD-Web-FreeCAD 无未知语义漂移 |
| H | 真实浏览器 | Chrome Worker、OPFS、UI 状态和资源释放通过 |
| I | 能力提升 | A-H 全过,聚焦门禁与 exact blocker 由机器报告同步 |
每个阶段只允许一个主要产物和一个聚焦检查。缺少任一阶段时,能力最多保持 `compatible` 或既有的显式 proxy 等级。
## 4. 单轮执行协议
1. 读取队列的 `nextTask`,确认依赖和输入 artifact 哈希。
2. 只修改该任务直接需要的 oracle、实现、检查器和报告。
3. 先运行原生 probe 或真实浏览器 test再运行对应只读 check。
4. 验证 Shape/Worker/OPFS 等资源回到基线,失败不污染文档。
5. 运行相关 Facade、FCStd、TSN/执行计划门禁。
6. 仅在退出条件全部满足后记录完成证据并重新生成队列。
7. 运行 `git diff --check`、全部 JSON 解析和与风险相称的回归;发布点运行完整 `./npmw run verify`
原生拒绝是有效分类,不应被强行实现为接受;但必须固定失败阶段、诊断、事务回滚和干净往返。原生接受则必须使用真实 builder不能用通用 Shape 代理冒充。