Skip to content

feat(linear): parent/sub-issue orchestration with dependency-aware child tasks #247

@krokoko

Description

@krokoko

Component

API or orchestration, Scripts / CLI

Describe the feature

Support Linear parent/sub-issue orchestration: when a parent Linear issue has sub-issues (or a defined dependency graph), ABCA creates and manages child tasks in dependency order, rolls up progress to the parent issue, and respects blocking relationships — enabling PM-native multi-step work without manual per-sub-issue label triggers.

Today Linear integration is one issue → one task (label trigger on a single issue). ADR-001 and ADR-003 describe sub-issue linking and blocked by / blocking graphs for GitHub stacked work, but Linear has no equivalent orchestration path.

Use case

  • Epics with sub-tasks: A parent Linear issue decomposes into implementable slices; agents pick up unblocked sub-issues automatically.
  • Stacked delivery: Sub-issues express dependency order (mirrors ADR-001 stack semantics); parent issue shows aggregate status.
  • Fire-and-forget at epic scale: Submitters label the parent (or a designated orchestrator issue) once; the platform drives the subgraph.
  • Attribution: Each child task retains its own task_id and correlation context (#TBD identity issue); parent comments link to child tasks and PRs.

Proposed solution

Phase 0 — Discovery

  • On parent trigger (label or explicit task_type / capability ref), fetch sub-issues via Linear API (subIssues, blockedBy / blocking relations per ADR-003 graph maintenance).
  • Build a DAG; reject cycles with a clear terminal error on the parent issue.

Phase 1 — Child task creation

  • Create platform tasks for eligible sub-issues in topological order.
  • Store parent ↔ child mapping on task records (and/or a lightweight mapping table).
  • Only start children whose predecessors are terminal-success (or explicitly allow parallel siblings).

Phase 2 — Progress rollup

  • Post structured progress on the parent Linear issue: child started / completed / failed, links to PRs and bgagent status.
  • Terminal parent state when all children terminal (or operator cancels parent → cascade cancel children).

Phase 3 — PR strategy (design choice in implementation PR)

  • Option A: One PR per sub-issue (ADR-001 stack-friendly).
  • Option B: Single consolidated PR (closer to Agent swarm roadmap item) — likely a follow-up issue.

Out of scope for MVP

  • Full Agent swarm planner-worker architecture (platform-level DAG beyond Linear).
  • Auto-merge when all children complete.
  • Multi-workspace parent/child graphs spanning org boundaries.

Acceptance criteria

  • Parent Linear issue with sub-issues can trigger orchestrated child task creation (documented trigger mechanism).
  • Dependency order respected; blocked sub-issues not started until predecessors succeed.
  • Parent issue receives rollup comments for child lifecycle milestones.
  • Each child task is independently cancellable; parent cancel propagates (or documented opt-out).
  • Mapping durable across orchestrator retries; idempotent on webhook replay.
  • Docs: Linear setup guide + roadmap row for Linear subtasks; Starlight sync.

Other information

  • Roadmap gap: Not yet listed in docs/guides/ROADMAP.md — add when implementation starts.
  • Related: Shipped Linear label integration (LINEAR_SETUP_GUIDE.md), ADR-001 (sub-issue linking), ADR-003 (graph maintenance), Agent swarm (roadmap), feat(notifications): platform-side final-status Linear comment with cost/turns/duration #239 (Linear final-status comment — complementary).
  • Depends on (soft): Identity propagation for clean parent/child attribution in comments and audit.

Acknowledgements

  • I may be able to implement this feature
  • This might be a breaking change

Metadata

Metadata

Assignees

Labels

P1Priority 1 — high priorityadaptersThird-party integrations: Linear, Slack, GitHub App, notification/deploy providersapprovedWhen an issue has been approved and readyenhancementNew feature or requestorchestrationTask lifecycle, REST API handlers, orchestrator Lambdas, durable execution

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions