aps-agent/docs/architecture/harness.md

16 KiB
Raw Blame History

门禁权力矩阵(Harness)

与 server/agent_core/harness.py 的 _POWER_MAP 一一对应。
改 _POWER_MAP 或新增需备案的 API → 同轮改本表,并在 ../CHANGELOG.md 留痕。

等级语义:P0 只读 / P1 写沙盒或草稿(直通)/ P2 写主干或破坏性(确认卡)/ P3 外部副作用(未开放;未登记动作默认 P3 拒绝)。

权力矩阵(与 _POWER_MAP 同步)

action 等级 为什么是这个等级 确认卡要点 加入
schedule.run P1 试排只产草稿版本 无需确认 M1
schedule.publish P2 发布写主干、推进订单状态 版本号/订单数/冲突数;发布前自动建档 M1
scenario.compare P1 深拷贝沙盒,主干零接触 无需确认 M2
scenario.sensitivity P1 参数扰动 Tornado,沙盒不写主干 无需确认 SC-06
sop.compile P0 SOP→约束编译预览 无需确认 IND-02
sop.apply P2 应用 SOP 规则包 效果摘要;写前自动建档 IND-02
checkpoint.create P1 只新增快照 无需确认 M2
checkpoint.rollback P2 整体替换主干世界 目标检查点;回滚前再自动建档 M2
data.reset P2 清空重播种子 明示重置;重置前自动建档 M1
knowledge.query P0 只读知识;强制出处 无需确认 M3
guidance.next P0 主动引导下一步建议(空态/冲突/知识未命中) 无需确认 AG-07
params.query P0 排产参数只读 无需确认 OR-02
params.update P2 客户等级/目标权重/展望期 变更摘要;写前自动建档 OR-02
constraint.profile.query P0 约束剖面只读 无需确认 SC-04
constraint.profile.save P2 约束启停/硬软 变更摘要;写前自动建档 SC-04
report.generate P1 产出文档并入知识库(不改排产世界) 无需确认;对外承诺函未来升 P2 M3
order.upsert P2 新增/编辑销售订单会改变后续排产输入 客户/产品/数量/交期;写入前自动建档 M4 首切片
order.cancel P2 取消订单会从后续排产输入中排除 订单号/当前状态;写入前自动建档 M4 首切片
order.complete P2 完成订单会从后续排产输入中排除 订单号/当前状态;写入前自动建档 M4 首切片
order.delete P2 物理删除订单池记录 订单号;清草稿 MRP;写入前自动建档 录数
order.clear P2 一键清空全部订单与采购/委外建议 条数摘要;写入前自动建档 清理
order.submit P1 提交审核:DRAFT/REJECTED/CHANGED → SUBMITTED 无需确认 OR-03
order.approve P2 批准进排产池:SUBMITTED/CHANGED → APPROVED 订单号列表;写入前自动建档 OR-03
order.reject P2 驳回:SUBMITTED/CHANGED → REJECTED 订单号/原因;写入前自动建档 OR-03
rush.evaluate P1 插单影响快评:双沙盒对比,不改主干 无需确认 OR-04
rush.apply P2 采用插单:写急单+DRAFT 排产版本 影响摘要;写入前自动建档 OR-04
forecast.query P0 预测/长周期订单只读 无需确认 OR-05
forecast.upsert P2 新建/编辑预测台账(默认不进正式排产) 产品/数量/分桶/交期;写入前自动建档 OR-05
forecast.delete P2 删除预测台账 预测号;写入前自动建档 OR-05
forecast.convert P2 预测转正为 APPROVED 销售订单 预测号→销售单;写入前自动建档 OR-05
plan.buckets P0 时间分桶计划:日/周/月/混合粗能力对照 无需确认 PL-01
plan.rccp P0 有限/无限产能粗评估对照(RCCP) 无需确认 PL-02
plan.feasibility P0 交期可行性:累计粗能力能否按期 无需确认 PL-03
plan.inventory P0 库存投影:物料随时间可用量曲线 无需确认 PL-04
plan.leveling P0 产能平衡/削峰:超载桶挪空档建议 无需确认 PL-05
plan.supply P0 产供方向:加班/扩线/外协结构化建议 无需确认 PL-06
project.create P1 新建项目与默认会话 无需确认 AG-08
project.delete P1 删项目元数据(不删世界) 无需确认 AG-08
session.create P1 新建会话 无需确认 AG-08
message.append P1 追加会话消息 无需确认 AG-08
message.replace P1 整包替换会话消息 无需确认 AG-08
workspace.replace P1 整包同步工作区(迁移) 无需确认 AG-08
data.import P2 自然语言批量导入订单/物料 行数摘要;写入前自动建档 录数
master.line.upsert P2 产线编辑/停启用改后续新排产资源池 产线/产能/状态变更影响面;写入前自动建档 M4 首切片
master.material.upsert P2 物料新建/全字段/停用改齐套与产品池 编码类型库存状态;写入前自动建档 工艺模型
master.maintenance.upsert P2 维保新增/取消改设备避让窗口 设备/窗口起止;写入前自动建档 M4 首切片
master.bom.upsert P2 BOM 头/明细增删改齐套与采购建议 增删改用量/关键料;写入前自动建档 工艺模型
master.routing.upsert P2 工艺路线/步骤增删改占槽与外协 步骤工时/外协;写入前自动建档 工艺模型
master.operation.upsert P2 工序库改路线可选步骤 编码/标准工时;写入前自动建档 工艺模型
master.lineProduct.upsert P2 产线-产品绑定改选线依据(排产前必需) 产线×产品/优先级;写入前自动建档 工艺模型
master.changeover.upsert P2 换型矩阵写入(产品族切换分钟) 从族/到族/分钟;写入前自动建档 MD-06
changeover.query P0 换型矩阵只读 无需确认 MD-06
campaign.preview P0 战役/批次合并预览 无需确认 SC-08
master.clear P2 一键清理主数据板块(按范围清空) scope=resource/process/calendar/flex/all;写入前自动建档 清理
import.commit P2 Excel/CSV 校验通过行写入主干 文件名/种类/行数;写入前自动建档 MD-04
order.decompose P1 订单分解只写 DRAFT 建议表(采购/委外),不碰主数据 无需确认(ALGO_RUN 审计留痕) M4 首切片
mrp.release P2 MRP 草稿采购/委外转正式 下达范围;写入前自动建档 M4
plan.trace P0 计划追溯只读单据链 无需确认 追溯
flex.schedule P1 柔性排产(能力池+虚拟产线)只写 flex* 草稿表 无需确认(ALGO_RUN 审计留痕) M5 首切片
flex.reschedule P2 分级重排 L2/L3/L4:窗外冻结 + 窗内重排,影响面大 等级/冻结工单/重排订单数;执行前自动建档 DY-01
flex.swap P1 L1 局部换机:池内备机接手,他单不动 无需确认 DY-01
flex.capacity P0 瓶颈产能评估(能力池日产能) 无需确认;联动视口产能池 EX-10
flex.conflict.resolve P1 EX-03 冲突安全修复(重排类另 stage P2) 无需确认(重排走 flex.reschedule 卡) EX-03
conflict.list P0 冲突中心只读 无需确认 EX-03
flex.adjust.preview P0 EX-04 甘特调程预览 无需确认 EX-04
flex.adjust.commit P2 EX-04 柔性甘特调程提交新草稿 工单/平移量/联动条数;执行前自动建档 EX-04
schedule.adjust.preview P0 EX-04 固定甘特调程预览 无需确认 EX-04
schedule.adjust.commit P2 EX-04 固定甘特调程提交新草稿 工单/平移量;执行前自动建档 EX-04
sap.status P0 MD-05 SAP 连接状态(Mock) 无需确认 MD-05
sap.sync.inbound P2 MD-05 SAP→APS 拉单/库存 新单数/库存项;执行前自动建档 MD-05
sap.sync.outbound P2 MD-05 APS→SAP 开完工回写 条数/幂等;执行前自动建档 MD-05
mes.status P0 EX-05 MES 连接状态(Mock) 无需确认 EX-05
mes.dispatch P3 EX-05 下发车间(外部副作用) 版本/新下发条数;执行前自动建档 EX-05
mes.report P1 EX-09 报工回流写工单进度 无需确认 EX-09
viewport.* P0 纯视图状态 无需确认 M1
query.* P0 只读查询 无需确认 M1

只读端点备案(P0,不入 _POWER_MAP)

端点 用途 加入
GET /api/world/summary·gantt·load·due 世界视图投影 M1
GET /api/timeline 时间线 M2
GET /api/gov/pending 待审批 M2
GET /api/gov/audit 审计链 M2
GET /api/gov/modules 模块注册表 M2
GET /api/gov/policy 权力矩阵投影 M2.5
GET /api/gov/tests 黄金测试看板(run=true 须线程池,防阻塞) M2.5
GET /api/settings/llm LLM 状态 M2.5
GET /api/knowledge/assets · /{id} 知识资产 M3
GET /api/reports/{type} 报告导出 daily / version-diff M3
GET /api/orders 订单管理页投影(订单 + 成品选项) M4 首切片
GET /api/master 主数据管理页投影(资源树/物料BOM/日历维保) M4 首切片
GET /api/mrp MRP 建议单投影(采购/委外 DRAFT) M4 首切片
POST /api/mrp/decompose 订单分解(P1 直通,经 harness.guard) M4 首切片
GET /api/flex/world 柔性排产页投影(能力池/设备/模具/订单 + 虚拟产线) M5 首切片
POST /api/flex/schedule 柔性排产(P1 直通,经 harness.guard) M5 首切片
POST /api/flex/reschedule 分级重排暂存确认卡(P2,执行走 confirm) DY-01
POST /api/flex/swap L1 局部换机(P1) DY-01
GET /api/flex/conflicts 冲突中心(P0) EX-03
POST /api/flex/conflicts/resolve 冲突修复(P1 / 或 stage P2) EX-03
POST /api/flex/adjust/preview 甘特调程预览(P0) EX-04
POST /api/flex/adjust/stage 甘特调程确认卡(P2) EX-04
POST /api/schedule/adjust/preview 固定轨调程预览(P0) EX-04
POST /api/schedule/adjust/stage 固定轨调程确认卡(P2) EX-04
GET /api/sap/status SAP 连接状态(Mock,P0) MD-05
GET /api/sap/inbound/preview · outbound/preview SAP 入/出站预览(P0) MD-05
POST /api/sap/inbound/stage · outbound/stage SAP 同步确认卡(P2) MD-05
GET /api/mes/status · execution · dispatch/preview MES 状态/进度/下发预览(P0) EX-05/09
POST /api/mes/dispatch/stage MES 下发确认卡(P3) EX-05
POST /api/mes/report 报工回流(P1) EX-09
GET /api/analytics/kpi KPI 仪表盘聚合(P0) EX-08
GET /api/analytics/utilization 资源利用率:设备热力+班组(P0) EX-06
GET /api/analytics/compare 方案对比表(P0 沙盒) EX-07
POST /api/flex/simulate-due 交期承诺模拟(P0 只读沙盒,PL-08 雏形) M5 首切片
GET /api/flex/capacity 瓶颈产能法分析(P0,各池日产能+限制性瓶颈,PL-07 / EX-10) M5 首切片
POST /api/import/preview Excel/CSV 上传校验(P1,不写主干) MD-04
POST /api/rush/evaluate 插单影响快评(P1 沙盒,经 harness.guard) OR-04
POST /api/orders/submit 订单提交审核(P1 直通) OR-03
GET /api/forecast 预测/长周期订单投影(P0) OR-05
GET /api/plan/buckets 时间分桶计划投影(P0,含 capacityMode) PL-01/02
GET /api/plan/rccp 有限/无限粗能力对照(P0) PL-02
GET /api/plan/feasibility 交期可行性(P0,前置于排产) PL-03
GET /api/plan/inventory 库存投影(P0) PL-04
GET /api/plan/leveling 产能平衡/削峰建议(P0) PL-05
GET /api/plan/supply 产供方向决策(P0) PL-06
GET /api/workspace 项目/会话/消息工作区快照(P0) AG-08
PUT /api/workspace 整包同步工作区(P1,迁移/防抖) AG-08
GET/PUT/POST /api/sessions/{id}/messages 会话消息读写(P0/P1) AG-08

确认暂存端点备案(不直接执行写入)

端点 用途 权力路径 加入
POST /api/orders/stage 订单新增/编辑/取消/完成/批准/驳回生成确认卡 order.* P2 → /api/actions/confirm 执行 M4 首切片
POST /api/rush/stage 采用紧急插单生成确认卡 rush.apply P2 → /api/actions/confirm 执行 OR-04
POST /api/forecast/stage 预测新建/删除/转正确认卡 forecast.* P2 → /api/actions/confirm 执行 OR-05
POST /api/projects · DELETE /api/projects/{id} · POST /api/sessions 项目/会话元数据(P1 直通) project.* / session.create AG-08
POST /api/master/stage 产线/物料/维保编辑生成确认卡 master.* P2 → /api/actions/confirm 执行 M4 首切片
POST /api/import/commit 导入批次生成确认卡 import.commit P2 → /api/actions/confirm 执行 MD-04

防线

  1. P2 只能:stage_confirmation → 确认卡 → /api/actions/confirm → take_confirmation
  2. 未登记动作 → P3 拒绝;guard() 禁止 P2/P3 直通
  3. P2 写主干前自动 Checkpoint(publish / reset / rollback)
  4. GATE / WORLD_WRITE 写审计哈希链,可 verify_audit_chain

变更记录

日期 变更
2026-07-16 初版 8 条 + M2.5 只读端点
2026-07-16 M3:knowledge.query / report.generate
2026-07-16 迁入 architecture/harness.md;注明 tests 线程池
2026-07-16 OR-01:新增 order.upsert/cancel/complete P2 与订单暂存端点
2026-07-16 MD-01/02/03:新增 master.line/material/maintenance.upsert P2 与 /api/master、/api/master/stage
2026-07-16 MRP:新增 master.bom/routing.upsert P2、order.decompose P1 与 /api/mrp*
2026-07-22 DY-01:flex.reschedule 升 P2;新增 flex.swap P1 与 /api/flex/swap
2026-07-22 EX-03:conflict.list P0、flex.conflict.resolve P1 与冲突 API
2026-07-22 EX-04:flex.adjust.preview P0 / flex.adjust.commit P2
2026-07-22 EX-04:schedule.adjust.preview/commit 固定轨对称
2026-07-22 MD-05:sap.status P0 / `sap.sync.inbound
2026-07-22 EX-05/09:mes.dispatch P3 / mes.report P1(Mock MES)
2026-07-22 EX-07/08:`/api/analytics/compare
2026-07-22 EX-06:/api/analytics/utilization 设备热力+班组并发;SC-11 文档对齐
2026-07-22 AG-07:guidance.next P0 + /api/guidance 主动引导
2026-07-22 OR-02:params.query P0 / params.update P2 + /api/params*
2026-07-22 SC-04:constraint.profile.* + /api/constraints*;硬约束拦发布
2026-07-23 OR-05:forecast.query P0 / `forecast.upsert
2026-07-23 PL-01:plan.buckets P0 + /api/plan/buckets 分桶视口
2026-07-23 PL-02:capacityMode + plan.rccp P0 + /api/plan/rccp
2026-07-23 PL-03:plan.feasibility P0 + /api/plan/feasibility
2026-07-23 PL-04:plan.inventory P0 + /api/plan/inventory
2026-07-23 PL-05:plan.leveling P0 + /api/plan/leveling
2026-07-23 PL-06:plan.supply P0 + /api/plan/supply
2026-07-23 MD-06:changeover.query / master.changeover.upsert + RuleEngine C10
2026-07-23 SC-07:策略 CHANGEOVER_MIN + 方案对比换型卡
2026-07-23 SC-08:策略 CAMPAIGN + campaign.preview
2026-07-23 SC-06:scenario.sensitivity P1 + /api/scenario/sensitivity Tornado
2026-07-23 SC-03:get_engine(CP) → CpSatEngine(OR-Tools);GA/HYBRID 仍 RULE 代跑
2026-07-23 SC-03:get_engine(HYBRID) → HybridEngine(RULE hint → CP)
2026-07-23 IND-02:sop.compile P0 / sop.apply P2 + /api/sop*;C13_sop