aps-agent/docs/round-71-unfinished-feature...

257 lines
12 KiB
Markdown
Raw Permalink Normal View History

# Round 71 工作计划:未完成功能补齐总计划
> 日期:2026-08-12
> 来源:本轮对话梳理 + `docs/product/features.md` + `docs/product/plan-completion-matrix.md` + `docs/product/external-acceptance.md`
> 状态:计划完成,待按轮进入实现
> 口径:本地可推进的项本地收口;依赖真实外部系统、设备、凭据或构建环境的项单独列出,不冒标记 `Done`
## 0. 当前基线
排产主链路已闭环:订单 → MRP 分解 → NL2Plan 试排 → 多策略对比 → P2 发布 → MES 下发 → 报工回流;柔性排产、LNS 插单、计划层首切片、自动化 G0-G4、门禁与审计链均已落地。
完成度矩阵基线为 **50 Done / 10 Partial / 0 Missing**(round-69)。本会话(2026-08-12)已补一个切片:
- `scheduling_data_guide()`:排产数据缺口步骤引导(缺订单/产品/工艺/设备/班次/工时/物料,含人话说明与一键口令)。
- `guidance.next`、`readiness.query`、柔性排产阻断分支自动附带引导块。
- Web 端渲染 `readiness / wizard / clarify` 块,引导卡支持步骤清单与按钮。
- 验证:`test_guidance / schedule_wizard / dialog_clarify / readiness` 29 passed;柔性与闭环相关 11 passed;`npm run build:web` 通过。
以下是仍未完成部分的完整补齐计划,按 8 个子轮推进。
## 1. 总体路线
| 子轮 | 主题 | 优先级 | 外部依赖 |
| --- | --- | --- | --- |
| R71.0 | 排产缺口傻瓜式引导(已完成切片,随各轮持续完善) | P0 | 无 |
| R71.1 | Web 图纸解析可用化(上传、文件选择、批量、测试修复) | P0 | 无 |
| R71.2 | 图纸理解深化与工程审核工作流 | P1 | 需 R71.1 可用 |
| R71.3 | 主数据与需求侧补齐 | P1 | 现场数据 |
| R71.4 | 计划层 AP 深化 | P1 | 需 R71.3 |
| R71.5 | 算法与约束深化 | P1 | 算法资源 |
| R71.6 | 治理与智能体补齐 | P2 | 真实模型服务 |
| R71.7 | 真实外部系统联调(MES/WMS/SAP) | P2 | 工厂接口 |
| R71.8 | 发布与外部验收(Sidecar/签名/信创/CI/MySQL/WORM) | P2 | 外部环境 |
## 2. R71.1 Web 图纸解析可用化
### 2.1 现状
- 后端 `inspect_dxf()` 可解析真实锐扬 DXF:图号/版本、文本、标注、块引用、SVG 预览、主数据候选与 P2 落库均已实现。
- 但 Web 上传白名单 `_PROJECT_UPLOAD_EXTS` 不含 `.dxf`,浏览器无法上传图纸。
- `DrawingPanel` 只能手输绝对路径,且路径必须在项目 `workDir` 或 `APS_DRAWING_ALLOWED_ROOTS` 内。
- `test_dxf_master_flow.py` 的 P2 全链路测试当前失败(`503 AUTH_NOT_CONFIGURED`,未装配测试认证)。
### 2.2 任务
1. 上传白名单增加 `.dxf`,并同步前端文件输入 `accept`。
2. `DrawingPanel` 增加「从项目已上传文件选择」和「直接上传 DXF」入口,解析使用项目内路径。
3. 支持批量解析:目录内多个 DXF 一次解析,每张图纸保留独立候选变更集(当前实现按 asset 覆盖)。
4. 修复 `test_dxf_master_flow.py` 测试认证装配,补充 Web E2E:上传 → 解析 → 候选 → P2 暂存 → 确认落库。
5. 文档化允许根配置,并在 Web 端给出可读错误提示。
### 2.3 验收
- 浏览器可上传 `.dxf` 并解析;项目内图纸列表可点选。
- DXF 黄金测试 12+ 全绿;Web E2E 2 条通过。
- 无路径权限或文件超限时有中文提示,不返回技术性错误堆栈。
## 3. R71.2 图纸理解深化与工程审核工作流
### 3.1 现状
- 图号/版本主要从文件名提取;图纸内标题栏、图框、BOM 表区域、装配关系未结构化解析。
- BOM 数量、单位、材料规格、标准工时、资源/工序能力全部为 `None/UNRESOLVED`,必须人工补录。
- 3 个锐扬 DXF 文件名与 Excel 物料无直接匹配,图纸 → 物料 → BOM → 工艺 → 订单自动关联未打通。
- 只支持 `.dxf` 单文件;多布局(paperSpace)未解析;版本 diff 未做。
### 3.2 任务
1. 标题栏/图框/图内 BOM 表区域识别(基于 ezdxf 几何聚类与文本块聚类)。
2. 图号/版本从图纸内提取,并与文件名交叉验证,低置信进 `reviewRequired`。
3. 装配关系、零件清单、材料规格、数量候选生成,全部显式 `PENDING_REVIEW`。
4. 工程审核 UI:候选批量编辑、驳回原因、与正式主数据冲突处理、P2 确认。
5. `drawingLinks` 扩展为图纸 → 物料/BOM/工艺/订单自动关联,审核通过后生成 `drawingLink` 证据。
6. 图纸版本对比与变更影响分析,变更触发重排建议。
7. 格式扩展:DWG/PDF/STEP/图片 OCR(依赖 R71.6 多模态接入)。
### 3.3 验收
- 真实锐扬 3 张图可生成可审核候选,至少 1 条图纸到主数据的关联可追溯。
- 版本 diff 有黄金测试;图纸变更可触发重排建议块。
- 任何自动推断字段都带置信度与证据,禁止从几何直接填数量/工时/资源。
## 4. R71.3 主数据与需求侧补齐
### 4.1 现状
- 工位/设备维护页未做(MD-01);BOM/工艺版本发布未做(MD-02)。
- 班次日历周模板未做(MD-03);工装矩阵增强未做(MD-07)。
- 订单批量/附件后置(OR-01);预测消耗冲减后置(OR-05)。
- 现场主数据:锐扬/MOM 39 条缺工艺、67 条模板/缺能力,真实排产被阻断。
### 4.2 任务
1. 工位/设备 CRUD 维护页,P2 落库,停用不进排产。
2. BOM/工艺路线版本发布,历史版本可查、可回滚。
3. 班次日历周模板(复制周、多班次、节假日)。
4. 工装/模具矩阵增强(适配、寿命、换装耗时)。
5. 订单批量导入/编辑、附件;预测消耗冲减与转正链路。
6. 现场主数据补齐工作流:模板推荐 + 人工确认,把 39 缺工艺/67 模板缺能力逐步归零,无法归零的进显式风险清单。
### 4.3 验收
- 各维护页可增删改查并 P2 审计;版本发布/回滚有黄金测试。
- 现场主数据缺口降为 0,或输出带证据的剩余风险清单。
## 5. R71.4 计划层 AP 深化
### 5.1 现状
- PL-01~08(分桶、粗能力、可行性、库存投影、削峰、产供决策、瓶颈产能、交期承诺)均为首切片。
- 中长期 MPS/主计划、S&OP 衔接、预测与有限产能正式联动未做。
### 5.2 任务
1. 中长期主计划(MPS)与 S&OP 输入衔接,预测/长周期订单进入正式计划。
2. 有限产能粗评估与详细排产联动,交期承诺基于真实瓶颈与物料可用日。
3. 库存投影接入真实库存/在途/采购到货数据。
4. 计划层结果与排产层版本可追溯(计划 → 排产 → 发布 → 执行反馈滚动)。
### 5.3 验收
- 长周期订单 + 预测可生成主计划草稿并下发试排。
- 计划层 KPI 与详细排产 gap 可对比、可追溯。
## 6. R71.5 算法与约束深化
### 6.1 现状
- 影子价是近似代理量(`isShadowPriceProxy`);CP-SAT 原生 IIS 与 flex 轨归因未接。
- 归因 API/前端未接线。
- 蒙特卡洛仅首切片;Sobol 全局敏感性、偏好权重校准、GA 参数模板深化未做。
- SMT 行业包 IND-01 未做。
### 6.2 任务
1. 真实 LP/CP 对偶影子价:线性化模型重解,输出显式影子价与约束松动建议。
2. CP-SAT 原生 IIS 接入,flex 轨冲突归因共用 `attribution.py`。
3. 归因 API 与前端冲突中心接线。
4. 生产级蒙特卡洛(数百样本并行)、Sobol 全局敏感性、偏好学习权重校准。
5. GA 参数模板与性能基线深化。
6. SMT 行业包:资源分配、批次合并、交期议定的 SMT 场景建模与验收剧本。
### 6.3 验收
- 固定基准集报告可行率/KPI/gap/性能/稳定性;每个引擎是真实现,不静默降级。
- 归因可在 API/UI 复现;影子价有线性化重解证据。
## 7. R71.6 治理与智能体补齐
### 7.1 现状
- 约束/自动化规则 CRUD UI 与规则管理端点未做(当前仅 `/api/automation/tick`、`/status`)。
- L0-L3 Plan 服务端已有 `/api/plans`,完整 Agent 自动编排与时间线 UI 未接全。
- 知识检索是 bigram,非向量 RAG。
- 多模态是框架 + stub,无真实 ASR/VLM/OCR。
### 7.2 任务
1. 约束/自动化规则管理端点 + Web UI(增删改查、启停、审计)。
2. L0-L3 Plan 自动编排接入对话链路,时间线 UI 支持节点回放与分支对比。
3. 向量 RAG:嵌入、检索、来源证据、未命中不编造。
4. 真实多模态:`ExtractorRegistry` 接 ASR/VLM/OCR 服务,低置信 P2 确认门禁不变。
### 7.3 验收
- 规则可页面管理并全程审计;Plan 时间线可回放。
- RAG 命中可溯源;多模态真实服务契约测试通过。
## 8. R71.7 真实外部系统联调
### 8.1 现状
- MES:`HttpMesClient` 适配器已有,缺现场 base_url/token、端点/报文对齐与权限放行。
- WMS:`MockWmsClient` 消费管线已有,真实适配器未接。
- SAP/ERP:`MockSapClient` 入站拉单/库存、出站开完工为 Mock,真实 RFC/OData 未做。
- P3 自动代行身份与真实操作员授权未接线。
### 8.2 任务
1. 真实 MES 联调:readiness/probe、dispatch 幂等、status/report/cancel、断连/超时/5xx fail-closed。
2. 真实 WMS 事件接入:事件重放、乱序、缺料 → 重排 → 确认 → 下发 → 回执全链。
3. 真实 SAP/ERP RFC/OData:入站拉单+库存、出站开完工幂等回写。
4. MCP 插件现场放行与权限面板;P3 自动代行身份/操作员授权接线。
### 8.3 验收
- 按 `external-acceptance.md` 第 1/2/5 项全链通过。
- 外部系统不可用时显式失败,不伪装成功。
## 9. R71.8 发布与外部验收
### 9.1 现状(矩阵 10 Partial)
- 冻结 Sidecar EXE 未重建,`--solver-child` 只过源码冒烟。
- 干净离线机、Defender 实时防护、信创四组合、签名/SBOM/provenance、真实 GitHub CI 未完成。
- WORM 物理介质/HSM-KMS、MySQL 多主机(DB clock/TTL/CAS)未验收。
- 审计量万级后缺 `/api/gov/audit/stats` 聚合端点。
### 9.2 任务
1. 重建冻结 Sidecar 并验证 `--solver-child`、Defender、离线安装与升级回滚。
2. 信创四组合实机:麒麟/统信 × x86-64/ARM64。
3. Authenticode 签名、SBOM 上链、provenance、真实 GitHub CI 六 job 全绿。
4. MySQL 多主机故障注入;WORM/HSM-KMS 归档验收。
5. 审计统计端点与报表。
### 9.3 验收
- `external-acceptance.md` 10 项全绿后回写完成矩阵。
- 本地证据与外部证据分开登记,不因本地通过翻 `Done`。
## 10. 每轮强制门禁
- 编辑符号前先 GitNexus `impact`,HIGH/CRITICAL 先预警;提交前 `detect_changes`。
- 每轮必须:相关黄金测试全绿、Web build 通过、Ruff/compileall 通过、`git diff --check` 无 whitespace error。
- 文档同轮同步:`CHANGELOG.md`、`features.md`、涉及交互改 `journeys.md`、涉及门禁改 `harness.md`、涉及模块改 `modules.md`、涉及算法改 `algorithm/`。
- 外部依赖项单独列“外部阻断”,不得用 Mock、首切片或源码冒烟冒充完成。
## 11. 依赖关系
```text
R71.1(图纸可用化) → R71.2(图纸理解)
R71.3(主数据) → R71.4(计划层)
R71.5(算法) 依赖求解器与算法资源,可并行
R71.6(治理/多模态)R71.2 的 OCR 依赖其真实模型接入
R71.7(外部系统) 与 R71.1~R71.6 并行,依赖工厂接口
R71.8(发布验收) 依赖 R71.1~R71.7 形成稳定基线
```
## 12. 风险与对策
| 风险 | 对策 |
| --- | --- |
| Web 上传引入不安全文件 | 扩展名 + 路径白名单 + 大小上限 + P2 落库,禁止任意路径读取 |
| 现场主数据长期缺失 | 模板推荐 + 人工确认工作流,缺口进显式风险清单 |
| 影子价/IIS 实现复杂 | 分两步:先保留代理量,真实重解独立验证后替换 |
| 外部系统不可用 | stub 契约测试先行,真实验收后置,fail-closed 不伪装 |
| 全量测试耗时 | 聚焦测试每轮先跑,全量 golden 作为发布门禁 |
## 13. 验证命令
```powershell
.venv\Scripts\python.exe -X utf8 -m pytest tests\golden -q
.venv\Scripts\python.exe -X utf8 -m ruff check server tests\golden
npm run test:node
npm run build:web
git diff --check
```
## 14. Plan Audit
`PLAN AUDIT: PASS`
Blocking issues:无。
Clarification needed:无;真实外部系统/设备/凭据已统一列为外部验收门禁。
Non-blocking improvements:R71.1 的 DXF 上传最小修复可先行单独交付,不等 R71.2。