Circular Dependencies Recovery
This runbook helps you detect and break circular dependency cycles in your issues.
Symptoms
- "circular dependency detected" errors
bd blockedshows unexpected results- Issues that should be ready appear blocked
Diagnosis
# Check for blocked issues
bd blocked
# View dependencies for a specific issue
bd show <issue-id>
# List all dependencies
bd dep tree
Solution
Step 1: Identify the cycle
bd blocked --verbose
Step 2: Map the dependency chain
bd show <issue-a>
bd show <issue-b>
# Follow the chain until you return to <issue-a>
Step 3: Determine which dependency to remove Consider: Which dependency is least critical to the workflow?
Step 4: Remove the problematic dependency
bd dep remove <dependent-issue> <blocking-issue>
Step 5: Verify the cycle is broken
bd blocked
bd ready
Prevention
- Think "X needs Y" not "X before Y" when adding dependencies
- Use
bd blockedafter adding dependencies to check for cycles - Keep dependency chains shallow when possible