From 8b87c556c7a4db31b58c9cd2e909b847e2d4b46b Mon Sep 17 00:00:00 2001 From: Steve Yegge Date: Sun, 21 Dec 2025 15:41:22 -0800 Subject: [PATCH] fix: priority:0 omitempty and markdown nil pointer (GH#671, GH#674) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove omitempty from Priority field so P0 issues preserve priority:0 - Add nil check for store in createIssuesFromMarkdown 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- cmd/bd/markdown.go | 9 +++++++++ internal/merge/merge.go | 2 +- internal/types/types.go | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/cmd/bd/markdown.go b/cmd/bd/markdown.go index 6fb407ee..2acb6363 100644 --- a/cmd/bd/markdown.go +++ b/cmd/bd/markdown.go @@ -306,6 +306,15 @@ func parseMarkdownFile(path string) ([]*IssueTemplate, error) { // createIssuesFromMarkdown parses a markdown file and creates multiple issues from it func createIssuesFromMarkdown(_ *cobra.Command, filepath string) { + // Ensure globals are initialized (bd-m0tl: fix nil pointer when store not ready) + if store == nil { + fmt.Fprintf(os.Stderr, "Error: database not initialized\n") + os.Exit(1) + } + if actor == "" { + actor = "bd" // Default actor if not set + } + // Parse markdown file templates, err := parseMarkdownFile(filepath) if err != nil { diff --git a/internal/merge/merge.go b/internal/merge/merge.go index 5d3f04e0..06605594 100644 --- a/internal/merge/merge.go +++ b/internal/merge/merge.go @@ -44,7 +44,7 @@ type Issue struct { Description string `json:"description,omitempty"` Notes string `json:"notes,omitempty"` Status string `json:"status,omitempty"` - Priority int `json:"priority,omitempty"` + Priority int `json:"priority"` // No omitempty: 0 is valid (P0/critical) IssueType string `json:"issue_type,omitempty"` CreatedAt string `json:"created_at,omitempty"` UpdatedAt string `json:"updated_at,omitempty"` diff --git a/internal/types/types.go b/internal/types/types.go index 735a2125..d005e73c 100644 --- a/internal/types/types.go +++ b/internal/types/types.go @@ -17,7 +17,7 @@ type Issue struct { AcceptanceCriteria string `json:"acceptance_criteria,omitempty"` Notes string `json:"notes,omitempty"` Status Status `json:"status,omitempty"` - Priority int `json:"priority,omitempty"` + Priority int `json:"priority"` // No omitempty: 0 is valid (P0/critical) IssueType IssueType `json:"issue_type,omitempty"` Assignee string `json:"assignee,omitempty"` EstimatedMinutes *int `json:"estimated_minutes,omitempty"`