Files
cdsl-cad/cadfs_to_cdsl/WEEKLY_REPORT_2026-09-11.md
T

18 KiB
Raw Blame History

CADFS → CDSL Engine 周报

周期:2026-09-07 ~ 2026-09-11 数据集: data/cadfs-sample/CADFS_test,共 9,347 个样本 最新全量工件: cadfs_to_cdsl/output,报告生成于 2026-09-11 18:28:01 历史工件: cadfs_to_cdsl/output-history/* 能力依据: cadfs_to_cdsl/ENGINE_CAPABILITY_GAPS_PROGRESS.local.md、CADFS_FULL_CAPABILITY_TARGET.md

1. 本周结论

  1. CADFS → CDSL 的转换覆盖继续提升。 最新全量结果中,converted_complete 为 6,626 个(70.89%),converted_partial 为 2,325 个(24.87%);无可执行特征的样本降至 366 个(3.92%),解析/降级失败 30 个(0.32%)。
  2. 转换完整不等于可执行,也不等于几何相似。 最新结果有 8,126 个 STEP 工件,但其中包含失败样本保留的可执行前缀;真正完成一次 rebuild 的样本为 4,597 个,其中 RP 接受 1,781 个、strict 接受 744 个。
  3. 最新快照的 RP/strict 接受数低于 2026-09-09 快照。 这与本周 selector provenance、single-session replay 和 fallback 收紧同步发生;selector_query_unsupported 成为主要 rebuild 失败层。该变化不能只按百分比判定为几何能力退化,应结合失败 feature、前缀 STEP 和诊断逐层分析。
  4. 本周 engine 的主要增量集中在 provenance、拓扑历史和有界 source contract。 已落地的多数是窄范围、可证明的 contract;没有把单个样本的通过结果升级为通用 CADFS feature 完成。

2. 当前 CADFS → CDSL 数据转换情况

2.1 最新全量结果

层级 状态 数量 占 9,347 样本 说明
转换 converted_complete 6,626 70.89% FeatureScript history 全部有 CDSL 表达,仍需单独看 runtime/comparison
转换 converted_partial 2,325 24.87% 保留可转换前缀,后续 feature 有 deferred/unsupported 等诊断
转换 deferred_no_executable_feature 366 3.92% 没有可执行 feature checkpoint
转换 parse_failed 30 0.32% parser/lowering 层失败
rebuild/比较 rebuilt_strict 744 7.96% CDSL、STEP rebuild 和 strict comparison 均通过
rebuild/比较 rebuilt_approximate 1,037 11.09% RP 工程相似通过,strict 未通过
rebuild/比较 rebuilt_rejected 2,778 29.72% 有 rebuild/comparison,但不满足 RP 验收
执行 rebuild_failed 3,932 42.07% runtime/selector/OCC 在完整或增量 replay 中失败
执行 runtime_ineligible 408 4.37% CDSL 已产生,但能力预检拒绝完整 runtime execution
基础设施 comparison_timeout 38 0.41% 比较 worker 超过 60 秒
基础设施 rebuild_timeout 14 0.15% rebuild 超时

接受口径:RP 接受 = rebuilt_strict + rebuilt_approximate = 1,781(19.05%);strict 接受 = 744(7.96%)。当前 4,559 个样本有 comparison report,其中 strict 占 16.32%,RP 占 39.07%;这个分母与全量样本不同,不能混用。

2.2 CDSL、STEP、比较工件覆盖

工件 数量 占全量 位置/说明
candidate CDSL 8,951 95.76% output/samples/<sample_id>/candidate.cdsl.json
bound CDSL 8,485 90.78% 已完成 selector/body binding 的候选
STEP 8,126 86.94% 包含完整 rebuild 和失败时保留的最佳 executable prefix
comparison 4,559 48.77% comparison.json 和 comparison_summary.csv
GLB 0(全量目录扫描) 0% 最新全量 output 未生成 GLB;专项回归工件中的 GLB 不计入全量统计

所有样本的本地 annotation、FeatureScript、image、STEP、STL modality 均存在;JSONL 对齐 fallback 为 0。每个失败样本仍按当前流程保留 diagnostics.json、history.json、rebuild.json 以及可用的 rebuild.step 前缀。

2.3 历史快照对比

以下数据按各快照的 full_run_report.md 汇总。旧快照的 manifest 状态命名曾使用 rebuilt/rebuilt_approximate 等不同字段,因此不把旧 manifest 与最新 manifest 直接拼接;比较时以各自报告的 conversion、RP、strict 和工件计数为准。

报告时间(快照目录) complete partial deferred RP accepted strict accepted STEP candidate bound comparison
2026-09-02 (20260907-185128) 2,427 4,315 2,602 1,159(12.40%) 578(6.18%) 1,812 8,108 1,773 1,719
2026-09-07 (20260907-235209) 2,829 4,283 2,235 1,358(14.53%) 654(7.00%) 5,554 7,112 5,554 5,250
2026-09-08 (20260908-215959) 5,367 3,266 693 2,031(21.73%) 905(9.68%) 6,134 8,633 6,134 6,090
2026-09-09 (20260909-191531) 6,232 2,710 396 2,253(24.10%) 989(10.58%) 8,176 8,942 8,364 6,007
2026-09-11(最新 output) 6,626 2,325 366 1,781(19.05%) 744(7.96%) 8,126 8,951 8,485 4,559

从 2026-09-02 到最新快照,完整转换增加 4,199 个(+44.92 个百分点),deferred 减少 2,236 个(-23.92 个百分点),candidate/bound CDSL 覆盖明显扩大。最新快照相较 2026-09-09 的 strict/RP 和 comparison 数下降,应归因到当前代码的更严格 provenance/selector gate、runtime 分类和本次全量执行边界,不能仅凭接受率得出“本周 engine 几何能力整体下降”的结论。

与 2026-09-09 快照逐项比较:converted_complete +394、converted_partial -385、deferred -30、candidate CDSL +9、bound CDSL +121;STEP -50、comparison -1,448、RP accepted -472、strict accepted -245。后四项反映本次全量执行的 replay/比较覆盖和 provenance gate 变化,需与保留的 prefix STEP、diagnostics 和 comparison 工件一起解读。

2.4 FeatureScript 操作覆盖与主要缺口

最新 source history 中的操作出现次数如下,说明当前回归集已覆盖较宽的 operation 分布:

操作 次数 操作 次数
newSketch 20,857 extrude 18,168
fillet 5,210 revolve 2,087
chamfer 1,818 cPlane 1,620
hole 1,203 shell 729
mirror 483 transform 468
sweep 378 loft 377
circularPattern 252 booleanBodies 228
deleteBodies 142

按受影响样本统计的主要 capability gaps(一个样本可能同时命中多个 gap)为:

Gap 受影响样本 Gap 受影响样本
fillet 928 extrude 888
chamfer 264 revolve 201
shell_face_selector 162 mirror 139
extrude_profile_topology:cap_face 112 extrude_profile_topology:swept_face 94
cPlane 92 extrude_profile_topology:cap_edge 88
sweep_path 71 hole_location_vertex 70
loft 65 circularPattern 50
hole_scope_body_source 44 shell 42
sweep 40 booleanBodies 36

当前共记录 5,095 条 diagnostic record,分布为 feature_deferred 3,449、unsupported_engine_capability 1,004、sketch_deferred 612、parse_or_lowering_failed 30;这些是诊断条数,不是互斥样本数。主要 runtime 失败包括:selector_query_unsupported(F2 904、F4 593、F3 380、F6 278、F5 204)、OCC union invalid shape(157)、BRep_API: command not done(151)和 planar IMPRINT region 无界(116)。

3. 本周 engine 新增和完善的能力

3.1 Selector source preservation 与 query 语义

能力 本周新增/完善 已验证边界与证据 仍未覆盖
版本化 query AST selector_intent 同时保留带行号的原始 source_query.ast 和 query_expr@1.0;递归保存 qUnion、qIntersection、qSubtraction、qAdjacent、qOwnerBody、qBodyType、qConstructionFilter、qCreatedBy 以及未知调用,未知语义保留为 opaque_call。schema/semantic validation 校验 expression 与 intent version 一致。 parser/lowering/selector/runtime 回归已覆盖;未知 query 不再被改写成近似 selector。 这是 source-preservation foundation,不等于这些 query family 已可 runtime 执行;通用 filter、created/modified/generated/deleted 关系仍 deferred。
Provenance query set fillet/chamfer 增加窄 QUERY_SET contract;direct qUnion、qIntersection、qSubtraction 通过 exact active record ID 做 union/intersection/subtraction,递归 set 在 9 月 11 日补齐;空集、partial、inactive、mixed kind/version、geometry/stable-ID/output-role 混用均拒绝。 backend.tests.test_selector_provenance_contract 35 passed;cadfs_to_cdsl.tests.test_lowering 117 passed;backend.tests.test_engine_runtime_foundation 140 passed、1 skipped。00000715 的变体证明 intersection 空集诊断和 subtraction left-only 语义。 全量 corpus 未发现 native qIntersection/qSubtraction call;仍仅限 FeatureScript 1511、direct provenance child、fillet/chamfer,不能称通用 query-set 能力。shell 对 nested/intersection/subtraction 仍拒绝。
qOwnerBody 精确 owner bridge 为 UP_TO_BODY 增加递归 query_input 和 owner_body_contract: exact_input_owner;先解析唯一 proven topology child,再以完全相同 body ID 投影到唯一 active body record。 合成 00694309 变体完成 rebuilt;38 项 selector provenance 测试及 lowering 联跑 156 passed。 全量 corpus 暂无 native qOwnerBody;不支持多 member、multi-solid、later successor、其它 consumer 或 current aggregate/geometry fallback。
fallback 与 replay 收紧 selector_intent.version 成为唯一 canonical version;production rebuild_candidate 改为 single-session incremental replay;普通 context selector 只在 active context 中存在唯一同 kind record 时回退,COPY/instance selector 不回退。 失败统一保留 selector diagnostic 和 prefix checkpoint;selector_query_unsupported、selector_kernel_history_missing、selector_body_member_inactive 分层可归因。 仍缺通用 CAP/SWEPT/OFFSET/COPY/INTERSECT lineage,不能以 stable ID、最终 STEP 或 current body 补齐 source 语义。

3.2 OCC topology history、output role 与 body provenance

能力 本周新增/完善 已验证边界与证据 仍未覆盖
多 builder final-history bridge planar IMPRINT 多区域 blind prism 先分别保留 BRepPrimAPI_MakePrism history,再用 BRepAlgoAPI_Fuse(SetToFillHistory) 映射到 final snapshot;只登记 IsSame 可证明的 source→final relation,deleted/missing branch 保留 partial/unknown。 00354246 的 7 个 SWEPT_FACE 由 native lineage 解析后在 OCC fillet feasibility 处失败;00403485 的 deleted side branch 正确报告 selector_kernel_history_missing 并保留 F1 STEP。最终聚合回归为 293 passed、1 skipped。 仅限 planar IMPRINT、至少两个 bounded region、无 draft、单向 blind;一般 fuse N:M、draft/trim/multi-body、boolean/COPY/pattern 后继仍未完成。
output-role / all-fragments direct prism/sweep/loft/shell 的 start/end cap、side、swept edge、offset/closing/wall 等 role 继续以 operation history 保存;all_fragments 要求每个 source fragment 都有 complete/proven final relation,不再返回部分集合冒充成功。 既有 direct CAP_FACE/CAP_EDGE/SWEPT_FACE/SWEPT_EDGE、shell、loft 回归均按 final snapshot 和 active member 绑定。 一般 CAP/SWEPT/OFFSET/MID_CAP、split/merge、复杂 dress-up 后继仍无完整 N:M resolver。
body member / COPY provenance boolean target/tool 现在接受 {pattern_feature_id, source_feature_id, instance_index};direct surviving new_body 的 mirror/circular/transform COPY、single-body successor、fused sole-body circular COPY 和 multi-source transform copy 均增加显式 member/provenance 校验。 00000385 F6、00293508 UNION 及 body graph/runtime 回归证明 target/tool 不再回退到 pattern aggregate;专项 GLB 由同一 rebuild STEP 生成,仅作预览。 第二个 new_body、aggregate/linear/nested pattern、excluded instance、multi-body boolean/delete/copy 的完整生命周期仍未完成;不能宣称完整 booleanBodies/circularPattern/mirror。

3.3 CADFS feature/source contract 扩展

能力 本周新增/完善 已验证边界与证据 仍未覆盖
source-only segmented sweep path 同一 source sketch 的 ordered line/arc/non-periodic B-spline 多段路径,及跨 source sketch 的 global 3D spatial path;要求 explicit source identity、connected/open/non-branching、无重复/退化段,runtime 用 BRepBuilderAPI_MakeWire + pipe-shell。circular pattern 会同步旋转 spatial points/normal/tangent。 00376556 为 executable approximate,00786708 的 filtered line/arc/line path 可执行但完整 history rejected;00610979 跨 sketch F4 prefix 可执行;00034285 的空消息 AssertionError 被稳定翻译为 OCC sweep operation raised while building the native sweep。 仍是 source-only lowering,不是 runtime qBodyType selector;closed/branched wire、guide/surface/profile consumer、sweep output lineage、一般 multi-sketch path 未完成。
planar IMPRINT dispatch 修正多 face IMPRINT FACE lowering 的 dispatch,避免把合法多区域 profile 错降成普通 analytic contour;保留 source entities、face side 和 fragment intent。 00354246 F1 现在保持 typed planar_imprint,F2 的 selector request 不再丢失,失败停在可归因 selector/OCC 层并保留 F1 STEP。 不增加 IMPRINT/SWEPT/INTERSECT family 的通用 success coverage;unbounded region、different sketch、trim/copy/pattern successor 仍拒绝。
direct prism topology consumers 扩展 direct CAP_FACE immediate UP_TO_SURFACE、SWEPT_FACE continuation、SWEPT_BODY immediate UP_TO_BODY、CAP_EDGE fillet/chamfer、CAP_FACE shell removal,以及 direct hole profile 的 SWEPT_EDGE/CAP_EDGE exact source anchors。 00835610 drafted CAP_FACE pipeline RP 通过;00694309 body target contract 有完整 history;00039669、00151159 等 direct prism hole lineage matrix 有 strict/RP 证据;未证明的 selector 继续拒绝。 复杂 profile、draft 内环、fused/multi-region、boolean/COPY/pattern 后继和通用 CAP/SWEPT selector 仍不在 allow-list。
reference/semantic details 完善 LINE_ANGLE direct skCircle axis 与 source gate、cPlane oppositeDirection signed offset、direct sketch-vertex hole location/sole scoped body、shell OFFSET_FACE/parts source-qualified contract 和 INTERSECT EDGE source-qualified section relation/transient tool history。 相关原子、selector/runtime suite 和受控 core/shard 回归已记录;INTERSECT 未证明的 SectionEdges 不会直接升级为 lineage。 任意曲线/面/connector axis、multi-body hole host、generic OFFSET、复杂 shell、primary/copy/pattern intersection 仍未完成。

3.4 诊断和离线工具完善

  • native sweep 的空 AssertionError 现在转成稳定、可归因的 OCC 诊断,不以 geometry fallback 伪造实体。
  • single-session selector replay 和 prefix retention 使失败点、最后可执行 STEP、history.json/rebuild.json/diagnostics.json 保持一致;当前全量报告中的 F2/F4/F3 selector failures 可直接定位到 feature。
  • engine 执行边界继续收敛到显式 schema/capability contract、按 family 的 executor/runtime 路径和 topology evidence export;这使 selector、body lifecycle 和 OCC failure 可以在同一条 replay history 上归因,而不是依赖旧的平行 runtime 路径。
  • 新增 selector_candidate_demo.py 的 geometry probe、strict replay、bounded branch search 和 query-group recovery。它只在隔离的 copied CDSL 上实验,并要求唯一 strict branch 后再 fresh replay;不改变 production resolver、RP 阈值或 capability matrix,因此不计为 engine selector 能力完成。

4. 本周能力边界与下周重点

已能对外说明的结果

  • 转换器可以为大多数样本生成 candidate/bound CDSL,并在失败时保留 prefix STEP;完整转换率已达到 70.89%。
  • selector source AST、版本和 body/provenance policy 不再被静默抹平;一部分 direct prism、IMPRINT、sweep、shell、boolean/pattern/transform 场景能够以 exact kernel history 执行。
  • RP 与 strict comparison 已独立报告;source STEP 精度、拓扑不一致、比较超时和 OCC/runtime failure 不再混为 converter 失败。

不能宣称已经完成的范围

  • 不能把 fillet、extrude、chamfer、revolve、shell、mirror、sweep、booleanBodies 或 circularPattern 的单个窄 contract 说成整个 feature family 完成。
  • 不能把 2026-09-10 的 query-group strict winner、专项 GLB 或单个 RP/strict 样本当作通用 selector mapping。
  • 当前最大未覆盖面仍是 selector query unsupported、复杂 profile/拓扑后继、body lifecycle、OCC invalid shape/unbounded IMPRINT 以及 comparison timeout;这些都需要继续保持有界拒绝和可执行前缀。

建议下周优先级

  1. 先处理全量 runtime 中占比最高的 selector_query_unsupported,按 query family、producer history 和 consumer 分层推进,不用 geometry/current-body fallback 换取通过。
  2. 扩展 planar IMPRINT、CAP/SWEPT/OFFSET 和 boolean/pattern 的多实体 relation component,至少补齐多个真实 source/lifecycle 的 RP 回归后再升级 capability matrix。
  3. 针对 OCC union invalid shape、BRep_API: command not done、unbounded IMPRINT 和 comparison timeout 分别建立 kernel/input/infrastructure 证据,继续保留每个失败样本的 STEP/diagnostic/compare 工件。

5. 证据入口

  • 最新汇总:cadfs_to_cdsl/output/full_run_report.md、summary.json、manifest.jsonl、capability_gaps.json、comparison_summary.csv
  • 最新样本工件:cadfs_to_cdsl/output/samples/<sample_id>/
  • 历史汇总:cadfs_to_cdsl/output-history/<snapshot>/full_run_report.md
  • 能力进度台账(本地,不提交):cadfs_to_cdsl/ENGINE_CAPABILITY_GAPS_PROGRESS.local.md
  • 全量能力目标:cadfs_to_cdsl/CADFS_FULL_CAPABILITY_TARGET.md