gastownhall/beads · error

error finding descendants: %w

Error message

error finding descendants: %w

What it means

Once the parent is verified in the proxied path, gatherProxiedHierarchical calls uw.IssueUseCase().GetDescendants; any error from that call is wrapped as 'error finding descendants'.

Source

Thrown at cmd/bd/list_show_filter_modes.go:275

	// Hierarchical --parent walks use an unlimited per-level query; never page-truncated.
	displayPrettyListWithDepsMode(treeIssues, false, depsByIssueID, in.depsMode, false, in.ReadyFlag)
	printSkipLabelsFooter(in.SkipLabels)
	return nil
}

func gatherProxiedHierarchical(ctx context.Context, uw uow.UnitOfWork, parentID string, baseFilter types.IssueFilter) ([]*types.Issue, error) {
	parent, err := uw.IssueUseCase().GetIssue(ctx, parentID)
	if err != nil {
		return nil, fmt.Errorf("error checking parent issue: %w", err)
	}
	if parent == nil {
		return nil, fmt.Errorf("parent issue %q not found", parentID)
	}

	descendants, err := uw.IssueUseCase().GetDescendants(ctx, parentID, baseFilter)
	if err != nil {
		return nil, fmt.Errorf("error finding descendants: %w", err)
	}
	if len(descendants) == 0 {
		return nil, nil
	}

	out := make([]*types.Issue, 0, len(descendants)+1)
	out = append(out, parent)
	out = append(out, descendants...)
	return out, nil
}

type currentIssueSearcher interface {
	SearchIssues(context.Context, string, types.IssueFilter) ([]*types.Issue, error)
}

// resolveCurrentIssueID determines the current active issue for the agent.
// Priority: in-progress assigned to actor > hooked > last touched.
func resolveCurrentIssueID(ctx context.Context) string {

View on GitHub (pinned to 71377f2769)

Solutions

  1. Retry the command after checking the wrapped root cause
  2. Verify remote server health and connectivity
  3. Check server-side logs for the underlying query error
  4. Reduce query scope (narrow baseFilter) if timeouts occur on huge graphs
Defensive patterns

Strategy: retry

Try / catch

out, err := exec.Command("bd", "list", "--parent", id).CombinedOutput()
if err != nil && strings.Contains(string(out), "error finding descendants") {
    // exponential backoff retry; check server logs if persistent
}

Prevention

When it happens

Trigger: Server-side descendant query failure while running `bd list --parent <id>` in server/proxy mode: remote storage error, query timeout on deep hierarchies, or use-case-level validation failures.

Common situations: Remote Dolt server overloaded or timing out; network interruption mid-query; server running an incompatible schema version; very large dependency graphs.

Related errors


AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30). Data as JSON: /api/errors/afea03fb59ee5cff. Report an issue: GitHub.