From fe8d2082551457b89154ea888d2046e22231a9c3 Mon Sep 17 00:00:00 2001 From: Steve Yegge Date: Thu, 16 Oct 2025 17:44:03 -0700 Subject: [PATCH] Clean up duplicate issues (bd-384, bd-387, bd-385) --- .beads/issues.jsonl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index ebfd0475..d41ec099 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -316,7 +316,7 @@ {"id":"bd-384","title":"Add compacted_at_commit field to Issue type","description":"Add optional compacted_at_commit string field to store git commit hash when issue is compacted","status":"open","priority":1,"issue_type":"task","created_at":"2025-10-16T15:25:11.436559-07:00","updated_at":"2025-10-16T15:25:11.436559-07:00","dependencies":[{"issue_id":"bd-384","depends_on_id":"bd-392","type":"blocks","created_at":"2025-10-16T15:25:11.684457-07:00","created_by":"import"}]} {"id":"bd-385","title":"Git-based restoration for compacted issues","description":"Store git commit hash at compaction time to enable restoration of full issue history from version control. When issues are compacted, record the current git commit hash so users can restore the original uncompacted issue from git history.","status":"open","priority":1,"issue_type":"epic","created_at":"2025-10-16T15:25:11.436559-07:00","updated_at":"2025-10-16T15:25:11.436559-07:00","dependencies":[{"issue_id":"bd-385","depends_on_id":"bd-392","type":"blocks","created_at":"2025-10-16T15:25:11.68801-07:00","created_by":"import"}]} {"id":"bd-386","title":"Phase 1: Implement bd daemon command","description":"Create bd daemon command to run background sync process with configurable interval.","design":"Daemon should:\n- Run in background (fork or systemd service)\n- Poll for changes at configurable interval (default: 5 minutes)\n- Export dirty issues to JSONL\n- Auto-commit if --auto-commit flag set\n- Auto-push if --auto-push flag set\n- Pull remote changes periodically\n- Auto-import when remote changes detected\n- Log sync activity\n\nCommand flags:\n- --interval=5m (sync check interval)\n- --auto-commit (automatically commit changes)\n- --auto-push (automatically push commits)\n- --stop (stop running daemon)\n- --status (show daemon status)","acceptance_criteria":"- bd daemon command implemented\n- Background process management working\n- Configurable sync interval\n- Auto-commit functionality\n- Auto-push functionality\n- PID file for process management\n- Graceful shutdown on SIGTERM\n- Logging to file or syslog\n- Status command shows daemon state\n- Tests for daemon lifecycle\n- Documentation in README.md\n\n---","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-10-16T15:25:11.436559-07:00","updated_at":"2025-10-16T15:25:11.436559-07:00","closed_at":"2025-10-16T12:57:09.378938-07:00","dependencies":[{"issue_id":"bd-386","depends_on_id":"bd-392","type":"blocks","created_at":"2025-10-16T15:25:11.691504-07:00","created_by":"import"}]} -{"id":"bd-387","title":"Record git commit hash during compaction","description":"Update compact command to capture current git HEAD commit hash and store in compacted_at_commit field","status":"open","priority":1,"issue_type":"task","created_at":"2025-10-16T15:25:11.436559-07:00","updated_at":"2025-10-16T15:25:11.436559-07:00","dependencies":[{"issue_id":"bd-387","depends_on_id":"bd-392","type":"blocks","created_at":"2025-10-16T15:25:11.69877-07:00","created_by":"import"}]} +{"id":"bd-387","title":"Record git commit hash during compaction","description":"Update compact command to capture current git HEAD commit hash and store in compacted_at_commit field","status":"closed","priority":1,"issue_type":"task","created_at":"2025-10-16T14:57:48.841348-07:00","updated_at":"2025-10-16T17:43:54.177406-07:00","closed_at":"2025-10-16T17:43:54.177406-07:00","dependencies":[{"issue_id":"bd-387","depends_on_id":"bd-392","type":"blocks","created_at":"2025-10-16T14:57:49.242515-07:00","created_by":"import-remap"}]} {"id":"bd-388","title":"Reach 1.0 release milestone","description":"Stabilize API, finalize documentation, comprehensive testing","status":"open","priority":1,"issue_type":"epic","created_at":"2025-10-16T15:25:11.436559-07:00","updated_at":"2025-10-16T15:25:11.436559-07:00"} {"id":"bd-389","title":"Code review follow-up: Post-PR #8 merge improvements","description":"Follow-up tasks from the ultrathink code review of PR #8 merge (bd-62).\n\n**Context:** PR #8 successfully merged atomic counter + dirty tracking. Core functionality is solid but several improvements identified.\n\n**Critical (P0-P1):**\n- bd-64: Fix SyncAllCounters performance bottleneck (P0)\n- bd-65: Add migration for issue_counters table (P1)\n- bd-66: Make import counter sync failure fatal (P1)\n\n**Nice to have (P2-P3):**\n- bd-67: Update test comments (P2)\n- bd-68: Add performance benchmarks (P2)\n- bd-69: Add metrics/logging (P3)\n- bd-70: Add EXPLAIN QUERY PLAN tests (P3)\n\n**Overall assessment:** 4/5 stars - Excellent implementation with one critical performance issue. After bd-64 is fixed, this becomes 5/5.\n\n**Review document:** Available if needed","notes":"Status update: All P0-P1 critical tasks completed! bd-64 (performance), bd-65 (migration), bd-66 (fatal error), bd-67 (comments) are all done. Atomic counter implementation is now production-ready. Remaining tasks are P2-P3 enhancements.","status":"open","priority":1,"issue_type":"epic","created_at":"2025-10-16T15:25:11.436559-07:00","updated_at":"2025-10-16T15:25:11.436559-07:00"} {"id":"bd-39","title":"Optimize auto-flush to use incremental updates","description":"Every flush exports ALL issues and ALL dependencies, even if only one issue changed. For large projects (1000+ issues), this could be expensive. Current approach guarantees consistency, which is fine for MVP, but future optimization could track which issues changed and use incremental updates. Located in cmd/bd/main.go:255-276.","status":"closed","priority":3,"issue_type":"feature","created_at":"2025-10-15T00:30:51.6291-07:00","updated_at":"2025-10-16T15:25:11.142611-07:00","closed_at":"2025-10-15T12:44:26.869981-07:00"} @@ -427,3 +427,4 @@ {"id":"test-603","title":"Sub-task under A","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-10-15T00:30:51.681411-07:00","updated_at":"2025-10-16T15:25:11.427928-07:00","closed_at":"2025-10-15T12:44:26.906722-07:00"} {"id":"test-604","title":"Sub-task under B","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-10-15T00:30:51.681735-07:00","updated_at":"2025-10-16T15:25:11.431509-07:00","closed_at":"2025-10-15T12:44:26.907069-07:00"} {"id":"worker2-500","title":"Another explicit ID","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-10-15T00:30:51.682116-07:00","updated_at":"2025-10-16T15:25:11.435357-07:00","closed_at":"2025-10-15T12:44:26.907434-07:00"} +7:00","closed_at":"2025-10-15T12:44:26.907434-07:00"}