58 KiB
58 KiB
变更登记簿(CHANGELOG)
大管家的账本。 每次改代码、加功能、改功能、修缺陷,同一轮必须追加一节。
写法见 docs/README.md §2.2。旧名:PROGRESS.md(已迁入本文件)。
2026-07-23 — 排产方案下载改为 Excel 工作计划表
- 类型:feat
- 背景:用户要求下载应是完整 Excel 工作计划表,而非 Markdown。
- 交付:
build_plan_report产出 xlsx(工作计划 / 方案概览 / 冲突 三表)- 聊天报告块与柔性排产结果块:「下载 Excel 工作计划表」
GET /api/reports/files/{id}+GET /api/reports/plan?format=xlsx
- 测试:
test_outsource_qa_and_plan_report校验 xlsx 魔数与 downloadUrl
2026-07-23 — 委外追问可答 + 排产方案报告可下载
- 类型:fix / feat
- 背景:排产后问「这个订单有委外订单吗」低置信拒识;日报只覆盖固定轨,柔性排产方案无法下载。
- 交付:
master.queryentity=mrp:委外/采购/分解建议问答,支持「这个订单」指代report.generatetype=plan:柔性排产方案报告(概览+交期+工序明细表),聊天块「下载 .md」- 口令:生成排产方案报告 / 下载排产 / 导出排产方案;快捷指令同步
- 测试:
test_outsource_qa_and_plan_report
2026-07-23 — 「把这个订单排产」指代修复
- 类型:fix
- 背景:刚查到订单后说「给我把这个订单进行计划排产」走 LLM 低置信拒识,未走排产。
- 交付:
- 快路识别「这个/该订单…排产」「计划排产」「给订单 xxx 排产」→
flex.schedule(有 flex 单时) session_focus:master.query记住刚查的订单;orderRef=last解析为orderIds- 无焦点且多单时明确提示先查单,不瞎排全池
- 快路识别「这个/该订单…排产」「计划排产」「给订单 xxx 排产」→
- 测试:
test_schedule_this_order_deixis
2026-07-23 — 对话检索订单/主数据 + 机加工工艺知识库
- 类型:feat
- 背景:自然语言无法检索现场订单/主数据;知识库缺机械加工工艺路线生成模式。
- 交付:
master.queryP0:查订单/物料/工序/BOM/工艺路线/概览/柔性资源server/knowledge/machining_patterns.py:车铣钻磨钣金焊接装配热处理等工艺路线生成模式 + 城轨机构装配模板- 「知识清单」列出全部资产;口令「机加工工艺怎么生成」「车削工艺模式」等
- 测试:
tests/golden/test_master_query_kb.py
2026-07-23 — 现场 Excel 同步写入主数据页/订单池(清演示)
- 类型:fix / feat
- 背景:此前只写
flex*,主数据页与订单池仍读固定轨演示表,界面像「垃圾数据」。 - 交付:
load_site_into_world(clear_all=True)清空固定轨+柔性轨演示,写入工厂/产线/工位/工序/物料/BOM/路线/salesOrders+ flex*- 默认只导入
订单102285668_完整生产路线.xlsx主单 ensure_flex_seed在现场清空后不再回填 HV/PDU 假数据- 柔性工作台下拉改为读现场成品/设备,去掉 PDU/HV/PRESS 硬编码
- 验证:
/api/orders=102285668;/api/master22 物料/10 工序;test_kangni_intake3 passed
2026-07-23 — 康尼现场完整生产路线导入(替换演示 flex*)
- 类型:feat(现场数据接入 / IND-03 验收数据轨)
- 背景:引擎与文档口径对齐柔性能力池,但默认仍是 HV-HARNESS/PDU 演示假数据;用户要求用现场真实 Excel 把康尼排产流程跑通。
- 交付:
server/aps_domain/kangni_intake.py:解析「完整生产路线」+ 同源订单/工艺/BOM;缺口工时/工位显式推断并留痕scripts/load_kangni.py:清空演示 flex* → 写入现场 → PoolEngine 排产flex.site.loadP2(口令/确认卡)+POST /api/flex/site/load- 验证:订单 102285668 → 10 工序 VL/WO;同源 102289293 可并排
- 已知缺口:源表标准工时/设备/模具均为「待维护」→ 部装45′/装配30′ + 4 台共享工位(见
flexParams.siteInferences) - 测试:
tests/golden/test_kangni_intake.py - 文档:
demand-data-intake.md附导入口径;demand-kangni-wuhu.md§8.1 偏离速查
2026-07-23 — IND-02 SOP→约束规则包
- 类型:feat(IND-02 / C13 首切片)
- 背景:知识库可存 SOP,但不能编译进约束剖面;计划员仍需手工对齐换型/齐套口径。
- 交付:
sop.compileP0 /sop.applyP2;GET /api/sop/*+POST /api/sop/stage- 换线 SOP→启用 C10 + 跨族默认 60 分 + 16:00 宵禁;齐套 SOP→C6;插单 SOP→流程提示
- 约束
C13_sop;世界rulePacks/changeoverPolicy;宵禁冲突SOP_CHANGEOVER_CURFEW - 设置→约束配置「编译并应用」;口令「编译换线SOP」「应用换线SOP」
- 测试:
tests/golden/test_sop_rules.py - 顺带:OR-07 文档补齐已落地的
mrp.release下达
2026-07-23 — SC-03 HYBRID 管线(RULE→CP)
- 类型:feat(SC-03 HYBRID 切片)
- 背景:CP 已可独立求解,但缺 RULE 热启动改良管线;口令「混合/HYBRID」仍走 RULE 代跑。
- 交付:
HybridEngine:策略序收集 → RULE 选线 hint → CP-SATAddHint改良 → 班次占槽solverMeta.pipeline=RULE→CP-SAT→shift-slot、warmStart=RULE- 缺 ortools 时
DEGRADED_RULE诚实降级(仍标 HYBRID) - 口令「混合引擎试排」「HYBRID试排」;排产参数可选 HYBRID
- 测试:
test_hybrid_*intest_cp_engine.py/test_rule_engine.py - 验收:HYBRID 延期 ≤ RULE;warmStart 留痕
2026-07-23 — SC-03 CP-SAT 真求解首切片
- 类型:feat(SC-03 首切片)
- 背景:
engineType=CP长期由 RULE 静默代跑,无法展示求解状态/gap,也不满足「不得无痕退回 RULE」。 - 交付:
CpSatEngine(OR-Tools):产线分配 + 同线 NoOverlap + 加权延期;工序班次占槽物化ScheduleResult.solveStatus|solveTimeSec|optimalityGap;版本solverMeta- 排产参数:默认引擎 / CP 时限;口令「用CP试排」「约束规划试排」
- GA/HYBRID 仍 RULE 代跑并明确注释;缺 ortools →
ENGINE_UNAVAILABLE
- 依赖:
ortools>=9.10 - 测试:
tests/golden/test_cp_engine.py - 验收:CP 延期 ≤ RULE;工位无双占;engineType 与 solverMeta 诚实
2026-07-23 — SC-06 主控参数敏感性分析
- 类型:feat(SC-06 首切片)
- 背景:排产参数可改,但缺少 one-at-a-time 扰动与 Tornado 摆幅,难以判断「改哪项最敏感」。
- 交付:
scenario.sensitivityP1;GET /api/scenario/sensitivity;沙盒不写主干- 因子:展望期 / VIP 权重 / 交期缓冲比 / 冻结窗口 / 产线效率
EngineParams.deliveryBufferRatio、freezeWindowHours(显式传入才挂钩 RuleEngine)- 设置→排产参数「敏感性分析」;口令「敏感性分析」「Tornado」
- 测试:
tests/golden/test_sensitivity.py - 验收:主干不变;摆幅降序;更紧缓冲延期不降
2026-07-23 — SC-08 批次/战役合并
- 类型:feat(SC-08 首切片)
- 背景:同产品近交期订单仍各自 PO,重复准备;缺战役合并视图。
- 做了什么:
- 策略
CAMPAIGN:交期窗 7 天同品合并;插单/预测单排;PO 钉扎原单号 campaign.previewP0;方案对比「战役合并」卡 +poSaved- 口令「战役合并预览」「战役合并试排」
- 策略
- 验证:
test_campaign.py+test_m2_state五卡;全量 golden;tsc
2026-07-23 — SC-07 换型最小化策略
- 类型:feat(SC-07 首切片)
- 背景:MD-06 矩阵已入库,但订单序仍按交期/FIFO,跨族换型无法主动压低。
- 做了什么:
- 策略
CHANGEOVER_MIN(COST_FIRST同序):贪心最近邻 + 同族选线 - 方案对比增加换型卡与
totalChangeoverMinKPI - 口令「换型最小化试排」;插单面板可选该策略
- 策略
- 验证:
test_changeover.pySC-07 +test_m2_state四卡;全量 golden;tsc
2026-07-23 — MD-06 换型矩阵主数据
- 类型:feat(MD-06 / C10 首切片)
- 背景:引擎仅有标量 setupTime,无产品族×产品族换型矩阵,跨型号准备时间无法配置。
- 做了什么:
changeoverMatrix+ 物料productFamily;changeover.query/master.changeover.upsert- RuleEngine 同线跨族叠加首道准备;约束中心 C10 可关
- 主数据「换型」页;口令「查看换型矩阵」「设置换型 …」
- 验证:
test_changeover.py+ 全量 golden;tsc
2026-07-23 — PL-06 产供方向决策
- 类型:feat(PL-06 首切片)
- 背景:削峰后仍超载时,缺加班/扩线/外协的结构化产供选项(此前仅靠叙事)。
- 做了什么:
plan.supply:先削峰,残留缺口按加班→扩线→外协覆盖;verdict+ options/gapsGET /api/plan/supply;分桶视口「产供」;口令「产供决策」「加班建议」「外协建议」
- 验证:
test_planning.pysupply + 全量 golden;tsc
2026-07-23 — PL-05 产能平衡 / 削峰
- 类型:feat(PL-05 首切片)
- 背景:排产层有 CAPACITY_BALANCE,计划层缺超载→空档的削峰视图与建议。
- 做了什么:
plan.leveling:有限分桶上先提前后延后挪动;输出建议+前后负荷对照GET /api/plan/leveling;分桶视口「削峰」;口令「削峰」「产能平衡」
- 验证:
test_planning.pyleveling + 全量 golden;tsc
2026-07-23 — PL-04 库存投影
- 类型:feat(PL-04 首切片)
- 背景:计划层缺随时间库存曲线,断料只能在齐套/MRP 事后发现。
- 做了什么:
plan.inventory:期初+在途+成品交期/BOM 毛需求+采购到货;日/周投影;断料/安全库存告警GET /api/plan/inventory;分桶视口「库存投影」;口令「库存投影」「库存投影 CTRL-A」
- 验证:
test_inventory.py+ 全量 golden;tsc
2026-07-23 — PL-03 可行性分析
- 类型:feat(PL-03 首切片)
- 背景:延期只能在详细排产后看见,缺计划层前置「能否按期 + 缺口在哪」。
- 做了什么:
plan.feasibility:交期排序累计需求 vs 累计粗能力;FEASIBLE/AT_RISK/INFEASIBLE/LATE + 缺口桶GET /api/plan/feasibility;分桶视口「可行性」页;口令「可行性分析」「能否按期」
- 验证:
test_planning.pyfeasibility + 全量 golden;tsc
2026-07-23 — PL-02 有限/无限产能粗评估
- 类型:feat(PL-02 首切片)
- 背景:分桶计划仅有限产能视角,缺西门子式无限产能粗评估与双模式对照。
- 做了什么:
capacityMode=FINITE/INFINITE:无限不卡能力、给所需日产 + 有限参照;plan.rccp对照摘要GET /api/plan/rccp;分桶视口有限/无限切换;口令「有限产能粗评」「无限产能粗评」「粗能力对比」
- 验证:
test_planning.pyinfinite/rccp + 全量 golden;tsc
2026-07-23 — PL-01 时间分桶计划
- 类型:feat(PL-01 首切片)
- 背景:计划层缺日/周/月时段建模,中长期需求与粗能力只能看排产后负荷。
- 做了什么:
plan.bucketsP0:DAY/WEEK/MONTH/HYBRID;确定订单 + 可选预测加权 vs 产线日产能×工作日GET /api/plan/buckets;视口「分桶计划」;口令「时间分桶」「分桶计划」「混合分桶」
- 验证:
test_planning.py+ 全量 golden 133;tsc
2026-07-23 — OR-05 预测 / 长周期订单
- 类型:feat(OR-05 首切片)
- 背景:计划层缺独立预测需求台账;销售订单与预测混排会污染正式承诺。
- 做了什么:
forecastOrders+forecast.upsert/delete/convertP2、forecast.queryP0;旧世界缺表自愈- RuleEngine
includeForecast:ACTIVE 预测垫后试排;转正 → APPROVED 销售单 - 订单面板预测视图;口令「查看预测」「新建预测」「预测纳入试排」「预测转正」
- 验证:
test_forecast.py+ 全量 golden 128;tsc
2026-07-23 — AG-08 项目 / 会话服务端化
- 类型:feat(AG-08 首切片)
- 背景:项目/会话/消息只存浏览器 localStorage,刷新跨设备丢失,也无法与世界状态显式绑定。
- 做了什么:
server/data/projects.json+ProjectStore;worldKey=default绑定共享世界GET/PUT /api/workspace、项目/会话/消息 API;project.*/message.*/workspace.replaceP1- 前端启动拉取/本地迁移;防抖同步;消息优先服务端;删项目不碰世界
- 验证:
test_workspace.py+ 全量 golden;tsc
2026-07-22 — OR-04 紧急插单专用流
- 类型:feat(OR-04 首切片)
- 背景:急单仅能勾
isRush或走柔性flex.rush,缺少固定轨「先快评再采用」专用流。 - 做了什么:
rush.evaluateP1 双沙盒对比(受影响订单/延迟/冲突差分);主干零接触rush.applyP2:写 APPROVED 急单 + DRAFT 排产;写前自动建档可回滚- 订单面板插单向导;口令「插单快评」「紧急插单 200件控制器A」「采用插单」;柔性急单改需带「柔性」前缀
- 验证:
test_rush.py+ 全量 golden;tsc
2026-07-22 — OR-03 订单池 / 审核 / 变更
- 类型:feat(OR-03 首切片)
- 背景:销售订单无审核态,新建即进排产,缺少业务台账泳道。
- 做了什么:
- 状态机 DRAFT→SUBMITTED→APPROVED/REJECTED;编辑已批→CHANGED;仅 APPROVED 进正式排产
order.submitP1、order.approve/order.rejectP2;GET /api/orders.pool;includeUnapproved试排- 订单面板泳道 + 提交/批准/驳回/批量批准;口令「订单池」「提交审核」「批量批准」
- 验证:
test_order_pool.py+ 全量 golden;tsc
2026-07-22 — SC-04 约束注册表 + 配置中心
- 类型:feat(SC-04 首切片)
- 背景:冲突检测内嵌引擎,无法配置硬/软与启停;发布不区分硬约束。
- 做了什么:
ConstraintDef目录 +constraintProfile;版本快照约束配置- RuleEngine/PoolEngine 读齐套软硬与维保/产能/班组/模具/滚动窗开关
- 发布前硬约束门禁;设置 → 约束配置;口令「关闭物料齐套」「齐套改为硬约束」
- 验证:
test_constraints.py+ 全量 golden;tsc
2026-07-22 — OR-02 优先级与客户等级权重配置
- 类型:feat(OR-02 首切片)
- 背景:策略排序只用
priority/deliveryDate,主管无法配置 VIP 相对权重;设置页无排产参数。 - 做了什么:
scheduleParams.customerLevelWeights;RuleEngine 综合/均衡以等级权重为第一键(交期优先仍 EDD)params.queryP0 /params.updateP2;GET /api/params、POST /api/params/stage- 设置 → 排产参数滑杆;口令「查看排产参数」「提高VIP权重到10」「恢复默认排产参数」
- 验证:
test_params.py+ 全量 golden;tsc
2026-07-22 — AG-07 主动引导(空态 / 冲突 / 知识未命中)
- 类型:feat(AG-07 首切片)
- 背景:欢迎页与空态仍是静态文案;冲突高/知识未命中缺少可点击下一步。
- 做了什么:
build_guidance+guidance.nextP0 +GET /api/guidance- 对话
guidance块、欢迎页动态 starter、甘特空态;发布无版本 / 知识未命中 / 试排冲突≥3 自动附建议 - 口令「下一步建议」
- 验证:
test_guidance.py+ 全量 golden;tsc
2026-07-22 — EX-06 资源利用率增强(设备热力 + 班组并发)
- 类型:feat(EX-06)+ docs(SC-11/SC-10 对齐)
- 背景:负荷热力只覆盖固定产线;柔性设备/班组利用率缺独立视口;SC-11 引擎早已落地但总表仍标未做。
- 做了什么:
build_utilization_report+GET /api/analytics/utilization:7 日设备热力、班组峰值并发/触顶- 视口「利用率」;口令「打开资源利用率」;柔性工作台展示班组清单
- 文档:SC-11/SC-10/MD-07/EX-06 状态与实现对齐
- 验证:
test_utilization.py+ 全量;tsc
2026-07-22 — OR-06 订单钉扎(柔性链)+ SC-12 文档对齐
- 类型:feat(OR-06)+ docs(SC-12)
- 背景:固定轨
plan.trace已有;康尼需 FO→BOM/路线→虚拟产线→工单/设备钉扎;SC-12 已实现但总表仍标未做。 - 做了什么:
flex_plan_trace+plan_trace(track=flex|auto);GET /api/plan/trace?track=flex- 柔性工作台「钉扎」页;口令「钉扎 FO-2601」「追溯柔性订单」
- implementation-spec:OR-06 / SC-12 状态改为已落地
- 验证:
test_pegging.py+ 全量;tsc
2026-07-22 — EX-07/08 方案对比表 + KPI 仪表盘
- 类型:feat(分析增强)
- 背景:视口仅有迷你 KPI 卡与方案卡,缺独立仪表盘与逐项 diff 表。
- 做了什么:
build_kpi_dashboard/GET /api/analytics/kpi:固定+柔性+MES+冲突聚合;视口「KPI」build_compare_table/GET /api/analytics/compare:策略/三模式逐项最优高亮与 delta;视口「对比表」query.kpi/scenario.compare/flex.compare联动切换视口
- 验证:
test_analytics.py+ 全量 golden;tsc
2026-07-22 — EX-05/09 MES 下发与报工回流(Mock)
- 类型:feat(EX-05 + EX-09 首切片)
- 背景:发布执行闭环缺车间侧;MD-05 SAP 桩已齐,需对称 MES 下发/报工。
- 做了什么:
MockMesClient+mes.dispatch(P3 确认卡,幂等外部工单)/mes.report(P1 进度回流)- 柔性版本下发后标
DISPATCHED;工序进度与订单整单完工联动 - API:
/api/mes/status|dispatch/*|execution|report;工作台「MES 执行」;口令「下发MES」「模拟报工」
- 验证:
test_mes.py+ 全量 golden;tsc
2026-07-22 — MD-05 SAP 集成桩(入站拉单 / 出站回写)
- 类型:feat(MD-05 首切片)
- 背景:康尼验收需 SAP↔APS 双向同步;本期用进程内 Mock,无真实 RFC。
- 做了什么:
MockSapClient(server/integrations/sap_stub.py)+sap_sync入站写柔性订单/库存、出站幂等回写- 意图:
sap.statusP0;sap.sync.inbound|outboundP2 确认卡;口令「同步SAP」「回写SAP」 - API:
/api/sap/status、inbound|outboundpreview/stage;柔性工作台「SAP 集成」页
- 验证:
test_sap_sync.py+ 全量 golden;tsc
2026-07-22 — EX-04 固定轨甘特拖拽调程
- 类型:feat(EX-04 对称补齐)
- 背景:柔性甘特已可拖;固定轨仍只读。
- 做了什么:
schedule.adjust.preview/commit:工位占槽、同 PO 工序先后、维保窗口校验;提交复制 PO/WO 为新草稿- API:
/api/schedule/adjust/preview|stage;固定甘特可拖拽 + P2 确认卡
- 验证:
test_fixed_preview_and_commit+ 全量;tsc
2026-07-22 — EX-04 柔性甘特拖拽调程
- 类型:feat(EX-04 首切片)
- 背景:正式版甘特此前只读;POC 有拖拽,需产品化边拖边校验 + P2 提交。
- 做了什么:
flex.adjust.preview(P0):15 分钟吸附、设备占槽与工序先后校验;同虚拟产线后续工序联动平移flex.adjust.commit(P2):确认后生成新草稿版本,不改历史- API:
/api/flex/adjust/preview、/stage;柔性甘特可拖拽(绿/红描边)+ 确认卡
- 验证:
test_adjust.py+ 全量 golden;tsc
2026-07-22 — EX-03 冲突解决工作流(建议 + 一键修复)
- 类型:feat(EX-03 首切片)
- 背景:冲突此前只能在排产结果里「看见」,无法按建议修复。
- 做了什么:
conflict.list/ 冲突中心:最新版本未解决冲突 + 按类型的可执行建议flex.conflict.resolve:P1 安全修复(解锁模具 / L1 换机 / 恢复设备);重排类走 P2 确认卡- API:
GET /api/flex/conflicts、POST /api/flex/conflicts/resolve - 柔性工作台「冲突」页;对话「查看冲突」「解决冲突」
- 验证:
test_conflicts.py+ 全量 golden;tsc
2026-07-22 — 故障优先 L1 + EX-10 预测预警 + 实时分钟窗
- 类型:feat(康尼 DY-01 / EX-10 / SC-12 增强)
- 背景:故障一律全量重排过粗;产能池缺短中长期预测;滚动层缺实时分钟精度。
- 做了什么:
- DY-01:
apply_equipment_fault先 dry-run L1,能全部换机则局部处理(他单不动);否则缩池 L4 重排;PRESS 冗余走 L1、WELD 单点走 L4 - EX-10:产能分析补 4h/1d/1w 负荷利用率与 ≥85%/95% 预警列表;视口产能池展示预测芯片与告警条
- SC-12:
window=realtime(60m / 步长 1min);口令「实时排产」「分钟级排产」;工作台按钮
- DY-01:
- 验证:相关 golden + 全量;
tsc
2026-07-22 — DY-01 真·L1 局部换机 + L2/L3/L4 升 P2 确认卡
- 类型:feat(康尼 DY-01 收尾)
- 背景:窗内重排此前直通执行;局部换机此前靠故障缩池整单重排,非真 L1。
- 做了什么:
- L1:
flex.swap/local_swap_equipment— 池内空闲备机接手,只改目标工单,他单时段与设备不变,不新建版本;口令「局部换机 PRESS-01」;工作台异常页按钮;POST /api/flex/swap - L2/L3/L4:
flex.reschedule升 P2;对话与POST /api/flex/reschedule只出确认卡,批准后execute_confirmed执行并自动建档 - 柔性工作台分级重排走确认卡 UI
- L1:
- 验证:
test_l1_local_swap_keeps_others/test_reschedule_is_p2_and_preview+ golden;tsc
2026-07-22 — 康尼 SC-12 滚动窗 + DY-01 L2/L3 + SC-11 班组约束
- 类型:feat(康尼剩余 P0)
- 背景:验收剧本仍缺滚动分窗与窗内重排、班组人力未进引擎。
- 做了什么:
- SC-12:
window=short/mid/long限制精排时域与步长(15min/60min/4h),窗外延期或截断 - DY-01:
flex.rescheduleL2/L3 冻结窗外工单占槽后只重排窗内订单;L4 全量 - SC-11:
flexTeams按工序并发人数约束占槽,工单挂teamCode - 柔性工作台增加滚动排产与 L2/L3/L4 按钮;对话「短窗重排」「滚动排产」
- SC-12:
- 验证:
test_rolling_reschedule.py+ 全量 golden;tsc
2026-07-22 — 康尼需求 P0 闭环:交期三区间 / 模具寿命 / 故障插单 / 柔性工作台
- 类型:feat(康尼芜湖验收剧本落地)
- 背景:用户要求先完善康尼相关能力;此前引擎有、产品面板与 DY/PL 缺口大。
- 做了什么:
- PL-08:交期承诺补悲观区间 +
gaps资源缺口建议;对话块与柔性工作台询价 - MD-07/SC-10:排产消耗模具寿命,到限自动 LOCKED;工作台可锁定/解锁
- DY-01:
flex.fault设备故障缩池重排;flex.rush紧急插单;对话口令对齐 - SC-13:
flex.compare三模式沙盒对比 + UI - EX-10:柔性工作台「资源 What-if」停机/调区即时重算产能
- 右侧「柔性工作台」:排产 / 交期 / 异常 / What-if 四页签
- PL-08:交期承诺补悲观区间 +
- 验证:
test_kangni_flex.py+ 全量 golden;前端tsc
2026-07-22 — MD-04 导入管线 + 柔性主数据页 + EX-10 产能池仪表盘
- 类型:feat(product MD 落地,不含西门子对标文档)
- 背景:
docs/product中 MD-04/08/09、EX-10 仍为 🔜;用户五张 Excel 需要可校验入库,并要能看见柔性资源与产能池。 - 做了什么:
- MD-04:
importers.py+POST /api/import/preview|commit(P1 校验 / P2 入库);种类覆盖订单/物料/BOM/路线/设备/模具/工序/区域;写固定轨或flex* - MD-08/09:主数据「柔性资源」页签(设备/模具/工序池/区域只读 + 导入联动);
master.clear增flex范围 - EX-10:视口「产能池」模式 +
PoolCapacityView(负载色标);口令flex.capacity联动切池并刷新 - 订单/主数据面板挂载
ImportBar;黄金测试test_importers.py
- MD-04:
- 验证:
pytest tests/golden;前端tsc
2026-07-22 — 主数据一键清理改为真正清空
- 类型:fix
- 背景:资源页点「一键清理」后工厂/产线仍在——原实现是回种种子,不是清空。
- 做了什么:
master.clear按页签整表清空(资源树 / 工艺模型 / 维保);确认卡明示「清空后列表为空」。 - 验证:golden 断言 factories/lines/materials 清空
2026-07-22 — 订单/主数据一键清理
- 类型:feat(面板运维)
- 背景:订单与主数据录入后缺少板块级清空,演示/试错不便。
- 做了什么:
- 订单面板「一键清理」→
order.clear:清空销售订单 + 采购/委外建议(P2) - 主数据面板「一键清理」→
master.clear:按当前页签(资源/工艺模型/日历维保)回种到种子基线(订单与历史排产不碰) - 对话口令:「清空全部订单」「清理工艺模型主数据」
- 订单面板「一键清理」→
- 验证:golden 增补清理用例;
pytest/tsc
2026-07-22 — 订单删除 + 自然语言新增/批量导入(订单与主数据)
- 类型:feat(录数闭环)
- 背景:订单面板只有取消没有删除;主数据/订单虽可表单维护,但缺少对话侧自然语言新增与批量导入。
- 做了什么:
order.delete:物理删除销售订单,同步清该单草稿采购/委外;面板「删除订单」+ 口令「删除订单 SOxxxx」data.import:口令「导入订单 / 导入物料」解析多行 CSV 或口语行,P2 确认后批量写入master.material.upsert对话新建物料;订单order.upsert继续支持自然语言建单- 快捷指令与欢迎语补充录数示例;
intake.py解析模块
- 验证:golden 增补删除与导入用例;
pytest/tsc
2026-07-22 — 工艺模型 CRUD 起步(对齐聚制云主数据分层)
- 类型:feat(主数据外围)
- 背景:手册要求工艺模型「物料→BOM→工序→工艺路线」全 CRUD,且排产前必须产线-产品绑定;原主数据面板只能改库存/工时,养不活排产依据。
- 做了什么:
masterdata.py:物料新建/全字段/停用;BOM 头新建 + 行增删改;工序库;工艺路线新建/步骤增删改;产线-产品绑定增删改;投影补operations/lineProducts- 发号器补 material/bom/operation/routing/lineProduct;Harness 登记
master.operation.upsert/master.lineProduct.upsert - 前端主数据「工艺模型」拆页签:物料 / BOM / 工序 / 工艺路线 / 产线绑定
- 黄金测试 M6:工艺模型 CRUD 闭环
- 验证:
pytest tests/golden;前端tsc
2026-07-22 — 对齐聚制云:计划追溯链 + 主数据/排产依据可查
- 类型:feat(产品对齐 + 可解释性)
- 背景:对照
demand/聚制云…操作手册 V1.1,当前主数据维护无分层顺序、排产结果无法沿 SO→BOM/路线→采购委外→PO/WO→负荷/库存追溯,用户感知“混乱、找不到依据”。 - 做了什么:
- 产品文档
docs/product/master-data-and-plan-chain.md:手册主数据分层、计划链、与现状缺口、目标追溯模型 - 后端
server/aps_domain/trace.py+GET /api/plan/trace+ 意图plan.trace:一单给出主数据依据、分解、排产工单、负荷分钟、库存缺口与缺失项 - 订单面板「追溯」页 + 聊天
plan-trace块;快捷口令「追溯订单依据」 - 知识库补种:主数据录入顺序 / 工艺路线配置 / 订单排产与追溯 / 库存齐套口径 / 柔性轨说明(旧库幂等补齐)
- 产品文档
- 验证:进程内分解+试排后追溯可见 BOM 缺口、工单、产线负荷;
pytest/tsc 见本轮末
2026-07-22 — 外围功能补齐(只留核心算法待调):柔性可视化 / 对话建单 / MRP 下达 / 视口细节
- 类型:feat(外围闭环,四批次)
- 背景:核心算法(固定产线 RuleEngine、柔性 PoolEngine)已可跑;用户要求先补齐系统外围功能,只留核心算法后续慢慢调试。经全量盘点,缺口集中在四处闭环,逐一补齐(CP/GA/HYBRID 高级求解器属核心算法,不在本轮)。
批次 A — 柔性排产可视化闭环
- 后端
server/aps_domain/flex.py+server/gateway/app.py:新增flex_gantt_view与GET /api/flex/gantt(行=设备按区域分组,条=柔性工单,含换型/移动/加工分解、瓶颈/超期/冲突标记) - 前端:
api/types.ts+client.ts加FlexGanttData/fetchFlexGantt;新增viewport/FlexGanttView.tsx;ViewportPanel追加「柔性甘特」页签与柔性 KPI;App.tsx的WorldData扩展flexGantt,refreshWorld并拉柔性甘特,captureSessionResult/hasVisualResult支持纯柔性结果 - 联动:
_run_flex触发后发viewport.mode=flex+world.refresh,右侧自动切到柔性甘特并 capture 会话结果 —— 解决「柔性排产完了看不到工单」
批次 B — 对话/写入闭环
- order.upsert 对话建单:
intent.py加建/改单快路(客户/成品/数量/交期/等级/加急槽位抽取 + 中文日期解析)与 LLM 提示;workflow._stage_order_upsert解析成品并出 P2 确认卡,缺字段友好追问;orders.find_product_by_hint按名称/编码模糊解析成品 - text UIBlock:
ChatPanel补TextBlock渲染(标题+正文+要点),不再静默丢弃
批次 C — MRP 建议单确认下达(DRAFT→正式)
mrp.py:confirmation_for_mrp_release/apply_mrp_release(DRAFT→RELEASED,可按订单/按 采购·委外 粒度)harness注册mrp.release=P2;contracts加意图;workflow出卡 +execute_confirmed执行(写前自动建档);intent加「下达」快路 + LLM 提示POST /api/mrp/release出确认卡;OrderPanel分解视图加「确认下达全部/只采购/只委外」按钮与 DRAFT/已下达状态徽标
批次 D — 视口细节
-
视口工具栏「时间粒度」徽标改为可点切换(天⇄小时)
-
负荷热力视图响应产线聚焦(
load_view行补lineCode,LoadView按编码过滤) -
验证:
pytest全套 51 项全绿;前端tsc --noEmit通过、vite build成功;进程内实测 order.upsert(建单落库)与 MRP 分解→下达(48 采购草稿全部 RELEASED)闭环通过
2026-07-22 — 柔性排产结果可下钻:每条产线给出工单级依据 + 冲突原因
- 类型:feat(可解释性)
- 背景:用户反馈「排产结果很混乱,要每条结果都有数据可依据」。原 flex-schedule 块只给完工时间与准时/超期标签,看不到时间是怎么算出来的。
- 做了什么:
- 后端
server/aps_domain/workflow.py的_run_flex:结果块新增两部分依据——- 每条虚拟产线携带
steps(工单级明细:序/工序/设备+区/模具/换型min/移动min/加工min/起止时段/是否瓶颈) - 顶层
conflicts(DELAY/缺料/无能力等,含描述与处置建议);虚拟产线按交期排序消除“混乱观感”,并补充订单号/优先级列
- 每条虚拟产线携带
- 前端
apps/web/src/chat/ChatPanel.tsx的FlexScheduleBlock:行可点击展开,内嵌工单明细表 + 表尾说明「完工时间 = 各工序(换型+移动+加工)沿工艺顺序跨班次累加」;底部列出冲突依据清单 - 样式
apps/web/src/styles.css:新增.flex-line-row/.flex-detail/.flex-step-table/.flex-conflicts等
- 后端
- 验证结果(进程内核对):FO-2602 高压线束 6 道工序完整展开(来料检验→下线→压接★→装配→测试→包装,各工时/设备/模具清晰);4 项 DELAY 冲突与超期标签一一对应
- 回归:
tests/golden(51)全绿,test_pool_engine(14)全绿
2026-07-22 — 柔性演示数据重做:对齐康尼芜湖 4 产品共线场景
- 类型:feat(数据)
- 背景:原柔性种子只有 2 产品(线束/PDU),与 demand/ 康尼芜湖方案的「4 类共线产品 + 7 能力池」不匹配,演示不够真实。
- 做了什么(
server/state/seed.py的_seed_flex,忠实吸收 demand §3.2/§3.3/§6.1):- 4 类产品:高压线束总成 HV-HARNESS、PDU 配电单元 PDU-UNIT、充电枪总成 CHARGE-GUN、高压连接器 HV-CONN
- 10 道工序,四类瓶颈与方案 §6.1 对齐:压接端子(线束)、激光焊接(PDU·全厂最紧)、控制盒装配ESD(充电枪)、插拔力测试(连接器)
- 22 台设备 / 4 区域:下线机×2、压接机×4(可移动跨区)、装配台×3、激光焊接机×1、氦质谱+气密检测×2、ESD 装配台×2、测试台×4、插拔力测试机×1、来料检验×1、包装台×2
- 5 副压接模具家族(代表 50+ 套)、12 项物料 + 8 条 BOM(4 成品各自关键料)、4 条工艺路线(含共用压接池的产品竞争)
- 10 张多品种小批量订单(4 产品,交期/优先级错落,8 RELEASED + 2 CREATED)
- 班组扩到 5 个覆盖新工序
- 验证结果(进程内核对):跑一版柔性排产 → 10 条虚拟产线 / 56 工单;瓶颈识别 = 压接(4台)·焊接(1台)·ESD(2台)·插拔力(1台);瓶颈产能法:限制性瓶颈=激光焊接≈88件/天、ESD≈182、插拔力≈228、压接≈1795(与 demand §6.1 的 96/192/240/960 量级一致)
- 同步更新:
tests/golden/test_pool_engine.py计数断言(5单/30工单 → 10单/56工单;vlCount/onTime 值域) - 涉及路径:
server/state/seed.py·tests/golden/test_pool_engine.py - 验证:全量
pytest51 passed;scripts/flex_simulation.py全流程 exit 0 - 注意:旧 world.json 会被
ensure_flex_seed幂等补种为旧结构——要看新数据需重启后端并「重置数据」(或删除持久化 world.json) - 文档同步:本文件
2026-07-22 — 修复:对话气泡样式塌陷 + 柔性回复图文表格化
- 类型:fix + feat(前端)
- 背景(缺陷):
- 右侧用户气泡出现「短中文一字一行竖排」——根因是
.bubble的word-break: break-all遇上.msg.user .msg-content的align-items:flex-end,令气泡塌陷到"单字符最小宽度" - 左侧柔性排产/瓶颈产能/交期承诺回复全是纯文字,可读性差
- 右侧用户气泡出现「短中文一字一行竖排」——根因是
- 做了什么:
apps/web/src/styles.css:修.bubble→width: fit-content; max-width: 100%; overflow-wrap: break-word; word-break: normal(短内容抱紧、长内容按容器宽换行,不再逐字竖排);新增柔性块样式(KPI 指标格、虚拟产线表、瓶颈标签、能力池条形图、交期双卡)server/contracts.py+apps/web/src/api/types.ts:UIBlock.type新增flex-schedule/flex-capacity/flex-dueserver/aps_domain/workflow.py:三个柔性处理分支改为「一句话结论文案 + 结构化 UIBlock」——排产结果给 KPI 指标格 + 虚拟产线表(产品/数量/工序数/完工/交期/准时标签)+ 瓶颈标签;瓶颈产能给各能力池日产能条形图(瓶颈池橙→黄高亮);交期承诺给乐观/预计双卡apps/web/src/chat/ChatPanel.tsx:新增FlexScheduleBlock/FlexCapacityBlock/FlexDueBlock三个渲染组件;快捷指令加「跑一版柔性排产 / 瓶颈产能 / PDU 500套什么时候能交」
- 涉及路径:
apps/web/src/styles.css·apps/web/src/chat/ChatPanel.tsx·apps/web/src/api/types.ts·server/contracts.py·server/aps_domain/workflow.py - 验证:
npx tsc -b通过(前端零类型错误);全量pytest51 passed;in-process 核对三类柔性块 props 结构正确 - 注意:需重启后端 + 前端热更新(或刷新页面)生效
- 文档同步:本文件
2026-07-22 — 修复:柔性排产接入对话意图管线(不再降级乱答)
- 类型:fix + feat
- 背景(缺陷):柔性排产此前只有
/api/flex/*REST 接口,未进意图管线。用户在对话里说「走一个全流程排产」时,既不命中固定产线schedule.run(其要求"试排/重排/跑一版"动词),就降级到 LLM/知识库,把《排产逻辑》PPT 原文当答案吐出——表现为"乱回答"。 - 做了什么:
server/contracts.py:IntentName新增flex.schedule/flex.capacity/flex.simulate_due(并补登此前遗漏的order.decompose,修掉其经对话触发时的契约校验隐患)server/agent_core/intent.py:一级规则快路新增柔性触发词——柔性/能力池/虚拟产线/多品种小批量/全流程排产,以及方向词 正排(ASC)/倒排(DESC)/瓶颈锚(BOTTLENECK)(方向词在本系统仅 PoolEngine 实现,故归柔性);交期问句(何时/多久能交 + 产品 + 数量)→flex.simulate_due并抽出productCode/quantity;同步补 LLM 意图枚举server/aps_domain/workflow.py:新增flex.schedule(回执版本/虚拟产线/瓶颈/准时率/各单完工)、flex.capacity(瓶颈产能法各池日产能 + 限制性瓶颈)、flex.simulate_due(乐观/预计完工)三个处理分支与文案;_HELP增列柔性口令server/state/seed.py:新增幂等ensure_flex_seed();柔性领域服务在读写前调用,旧 world.json(flex 层加入前落盘)自动补齐柔性主数据,无需手动重置server/agent_core/harness.py:登记flex.capacity/flex.simulate_due为 P0(只读)
- 涉及路径:
server/contracts.py·server/agent_core/intent.py·server/aps_domain/workflow.py·server/aps_domain/flex.py·server/state/seed.py·server/agent_core/harness.py·tests/golden/test_pool_engine.py - 验证:新增意图路由护栏 F12(3 用例:柔性五口令+模式解析 / 瓶颈产能+交期槽位抽取 / 固定产线与知识库不被误吞);全量
pytest51 passed;in-process 跑通全部柔性口令并核对回执文案 - 注意:需重启后端加载新代码;旧世界首次触发柔性口令会自动补种(无需
重置数据) - 文档同步:本文件
2026-07-22 — 柔性排产全流程操作手册 + 自然语言流程描述
- 类型:docs
- 做了什么:
- 新增
docs/product/flex-simulation-guide.md:第一部分「自然语言全流程描述」(设备虚拟化→能力池→虚拟产线→瓶颈产能→交期承诺→动态重排,用大白话讲一遍);第二部分走法 A 一键脚本;第三部分走法 B 逐接口(PowerShellInvoke-RestMethod示例 + 端点速查);第四部分走法 C 换真实数据;第五部分验收清单 + 常见问题 - 在
docs/product/README.md与大管家docs/README.md导航登记本手册与数据采集模板
- 新增
- 涉及路径:
docs/product/flex-simulation-guide.md·docs/product/README.md·docs/README.md· 本文件 - 验证:文档交叉引用自检;命令与端点签名对照
server/gateway/app.py/scripts/flex_simulation.py;未改运行代码 - 文档同步:
product/*·docs/README.md· 本文件
2026-07-22 — 柔性排产全流程模拟 + 瓶颈产能法 + 三模式差异化
- 类型:feature + docs
- 做了什么:
- 新增端到端模拟脚本
scripts/flex_simulation.py:一次跑通「主数据/产能池 → 瓶颈锚排产+虚拟产线甘特 → 瓶颈产能评估 → 正/倒/瓶颈锚三模式对比 → 交期承诺(PDU 500套) → 动态重排(紧急插单 / 设备故障)」全链路,全中文可读输出 - 新增
capacity_analysis(瓶颈产能法 PL-07)+GET /api/flex/capacity:按能力池算日产能=池可用工时÷单件工时,标出限制性瓶颈(本演示=单机激光焊接池 88件/天,对照台账法压接池虚高 1920件/天) - 修
PoolEngine倒排(DESC)排序:改为交期最晚优先,使三模式在压力场景下真正分化(正排/瓶颈锚 114h 延迟、准时 1/5;倒排 295h、准时 0/5) PoolEngine结果新增makespan(最晚完工)与onTimeCount(准时单数)- 动态调度双案例:可移动压接机故障(池化韧性、日产能 1795→1344 仍有冗余)vs 单点瓶颈焊接机故障(无备机 → PDU 停摆,暴露 NO_CAPABILITY,提示备机/外包/议交期)
- 新增端到端模拟脚本
- 涉及路径:
scripts/flex_simulation.py·server/engines/pool_engine.py·server/aps_domain/flex.py·server/gateway/app.py·tests/golden/test_pool_engine.py·docs/** - 验证:
python -m pytest tests\golden -q→ 48 passed(原 46 + 新 F10/F11);python scripts\flex_simulation.py全流程跑通 - 文档同步:
product/features.md(PL-07)·product/implementation-spec.md·architecture/harness.md(/api/flex/capacity)· 本文件 - 遗留:前端虚拟产线甘特 + 产能池仪表盘(EX-10);真正的滚动窗口分窗(SC-12)与局部重排(DY-01 L1/L2,当前重排为全量 L4)
2026-07-22 — 柔性排产首切片:设备能力池 + 虚拟产线(PoolEngine)
- 类型:feature + docs
- 做了什么:
- 新增柔性排产引擎
server/engines/pool_engine.py(PoolEngine,name=FLEX):订单→每道工序从能力池(拥有该工序能力的设备集合)动态取设备→组装虚拟产线(flexVirtualLines);含模具适配/换型、可移动设备移动耗时、设备级占槽、工序 precedence;支持 ASC 正排 / DESC 倒排 / BOTTLENECK 瓶颈锚 三模式(吸收排产逻辑.ppt) - 种子追加
flex*数据(server/state/seed.py的_seed_flex):区域、可移动压接机×4+下线/焊接/检漏/测试等设备、高压端子模具族、产品HV-HARNESS/PDU-UNIT及工艺/BOM/订单/参数;与固定产线层并行独立键,不进 RULE 引擎与既有计数 - 新增领域服务
server/aps_domain/flex.py:能力池投影capability_pools、flex_overview、run_flex_schedule(P1 经harness.guard+审计)、simulate_due(交期承诺模拟雏形,深拷贝沙盒) - 端点:
GET /api/flex/world·POST /api/flex/schedule·POST /api/flex/simulate-due;harness登记flex.scheduleP1 - 产出数据采集模板
docs/product/demand-data-intake.md(11 张表字段+示例,兼作合成种子 schema) - 黄金测试
tests/golden/test_pool_engine.py(F1–F9:计数/设备无双占/工序序/压接必占适配模具/瓶颈摘要/冲突结构/移动痕/利用率值域/三模式)
- 新增柔性排产引擎
- 涉及路径:
server/engines/pool_engine.py·server/engines/__init__.py·server/aps_domain/flex.py·server/state/seed.py·server/state/store.py·server/agent_core/harness.py·server/gateway/app.py·tests/golden/test_pool_engine.py·docs/** - 验证:
python -m pytest tests\golden -q→ 46 passed(原 37 + 新 9,无回归) - 文档同步:
product/features.md(§0 + MD-08/09·SC-13/14·PL-07/08)·product/implementation-spec.md·product/demand-data-intake.md·architecture/harness.md·architecture/modules.md· 本文件 - 遗留:前端虚拟产线甘特 + 产能池仪表盘(EX-10);滚动窗口分窗(SC-12);班组人力约束进排产(SC-11);柔性层与固定产线层的统一;意图口令「柔性排产」(当前经 REST 触发)
2026-07-22 — 吸收 demand/ 真实需求进产品文档
- 类型:docs
- 做了什么:
- 解析
demand/:康尼芜湖柔性排产与产能评估方案(docx)+ 排产逻辑(ppt 正排/倒排/瓶颈混合) - 新增
docs/product/demand-kangni-wuhu.md:抽象为行业无关能力,并与现有编号映射;明确非绑定客户工厂 features.md登记 MD-08/09、SC-12~14、PL-07/08、EX-10、DY-01、IND-03;差距清单按真实需求 P0 重排(柔性资源模型优先)- 同步
implementation-spec编号总表、positioning需求输入声明、product/大管家索引;.gitignore忽略本地提取目录
- 解析
- 涉及路径:
docs/product/demand-kangni-wuhu.md·docs/product/features.md·docs/product/implementation-spec.md·docs/product/positioning.md·docs/product/README.md·docs/README.md·docs/product/aps-benchmark-siemens.md·.gitignore - 验证:文档交叉引用自检;未改运行代码
- 文档同步:
product/*· 本文件 - 遗留:新编号落地规格卡随 M4/M5 开工补齐;柔性场景种子数据与引擎实现另开切片
2026-07-16 — 订单分解 MRP 首切片 + BOM/工艺路线可维护(对标西门子)
- 类型:feature + docs
- 做了什么:
- 新增 MRP 领域服务
server/aps_domain/mrp.py:订单按 BOM/工艺路线分解为 自制(进排产)/ 采购建议(净需求=毛需求−库存−在途,建议下单日按采购前置期倒排)/ 委外建议(isExternal外协工艺步骤);写入purchaseOrders/outsourceOrdersDRAFT 建议表,重复分解幂等替换 order.decompose登记 P1;GET /api/mrp+POST /api/mrp/decompose;对话口令「分解订单 SOxxx / 生成采购建议 / MRP」走同一动作- MD-02 深化:新增
master.bom.upsert(明细用量/关键料)与master.routing.upsert(准备/单件时间/外协标记)两个 P2 动作;主数据面板选中成品后可直接编辑 BOM 与工艺步骤 - 订单面板新增「分解建议」视图与「分解此单」按钮,展示采购/委外建议(含来源订单、建议下单日、前置期)
- 黄金测试
tests/golden/test_mrp.py:缺料出采购建议+前置期倒排、充足物料零建议、外协往返、指定订单幂等、BOM 用量联动
- 新增 MRP 领域服务
- 涉及路径:
server/aps_domain/mrp.py·server/aps_domain/masterdata.py·server/aps_domain/workflow.py·server/agent_core/harness.py·server/agent_core/intent.py·server/gateway/app.py·server/state/seed.py·server/state/store.py·apps/web/src/orders/OrderPanel.tsx·apps/web/src/master/MasterPanel.tsx·apps/web/src/api/*·tests/golden/test_mrp.py·docs/** - 验证:
python -m pytest tests\golden -q→ 37 passed;npm run build→ 成功 - 文档同步:
product/features.md(OR-07)·product/journeys.md(旅程 A4)·product/implementation-spec.md·product/aps-benchmark-siemens.md·architecture/harness.md·architecture/modules.md· 本文件 - 遗留:建议单确认下达(转正式采购/委外,P2/P3 对接 ERP)、跨订单库存分配、多层 BOM 级联、引擎跳过外协工序占槽为后续切片
2026-07-16 — MD-01/02/03 主数据维护模块首切片
- 类型:feature + docs
- 做了什么:
- 新增主数据领域服务
server/aps_domain/masterdata.py:资源树/物料BOM/日历维保只读投影 +master.line.upsert(产线编辑停启用)/master.material.upsert(库存在途安全库存)/master.maintenance.upsert(维保新增取消)三个 P2 写动作 - 新增
GET /api/master与POST /api/master/stage;页面只暂存确认卡,批准统一走/api/actions/confirm,写前自动 Checkpoint + 审计链 - 引擎联动修复:
find_product_lines/find_workstation_for_operation补 ACTIVE 过滤(停用资源不进新排产);维保冲突检测忽略 CANCELLED 窗口 - 前端新增主数据面板
MasterPanel(资源/物料与BOM/日历与维保三页签),侧栏与右侧工具栏、命令面板均可进入 WorldStore发号器支持 maintenance 表- 黄金测试
tests/golden/test_master_data.py:停用产线排除、库存调零缺料增加、维保窗口冲突往返、确认卡校验、审计链完整
- 新增主数据领域服务
- 涉及路径:
server/aps_domain/masterdata.py·server/gateway/app.py·server/aps_domain/workflow.py·server/agent_core/harness.py·server/engines/queries.py·server/engines/rule_engine.py·server/state/store.py·apps/web/src/master/MasterPanel.tsx·apps/web/src/App.tsx·apps/web/src/projects/ProjectPanel.tsx·apps/web/src/api/*·tests/golden/test_master_data.py·docs/** - 验证:
python -m pytest tests\golden -q→ 33 passed;npm run build→ 成功 - 文档同步:
product/features.md·product/journeys.md(旅程 A3)·product/implementation-spec.md·architecture/harness.md·architecture/modules.md· 本文件 - 遗留:工位/设备编辑、BOM/工艺路线版本发布、周日历模板、Excel 导入(MD-04)为后续切片;主数据意图口令(对话入口)后续补齐
2026-07-16 — 对标西门子 Opcenter APS 完善产品功能清单
- 类型:docs
- 做了什么:
- 新增
docs/product/aps-benchmark-siemens.md:以西门子 Opcenter APS(原 Preactor)三大模块 + 8 段标准流程为标尺,逐项盘点覆盖度与差距 features.md扩充:新增「计划层 Advanced Planning」章节(PL-01~PL-06)+ 主数据/订单/排产/执行多项对标功能点(MD-05~07、OR-05~06、SC-07~11、EX-06~09、IND-01~02),差距清单按「缺口×频率」重排implementation-spec.md编号总表同步新增 25 个功能编号- 更新 product 索引与大管家导航
- 新增
- 涉及路径:
docs/product/aps-benchmark-siemens.md·docs/product/features.md·docs/product/implementation-spec.md·docs/product/README.md·docs/README.md - 验证:文档编号一致性自检;未改运行代码
- 文档同步:
product/*·docs/README.md· 本文件 - 遗留:新登记功能点的落地规格卡随各里程碑(M4/M5/M6)开工时补齐;计划层 AP 为最大缺口
2026-07-16 — Codex 式工作台布局与会话节点导航
- 类型:feature + fix + docs
- 做了什么:
- 将左侧从图标轨/项目面板改为 Codex 桌面端式工作区侧栏:快捷入口、项目列表、当前项目任务、底部设置
- 去掉顶栏重复项目/任务标题,中央区域回归沉浸式对话;无结果数据时对话区铺满主工作区
- 订单管理、检查点/版本、会话结果收敛到右侧工具入口,结果视图按当前会话快照展示
- 新增会话节点导航:对话区最右侧生成消息节点,悬停显示节点摘要,点击滚动到对应消息
- 修复上一版左侧新结构缺少样式导致原生控件裸露的问题
- 修复右侧工具展开后的大面积空白:右侧工作区改为吃满剩余空间,竖向工具栏固定贴最右侧
- 涉及路径:
apps/web/src/App.tsx·apps/web/src/projects/ProjectPanel.tsx·apps/web/src/chat/ChatPanel.tsx·apps/web/src/styles.css - 验证:
npm run build→ 成功;python -m pytest tests\golden -q→ 28 passed - 文档同步:本文件
- 遗留:左侧快捷入口后续可继续绑定真实“知识库管理”页面;当前先复用设置/集成入口
2026-07-16 — 首屏引导与操作口径专业化
- 类型:fix + docs
- 做了什么:
- 将对话首屏从口号式说明改为“排产工作流 / 方案评估 / 版本治理 / 视图分析”的业务化引导
- 快捷指令与命令面板改为计划员工作台口径,如“多策略方案对比”“查看当前KPI”“发布当前排产版本”
- 甘特空态、时间线空态、后端帮助和无版本提示统一为专业表达
- 增加旧欢迎语本地缓存迁移,命中“左边说,右边动”时自动替换新版欢迎语,不清空其他消息
- 涉及路径:
apps/web/src/chat/ChatPanel.tsx·apps/web/src/App.tsx·apps/web/src/viewport/GanttView.tsx·apps/web/src/timeline/TimelineRail.tsx·server/aps_domain/workflow.py·server/aps_domain/reports.py - 验证:
npm run build→ 成功;python -m pytest tests\golden -q→ 28 passed - 文档同步:本文件
- 遗留:项目/任务默认名称后续可随真实项目模板继续行业化
2026-07-16 — OR-01 订单管理首切片 + 审计契约修复
- 类型:feature + fix + docs
- 做了什么:
- 新增订单领域服务:订单只读投影、成品校验、
order.upsert/cancel/completeP2 写入逻辑 - 新增
GET /api/orders与POST /api/orders/stage,订单页面只暂存确认卡,批准仍统一走/api/actions/confirm - 前端新增订单管理面板:列表、编辑表单、新建/编辑/取消/完成、内嵌确认卡与批准/驳回
- 修复审计事件时间契约:新增
at,保留ts,治理页与旧数据兼容 - 黄金测试新增 OR-01 覆盖:新增订单进入排产、取消订单排除、确认卡摘要、审计双字段
- 同步门禁矩阵、模块登记、产品状态、业务旅程与落地规格
- 新增订单领域服务:订单只读投影、成品校验、
- 涉及路径:
server/aps_domain/orders.py·server/aps_domain/workflow.py·server/gateway/app.py·server/agent_core/audit.py·apps/web/src/orders/OrderPanel.tsx·apps/web/src/App.tsx·apps/web/src/api/*·tests/golden/test_order_management.py·docs/** - 验证:
python -m pytest tests\golden -q→ 28 passed;npm run build→ 成功 - 文档同步:
product/features.md·product/journeys.md·product/implementation-spec.md·architecture/harness.md·architecture/modules.md· 本文件 - 遗留:OR-01 后续仍缺多明细、批量变更、附件;OR-03 订单审核状态机未做
2026-07-16 — 产品功能落地规格补全
- 类型:docs
- 做了什么:
- 新增
docs/product/implementation-spec.md,按主数据、订单、排产、执行、对话治理拆出功能落地卡 - 为每个功能点补充用户目标、最小切片、权力等级、数据对象、API/动作、UI、验收与测试要求
- 在
features.md增加落地规格编号,覆盖当前可演示能力、主数据、订单、排产引擎、结果执行、对话治理 - 更新 product 索引和大管家导航,产品评审可从功能清单跳到落地规格
- 新增
- 涉及路径:
docs/product/implementation-spec.md·docs/product/features.md·docs/product/README.md·docs/README.md - 验证:文档链接与编号自检;未改运行代码,未跑业务测试
- 文档同步:
product/*·docs/README.md· 本文件 - 遗留:后续实现任一功能时仍需同步
journeys.md、harness.md或algorithm/*的对应落地细节
2026-07-16 — 文档体系重组(大管家 + 分类落地)
- 类型:docs
- 做了什么:
- 建立
docs/README.md大管家入口与活文档铁律 - 按角色拆分:
product/·architecture/·algorithm/ PROGRESS.md→CHANGELOG.md;HARNESS/REGEN/FEATURES迁入对应分类并校正「已落地 vs 规划」口径- 种子工厂名改为「演示工厂」(去地域硬编码,与产品通用定位一致)
- 建立
- 涉及路径:
docs/**·plan.md§12.9 ·README.md·server/state/seed.py - 验证:文档结构自检;种子仅改展示名,不影响黄金测试键结构
- 文档同步:本文件 · product/* · architecture/* · algorithm/* · 大管家
- 遗留:
plan.md蓝图中仍有大量「目标态」章节,以docs/algorithm/与product/features.md的状态列为准
2026-07-16 — 产品化整改:缺陷修复 + 设置收敛 + 通用化
- 类型:fix + feature + docs
- 做了什么:
- 修复右侧无数据:
/api/gov/tests?run=true改为asyncio.to_thread;前端refreshWorld逐端点兜底 + 3s 重试 - 导航收敛:轨道仅 项目/对话/时间线/设置;门禁与重生并入设置
- 前端种子项目改「演示项目(示例数据)」;顶栏「智能排产 · 通用行业版」
- 产出功能清单(后迁入
product/features.md)
- 修复右侧无数据:
- 涉及路径:
server/gateway/golden.py·apps/web/src/**·docs/ - 验证:后端多端点 200;
npm run build通过 - 遗留:订单/主数据管理页等见
product/features.md差距清单
2026-07-16 — plan.md 深水区五问补全
- 类型:docs
- 做了什么:plan.md 增补约束体系、主控参数、方案优选、插单重排、小样本迁移等蓝图节(目标态,多数未进代码)
- 涉及路径:
plan.md - 验证:章节编号连贯
- 遗留:落地以
algorithm/scheduling-v1.md为准;蓝图能力标 🔜
2026-07-16 — UI 对标 Codex 操作
- 类型:feature
- 做了什么:新建任务前置、Kebab 菜单、任务重命名、多行输入、快捷指令收起
- 涉及路径:
apps/web/src/projects/**·apps/web/src/chat/**·apps/web/src/shell/** - 验证:
npm run build通过 - 遗留:任务状态仍前端固定「运行中」
2026-07-16 — M3 知识与偏好
- 类型:feature
- 做了什么:知识资产库 + bigram 检索带出处;日报/版本对比报告;偏好加权缺省策略;意图与前端 evidence/report 块
- 涉及路径:
server/knowledge/**·server/aps_domain/reports.py·apps/web/**·tests/golden/test_m3_knowledge.py - 验证:
pytest tests/golden -q→ 24 passed;npm run build;E2E M3 PASS - 遗留:真向量 RAG、会话树服务端化、上下文四层管理
2026-07-16 — M2.5 Codex 级产品表面 + 文档体系初建
- 类型:feature + docs
- 做了什么:治理端点、GovConsole、Ctrl+K、过程文档初版
- 验证:黄金测试全绿;
npm run build - 遗留:权力矩阵在线编辑 🔜 M4
2026-07-16 — M2 前端补完(项目制 + 折叠 + 分隔条)
- 类型:feature
- 做了什么:项目/任务/文件、折叠轨、分隔条、时间线回滚口令
- 验证:当时黄金测试 15/15;构建通过
- 遗留:项目数据仍在浏览器 localStorage
2026-07-15~16 — M2 后端(成对状态 + 沙盒 + 时间线)
- 类型:feature
- 做了什么:Checkpoint、Explore 沙盒对比、时间线/治理 API、审计链
- 验证:15/15
2026-07-15 — M0 + M1(Monorepo + 左说右动闭环)
- 类型:feature
- 做了什么:FastAPI + React 壳、规则引擎、意图两级管线、Harness、三视图
- 验证:当时 11/11;断 LLM 可降级
更早 — M-POC
- 类型:chore
- 做了什么:
poc/workbench.html静态左说右动验证