Files
Web_FreeCAD_Bitbybit/docs/freecad-follow-up-execution-plan.zh-CN.md
wangdequan 378a6e7c0a
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
feat: extend FreeCAD parity queue and pair diagnostics
2026-08-15 06:29:20 -04:00

56 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 代理冒充。