diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index d4f60940..cc6ea46b 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -397,6 +397,7 @@ {"id":"bd-5ki8","title":"Add integration tests for adapter library","description":"Test suite for beads_mail_adapter.py covering all scenarios.\n\nAcceptance Criteria:\n- Test enabled mode (server available)\n- Test disabled mode (server unavailable)\n- Test graceful degradation (server dies mid-operation)\n- Test reservation conflicts\n- Test message sending/receiving\n- Mock HTTP server for testing\n- 90%+ code coverage\n\nFile: lib/test_beads_mail_adapter.py","notes":"Test suite completed with 29 comprehensive tests covering:\n- Enabled mode (server available): 10 tests\n- Disabled mode (server unavailable): 2 tests \n- Graceful degradation: 4 tests\n- Reservation conflicts: 2 tests\n- Configuration: 5 tests\n- Health check scenarios: 3 tests\n- HTTP error handling: 3 tests\n\n**Performance**: All tests run in 10ms (fast!)\n\n**Coverage highlights**:\n✅ Server health checks (ok, degraded, error, timeout)\n✅ All API operations (reserve, release, notify, check_inbox, get_reservations)\n✅ HTTP errors (404, 409 conflict, 500, 503)\n✅ Network errors (timeout, connection refused)\n✅ Malformed responses (bad JSON, empty body, plain text errors)\n✅ Environment variable configuration\n✅ Graceful degradation when server dies mid-operation\n✅ Conflict handling with both JSON and plain text errors\n✅ Dict wrapper responses ({\"messages\": [...]} and {\"reservations\": [...]})\n✅ Custom TTL for reservations\n✅ Default agent name fallback\n\nNo external dependencies, no slow integration tests, just fast unit tests with mocks.","status":"closed","priority":1,"issue_type":"task","created_at":"2025-11-07T22:43:21.294596-08:00","updated_at":"2025-11-08T01:32:39.906342-08:00","closed_at":"2025-11-08T01:32:39.906342-08:00","dependencies":[{"issue_id":"bd-5ki8","depends_on_id":"bd-m9th","type":"blocks","created_at":"2025-11-07T22:43:21.296024-08:00","created_by":"daemon"}]} {"id":"bd-5kkec","title":"Document bd mol ready --gated in README","description":"New gate-resume discovery command (bd-lhalq) is not documented in README.md. Should add to command reference with examples.","status":"open","priority":3,"issue_type":"task","created_at":"2026-01-08T21:32:38.528711-08:00","created_by":"beads/crew/emma","updated_at":"2026-01-08T21:32:38.528711-08:00","dependencies":[{"issue_id":"bd-5kkec","depends_on_id":"bd-ka761","type":"discovered-from","created_at":"2026-01-08T21:32:43.629165-08:00","created_by":"beads/crew/emma"}]} {"id":"bd-5l59","title":"Code smell: Issue struct is a God Object (50+ fields)","description":"attached_args: Refactor Issue struct God Object\n\nThe Issue struct in internal/types/types.go has 50+ fields covering many different concerns:\n\n- Basic issue tracking (ID, Title, Description, Status, Priority)\n- Messaging/communication (Sender, Ephemeral, etc.)\n- Agent identity (HookBead, RoleBead, AgentState, RoleType, Rig)\n- Gate/async coordination (AwaitType, AwaitID, Timeout, Waiters)\n- Source tracing (SourceFormula, SourceLocation)\n- HOP validation/entities (Creator, Validations)\n- Compaction (CompactionLevel, CompactedAt, OriginalSize)\n- Tombstones (DeletedAt, DeletedBy, DeleteReason)\n\nConsider:\n1. Extracting field groups into embedded structs (e.g., AgentFields, GateFields)\n2. Using composition pattern to make the struct more modular\n3. At minimum, grouping related fields together with section comments\n\nLocation: internal/types/types.go:12-82","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-28T15:31:34.021236-08:00","created_by":"beads/crew/dave","updated_at":"2025-12-28T16:41:07.721864-08:00","closed_at":"2025-12-28T16:41:07.721864-08:00","dependencies":[{"issue_id":"bd-5l59","depends_on_id":"bd-784c","type":"parent-child","created_at":"2025-12-28T15:38:04.187103-08:00","created_by":"daemon"}]} +{"id":"bd-5n9d3","title":"Session ended: gt-beads-refinery","status":"closed","priority":2,"issue_type":"event","owner":"steve.yegge@gmail.com","created_at":"2026-01-11T07:42:41.56523-08:00","created_by":"beads/refinery","updated_at":"2026-01-11T07:42:41.626937-08:00","closed_at":"2026-01-11T07:42:41.626937-08:00","close_reason":"auto-closed session cost wisp","ephemeral":true} {"id":"bd-5nu1","title":"Mega-molecule progress support for Hanoi demo","description":"Beads-side work for million-step molecule monitoring.\n\n## Context\nTowers of Hanoi with 20 disks = 1,048,575 steps.\nNeed efficient progress queries and display guards.\n\n## Requirements\n1. bd mol progress command (summary without listing all steps)\n2. Display guards in bd mol current (detect large molecules)\n3. Efficient child count queries (already indexed)","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-31T00:52:40.474932-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-31T13:08:29.656523-08:00","closed_at":"2025-12-31T13:08:29.656523-08:00","close_reason":"All children complete: mol progress command and display guards implemented"} {"id":"bd-5o9k8","title":"Review and merge PR #980: gitignore sync state files","description":"dispatched_by: beads/crew/emma\n\n## Task\nReview and merge PR #980 from peterkc.\n\n**PR**: https://github.com/steveyegge/beads/pull/980\n\n## What it does\n- Adds .sync.lock and sync_base.jsonl to GitignoreTemplate\n- Adds both patterns to requiredPatterns for bd doctor validation\n- Fixes SYNC.md documentation\n\n## Easy-win criteria met\n- Bug fix with clear scope\n- Has tests\n- Documentation fix included\n- Low risk\n\n## Instructions\n1. Clone/fetch the PR: gh pr checkout 980 --repo steveyegge/beads\n2. Run tests: go test ./cmd/bd/doctor/...\n3. Review the diff: gh pr diff 980 --repo steveyegge/beads\n4. If tests pass and code looks good, approve and merge\n5. Close this bead when done","status":"closed","priority":2,"issue_type":"task","assignee":"beads/crew/dave","created_at":"2026-01-09T10:59:57.727774-08:00","created_by":"beads/crew/emma","updated_at":"2026-01-09T11:04:54.725911-08:00","closed_at":"2026-01-09T11:04:54.725911-08:00","close_reason":"PR #980 reviewed, approved, and merged. Adds .sync.lock and sync_base.jsonl to gitignore template and required patterns for bd doctor."} {"id":"bd-5ots","title":"SearchIssues N+1 query causes context timeout with GetLabels","description":"scanIssues() calls GetLabels in a loop for every issue, causing N+1 queries and context deadline exceeded errors when used with short timeouts or in-memory databases. This is especially problematic since SearchIssues already supports label filtering via SQL WHERE clauses.","status":"closed","priority":1,"issue_type":"bug","created_at":"2025-11-05T19:12:02.245879-08:00","updated_at":"2025-11-05T19:22:11.668682-08:00","closed_at":"2025-11-05T19:22:11.668682-08:00"}