From 9c2f25bea58d88d1bac60fbff4aa2f272c766520 Mon Sep 17 00:00:00 2001 From: Steve Yegge Date: Thu, 23 Oct 2025 10:31:12 -0700 Subject: [PATCH] Track bd-56 (GH #120 fix) --- .beads/beads.jsonl | 1 + 1 file changed, 1 insertion(+) diff --git a/.beads/beads.jsonl b/.beads/beads.jsonl index 918888ba..192395a8 100644 --- a/.beads/beads.jsonl +++ b/.beads/beads.jsonl @@ -48,6 +48,7 @@ {"id":"bd-53","title":"Fix flaky CI tests in compactor and daemon modules","description":"Multiple test failures observed in CI:\n- TestCompactTier1_DryRun \n- TestCompactTier1Batch_DryRun\n- TestCompactTier1Batch_WithIneligible\n- TestMockAPI_CompactTier1\n- TestBatchOperations_ErrorHandling\n- TestCommentOperationsViaRPC\n- TestMemoryPressureDetection\n- TestPing\n\nAll failures related to 'issue has open dependents or not closed long enough' eligibility checks.\n\nSee CI run: https://github.com/steveyegge/beads/actions/runs/18688772658","status":"open","priority":1,"issue_type":"bug","created_at":"2025-10-22T00:54:52.721389-07:00","updated_at":"2025-10-23T09:31:16.399335-07:00"} {"id":"bd-54","title":"Enforce one daemon per repository","description":"Multiple daemons can run for the same repository, causing race conditions, data corruption, and unpredictable behavior. Need to implement lock file or PID check to ensure only one daemon runs per .beads directory. This has caused production issues including test database pollution (bd-19) and potential concurrent write conflicts.","status":"closed","priority":1,"issue_type":"bug","created_at":"2025-10-22T09:59:04.150972-07:00","updated_at":"2025-10-23T09:31:16.399989-07:00","closed_at":"2025-10-22T10:10:12.583601-07:00"} {"id":"bd-55","title":"Fix: Import should preserve original timestamps instead of overwriting with current time","description":"Issue GH-121: Import unconditionally overwrites created_at/updated_at in validateBatchIssues(), losing historical dates from external systems (Jira, GitHub). Causes dirty git repo on every import. Fix: Only set timestamps if IsZero().","design":"Change validateBatchIssues() in internal/storage/sqlite/sqlite.go lines 668-669 to check IsZero() before setting timestamps. Preserves existing behavior for new issues while allowing imports to keep original dates.","acceptance_criteria":"Import with historical timestamps preserves them. Import without timestamps still gets current time. No git diff after importing unchanged JSONL.","status":"closed","priority":1,"issue_type":"bug","created_at":"2025-10-23T09:29:27.574435-07:00","updated_at":"2025-10-23T09:33:17.315707-07:00","closed_at":"2025-10-23T09:33:17.315707-07:00"} +{"id":"bd-56","title":"Fix: RemapCollisions deletes existing issue dependencies during import collision resolution","description":"Bug in updateDependencyReferences() was deleting ALL existing issue dependencies during import with --resolve-collisions, not just dependencies from imported issues.\n\nRoot cause: Function was checking if dep.IssueID was in idMapping keys (old imported IDs), but those are also IDs of existing DB issues. Fixed to only update dependencies where IssueID is in idMapping values (new remapped IDs).\n\nDuring normal import, this is now effectively a no-op since imported dependencies haven't been added to DB yet when RemapCollisions runs.\n\nFixes GH issue #120","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-10-23T10:25:00.691208-07:00","updated_at":"2025-10-23T10:25:19.821277-07:00","closed_at":"2025-10-23T10:25:19.821277-07:00"} {"id":"bd-6","title":"Fix flaky CI tests in compactor and daemon modules","description":"Multiple test failures observed in CI:\n- TestCompactTier1_DryRun \n- TestCompactTier1Batch_DryRun\n- TestCompactTier1Batch_WithIneligible\n- TestMockAPI_CompactTier1\n- TestBatchOperations_ErrorHandling\n- TestCommentOperationsViaRPC\n- TestMemoryPressureDetection\n- TestPing\n\nAll failures related to 'issue has open dependents or not closed long enough' eligibility checks.\n\nSee CI run: https://github.com/steveyegge/beads/actions/runs/18688772658","status":"open","priority":1,"issue_type":"bug","created_at":"2025-10-21T23:00:08.617147-07:00","updated_at":"2025-10-23T09:31:16.400259-07:00"} {"id":"bd-7","title":"Compact command fails with daemon - requires --no-daemon workaround","description":"The 'bd compact' command fails with 'Error: compact requires SQLite storage' when used with the daemon (default mode), but works correctly with the '--no-daemon' flag.\n\nThe daemon RPC interface doesn't properly expose the compact command, even though the daemon itself uses SQLite storage.\n\nReproduction:\n1. Ensure daemon is running (bd daemon status)\n2. Run: bd compact --stats\n Result: Error: compact requires SQLite storage\n3. Run: bd compact --stats --no-daemon\n Result: Works correctly, shows statistics\n\nExpected behavior:\nThe compact command should work through the daemon RPC interface just like other commands (list, create, update, delete, renumber, etc.)\n\nImpact:\nUsers cannot use compact operations in the normal workflow. They must use --no-daemon which bypasses the daemon entirely.\n\nSuggested fix:\nAdd compact operation support to the daemon RPC interface, similar to how renumber and other operations are exposed.","status":"in_progress","priority":1,"issue_type":"bug","created_at":"2025-10-21T23:00:08.617147-07:00","updated_at":"2025-10-23T09:31:16.400543-07:00"} {"id":"bd-8","title":"Investigate stress test database pollution (vc-248)","description":"Investigation of stress tests polluting production database with 1,600+ test issues on Oct 21 at 20:24-20:25. Root cause analysis completed. Tests now verified to work correctly with proper isolation.","notes":"Bug confirmed! Tests DO pollute production DB. 1,000 test issues created at 20:46:01-20:46:02 during TestStressNoUniqueConstraintViolations. Root cause: test goroutines connect to production daemon at .beads/bd.sock instead of test daemon.","status":"open","priority":1,"issue_type":"task","created_at":"2025-10-21T23:00:08.617147-07:00","updated_at":"2025-10-23T09:31:16.400937-07:00"}