aps-agent/docs/product/implementation-spec.md

44 KiB
Raw Permalink Blame History

功能落地规格

本文把 features.md 的每个功能点拆成可开发、可验收的落地规格。
状态仍以 features.md 为准;本文只定义“怎么落地”和“怎么验收”。


0. 使用方式

每个功能落地前必须先补齐以下信息:

项 说明
用户目标 计划员、主管、主数据维护员或集成管理员要完成什么工作
最小切片 第一个可上线版本必须包含什么;超出部分单列后续
权力等级 P0 只读、P1 草稿/沙盒、P2 主干写入、P3 外部副作用
数据对象 读写哪些世界状态、知识资产、前端项目数据或外部系统对象
API / 动作 页面点击和对话口令必须走同一动作路径
UI 入口 从哪个面板进入、有哪些状态、空态、错误态
验收标准 可用业务语言复现的通过条件
测试要求 至少一条黄金测试、构建检查或 E2E 路径
文档同步 改 features.md / journeys.md / harness.md / algorithm/* / CHANGELOG.md

通用完成定义:

  1. 任何主干写入必须能在审计链看到 who/when/action/power/target/result。
  2. 任何 P2/P3 动作必须先出确认卡,不能在页面里绕过 /api/actions/confirm。
  3. 页面点击、命令面板和对话口令不能各走一套业务逻辑。
  4. 报告、KPI、风险提示里的数字只能来自冻结快照或世界状态字段。
  5. 已落地功能必须能被 pytest tests/golden -q、npm run build 或明确 E2E 路径验证。

1. 功能编号总表

编号 功能点 当前状态 目标里程碑
MD-01 工厂/车间/产线/工位/设备资源树 已落地首切片 M4
MD-02 物料 / BOM / 工艺路线 已落地首切片 M4
MD-03 班次 / 日历 / 维保 已落地首切片 M4
MD-04 Excel/CSV 导入管线 ✅ 首切片 M4
OR-01 销售订单 / 明细管理 已落地首切片 M4
OR-02 优先级与权重配置 ✅ 客户等级权重 M4
OR-03 订单池 / 审核 / 变更 已完成首切片 M4
OR-04 紧急插单专用流 ✅ 快评+采用首切片 M4
SC-01 RULE 规则引擎 已落地 M1
SC-02 策略模板 已落地 M1
SC-03 CP / GA / HYBRID 真求解 ✅ CP+GA+HYBRID 首切片 M5
SC-04 约束注册表 + 配置中心 ✅ 首切片 M4
SC-05 多方案沙盒对比 已落地 M2
SC-06 主控参数 / 敏感性分析 ✅ 首切片 M5
EX-01 草稿版本 + 发布 已落地 M1
EX-02 甘特 / 负荷 / 交期看板 已落地 M1
EX-03 冲突解决工作流 ✅ 柔性冲突中心 + 一键修复 M4
EX-04 工单拖拽调程 ✅ 柔性+固定甘特拖拽+P2 M4
EX-05 MES 下发 / 报工 ✅ Mock 下发+报工 M4
EX-09 报工回流与进度追踪 ✅ 首切片 M4
AG-01 意图两级管线 已落地 M1
AG-02 门禁 P0-P3 ✅ P2 单确认 + P3 二次确认 M1/M2/M6
AG-03 审计哈希链 已落地 M2
AG-04 知识检索 / RAG 半落地 M3/M5
AG-05 报告生成 已落地 M3
AG-06 偏好缺省策略 已落地 M3
AG-07 主动引导 / 多模态 ✅ 引导首切片(多模态 🔜) M4/M6
AG-08 项目 / 会话服务端化 ✅ 首切片 M4
AG-09 检查点与时间线 已落地 M2
MD-05 ERP/MES 双向集成 ✅ Mock 入站/出站 M4/M5
MD-06 换型矩阵主数据 ✅ 首切片 M5
MD-07 二级约束资源(工装/人员) ✅ 模具+班组首切片 M5
SC-10 工装/模具约束 ✅ 寿命/适配/锁定 M5
SC-11 人员技能/班组约束 ✅ 人力并发+teamCode M5
EX-06 资源利用率分析视图 ✅ 柔性设备/班组 M1/M5
OR-05 预测/长周期订单 ✅ 首切片 M5
OR-06 订单钉扎溯源(pegging) ✅ 固定+柔性双链 M5
SC-12 滚动时域排产 ✅ realtime/short/mid/long M5
OR-07 订单分解 MRP(采购/委外建议) 已落地首切片 M4
PL-01 时间分桶计划 ✅ 首切片 M5
PL-02 有限/无限产能粗评估 ✅ 首切片 M5
PL-03 可行性分析 ✅ 首切片 M5
PL-04 库存投影 ✅ 首切片 M5
PL-05 产能平衡/削峰 ✅ 首切片 M5
PL-06 产供方向决策 ✅ 首切片 M6
SC-07 顺序相关换型优化 ✅ 首切片 M5
SC-08 批次/战役合并 ✅ 首切片 M5
SC-09 物料齐套约束 半落地 M1/M4
EX-07 方案对比表 ✅ 逐项 diff 矩阵 M4
EX-08 KPI 仪表盘 ✅ 独立视口 M4
EX-09 报工回流与进度追踪 ✅ 首切片 M4
IND-01 SMT 电子特化排产 未做 M6
IND-02 行业规则包(SOP→约束) ✅ 首切片 M5
MD-08 设备虚拟档案(能力/移动/位置/工装适配) 已落地首切片 M5
MD-09 工序能力产能池 已落地首切片 M5
SC-12 滚动时域排产 ✅ realtime/short/mid/long M5
SC-13 正排/倒排/瓶颈锚模式 已落地首切片 M5
SC-14 虚拟产线组装 已落地首切片 M5/M6
PL-07 瓶颈产能评估 已落地首切片 M5
PL-08 交期承诺模拟 半落地 M5
EX-10 产能池仪表盘 ✅ PoolCapacityView M5
DY-01 分级重排 L1–L4 ✅ L1 换机 / L2–L4 P2 确认 M5
IND-03 柔性布局行业包 ✅ 工作台验收剧本 M5/M6

上表 MD-05 起含对标西门子 Opcenter APS 与 demand-kangni-wuhu.md 真实需求新登记项;落地规格卡随各自里程碑开工时补齐。


2. 主数据功能

MD-01 工厂/车间/产线/工位/设备资源树

用户目标:主数据维护员能维护可排产资源,计划员能在甘特和负荷里看到同一套资源骨架。

当前落地(M4 首切片):侧栏「主数据」→ 资源页签。树形展示工厂/车间/产线/工位/设备(GET /api/master,P0);产线可编辑名称/日产能/效率并停启用(master.line.upsert,P2 经 POST /api/master/stage 出确认卡)。停用产线由引擎 find_product_lines ACTIVE 过滤排除出新排产;黄金测试 test_master_data.py::test_inactive_line_excluded_from_scheduling。工位/设备编辑为后续切片。

最小切片:

项 规格
数据对象 factories、workshops、lines、workstations、equipment
UI 主数据管理页,左侧树形层级,右侧表单;支持新增、编辑、停用、查看引用
API / 动作 规划 master.resource.upsert、master.resource.disable;主干写入按 P2
规则 被排产版本引用的资源不允许物理删除,只能停用;停用后不参与新排产
验收 停用一条产线后,新试排不会再把工单排到该产线;旧版本仍能查看历史名称
测试 种子资源加载测试;停用资源后 RuleEngine 不选该资源的黄金测试

后续切片:资源能力日历、设备 OEE、替代资源推荐。

MD-02 物料 / BOM / 工艺路线

用户目标:维护产品结构和工艺步骤,让齐套检查、拆工单和工序顺序可解释。

当前落地(M4 增强切片):物料与BOM页签。物料可编辑库存/在途/安全库存/采购前置期(master.material.upsert,P2),变更直接联动下一次试排的齐套检查(test_master_data.py::test_material_stock_zero_increases_shortage)。选中成品后可编辑 BOM 明细用量/关键料(master.bom.upsert,P2,联动采购建议 test_mrp.py::test_bom_quantity_edit_changes_purchase_quantity)与 工艺步骤准备/单件时间、外协标记(master.routing.upsert,P2,外协标记联动委外建议)。BOM/路线版本发布、增删行为后续切片。

最小切片:

项 规格
数据对象 materials、boms、bomItems、routings、routingSteps、workstationOperations
UI 产品页含“物料/BOM/工艺路线”页签;步骤表支持拖动排序但保存前显示 diff
API / 动作 规划 master.material.upsert、master.bom.release、master.routing.release;发布类动作为 P2
规则 BOM/工艺路线必须版本化;只有 ACTIVE + default 版本参与排产
验收 修改 BOM 用量并发布后,下一次试排的缺料数量随之变化
测试 BOM 缺料数可复算;工艺步骤顺序不颠倒

后续切片:替代物料、外协工序、工艺版本生效日期。

MD-03 班次 / 日历 / 维保

用户目标:维护可生产时间和不可用窗口,让占槽结果落在真实工作时间。

当前落地(M4 首切片):日历与维保页签。班次/产线工作日只读概览;维保窗口可新增/取消(master.maintenance.upsert,P2)。新增窗口在下一版排产产生 EQUIPMENT 冲突,取消后冲突消失(引擎已忽略 CANCELLED 维保;test_master_data.py::test_maintenance_window_roundtrip_equipment_conflict)。周模板批量复制为后续切片。

最小切片:

项 规格
数据对象 shifts、shiftCalendar、maintenance
UI 日历视图按产线展示班次、休息、加班、维保;支持批量复制周模板
API / 动作 规划 calendar.upsert、maintenance.upsert;影响新排产为 P2
规则 修改已发布版本覆盖区间时必须提示影响范围;维保与工单冲突可被扫描
验收 添加某设备维保窗口后,新版本出现 EQUIPMENT 冲突或自动避开
测试 工单开始日有班次;维保重叠冲突归属本版本

后续切片:人员班组约束、节假日模板、加班审批流。

MD-04 Excel/CSV 导入管线

用户目标:业务方能把订单、物料、BOM、工艺、班次从表格导入,先校验再入库。

当前落地(M4 首切片):

项 规格
输入 .xlsx / .csv;订单/物料/BOM/路线/设备/模具/工序/区域
UI 主数据与订单面板「导入」:上传 → preview → P2 确认
API / 动作 POST /api/import/preview;import.commit P2
校验 必填、枚举、外键、重复编码、数量非负、日期格式
验收 错误行不能入库;通过行确认后落主干并进审计
测试 导入预览/提交黄金路径(见 import 相关测试)

后续切片:字段映射 UI、导入任务历史、回滚导入批次、真实 ERP 增量。

MD-05 ERP/MES 双向集成(SAP Mock 首切片)

用户目标:从外部 ERP 拉生产订单与库存进入柔性池,并把开完工回写外部系统(幂等)。

当前落地(M5 首切片 · Mock):

项 规格
适配器 server/integrations/sap_stub.py 进程内镜像 sap_mirror.json;无真实 RFC/OData
入站 sap.sync.inbound P2:新 flexOrders(externalAufnr)+ flexMaterials 库存补丁 + sapLinks
出站 sap.sync.outbound P2:最新柔性版本工单 FINISH 回写;幂等键 versionId:woId:finish
状态 sap.status P0;API /api/sap/status、`inbound
UI 柔性工作台「SAP 集成」;口令「同步SAP」「回写SAP」「SAP状态」
验收 入站新建可识别订单;二次入站跳过;出站重复调用不增回执
测试 tests/golden/test_sap_sync.py

后续切片:真实 SAP RFC/OData、齐套/BOM 同步、虚拟产线工时回传财务、失败重试队列。

MD-06 换型矩阵主数据

用户目标:维护产品族×产品族换型时间,使同线相邻订单跨族时准备时间可配置。

当前落地(M5 首切片):

项 规格
数据 物料 productFamily;表 changeoverMatrix(fromFamily/toFamily/setupMinutes)
缺省 同族 0;无条目跨族 30 分
引擎 RuleEngine:同线上一单族≠本单族时,首道工序叠加矩阵分钟;C10 可关
UI 主数据 → 工艺模型 → 换型;物料可编产品族
API / 动作 changeover.query P0;master.changeover.upsert P2;含于 GET /api/master
口令 「查看换型矩阵」「设置换型 CTRL-STD 到 CTRL-HF 45分」
验收 种子 STD↔HF 有显式分钟;关 C10 后版本 totalChangeoverMin=0
测试 tests/golden/test_changeover.py

后续切片:SC-08 战役合并、柔性轨模具换型与族矩阵联运、换型全局最优(TSP/OR)。


3. 订单功能

OR-01 销售订单 / 明细管理

用户目标:计划员能维护待排订单,并明确哪些订单参与本次排产。

当前落地(M4 首切片):

项 规格
数据对象 salesOrders、首个 items 明细
UI 左侧轨道「订单」面板;订单列表 + 编辑区;支持新建、编辑、取消、完成
API / 动作 GET /api/orders P0;POST /api/orders/stage 暂存确认卡;order.upsert/cancel/complete P2
安全 页面不直接写主干;批准后统一走 /api/actions/confirm,写前自动 Checkpoint,写入审计链
规则 CANCELLED / COMPLETED 不参与后续新排产;历史版本不被回写
验收 取消订单后再试排,版本 orderCount 减少且无对应 PO/WO
测试 tests/golden/test_order_management.py;前端 npm run build

后续切片:

项 规格
多明细 支持同一销售订单多产品明细、行级取消/完成
批量操作 批量改交期、客户等级、优先级,提交前显示 diff
附件与合同 客户合同交期、附件、备注模板
验收 批量变更批准后只影响新版本;旧版本可追溯原订单快照

仍未做:客户信用/合同交期、订单附件、批量变更。

OR-07 订单分解 MRP(采购/委外建议)

用户目标:上传/确认订单后,系统按 BOM 与工艺路线自动分解出自制、采购、委外三类需求,对标西门子订单驱动分解。

当前落地(M4 首切片):

项 规格
数据对象 读 salesOrders/bomItems/routingSteps/materials;写 purchaseOrders / outsourceOrders 两张 DRAFT 建议表
分解规则 自制=成品本体(由排产引擎生成 PO/WO);采购=BOM 净需求(毛需求−库存−在途>0),建议下单日=交期−采购前置期−1 天缓冲;委外=isExternal 工艺步骤逐步生成
API / 动作 GET /api/mrp P0;POST /api/mrp/decompose → order.decompose P1;mrp.release P2 草稿→RELEASED
双入口 订单面板「分解建议/分解此单/确认下达」;对话「分解订单」「下达采购建议」
幂等 同一订单重复分解替换其旧 DRAFT 建议,不堆积
验收 库存调零后分解出采购建议且下单日按前置期倒排;外协步骤出委外建议;下达后状态 RELEASED
测试 tests/golden/test_mrp.py

后续切片:跨订单库存分配、多层 BOM 级联展开、引擎跳过外协工序的占槽语义、对接 ERP 采购模块(P3)。

OR-02 优先级与权重配置

用户目标:主管能定义不同客户等级、交期、插单等因素的排序权重。

当前落地(M4 首切片):

项 规格
数据对象 scheduleParams.customerLevelWeights + weights + planningHorizonDays
引擎 RuleEngine 综合/均衡策略以 -levelWeight 为第一排序键;交期优先仍以交期为主
UI 设置 → 排产参数:等级/目标权重滑杆、展望期、恢复默认;P2 确认卡
API / 动作 params.query P0;params.update P2;GET /api/params、POST /api/params/stage
规则 权重变更只影响新版本,不回写历史版本;写前自动建档
验收 提高 VIP 权重后,VIP 订单在综合策略下更早开工
测试 tests/golden/test_params.py

后续切片:按项目/客户保存参数模板、A/B 对照推荐。

OR-03 订单池 / 审核 / 变更

用户目标:订单进入排产前先过业务审核,变更要可追溯。

最小切片:

项 规格
状态 DRAFT、SUBMITTED、APPROVED、REJECTED、CHANGED、CANCELLED、COMPLETED(CONFIRMED≡APPROVED)
UI 订单池泳道:全部/待审/已批/变更/草稿;提交审核、批准/驳回、批量批准待审
API / 动作 order.submit P1;order.approve/order.reject P2;GET /api/orders 含 pool;POST /api/orders/submit
规则 仅 APPROVED/CONFIRMED 进正式排产;includeUnapproved 试排可含草稿;编辑已批内容 → CHANGED
验收 未批准订单默认不进入 schedule.run;审批进审计链
测试 tests/golden/test_order_pool.py

后续切片:审批角色、变更影响评估、订单锁定。

OR-04 紧急插单专用流

用户目标:计划员输入插单后,系统先评估影响,再决定局部修复还是全量重排。

最小切片:

项 规格
输入 新订单或已存在订单标记 isRush=true
UI 订单面板「插单快评」向导:录入/选单、影响快评、确认采用
API / 动作 rush.evaluate P1(沙盒);rush.apply P2;POST /api/rush/evaluate、/api/rush/stage
规则 快评给出受影响订单数、延迟变化、冲突变化;采用前自动建档;写急单+DRAFT 版本
验收 快评不污染主干;采用后可回滚到采用前检查点
测试 tests/golden/test_rush.py

后续切片:LNS 局部修复、插单审批、对外承诺函。

OR-05 预测 / 长周期订单

用户目标:把预测/长周期需求与确定销售订单分开维护;正式排产默认不含预测,试排可纳入;成熟后可转正。

当前落地(M5 首切片):

项 规格
模型 forecastOrders:DRAFT/ACTIVE/CONSUMED/CANCELLED;bucket=DAY/WEEK/MONTH;置信度
UI 订单面板「预测」视图:列表、新建周预测、转正、删除
API / 动作 forecast.query P0;forecast.upsert/delete/convert P2;GET /api/forecast、POST /api/forecast/stage
规则 默认不进 schedule.run;includeForecast 试排纳入 ACTIVE(伪 SO,排在确定单之后);转正 → APPROVED 销售单 + CONSUMED
口令 「查看预测」「新建预测」「预测纳入试排」「预测转正 FCxxx」
验收 缺表旧世界自愈;默认试排订单数不含预测;含预测试排 PO 号前缀 FC
测试 tests/golden/test_forecast.py

后续切片:预测消耗冲减、置信度加权产能细化。

PL-01 时间分桶计划

用户目标:在计划层用日/周/月(可混合)看清中长期需求与粗能力对照,先于详细排产定位缺口。

当前落地(M5 首切片):

项 规格
分桶 DAY / WEEK / MONTH / HYBRID(近7日→约4周→其余按月)
需求 APPROVED 销售订单交期落入桶;可选 ACTIVE 预测(加权=数量×置信度)
能力 ACTIVE 产线 capacityPerDay×efficiency × 桶内工作日
UI 视口「分桶计划」:模式切换、含预测开关、负荷条与 OVER/WARN/OK
API / 动作 plan.buckets P0;GET /api/plan/buckets
口令 「时间分桶」「分桶计划」「混合分桶」「周计划表」
验收 混合骨架含日/周/月;关预测后 forecastQty=0;对话切 viewport.mode=plan
测试 tests/golden/test_planning.py

后续切片:产品族维度、与削峰联运。

PL-02 有限 / 无限产能粗评估

用户目标:在计划层先用无限产能看「需要多少能力」,再用有限产能看「哪里超载」,形成 RCCP 双模式对照。

当前落地(M5 首切片):

项 规格
有限 FINITE 能力=日产能×工作日;负荷/缺口/OVER·WARN;默认模式
无限 INFINITE 不卡能力;给出 requiredDaily / 峰值所需日产;附 finite* 参照
对照 plan.rccp:有限超载桶数 + 无限峰值日产 + 日产能缺口
UI 分桶视口「有限/无限」切换;无限下列改「所需日产 / 有限参照负荷」
API / 动作 capacityMode 查询参;GET /api/plan/rccp;plan.rccp P0
口令 「有限产能粗评」「无限产能粗评」「粗能力对比」「RCCP」
验收 无限模式 overCount=0 且 capacity=null;对照两侧加权需求相等
测试 tests/golden/test_planning.py(infinite / rccp)

后续切片:按产线/能力池拆粗能力(产线维度 RCCP)。

PL-03 可行性分析

用户目标:在详细排产前判断「整盘需求能否按期」,并定位缺口桶与风险订单。

当前落地(M5 首切片):

项 规格
规则 按交期排序;累计加权需求 vs 起点→交期累计粗能力(日产能×工作日)
状态 订单:FEASIBLE / AT_RISK(≥85%) / INFEASIBLE(slack 为负) / LATE;组合结论同口径
缺口 有限分桶 OVER 列表;风险单附重叠超载桶
UI 分桶视口「可行性」页:结论 + 缺口桶 + 订单 slack 表
API / 动作 plan.feasibility P0;GET /api/plan/feasibility
口令 「可行性分析」「能否按期」「交期可行性」
验收 不含预测行数更少;累计需求单调;对话切分桶视口
测试 tests/golden/test_planning.py(feasibility)

后续切片:物料齐套并入可行性、与详细排程准时率对账、单订单 what-if。

PL-04 库存投影

用户目标:按时间看清成品/原料可用库存走势,提前发现断料与跌破安全库存。

当前落地(M5 首切片):

项 规格
期初 stock;inTransit 计入起点日到货
需求 成品按交期扣减;原料按 BOM 毛需求(订单+可选预测)扣减
到货 采购建议 suggestedOrderDate + leadTime(或 requiredDate)
粒度 DAY / WEEK;告警 STOCKOUT / BELOW_SAFETY / OK
UI 分桶视口「库存投影」:物料列表 + 时段曲线
API / 动作 plan.inventory P0;GET /api/plan/inventory
口令 「库存投影」「库存投影 CTRL-A」「原料库存投影」「按周库存投影」
验收 成品过滤 3 条;压低库存触发告警;不含预测需求不增
测试 tests/golden/test_inventory.py

后续切片:跨订单库存分配、计划产出入库、安全库存补货建议联动 MRP。

PL-05 产能平衡 / 削峰

用户目标:在计划层把超载时段的需求挪到空档,降低峰值负荷(不直接改交期)。

当前落地(M5 首切片):

项 规格
输入 有限产能分桶(默认 WEEK);目标负荷默认 85%
算法 超载多余量优先 PULL_AHEAD 到前空档,其次 PUSH_BACK 到后空档
输出 挪动建议列表 + 桶前后负荷/状态对照 + 峰值/方差改善
UI 分桶视口「削峰」页
API / 动作 plan.leveling P0;GET /api/plan/leveling
口令 「削峰」「产能平衡」「负荷削峰」「计划层均衡」
验收 压低产能后必有挪动且峰值不升;高产能时空建议
测试 tests/golden/test_planning.py(leveling)

后续切片:一键应用改交期(P2)、与排产层 CAPACITY_BALANCE 联运、按产线维度削峰。

PL-06 产供方向决策

用户目标:削峰仍不够时,给出加班 / 扩线 / 外协的结构化产供建议(相对成本排序)。

当前落地(M6 首切片):

项 规格
输入 先跑 PL-05 削峰;默认 WEEK;目标负荷 85%
算法 残留超载桶按 加班(+25%能力)→扩线/替代(+40%+闲置线线索)→外协 覆盖缺口
输出 verdict∈BALANCED/LEVELING_ENOUGH/NEED_SUPPLY;options+gaps+mix
UI 分桶视口「产供」页
API / 动作 plan.supply P0;GET /api/plan/supply
口令 「产供决策」「加班建议」「扩线建议」「外协建议」「产能决策」
验收 极低压产能→NEED_SUPPLY 且有选项;高产能→BALANCED
测试 tests/golden/test_planning.py(supply)

后续切片:财务真实成本、一键生成加班/外协工单、与 MRP 外协建议联运。


4. 排产引擎功能

SC-01 RULE 规则引擎

用户目标:在无优化器和无 LLM 的情况下,也能稳定产出可解释排程。

当前落地:

项 规格
输入 world + EngineParams
输出 DRAFT scheduleVersion、PO、WO、conflicts、KPI
验收 7 个种子订单生成 7 个 PO、30 个 WO;工位无重叠,工艺顺序不颠倒
测试 tests/golden/test_rule_engine.py

后续只允许做兼容增强:新增冲突类型、资源选择规则或统计口径时同步 docs/algorithm/scheduling-v1.md。

SC-02 策略模板

用户目标:用业务语言切换排产偏好,例如交期优先、产能均衡、先进先出。

当前落地:

策略 当前实现 验收
DELIVERY_FIRST 交期升序 + 优先级 最早交期订单最早开工
FIFO 下单日期升序 先下单先排
CAPACITY_BALANCE 优先级排序 + 选占用少的线 负荷更均衡
CHANGEOVER_MIN 换型矩阵贪心最近邻 + 同族选线 累计换型 ≤ FIFO(同线多族)
COST_FIRST 同 CHANGEOVER_MIN(换型分钟代理成本) 非财务成本最优
COMPREHENSIVE 优先级 + 交期 默认综合

后续切片:策略配置页、真实财务成本目标、战役合并(SC-08)。

SC-07 顺序相关换型优化

用户目标:在详细排产时主动减少跨产品族换型次数与累计准备时间。

当前落地(M5 首切片):

项 规格
策略 CHANGEOVER_MIN(COST_FIRST 同序)
排序 贪心最近邻:种子=交期最早;下一单选相对上族换型最小者
选线 优先同族已开线 → 空线 → 跨族线
对比 scenario.compare 增加「换型最小化」卡,KPI 含 totalChangeoverMin
口令 「换型最小化试排」「减少换型试排」「换型优先试排」
验收 同线多族时累计换型 ≤ FIFO
测试 tests/golden/test_changeover.py(SC-07)

后续切片:窗内 2-opt 改良、与交期权重的帕累托。

SC-08 批次 / 战役合并

用户目标:把交期接近的同产品订单合成一场战役,一次准备、累计数量、保留原单钉扎。

当前落地(M5 首切片):

项 规格
规则 同 productId;交期跨度 ≤ 7 天;插单/预测不并入
策略 CAMPAIGN:先合并再换型最小化排序 + 同族选线
输出 少 PO;PO 带 campaignSourceOrderNos / isCampaign
预览 campaign.preview P0
对比 方案卡增加「战役合并」,KPI 含 poSaved
口令 「战役合并预览」「战役合并试排」「批次合并试排」
验收 种子 CTRL-A 两单合并;CAMPAIGN 的 poCount < 7 且 orderCount=7
测试 tests/golden/test_campaign.py

后续切片:可配窗口/最大批量、同族(非同品)战役、拆批回退。

SC-03 CP / GA / HYBRID 真求解

用户目标:在复杂约束下获得更优解,并能说明求解质量。

当前落地(M5 · CP + GA + HYBRID):

项 规格
CP OR-Tools:产线分配 + 同线 NoOverlap + 加权延期;工序班次占槽
GA 固定随机种子;联合搜索订单顺序与可行产线;精英保留;班次/硬约束复用 RuleEngine 物化
HYBRID RULE 策略序/选线 → CP-SAT AddHint 热启动改良 → 班次占槽
API engineType=CP|GA|HYBRID;timeLimitSeconds;`solveStatus
UI 排产参数默认引擎;回复展示管线/状态/耗时/gap
口令 「用CP试排」「混合引擎试排」「HYBRID试排」
规则 缺 ortools:CP→ENGINE_UNAVAILABLE;HYBRID→DEGRADED_RULE 诚实降级
GA 可复现性 solverMeta.seed=42,相同输入产生相同顺序与 KPI;无完整性工位的候选产线不得进入染色体
验收 CP/HYBRID 延期 ≤ RULE;GA 不再由 RULE 代跑;三类引擎均保持工位无双占
测试 tests/golden/test_cp_engine.py、tests/golden/test_ga_engine.py

后续切片:工序级 Interval 全模型、NSGA-II/Pareto、LNS、GA 参数模板与大算例性能基线。

SC-04 约束注册表 + 配置中心

用户目标:主管能配置哪些约束是硬约束、软约束、权重多少。

当前落地(M4 首切片):

项 规格
数据对象 ConstraintDef 目录 + constraintProfile 覆盖;版本快照 constraintProfile
引擎 RuleEngine/PoolEngine 读启停与齐套软硬;维保/产能/班组/模具/滚动窗可关
UI 设置 → 约束配置(分组开关 + 硬/软);P2 确认卡
API / 动作 constraint.profile.query P0;constraint.profile.save P2;GET /api/constraints、POST /api/constraints/stage
规则 硬约束违反阻止发布;软约束(默认齐套)只报风险;关闭齐套则不产出缺料冲突
验收 关闭物料齐套后缺料不报冲突;齐套硬约束时发布被门禁拦截
测试 tests/golden/test_constraints.py

后续切片:约束模板市场、按客户/产品族套用约束。

IND-02 行业规则包(SOP→约束)

用户目标:把知识库里的 SOP 编译成可落地的约束/换型策略,而不是只「能查不能用」。

当前落地(M5 首切片):

项 规格
编译 确定性模板:换线 SOP→C10+跨族默认分钟+16:00 宵禁;齐套 SOP→C6;插单 SOP→流程提示
标记 新增可配约束 C13_sop;应用后写入 rulePacks + changeoverPolicy
引擎 跨族缺省分钟读 changeoverPolicy;C13 开启时换型晚于宵禁报 SOP_CHANGEOVER_CURFEW
API sop.compile P0;sop.apply P2;`GET /api/sop/compilable
UI 设置→约束配置「SOP→约束规则包」;口令「编译换线SOP」「应用换线SOP」
验收 应用后跨族默认 60 分;C13 启用;出处挂在 C13.params
测试 tests/golden/test_sop_rules.py

后续切片:更多 SOP 模板、LLM 辅助槽位抽取、按工厂/产品族绑定规则包。

SC-05 多方案沙盒对比

用户目标:先看几种排法的 KPI 和风险,再选择一个方案落地。

当前落地:

项 规格
动作 scenario.compare P1
隔离 深拷贝沙盒,主干世界逐字节不变
输出 scenario-cards,含 KPI、相对基准差异、风险摘要
采用 scenario.apply 重跑选中策略并写 DRAFT
测试 test_scenario_compare_does_not_mutate_world

后续切片:自定义策略集合、方案命名、方案归档、帕累托前沿。

SC-06 主控参数 / 敏感性分析

用户目标:调整关键参数时能看到 KPI 对参数变化的敏感程度。

当前落地(M5 首切片):

项 规格
参数扰动 展望期、VIP 权重、交期缓冲比、冻结窗口、产线效率系数
算法 沙盒 one-at-a-time;Tornado 按 |Δ延期| 摆幅排序
引擎挂钩 EngineParams.deliveryBufferRatio / freezeWindowHours(显式传入才生效)
UI 设置→排产参数「敏感性分析」;对话报告块可预览/下载
API / 动作 scenario.sensitivity P1;GET /api/scenario/sensitivity
口令 「敏感性分析」「Tornado」「参数扰动」
验收 沙盒不污染主干;缓冲更紧延期不降;摆幅降序
测试 tests/golden/test_sensitivity.py

后续切片:蒙特卡洛鲁棒性、超时秒数(CP)、参数推荐。

SC-04 约束注册表 + 配置中心

用户目标:主管能配置哪些约束是硬约束、软约束、权重多少。

最小切片:

项 规格
数据对象 ConstraintDef、ConstraintProfile、版本快照中的约束配置
UI 设置 → 约束配置,按产能、物料、设备、人员、换线分组
API / 动作 规划 constraint.profile.save P2
规则 硬约束违反则版本不可发布;软约束违反进入冲突/评分
验收 关闭物料齐套软约束后,缺料不阻断排产但报告风险
测试 约束开关影响冲突输出;发布前硬约束门禁

后续切片:约束模板市场、按客户/产品族套用约束。


5. 结果与执行功能

EX-01 草稿版本 + 发布

用户目标:试排结果先作为草稿,确认后才成为执行基准。

当前落地:

项 规格
状态 DRAFT、PUBLISHED、ARCHIVED
动作 schedule.run P1;schedule.publish P2
安全 发布前自动 Checkpoint;批准/驳回写审计
验收 发布后版本状态为 PUBLISHED,PO 状态推进为 CONFIRMED
测试 门禁与审计链黄金测试

后续切片:版本归档、版本比较、发布回执。

EX-02 甘特 / 负荷 / 交期看板

用户目标:用不同视角确认排产结果。

当前落地:

视图 数据源 验收
甘特 /api/world/gantt 展示最新版本 WO,支持过滤、聚焦、高亮
负荷 /api/world/load 产线 x 日期负荷率
交期 /api/world/due 每个订单承诺完成和风险等级

后续切片:时间缩放真实影响甘特粒度、导出图片、视图配置保存。

EX-03 冲突解决工作流

用户目标:对容量、缺料、设备等冲突生成可执行建议,并一键应用安全修复。

最小切片:

项 规格
冲突类型 NO_LINE、NO_WORKSTATION、MATERIAL_SHORTAGE、DELAY、CAPACITY、EQUIPMENT
UI 冲突中心:按严重度、资源、版本筛选;每条有建议和影响预览
API / 动作 规划 conflict.suggest P0、conflict.applyFix P2
规则 应用修复前必须沙盒预览 diff;P2 批准后生成新版本
验收 对容量冲突选择“分流产线”后,新版本该冲突减少或解释失败原因
测试 修复前后冲突数可比;失败不改主干

后续切片:自动修复策略库、批量冲突处理。

EX-04 工单拖拽调程

用户目标:计划员在甘特上手动调整工单,并立即看到约束校验结果。

最小切片:

项 规格
UI 甘特工单可拖动开始时间/工位/产线,拖动中显示合法/非法
API / 动作 规划 schedule.adjust.preview P1、schedule.adjust.commit P2
规则 预览只写沙盒;提交生成新 DRAFT 版本,不直接改历史版本
验收 拖到设备维保窗口时提示非法;拖到空闲工位后可提交新版本
测试 预览不污染主干;提交后工艺顺序仍合法

后续切片:多选拖拽、冻结窗口、撤销/重做。

EX-05 MES 下发 / 报工

用户目标:发布后的版本能安全下发到外部执行系统,并接收进度回传。

当前落地(Mock 首切片):

项 规格
适配器 server/integrations/mes_stub.py 进程内镜像;无真实车间接口
下发 mes.dispatch P3 二次确认:出卡冻结精确版本,最终批准签发绑定审批参数摘要的一次性作用域执行凭据;执行校验真实前置快照与版本证据;预览最多展示 80 条但执行覆盖完整版本;幂等键 track:versionId:woId
报工 mes.report P1:进度% / 完工;回写 APS 工单;同订单工序全完 → 柔性订单 COMPLETED
UI 柔性工作台「MES 执行」;口令「下发MES」「模拟报工」「MES状态」
API /api/mes/status、`dispatch/preview
验收 下发记录外部单号;替换审批版本/证据被拒;超过 80 条不截断;重复下发不增外部工单;报工更新进度
测试 tests/golden/test_mes.py

后续切片:真实 MES MCP、失败重试队列、固定轨报工 UI、WMS 齐套。


6. 对话与治理功能

AG-01 意图两级管线

用户目标:计划员能用自然语言驱动排产,同时系统可解释自己理解了什么。

当前落地:

项 规格
一级 正则快路,离线可用
二级 LLM JSON,失败降级 unknown
输出 IntentResult,前端可展开查看
验收 关键口令能稳定解析;LLM 不可用时核心口令仍可用

后续切片:同义词词库管理、槽位澄清、多轮补参。

AG-02 门禁 P0-P3

用户目标:危险操作必须让人确认,且确认路径唯一。

当前落地:

项 规格
矩阵 _POWER_MAP + docs/architecture/harness.md
P2 通道 stage_confirmation → /api/actions/confirm
P3 通道 同一确认令牌必须在同一授权作用域由两个不同用户连续批准;第一重只留审计,同一用户重复批准被拒;第二名用户批准后签发绑定审批参数摘要的一次性内部执行凭据;记录冻结发起人的有效 worldKey,所有门禁审计 actor 从认证身份派生;外部执行还必须校验审批对象、前置快照和证据
持久化与时效 APS_APPROVAL_BACKEND=file 默认兼容 APS_APPROVAL_PATH(缺省 APS_HOME/data/approvals.json);显式 database 复用 MySQL APS_DATABASE_URL,以 request/grant/event 规范化表、revision CAS 和短事务协调跨连接审批,grant 仅存 token SHA-256;配置冲突、缺少 URL 或 DB 不可用均失败关闭且不回退 file。审批/凭据 TTL 分别由 APS_APPROVAL_TTL_SECONDS、APS_EXECUTION_GRANT_TTL_SECONDS 控制;跨重启恢复,过期拒绝并留历史
角色 APS_APPROVAL_INITIATOR_ROLES 控制发起,APS_APPROVAL_ROLES 控制待办查看和批准,APS_APPROVAL_VIEW_ROLES 控制历史只读;默认发起/批准角色为 planner/approver/admin,系统内部身份例外;角色拒绝统一返回 HTTP 403
故障隔离 JSON 解析、Schema 或记录字段校验失败时,原文件隔离为 .corrupt-* 并发出运行时告警;队列/凭据按空仓失败关闭,坏 TTL 不得拖垮治理 API
UI 聊天确认卡 + 设置/门禁待审批 + 审批历史;显示发起人、审批进度、等待/停留时长和到期时间
验收 P2 不能走 guard() 直通且一次批准后令牌失效;P3 第一重批准后令牌仍在,必须由第二名用户批准后才执行并失效;重启后令牌状态、TTL 和一次性语义保持一致

后续切片:审批意见/委托/转派/批量审批、文件存量的一次性迁移工具、MySQL 多主机故障注入验收与 WORM 审计归档。

AG-03 审计哈希链

用户目标:关键动作可追溯,历史事件被篡改能被检出。

当前落地:

项 规格
数据 auditEvents,prevHash + hash
UI 设置 → 审计链
验收 正常链校验通过;改历史事件字段后断链
已知修复 2026-07-16 已补 at + ts 双字段,避免治理页时间列空白

后续切片:WORM 存储、审计导出、外部锚定。

AG-04 知识检索 / RAG

用户目标:问制度、SOP、策略原理时,回答必须带出处。

当前落地:

项 规格
检索 bigram + 标签/标题加权
资产 SOP、algorithm、case、process、report
验收 命中带 assetId/title/version;未命中不编造

M5 切片:

项 规格
向量 chunk、embedding、召回、重排
UI 知识资产管理页,支持上传、审批、版本对比
API / 动作 规划 knowledge.asset.upsert P2、knowledge.search P0
测试 同问题召回稳定;未审批资产不参与对外回答

AG-05 报告生成

用户目标:从排产版本生成可复现日报和版本对比报告。

当前落地:

项 规格
类型 daily、version-diff
规则 数字来自冻结快照;模板化生成;入知识库
UI 聊天报告块预览/下载
验收 报告数字与快照字段一致

后续切片:报告模板管理、对外承诺函 P2、Word/PDF 导出。

AG-06 偏好缺省策略

用户目标:用户不点名策略时,系统用历史使用偏好选择默认策略,并说明原因。

当前落地:

项 规格
信号 试排 1 分,采用 2 分
输出 默认策略 + 得分说明
验收 采用权重大于试排;无样本回退 COMPREHENSIVE

后续切片:按用户/项目隔离偏好、偏好重置、偏好解释面板。

AG-07 主动引导 / 多模态

用户目标:系统能在发现风险或空状态时主动建议下一步。

当前落地(M4 首切片):

项 规格
主动引导 build_guidance:无版本→试排;冲突高→查看冲突/对比;知识未命中→知识库/样例 SOP
API / 动作 guidance.next P0;GET /api/guidance;口令「下一步建议」
UI 欢迎页按状态换 starter;对话 guidance 块可点击口令;甘特空态文案
触发 发布无版本、知识未命中、试排冲突≥3 自动附建议块
多模态 M6 以后考虑截图/表格问答,不进入 M4 必做
验收 无版本、冲突高、知识未命中三种状态都有下一步建议
测试 tests/golden/test_guidance.py

后续切片:命令面板动态推荐、按项目偏好排序建议。

AG-08 项目 / 会话服务端化

用户目标:项目、会话、文件资产不只存在浏览器本地,能跨设备和多人协作。

最小切片:

项 规格
数据对象 Project、Session、Message、ProjectFile;worldKey=default 绑定共享 WorldStore
存储 server/data/projects.json;前端启动 bootstrapWorkspace 拉取/迁移
UI 现有项目面板交互不变;数据源优先 Gateway,失败回退 localStorage
API / 动作 GET/PUT /api/workspace;project.create/project.delete/session.create P1;message.replace/message.append P1
规则 删除项目不触碰世界;本地仓可一次性迁移到服务端
验收 刷新后仍见项目/会话/历史消息;删项目后销售订单数不变
测试 tests/golden/test_workspace.py

后续切片:团队权限、多租户、会话树成对快照。

AG-09 检查点与时间线

用户目标:计划员能在关键操作前后保存状态,并在出错时回到可信版本。

当前落地:

项 规格
数据 server/data/checkpoints.json,包含快照元信息和完整 world
动作 checkpoint.create P1;checkpoint.rollback P2
UI 时间线导轨展示检查点与版本;点击检查点合成回滚口令
安全 回滚执行前自动再建档,保证回滚本身可撤销
验收 建档后破坏世界,再回滚能逐字段恢复;超过容量淘汰最旧
测试 test_checkpoint_roundtrip、test_checkpoint_capacity_eviction

后续切片:服务端会话树持久化后,把对话上下文与世界快照做真正成对恢复。


7. 推荐落地顺序

顺序 功能 原因
1 AG-03 审计字段契约修复 已完成;继续扩展 WORM/导出
2 OR-01 销售订单管理 首切片已完成;继续订单审核/批量/附件
3 MD-01/02 主数据维护 支撑真实客户数据替换种子
4 SC-04 约束配置中心 把“内嵌规则”产品化
5 EX-03 冲突解决工作流 从“能看冲突”走向“能处理冲突”
6 EX-04 拖拽调程 提升计划员手工干预能力
7 MD-04 导入管线 降低真实试点接入成本
8 AG-08 项目/会话服务端化 支撑多人和长期使用
9 OR-04 插单专用流 高频业务场景,但依赖订单/冲突/版本能力
10 SC-03 真求解器 算法价值高,依赖约束模型稳定

维护要求:任一功能从“未做/半落地”推进为“已落地”时,必须同轮更新 features.md、必要的业务旅程、门禁矩阵和 ../CHANGELOG.md。