gastownhall/beads · error

issue '%s' not found

Error message

issue '%s' not found

What it means

Error from runSwarmStatusProxiedServer in cmd/bd/swarm_proxied_server.go:121. Raised when the ID resolved but GetIssue returns a proxied not-found signal or (nil, nil). Parity with classic mode: the resolver found a candidate ID that has no readable issue row. `bd swarm status` cannot proceed without the issue record.

Source

Thrown at cmd/bd/swarm_proxied_server.go:121

			c.CloseEventAndAdd(evt)
		}
	}()

	if uowProvider == nil {
		return HandleErrorRespectJSON("proxied-server UOW provider not initialized")
	}

	status, err := uow.RunTxRead(ctx, uowProvider, func(ctx context.Context, uw uow.UnitOfWork) (*SwarmStatus, error) {
		r := uowMolReader{uw: uw}

		issueID, err := utils.ResolvePartialID(ctx, r, args[0])
		if err != nil {
			return nil, fmt.Errorf("issue '%s' not found: %v", args[0], err)
		}

		issue, err := uw.IssueUseCase().GetIssue(ctx, issueID)
		if gateProxiedNotFound(err) || (err == nil && issue == nil) {
			return nil, fmt.Errorf("issue '%s' not found", issueID)
		}
		if err != nil {
			return nil, fmt.Errorf("failed to get issue: %v", err)
		}

		var epic *types.Issue

		if issue.IssueType == "molecule" && issue.MolType == types.MolTypeSwarm {
			deps, err := r.GetDependencyRecords(ctx, issue.ID)
			if err != nil {
				return nil, fmt.Errorf("failed to get swarm dependencies: %v", err)
			}
			for _, dep := range deps {
				if dep.Type == types.DepRelatesTo {
					epic, err = uw.IssueUseCase().GetIssue(ctx, dep.DependsOnID)
					if err != nil {
						return nil, fmt.Errorf("failed to get linked epic: %v", err)
					}

View on GitHub (pinned to 71377f2769)

Solutions

  1. Verify existence: `bd show <id>`.
  2. Sync the database: `bd dolt pull`.
  3. If deleted, locate the correct replacement issue ID.
  4. Check `.beads/issues.jsonl` export / git history to confirm whether the issue ever existed in this repo.
Defensive patterns

Strategy: validation

Validate before calling

bd show "$ISSUE_ID" >/dev/null 2>&1 || { echo "issue missing locally"; bd dolt pull; }

Try / catch

if err != nil && strings.HasSuffix(err.Error(), "not found") {
    // confirm with bd show, re-sync, retry
}

Prevention

When it happens

Trigger: `bd swarm status <id>` in proxied-server mode where ResolvePartialID succeeds but uw.IssueUseCase().GetIssue(ctx, issueID) signals not-found or returns a nil issue.

Common situations: Partially synced database (prefix indexed, row missing); issue deleted concurrently; stale local DB after another machine pruned closed issues.

Related errors


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