fix: Make child→parent dep fix opt-in with --fix-child-parent (bd-cuek)

GH#740: bd doctor --fix was auto-removing child→parent dependencies,
calling them an 'anti-pattern'. While these often indicate modeling
mistakes (deadlock), they may be intentional in some workflows.

Changes:
- Add --fix-child-parent flag (required to remove child→parent deps)
- Remove ChildParentDependencies from default --fix set
- Update warning message to reference new flag
- Update comments to reflect more nuanced understanding

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Steve Yegge
2025-12-25 14:05:55 -08:00
parent c9aa755ddc
commit d2b1656c5d
3 changed files with 23 additions and 13 deletions

View File

@@ -162,8 +162,9 @@ func OrphanedDependencies(path string) error {
return nil
}
// ChildParentDependencies removes child→parent dependencies (anti-pattern).
// This fixes the deadlock where children depend on their parent epic.
// ChildParentDependencies removes child→parent blocking dependencies.
// These often indicate a modeling mistake (deadlock: child waits for parent, parent waits for children).
// Requires explicit opt-in via --fix-child-parent flag since some workflows may use these intentionally.
func ChildParentDependencies(path string) error {
if err := validateBeadsWorkspace(path); err != nil {
return err