gastownhall/beads · error
adding comment: %w
Error message
adding comment: %w
What it means
Error "adding comment: %w" thrown in gastownhall/beads.
Source
Thrown at cmd/bd/comments_proxied_server.go:140
// result type carrying presentation for one front door is a result type that
// grows one field per front door. The role is handed the canonical id the
// pre-flight resolved, exactly as `bd show` hands Reader.Get one.
func addCommentProxied(ctx context.Context, id, author, text string) (*types.Comment, *types.Issue, error) {
issue, err := resolveCommentTargetProxied(ctx, id)
if err != nil {
return nil, nil, err
}
commenter, err := proxiedCommenter()
if err != nil {
return nil, nil, err
}
result, err := commenter.AddComment(ctx, issueops.AddCommentRequest{
Author: author,
IssueID: issue.ID,
Text: text,
})
if err != nil {
return nil, nil, fmt.Errorf("adding comment: %w", err)
}
return result.Comment, issue, nil
}
// resolveCommentTargetProxied resolves the anchor and applies the CLI's own
// pre-flight policy. It reads in a unit of work of its own and writes nothing,
// so the role's request stays the whole of the transaction.
func resolveCommentTargetProxied(ctx context.Context, id string) (*types.Issue, error) {
uw, err := proxiedOpenReadUOW(ctx)
if err != nil {
return nil, err
}
defer uw.Close(ctx)
issue, _, err := workapi.GetIssueOrWisp(ctx, workapi.NewUOWDetailSource(uw), id)
if errors.Is(err, storage.ErrNotFound) {
return nil, fmt.Errorf("issue %s not found", id)
}View on GitHub (pinned to 71377f2769)
Solutions
- Check the wrapped error for the underlying storage failure and fix it
- Retry the comment submission after the cause is resolved
Defensive patterns
Strategy: try-catch
Validate before calling
// resolve target first so storage failures are separated from write failures bd show "$ID" >/dev/null || exit 1
Try / catch
if ! bd comment "$ID" --text "$T"; then echo "comment add failed; check server health and issue state" fi
Prevention
- Confirm the issue exists and is updatable before commenting
- Ensure proxied server storage is healthy (bd doctor)
- Avoid commenting on closed/frozen issues when policy forbids it
- Retry transient failures after checking server logs
When it happens
Trigger: Thrown at cmd/bd/comments_proxied_server.go:140 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30).
Data as JSON: /api/errors/0589f112f3248707.
Report an issue: GitHub.