# 自动编程管线（L1）实测报告

> 执行者：验收方（DeepSeek Harness）　时间：2026-10-16 17:59–18:00
> 目的：验证目标里的「AI 自动编程能力」与「记忆闭环」是否真能跑通
> 结论：**两条链都跑通了**；同时发现 3 个真缺陷，已开 FIX-01/02/03 修复卡
> 证据：`D:\NX_AI\状态\model_facts.jsonl`、`D:\NX_AI\状态\artifacts\plan_20261016_180009\`、`D:\NX_AI\memory\memory.db`

## 1. 链路

```
NX 真实模型(NX2412 批处理)
  → tools/model_facts.py       提取：零件名/实体数/实体体数/特征直方图（含每种 API 的成败记录）
  → core/propose_plan.py       选刀（data/std/tools.json）
                               → 规则引擎算参数并执行 8 条业务红线（data/rules/rule_engine.py）
                               → 生成 process_plan.json + 工序单.md
  → security/sanitizer.py      脱敏（命中 43 处）
  → memory/store.py            写入情景记忆（带来源/标签/适用版本/前置条件）
```

## 2. 实测结果（真实零件：后盖铝板-LQD80-镜像-175电机.prt）

模型事实：
```
nx=NX2412  python=3.11.9
body_count=2  solid_count=2  feature_total=2
feature_histogram: BREP=1, Tooling Box=1
```

生成的工序建议（材料 ISO P / 45钢退火）：

| 工序 | 刀具 | φ | 齿 | S(rpm) | F(mm/min) | ap | ae | MRR(cm³/min) | 来源 |
|---|---|---|---|---|---|---|---|---|---|
| roughing | D12 | 12 | 3 | 2387.3 | 644.6 | 4.8 | 4.8 | 14.85 | SpeedFeedTable(钢件-粗铣-平底刀) |
| finishing | D8 | 8 | 3 | 5172.5 | 775.9 | **4.0** | 0.64 | 1.99 | SpeedFeedTable(钢件-精铣-平底刀) |

红线检查（3 条，全部生效）：
```
[WARNING] RL-007 roughing  悬伸比 4.2D > 4.0D
[WARNING] RL-006 finishing Ap=8.00mm > clamp(P=0.5D)=4.00mm，截断到上限
[WARNING] RL-007 finishing 悬伸比 5.0D > 4.0D
```

记忆闭环：`total` 由 2 → 3，新增条目带 provenance：
```
67d495fc.. [episodic] 模型 后盖铝板-LQD80-镜像-175电机（NX NX2412，实体 2）材料 45钢退火；建议工序 roughing,finishing；参数来源 SpeedFeedTable(...)
```

## 3. 发现的问题（已开修复卡）

1. **FIX-01**：`D:\NX_AI\tools\NxLauncher.py`（10 KB，15:23 由 Trae 产出）**有语法错误**，
   `truncated \UXXXXXXXX escape` —— 这个文件从未被成功执行过。
2. **FIX-02**：精加工 Ap 算出 **4.0mm**（原始值 8.0mm 被 clamp 到 0.5D），
   而规则要求精加工 Ap 是 **0.1~0.3mm 绝对深度**。参数管线走错了分支。
3. **FIX-03**：刀具库刃长（D12=50、D8=40）触发长径比红线；需明确 RL-007 到底判"刃长/刀径"
   还是"悬伸/刀径"，并核实旧数据真伪。

## 4. 对目标的意义

| 目标要素 | 之前 | 现在 |
|---|---|---|
| AI 自动编程能力 | 只有地基（规则库/数据层/红线测试） | ✅ **L1 规则驱动建议跑通**：真实模型 → 选刀 → 参数 → 工序单，红线强制生效 |
| 云端长期记忆与自我优化闭环 | 本地记忆层（自测通过） | ✅ **本地闭环跑通**：建议 → 脱敏 → 写入记忆（带溯源）；云端同步仍待 P1-06 |
| NX 版本识别与切换 | 已验证 | ✅ 已验证（本轮再次验证，全局零污染） |
| NX Open/Journal 桥接层 | 已验证 | ✅ 本轮新增 `model_facts.py` 作为"读模型"的正式入口 |

## 5. 下一步（按优先级）

1. FIX-01/02/03（把地基裂缝补掉）
2. P2-01（nxai 单入口 + 集成冒烟；含查清 92 vs 2 实体数差异）
3. P1-06/P1-07（云端服务 + 反馈采集 → 让记忆闭环保留本地闭环的同时具备跨设备同步）
4. P2-05（NX Open 跨版本兼容层：本轮又新增两条证据——集合必须迭代、`part.Units` 访问器不对）