问题域/PD-327

工作流模板引擎

Workflow Template Engine

声明式工作流模板的解析、继承、组合与实例化,将模板编译为可执行的任务依赖图

子问题

1.模板继承与变量替换

2.条件步骤与循环展开

3.AOP Advice 注入

4.Bond Point 组合

5.Range 表达式求值(递归下降解析器支持 + - * / ^ 运算)

6.展开后依赖重写(propagateTargetDeps 根步骤依赖传播)

7.Gate 异步等待(gh:run/gh:pr/timer/human/mail 多类型门控)

8.OnComplete 运行时展开(for-each 遍历步骤输出动态生成子工作流)

各项目的解法1 solutions

Signals

横向对比

维度beads
模板格式TOML/JSON 双格式声明式模板,TOML 优先
继承机制多父 extends 继承,resolvingSet 循环检测
变量系统双层变量({{var}} 模板变量 + {target} 展开占位符),支持 enum/pattern 约束
控制流编译时展开:固定循环/Range 表达式/条件循环 + fork-join 分支
AOP 支持完整 before/after/around Advice + Pointcut 匹配 + 自匹配防护
组合机制BondPoint 命名附着点 + Hook 条件触发 + Expand/Map 宏展开
安全边界展开深度硬限 5 层 + 循环继承检测 + 重复 ID 校验
编译管道7 阶段不可变转换管道,每阶段返回新 slice

最佳实践

1.支持 TOML/JSON 双格式

2.循环检测防止无限继承

3.Source tracing 追踪步骤来源

4.不可变转换管道:每阶段返回新 slice,不修改输入

5.自匹配防护:Advice 只匹配调用前已存在的步骤 ID

6.compile-time vs runtime 双模式:编译时保留占位符可预览,运行时替换变量

7.resolvingChain 错误链路:循环检测不仅报错还输出完整继承路径