diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 096bbd1f..819705cf 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -1350,7 +1350,7 @@ {"id":"bd-ifa0","title":"Merge: amber-1767146829144","description":"branch: polecat/amber-1767146829144\ntarget: main\nsource_issue: amber-1767146829144\nrig: beads","status":"closed","priority":2,"issue_type":"merge-request","created_at":"2025-12-30T18:11:33.875918-08:00","created_by":"beads/polecats/amber","updated_at":"2025-12-30T19:35:50.452577-08:00","closed_at":"2025-12-30T18:16:13.605293-08:00"} {"id":"bd-ifuw","title":"test hook pin fix","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-23T04:43:15.598698-08:00","updated_at":"2025-12-23T04:51:29.438139-08:00","deleted_at":"2025-12-23T04:51:29.438139-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"bd-ihp9","title":"Fix FOREIGN KEY constraint failures in AddComment and ApplyCompaction","description":"The 'CloseIssue', 'UpdateIssueID', and 'RemoveLabel' methods were fixed in PR #348 to prevent foreign key constraint failures when operating on non-existent issues.\n\nHowever, the Oracle identified two other methods that follow the same problematic pattern:\n1. `AddComment` (in `internal/storage/sqlite/events.go`)\n2. `ApplyCompaction` (in `internal/storage/sqlite/compact.go`)\n\nThese methods attempt to insert an event record after updating the issue, without verifying that the issue update actually affected any rows. This leads to a foreign key constraint failure if the issue does not exist.\n\nWe need to:\n1. Create reproduction tests for these failure cases\n2. Apply the same fix pattern: check `RowsAffected()` after the update, and return a proper \"issue not found\" error if it is 0, before attempting to insert the event.\n3. Standardize the error message format to \"issue %s not found\" or \"issue not found: %s\" for consistency.","status":"closed","priority":1,"issue_type":"task","created_at":"2025-11-20T09:49:55.090644-08:00","updated_at":"2025-11-20T09:53:54.466769-08:00","closed_at":"2025-11-20T09:53:54.466769-08:00"} -{"id":"bd-ihu31","title":"Add --ready flag to bd list to show only available work","description":"## Problem\n`bd list` by default shows all non-closed issues including hooked ones. Hooked work is actively being worked on and shouldn't appear in the pool of available work.\n\n## Solution\nAdd a `--ready` flag to `bd list` that filters to show only work that can actually be picked up:\n- Status is `open` (not hooked, not in_progress, not blocked, not deferred)\n- Could potentially also exclude assigned issues (optional consideration)\n\n## Current Workaround\n`bd list --status open` works but isn't as intuitive as `--ready`\n\n## Implementation\n- Add `--ready` boolean flag to list command\n- When set, filter to status=open only\n- Consider if it should also filter out assigned issues (probably not by default)","status":"open","priority":1,"issue_type":"feature","owner":"steve.yegge@gmail.com","created_at":"2026-01-12T01:59:57.131925-08:00","created_by":"beads/crew/dave","updated_at":"2026-01-12T01:59:57.131925-08:00"} +{"id":"bd-ihu31","title":"Add --ready flag to bd list to show only available work","description":"## Problem\n`bd list` by default shows all non-closed issues including hooked ones. Hooked work is actively being worked on and shouldn't appear in the pool of available work.\n\n## Solution\nAdd a `--ready` flag to `bd list` that filters to show only work that can actually be picked up:\n- Status is `open` (not hooked, not in_progress, not blocked, not deferred)\n- Could potentially also exclude assigned issues (optional consideration)\n\n## Current Workaround\n`bd list --status open` works but isn't as intuitive as `--ready`\n\n## Implementation\n- Add `--ready` boolean flag to list command\n- When set, filter to status=open only\n- Consider if it should also filter out assigned issues (probably not by default)","status":"hooked","priority":1,"issue_type":"feature","assignee":"beads/crew/dave","owner":"steve.yegge@gmail.com","created_at":"2026-01-12T01:59:57.131925-08:00","created_by":"beads/crew/dave","updated_at":"2026-01-12T02:00:08.686385-08:00"} {"id":"bd-ii8ug","title":"Session ended: gt-beads-refinery","status":"closed","priority":2,"issue_type":"event","owner":"steve.yegge@gmail.com","created_at":"2026-01-11T05:08:11.390419-08:00","created_by":"beads/refinery","updated_at":"2026-01-11T05:08:11.459049-08:00","closed_at":"2026-01-11T05:08:11.459049-08:00","close_reason":"auto-closed session cost wisp","ephemeral":true} {"id":"bd-iic1","title":"Phase 2.2: Switch bdt storage to TOON format","description":"Currently bdt stores issues in JSONL format in issues.toon file. Phase 2.2 must implement actual TOON format storage - this is the fundamental goal of the bdtoon project.\n\n## Current State (Phase 2.1)\n- issues.toon stores JSONL (intermediate format)\n- --toon flag allows output in TOON format for LLM consumption\n- Problem: We're not actually using TOON as the fundamental storage format\n\n## Required Work (Phase 2.2)\n1. Switch issue file I/O to write TOON format instead of JSONL\n - Update cmd/bdt/storage.go to use EncodeTOON for writing\n - Update cmd/bdt/storage.go to decode TOON (currently decodes JSON)\n - Ensure round-trip: write TOON → read TOON → write TOON is byte-identical\n\n2. Update command implementations\n - cmd/bdt/create.go: Write newly created issues to TOON format\n - cmd/bdt/list.go: Read issues from TOON format\n - cmd/bdt/show.go: Read from TOON format\n - cmd/bdt/import.go: Convert imported JSONL to TOON\n - cmd/bdt/export.go: Export TOON to JSONL (for bd compatibility)\n\n3. Implement TOON parser that handles gotoon's encoder-only limitation\n - Since gotoon doesn't decode TOON, need custom TOON→JSON decoder\n - OR continue storing TOON but decoding via intermediate JSON conversion\n\n4. Git merge driver optimization\n - TOON is line-oriented, better for 3-way merges than binary formats\n - Configure git merge driver for .toon files\n\n5. Comprehensive testing\n - Round-trip tests: Issue → TOON → storage → read → Issue\n - Merge conflict resolution tests with TOON format\n - Large issue set performance tests\n\n## Success Criteria\n- issues.toon stores actual TOON format (not JSONL)\n- bdt list reads from TOON file\n- bdt create writes to TOON file\n- Round-trip: create issue → list → show returns identical data\n- All 65+ tests still passing\n- Performance comparable to JSONL storage","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-19T14:05:41.394964404-07:00","updated_at":"2025-12-19T14:37:17.879612634-07:00","closed_at":"2025-12-19T14:37:17.879612634-07:00"} {"id":"bd-ik1b","title":"Add --validate flag to bd create","description":"Opt-in strict mode that fails creation if required sections are missing. Uses ValidateTemplate() under the hood.","status":"closed","priority":3,"issue_type":"task","created_at":"2026-01-01T11:19:09.036754-08:00","created_by":"beads/crew/grip","updated_at":"2026-01-04T15:22:08.701283-08:00","closed_at":"2026-01-01T14:20:06.932309-08:00","close_reason":"Implemented --validate flag for bd create command","dependencies":[{"issue_id":"bd-ik1b","depends_on_id":"bd-ou35","type":"parent-child","created_at":"2026-01-01T11:19:22.754415-08:00","created_by":"beads/crew/grip"},{"issue_id":"bd-ik1b","depends_on_id":"bd-615z","type":"blocks","created_at":"2026-01-01T11:19:23.964595-08:00","created_by":"beads/crew/grip"}]}