summaryrefslogtreecommitdiff
path: root/internal/agentchannel/agentchannel.go
diff options
context:
space:
mode:
authorClaudomator Agent <agent@claudomator>2026-07-08 08:35:14 +0000
committerClaudomator Agent <agent@claudomator>2026-07-08 08:35:14 +0000
commit02489d25b98d67f332fe0c93156bb767c2e860a1 (patch)
tree987e71906e522f7d1dfd1af2d63c7e8ea3ccb06b /internal/agentchannel/agentchannel.go
parent8d9d42ba4f6c5f8cb729fcb851e5ef30fff46d37 (diff)
feat(agentchannel): add DependsOn to SubtaskSpec so a decomposing task can order its own subtasks
Diffstat (limited to 'internal/agentchannel/agentchannel.go')
-rw-r--r--internal/agentchannel/agentchannel.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/internal/agentchannel/agentchannel.go b/internal/agentchannel/agentchannel.go
index 202283e..98104df 100644
--- a/internal/agentchannel/agentchannel.go
+++ b/internal/agentchannel/agentchannel.go
@@ -44,6 +44,14 @@ type SubtaskSpec struct {
// any other role-typed task. Empty (the default) preserves the prior
// hardcoded "claude" behavior for backward compatibility.
Role string
+ // DependsOn, when non-empty, names sibling task IDs (returned by a prior
+ // SpawnSubtask call in the same decomposition) this new subtask must wait
+ // for — set directly on the created child's task.DependsOn, so the
+ // existing dispatch-gating and cascade-fail-on-dependency-failure
+ // machinery (already built for top-level tasks) applies unchanged. Empty
+ // (the default) preserves today's behavior: every spawned subtask is
+ // structurally independent/parallel.
+ DependsOn []string
}
// EpicProposal describes an epic a discovery/planner-role agent wants to