Skip to content

Feature request: add dependency gating (block dispatch of an issue until prerequisites are done) #443

@rayjolt

Description

@rayjolt

Goal

I would like to have my agent file a bunch of issues in GitHub, mark the dependencies between them, put them all in the "to do" state, and then have them all implemented in the correct order automatically while I go off and do something else.

Problem

At the moment, dependencies are handled manually. If an issue is blocked by something else, then you must manually move it to the "Planning" state while the blocker issue is being worked on, then move it to the "To do" state once the blocker is done. Agents can automate this with cron jobs or HEARTBEAT.md, but this is clunky and costs tokens.

Alternatively, if you mark all issues as "To do" without managing the dependencies, you risk re-work: agents implement partial features or fixes, or implement both the blocker task and the blocked task at once without fully investigating the blocker issue.

Desired behaviour

  1. DevClaw recognises dependencies between issues (issue dependencies in GitHub or linked issues in GitLab).
  2. If an issue in the "To do" state is blocked by one or more other open issues, DevClaw does not dispatch it.
  3. Once the blocking issues are all closed or deleted, DevClaw dispatches the issue (subject to developer availability etc.).

Blocked issues could be in a separate state (e.g. "Blocked") instead of "To do", if that would make implementation easier. I don't have a strong preference about this.

Also, the reason for an issue being blocked should be visible in the status output.

Acceptance criteria

  • Given issue B depends on A, B cannot be dispatched before A is done.
  • Status output clearly marks blocked issues and blocking issue IDs.
  • Circular dependencies are detected and prevented.
  • Existing projects without dependencies continue to work unchanged.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions