Files
test_demo/MX-PD-盘古 - new/PanGu.DieBonderApp/.github/instructions/workflow.instructions.md
Shi.Ji e31d3560bb 添加 MX-PD-盘古 项目文件
将 MX-PD-盘古 - new 目录下的所有文件添加到主仓库
2026-05-18 11:43:09 +08:00

106 lines
2.9 KiB
Markdown

---
applyTo: "MainShell/Process/**/*.cs,**/*Activity.cs,**/*Workflow*.cs,**/*ProcessService.cs,**/*MotionService.cs"
---
# Workflow Instructions
## Workflow Architecture
This repository uses:
- WorkflowRunner
- AutoProductionWorkflowBuilder
- ActivityAbstractBase
- CompositeActivity
- WorkflowStepIds
- WorkflowStepIdResolver
## 中文说明
流程系统基于现有 Workflow 架构实现,生成代码时应优先复用这些对象和机制。
## Layering Rules
- Activity layer only:
- calls Service / MotionService / ProcessService
- writes WorkflowContext
- returns execution result
- PrepareExecute and AfterExecute only handle pre/post processing
- Core workflow logic must be implemented in Service layer
- Do not place recipe parsing, compensation logic, vision logic, or hardware orchestration in Activity
## 中文说明
分层规则:
- Activity 层只负责调用 Service、写 WorkflowContext、返回执行结果
- `PrepareExecute``AfterExecute` 只做前后处理
- 核心流程逻辑必须放在 Service 层
- 不要在 Activity 中写配方解析、视觉算法、补偿逻辑、硬件调度
## Routing Rules
- Do not place workflow jump logic in Activity
- Actual workflow transitions must be configured by WorkflowStep
- Normal business branches should use Route / SetRoute
- Failure should only be used for real failures:
- hardware error
- timeout
- communication failure
- invalid required input
- unrecoverable process error
## 中文说明
跳转规则:
- 不要在 Activity 中写流程跳转逻辑
- 流程跳转统一由 WorkflowStep 配置
- 正常业务分支优先使用 `Route / SetRoute`
- `Failure` 只用于真正异常,例如硬件错误、超时、通讯失败、关键输入缺失、不可恢复错误
## JumpConditions Rules
- JumpConditions are matched in add order
- More specific branches must be placed first
- Default flow must be placed last
## 中文说明
`JumpConditions` 匹配顺序按添加顺序执行:
- 更具体的条件放前面
- 默认分支放最后
## Service Responsibilities
Service layer should be responsible for:
- reading WorkflowContext
- reading RecipeManager and current recipe
- reading teach data and process parameters
- acquiring hardware via HardwareManager
- validating inputs
- validating hardware state
- validating safety conditions
- executing workflow core steps
- computing business result or compensation result
- determining Route
- returning structured process result
## 中文说明
Service 层职责:
- 读取 `WorkflowContext`
- 读取 `RecipeManager` 和当前配方
- 读取示教数据和工艺参数
- 通过 `HardwareManager` 获取硬件对象
- 校验输入、硬件状态和安全条件
- 执行核心流程步骤
- 计算业务结果或补偿结果
- 决定 `Route`
- 返回结构化结果对象
## Output Preference
When implementing workflow code, prefer:
1. Activity skeleton
2. Service skeleton
3. result object design
4. WorkflowContext write-back fields
5. WorkflowStep routing suggestion
6. JumpConditions ordering suggestion
## 中文说明
实现流程代码时,优先输出:
1. Activity 骨架
2. Service 骨架
3. 结果对象设计
4. WorkflowContext 回写字段
5. WorkflowStep 路由建议
6. JumpConditions 顺序建议