7.7 KiB
Standard Four-Way Shuttle WCS Roadmap Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: 在 FT546 的 optimize/wcs 工作树中,以 RuoYi 为基础逐步交付可独立运行的标准四向车 WCS,并最终由标准内核承担 FT546 的任务、调度、设备协同和恢复。
Architecture: 实施拆成五份可独立验收的子计划,依赖顺序固定为“内核基础 → 拓扑与交通 → 执行与恢复 → FT546 适配 → 产品验收”。每份计划结束时都产生可运行代码、自动化测试和独立提交;后续计划只依赖前一计划声明的稳定接口。
Tech Stack: Java 8, Spring Boot 2.5.15, RuoYi 3.8.9, Maven Reactor, MyBatis/MyBatis-Plus, SQL Server, JUnit 5, ArchUnit, Vue 2, Element UI.
Global Constraints
- 继续使用 RuoYi;新增
ruoyi-wcsMaven 模块,不另建 FT546 专用中间模块。 - Maven 依赖只能是
ruoyi-admin -> ruoyi-wcs -> ruoyi-common;ruoyi-wcs不依赖ruoyi-admin。 - 一个部署只运行一个项目和一个仓库,不建设多租户平台。
- Java 版本固定为 1.8,Spring Boot 固定为 2.5.15。
- 首版不修改 FT546 PLC 控制流程、安全联锁和既有寄存器语义。
- 项目 PLC 地址、IP、站点编码、WMS 字段和业务 URL 只能存在于 Admin 适配器或项目配置中。
- Admin 不得直接写 WCS 核心表,设备适配器不得推进任务状态或释放资源。
UNKNOWN命令禁止自动重发;未知资源禁止按超时释放。- 业务订单、执行步骤、设备命令和资源预约保持独立状态机。
- 现有 FT546 代码、表和
javaTest只作为证据与验收语料,不作为新内核包结构模板。 - 本计划只描述目标版本实现和验收,不设计旧表迁移、灰度切换或双写流程。
- 每个行为先写失败测试,确认 RED 后再写最小实现。
- 每个任务完成后运行聚焦测试、相关模块测试和
git diff --check,然后独立提交。 - 保留用户现有未跟踪 HTML 文件,不暂存、不修改、不删除。
Plan Sequence
Plan 1: WCS Core Foundation and Task Workflow
文件:docs/superpowers/plans/2026-08-04-standard-wcs-core-foundation.md
交付:
ruoyi-wcsMaven 模块和测试基础。- 架构依赖门禁。
TransportOrder、WorkflowInstance、TaskStep状态机。- WMS 标准入站用例和出站事件端口。
- 第一版核心表脚本和持久化边界。
验收命令:
mvn -pl ruoyi-wcs -am test
mvn -pl ruoyi-admin -am test
Plan 2: Topology, Dispatch, and Traffic Control
文件:docs/superpowers/plans/2026-08-04-standard-wcs-topology-dispatch-traffic.md
依赖:Plan 1 的订单、步骤、仓储端口和模块边界。
交付:
- 版本化拓扑和设备能力模型。
- 路径规划、车辆选择和稳定评分。
- 资源账本、预约、死锁预防、HOLD/YIELD。
- 调度应用服务和决策审计。
验收命令:
mvn -pl ruoyi-wcs -am -Dtest='*Topology*,*Assignment*,*Traffic*,*Dispatch*' test
Plan 3: Execution, Equipment Coordination, and Recovery
文件:docs/superpowers/plans/2026-08-04-standard-wcs-execution-recovery.md
依赖:Plan 2 的车辆绑定、路线和资源预约。
交付:
DeviceCommand、Outbox、设备事件和快照对账。- 四向车、提升机、输送线和充电协同状态机。
RecoveryCase、启动恢复、局部隔离和人工接管审计。- 核心查询 DTO、指标和关联日志。
验收命令:
mvn -pl ruoyi-wcs -am -Dtest='*Command*,*Coordinator*,*Recovery*,*Outbox*' test
Plan 4: FT546 Project Adapters and Operations UI
文件:docs/superpowers/plans/2026-08-04-standard-wcs-ft546-adapters.md
依赖:Plan 3 的设备端口、恢复端口和 QueryService。
交付:
- FT546 WMS 适配器,保留既有接口 URL 和回调语义。
- 四向车、提升机、输送线和充电桩旧 PLC Profile 与适配器。
- 项目配置表、协议样本测试和启动 wiring。
- 标准任务、设备、资源、命令和恢复页面。
- 新调度入口接管,旧
BaseSRgvThread不再创建、调度或完成标准任务。
验收命令:
mvn -pl ruoyi-admin -am test
cd ruoyi-ui && npm run build:prod
Plan 5: Simulation, Historical Replay, and Product Acceptance
文件:docs/superpowers/plans/2026-08-04-standard-wcs-simulation-acceptance.md
依赖:Plan 4 的完整 FT546 适配链和真实核心构建产物。
交付:
- 使用真实 Adapter 契约的确定性模拟器与故障注入。
- 第二套合成仓库配置,证明不修改核心即可运行。
- FT546 历史任务与 PLC 报文回放。
- 真实 PLC/HIL 的受控协议门禁与能力证据。
- 重启恢复、性能基线和 72 小时/100000 任务验收入口。
- 人工接管审计、可观测性证据、可审计报告、manifest 和最终验收索引。
验收命令:
mvn -pl ruoyi-wcs,ruoyi-admin -am test
cd javaTest && mvn clean test
Release Gates
- Plan 1 未通过时,不创建真实设备适配器。
- Plan 2 的资源容量和非法状态指标非零时,不进入执行协同。
- Plan 3 的
UNKNOWN、恢复和 Outbox 测试未通过时,不接 FT546 PLC。 - Plan 4 的协议回归未通过时,不允许旧调度入口退出。
- Plan 5 的安全不变量、第二仓配置、历史回放、能力证据和 FT546 HIL 门禁未通过时,不宣称标准产品完成或 FT546 可投产。
Approved Design Coverage Map
| 总体设计章节 | 实施落点 |
|---|---|
| 1-4 背景、目标、边界、首版范围 | 本路线图全局约束;Plan 1 模块边界;Plan 4 FT546 项目边界 |
| 5 总体架构与 Maven 依赖 | Plan 1 Task 1、Task 7 |
| 6 六个核心领域 | Plan 1 任务/流程;Plan 2 拓扑/调度/交通;Plan 3 协同/执行/恢复 |
| 7 核心安全不变量 | Plan 1 状态机与幂等;Plan 2 资源容量/等待图;Plan 3 UNKNOWN/恢复;Plan 5 全量不变量验收 |
| 8 端到端任务流 | Plan 1 Task 5;Plan 2 Task 7;Plan 3 Task 3;Plan 4 Task 6、Task 8 |
| 9 核心状态机 | Plan 1 Task 3-4;Plan 2 Task 5;Plan 3 Task 1、Task 6 |
| 10 数据所有权 | Plan 1 Task 6-7;Plan 2 Task 7;Plan 3 Task 7;Plan 4 Task 1 |
| 11 适配器契约 | Plan 1 WMS 端口;Plan 2 ConfigurationUseCase;Plan 3 设备端口;Plan 4 全部项目 Adapter |
| 12 PLC 能力策略 | Plan 4 Task 1、Task 3;Plan 5 Task 4-5 |
| 13 调度、交通、提升机、输送线、充电 | Plan 2 Task 2-7;Plan 3 Task 4-5 |
| 14 恢复、人工接管、可观测性 | Plan 3 Task 6-8;Plan 4 Task 7;Plan 5 Task 6、Task 8 |
| 15 测试与模拟器 | Plan 5 Task 1-6 |
| 16 验收门槛与产物 | Plan 5 Task 7-8;本路线图 Final Definition of Done |
| 17 建议代码结构 | 五份子计划各 Task 的精确 Files 清单 |
| 18 与现有 FT546 文档关系 | 本路线图“旧代码仅作证据”和“不讨论迁移”约束;Plan 4 Legacy Profile 边界 |
| 19 设计完成定义 | 本路线图 Release Gates 和 Final Definition of Done |
Final Definition of Done
ruoyi-wcs构建产物在 FT546 和第二套合成仓库配置下完全相同。- FT546 Admin 只包含项目接口、协议、流程定义、策略、配置和页面。
- 旧调度线程不再拥有标准任务创建、选车、路径、完成和充电调度权。
- 所有核心表只由
ruoyi-wcsRepository 写入。 - 所有安全不变量测试为 0 违规。
- FT546 历史回放、PLC 样本契约、真实 PLC/HIL、重启恢复、人工接管、可观测性和性能报告齐全。