# 能力清单（2026-10-18，P7-03 校对）

> 状态基准：docs\10_状态台账.md §38（P4-01 攻破）、§39（P5-01）、§40（P5-02），
> 及 状态\P7-01.done.json（建程序组）、P7-02.done.json（建刀具）、P7-03.done.json（授权）。
> 状态只用三种：**可用** / **部分可用**（写明缺什么）/ **不可用**（写明原因）。
> "NX headless" 类命令均经 `core\nx_launch.ps1 -Mode journal` 调用，完整命令行见《使用手册》第 9/11 章。

## 版本与任务

| 能力 | 命令 | 运行环境 | 产物 | 状态 |
|---|---|---|---|---|
| 版本探测 | `nxai.ps1 list` | 纯 PowerShell | 控制台版本清单 | 可用 |
| 任务执行 | `nxai.ps1 run -Version 2412 -Task hello` | NX headless | `状态\artifacts\<id>\` + manifest.json | 可用 |
| 产物校验 | `nxai.ps1 verify -TaskId <id>` | 纯 PowerShell | 控制台校验结果 | 可用 |
| 流水线 | `nxai.ps1 pipeline [-WithNx] [-CreateOp]` | NX 可选（不加开关则纯 Python，约 5 秒） | `状态\pipeline_report.md` | 可用（7 条执行记录：提取/读参/对账/出单/建工序/语法门禁/评测门禁；NX 阶段默认跳过，建工序写副本不动原零件） |

## 工序单与学习

| 能力 | 命令 | 运行环境 | 产物 | 状态 |
|---|---|---|---|---|
| 端到端演示 | `python tools\demo_end_to_end.py [--skip-nx]` | NX 可选（--skip-nx 秒级） | `状态\demo_report.md` | 可用 |
| 出工序单 | `python core\propose_plan.py --facts <json> --material N` | 纯 Python | `状态\artifacts\plan_*\process_plan.json` | 可用 |
| 直径分档预设 | 出工序单自动生效（parameters.json 按刀具直径档选 Vc/Fz） | 纯 Python | 参数 source 带"按直径档" | 可用（test_diameter_bands.py 锁住：命中/无档兜底/最窄优先/Vc 随档单调） |
| face_milling 工序类型 | 出工序单时 `--operation face_milling`（可与其他工序混排） | 纯 Python | 工序单含面铣参数 | 可用（有专用预设用专用，无则回落 roughing；test_diameter_bands.py 锁住） |
| center_drill 工序类型 | —— | —— | —— | **不可用**：无专用预设，按 RL-004 显式拒绝（rpm=0+违规登记），不拿铣削参数糊弄；缺——中心钻专用预设与刀具几何数据源（test_diameter_bands.py 锁住拒绝行为） |
| 人工修正 | `python core\feedback.py record/lookup/list/conflicts` | 纯 Python | 修正事件库 | 可用 |
| 飞轮归并 | `python tools\flywheel_merge.py run/list/approve/publish/rollback` | 纯 Python | `状态\feedback.db` | 可用 |

## 云端

| 能力 | 命令 | 运行环境 | 产物 | 状态 |
|---|---|---|---|---|
| 云端记忆 | `python core\agent_memory.py show/pull/push` | 纯 Python（联网） | 云端 Agent 记忆块 | 可用 |
| 云端备份 | `python tools\cloud_backup.py --health/--list/--no-db` | 纯 Python（联网） | `backup\cloud\<时间戳>\` | 可用 |

## 几何与 CAM

| 能力 | 命令 | 运行环境 | 产物 | 状态 |
|---|---|---|---|---|
| 几何事实提取 | `tools\model_facts.py` | NX headless | 几何事实（body/face 计数等） | 可用 |
| 孔直径提取 | `tools\hole_diameter.py` | NX headless | `状态\hole_diameter.jsonl` | 可用 |
| 建程序组 | `tools\run_journal_probe.ps1 -NxRoot <NX根> -Journal tools\cam_build_local.py -JournalArgs "--part <prt> --what group --name X"` | NX headless | 组 7→8（内存对象不落盘）+ `状态\cam_build_local.jsonl` | 可用（P7-01：CreateProgram 5 参签名实测，判据三件套全过） |
| 建刀具 | 同上通路 `--what tool --name NXAI_D12 --diameter 12 --kind mill` | NX headless | Tool 0→1 + 读回直径 12.0 | 可用（P7-02：CreateTool 挂 GENERIC_MACHINE + TlDiameterBuilder.Value 设直径；仅 mill 实测，drill 如实拒绝） |
| CAM 工序提取 | `tools\cam_extract.py <prt>` | NX headless | `状态\cam_ops.jsonl` + `cam_ops_report.md` | 可用 |
| CAM 真实转速/进给读取 | `tools\cam_read_params.py --part <prt>` | NX headless | `状态\cam_ops_params.jsonl` + `cam_ops_params_report.md` | 可用（本零件 ok=18/partial=2：SpindleRpmToggle=0 的 2 道转速如实留空，不冒充） |
| 真实 vs AI 工序单对账 | `python tools\cam_reconcile.py [--plan <目录>]` | 纯 Python | `状态\cam_reconcile.md` | 可用 |
| 创建 CAM 工序 | `tools\cam_create_op.py --part/--plan/--generate/--save-as` | NX headless | 新工序 + 副本 .prt + `状态\cam_create_op.jsonl` | **部分可用**：钻孔工序创建、孔选择（HoleList.Append）、rpm/feed 写入、GenerateToolPath、持久化验证均已跑通；缺——①刀具真实几何 unavailable（cam_create_op 内部仍是占位 Commit；建真刀具的路子已在 cam_build_local.py 打通——CreateTool+TlDiameterBuilder，P7-02，但尚未接入 cam_create_op）②孔选择按直径匹配，φ10 命中 8/12 面 ③ap 每啄深度（CycleTable）未映射 ④铣削类工序未实现 |
| 攻丝工序生成 | —— | —— | —— | **不可用**：propose_plan 不按孔生成攻丝（缺"螺纹规格↔底孔直径"对照表），且 N/S/H 攻丝 Vc 预设缺失（P4-09 结案 blocked；无出处不编造工艺数值） |
| NX 会话内 close→reopen | —— | —— | —— | **不可用**：`CloseAll` 传 CloseModified 枚举触发 NX 进程级 fatal（Class id 65534 invalid），已在代码中禁用；持久化验证由 `cam_create_op.py --verify-only` 独立进程替代 |

## 开发门禁

| 能力 | 命令 | 运行环境 | 产物 | 状态 |
|---|---|---|---|---|
| 语法门禁 | `python tools\check_py_syntax.py` | 纯 Python | 控制台（0 错误 0 预警才许动手） | 可用 |
| 防退化评测 | `python tests\run_eval.py [--strict-drift]` | 纯 Python | 控制台（通过/退化/漂移） | 可用 |

## 授权（一号一机 / 按月 30 天 / 离线三功能）

| 能力 | 命令 | 运行环境 | 产物 | 状态 |
|---|---|---|---|---|
| 授权状态查看 | `powershell -File nxai.ps1 license status` | 纯 Python（只读） | 控制台状态 | 可用（2026-10-18 真跑：active / 剩 29 天 / 强制拦截=是） |
| 激活 | `powershell -File nxai.ps1 license activate <序列号>` | 需联网 | `%LOCALAPPDATA%\NXAI\license.json` | 可用（命令通路已核验：nxai.ps1 透传 core\license.py；激活动作未重复执行——本机已激活，避免动授权状态，如实标注） |
| 离线功能门禁 | `core\license.py` OFFLINE_OK = tool / operation / program_group / cam_create（建刀具/建工序/程序组） | 纯 Python | require() 放行或拒绝 | 可用（断网模拟真跑：pipeline 被拦退出码 3，建程序组照常放行 7→8，见手册 16.5） |
| 授权到期行为 | —— | —— | —— | 可用（到期后离线功能同样失效：GRACE_DAYS=0，state≠active 时离线功能也要求联网续期，代码 L362-383） |
