Run workflow stages with finish_stage handoffs and lead signals

This commit is contained in:
Ian Gulliver
2026-10-15 22:11:25 -07:00
parent 0c698cd3c4
commit 2eccd23a98
15 changed files with 665 additions and 256 deletions
+1 -1
View File
@@ -12,7 +12,7 @@ import (
"g.fc.run/misc/byre/internal/api"
)
var keyOrder = []string{"description", "stages", "name", "vendor", "model", "prompt"}
var keyOrder = []string{"description", "stages", "name", "model", "prompt"}
func Parse(data []byte) (api.WorkflowDefinition, error) {
raw := any(nil)
+1 -6
View File
@@ -62,13 +62,8 @@ func Validate(def api.WorkflowDefinition) error {
}
seen[s.Name] = true
switch {
case !s.Vendor.Valid():
problems = append(problems, fmt.Sprintf("%s: vendor must be claude or codex, not %q", where, s.Vendor))
case strings.TrimSpace(s.Model) == "":
if strings.TrimSpace(s.Model) == "" {
problems = append(problems, fmt.Sprintf("%s: model is required", where))
case string(VendorOf(s.Model)) != string(s.Vendor):
problems = append(problems, fmt.Sprintf("%s: %s is a %s model, not %s", where, s.Model, VendorOf(s.Model), s.Vendor))
}
if strings.TrimSpace(s.Prompt) == "" {