56 lines
3.9 KiB
Markdown
56 lines
3.9 KiB
Markdown
# 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 实现 | 生产路径无隐藏 fallback,UI 不直连内核 |
|
||
| 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 代理冒充。
|