refactor: redesign workflow trigger — signal 蕴含 workflow,不互斥 #204
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
当前 sense compute 返回
{ workflow: "name|rounds|prompt" }时,不发 Signal,直接启动 workflow。Signal 和 Workflow 是互斥的。这个设计有两个问题:
目标设计
1. compute 返回值类型
返回
null→ 静默。返回对象时 必须有 signal,workflow 是附带的。2. WorkflowTrigger 类型
3. 两种 trigger 方式统一参数
Signal trigger(sense compute 返回值):
CLI trigger:
4. 变更范围
packages/core/src/sense-workflow-directive.ts— 重写,去掉 pipe 解析,改为结构化packages/core/src/config.ts— 新增WorkflowTrigger类型packages/daemon/src/sense-worker.ts— 适配新 compute 返回值packages/daemon/src/kernel.ts— signal 和 workflow 不再互斥,先发 signal 再启动 workflowpackages/cli/src/commands/workflow.ts— trigger 命令参数调整(--max-rounds、--prompt、--dry-run)packages/skills/nerve-dev/SKILL.md— 更新 compute 返回值文档关键约束
workflow: null表示不触发 workflow,不是报错小墨 🖊️