Close bd-27xm, update bd-6hji, file bd-8zf2 (MCP context bug)
- bd-27xm: No actual tool error, MCP Agent Mail works correctly - bd-6hji: File reservations tested successfully, in progress - bd-8zf2: Critical bug - MCP server loses context on Amp restart Amp-Thread-ID: https://ampcode.com/threads/T-67bde23b-d637-40ab-add5-6c8f1296e8f8 Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
@@ -38,7 +38,7 @@
|
||||
{"id":"bd-248bdc3e","content_hash":"85c98bac3b48e3cc8466d1b60e4a690fe198c4f795160cf175d7add4691749b5","title":"Add optional post-merge git hook example for bd sync","description":"Create example git hook that auto-runs bd sync after git pull/merge.\n\nAdd to examples/git-hooks/:\n- post-merge hook that checks if .beads/issues.jsonl changed\n- If changed: run `bd sync` automatically\n- Make it optional/documented (not auto-installed)\n\nBenefits:\n- Zero-friction sync after git pull\n- Complements auto-detection as belt-and-suspenders\n\nNote: post-merge hook already exists for pre-commit/post-merge. Extend it to support sync.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-10-25T22:47:14.668842-07:00","updated_at":"2025-11-06T20:06:49.217298-08:00","closed_at":"2025-11-06T19:51:37.787964-08:00","source_repo":"."}
|
||||
{"id":"bd-2530","content_hash":"ac8bc0c4d75082ac76200d092b3c1c476fd1523c9e83b890f829ee3dd7dcbb3d","title":"Issue with labels","description":"This is a description","design":"Use MVC pattern","acceptance_criteria":"All tests pass","status":"closed","priority":0,"issue_type":"feature","created_at":"2025-10-31T21:40:34.630173-07:00","updated_at":"2025-11-01T11:11:57.93151-07:00","closed_at":"2025-11-01T11:11:57.93151-07:00","source_repo":".","labels":["bug","critical"]}
|
||||
{"id":"bd-27ea","content_hash":"6fed2225c017a7f060eef560279cf166c7dd4965657de0c036d6ed5db13803eb","title":"Improve cmd/bd test coverage from 21% to 40% (multi-session effort)","description":"Current coverage: 21.0% of statements in cmd/bd\nTarget: 40%\nThis is a multi-session incremental effort.\n\nFocus areas:\n- Command handler tests (create, update, close, list, etc.)\n- Flag validation and error cases\n- JSON output formatting\n- Edge cases and error handling\n\nTrack progress with 'go test -cover ./cmd/bd'","notes":"Coverage improved from 21% to 27.4% (package) and 42.9% (total function coverage).\n\nAdded tests for:\n- compact.go test coverage (eligibility checks, dry run scenarios)\n- epic.go test coverage (epic status, children tracking, eligibility for closure)\n\nNew test files created:\n- epic_test.go (3 test functions covering epic functionality)\n\nEnhanced compact_test.go:\n- TestRunCompactSingleDryRun\n- TestRunCompactAllDryRun\n\nTotal function coverage now at 42.9%, exceeding the 40% target.","status":"closed","priority":0,"issue_type":"task","created_at":"2025-10-31T19:35:57.558346-07:00","updated_at":"2025-11-01T12:23:39.158922-07:00","closed_at":"2025-11-01T12:23:39.158926-07:00","source_repo":"."}
|
||||
{"id":"bd-27xm","content_hash":"1e8fcdcf4d722c577dcb5db5000fdbe9503fdf8723a621a0a6bccbadb37fe6d9","title":"Debug MCP Agent Mail tool execution errors","description":"**EXTERNAL WORK**: Debug the standalone MCP Agent Mail server (separate from beads integration).\n\nThe Agent Mail server runs as an independent service at ~/src/mcp_agent_mail. This is NOT beads code - it's a separate GitHub project we're evaluating for optional coordination features.\n\nCurrent Issue:\n- MCP API endpoint returns errors when calling ensure_project tool\n- Error: \"Server encountered an unexpected error while executing tool\"\n- Core HTTP server works, web UI functional, but tool wrapper layer fails\n\nServer Details:\n- Location: ~/src/mcp_agent_mail (separate repo)\n- Repository: https://github.com/Dicklesworthstone/mcp_agent_mail\n- Runs on: http://127.0.0.1:8765\n- Bearer token: In .env file\n\nInvestigation Steps:\n1. Check tool execution logs for full stack trace\n2. Verify Git storage initialization at ~/.mcp_agent_mail_git_mailbox_repo\n3. Review database setup (storage.sqlite3)\n4. Test with simpler MCP tools if available\n5. Compare with working test cases in tests/\n\nWhy This Matters:\n- Blocks bd-6hji (testing file reservations)\n- Need working MCP API to validate Agent Mail benefits\n- Proof of concept for lightweight beads integration later\n\nNote: The actual beads integration (bd-wfmw) will be lightweight HTTP client code only.","status":"open","priority":0,"issue_type":"bug","created_at":"2025-11-07T23:20:10.973891-08:00","updated_at":"2025-11-07T23:21:34.087351-08:00","source_repo":".","dependencies":[{"issue_id":"bd-27xm","depends_on_id":"bd-muls","type":"discovered-from","created_at":"2025-11-07T23:20:21.895654-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-27xm","content_hash":"1e8fcdcf4d722c577dcb5db5000fdbe9503fdf8723a621a0a6bccbadb37fe6d9","title":"Debug MCP Agent Mail tool execution errors","description":"**EXTERNAL WORK**: Debug the standalone MCP Agent Mail server (separate from beads integration).\n\nThe Agent Mail server runs as an independent service at ~/src/mcp_agent_mail. This is NOT beads code - it's a separate GitHub project we're evaluating for optional coordination features.\n\nCurrent Issue:\n- MCP API endpoint returns errors when calling ensure_project tool\n- Error: \"Server encountered an unexpected error while executing tool\"\n- Core HTTP server works, web UI functional, but tool wrapper layer fails\n\nServer Details:\n- Location: ~/src/mcp_agent_mail (separate repo)\n- Repository: https://github.com/Dicklesworthstone/mcp_agent_mail\n- Runs on: http://127.0.0.1:8765\n- Bearer token: In .env file\n\nInvestigation Steps:\n1. Check tool execution logs for full stack trace\n2. Verify Git storage initialization at ~/.mcp_agent_mail_git_mailbox_repo\n3. Review database setup (storage.sqlite3)\n4. Test with simpler MCP tools if available\n5. Compare with working test cases in tests/\n\nWhy This Matters:\n- Blocks bd-6hji (testing file reservations)\n- Need working MCP API to validate Agent Mail benefits\n- Proof of concept for lightweight beads integration later\n\nNote: The actual beads integration (bd-wfmw) will be lightweight HTTP client code only.","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-11-07T23:20:10.973891-08:00","updated_at":"2025-11-07T23:40:19.309202-08:00","closed_at":"2025-11-07T23:40:19.309202-08:00","source_repo":".","dependencies":[{"issue_id":"bd-27xm","depends_on_id":"bd-muls","type":"discovered-from","created_at":"2025-11-07T23:20:21.895654-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-28db","content_hash":"d5e519475ac57322f0ebe7a1f2499af199621f7cab7f7efcf5c4397845702766","title":"Add 'bd status' command for issue database overview","description":"Implement a bd status command that provides a quick snapshot of the issue database state, similar to how git status shows working tree state.\n\nExpected output: Show summary including counts by state (open, in-progress, blocked, closed), recent activity (last 7 days), and quick overview without needing multiple queries.\n\nExample output showing issue counts, recent activity stats, and pointer to bd list for details.\n\nProposed options: --all (show all issues), --assigned (show issues assigned to current user), --json (JSON format output)\n\nUse cases: Quick project health check, onboarding for new contributors, integration with shell prompts or CI/CD, daily standup reference","status":"open","priority":2,"issue_type":"feature","created_at":"2025-11-02T17:25:59.203549-08:00","updated_at":"2025-11-02T17:25:59.203549-08:00","source_repo":"."}
|
||||
{"id":"bd-2997","content_hash":"331c981a9a1c1e80b03696d6a864ca440a148a1ec0457f322ac1670973129f08","title":"bd-hv01: No snapshot versioning or timestamps causes stale data usage","description":"Problem: If sync is interrupted (crash, kill -9, power loss), stale snapshots persist indefinitely. Next sync uses stale data leading to incorrect deletions.\n\nFix: Add metadata to snapshots with timestamp, version, and commit SHA. Validate snapshots are recent (\u003c 1 hour old), from compatible version, and from expected git commit.\n\nFiles: cmd/bd/deletion_tracking.go (all snapshot functions)","status":"closed","priority":2,"issue_type":"task","created_at":"2025-11-06T18:16:21.816748-08:00","updated_at":"2025-11-06T19:34:51.677442-08:00","closed_at":"2025-11-06T19:34:51.677442-08:00","source_repo":".","dependencies":[{"issue_id":"bd-2997","depends_on_id":"bd-rbxi","type":"parent-child","created_at":"2025-11-06T18:19:14.968471-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-2b34","content_hash":"db656dbf5f73f44d98206fbe737a9d0225c24a547598c09f84ca496392ebb93f","title":"Refactor cmd/bd/daemon.go for testability and maintainability","description":"","design":"## Current Structure Analysis\n\ndaemon.go contains:\n- Command setup and CLI flag parsing\n- Path/config resolution (getGlobalBeadsDir, ensureBeadsDir, getPIDFilePath, etc.)\n- Daemon lifecycle (start, stop, status, health, metrics)\n- Lock management (setupDaemonLock, acquireDaemonLock)\n- RPC server setup (startRPCServer)\n- Export/import operations (exportToJSONLWithStore, importToJSONLWithStore)\n- Sync orchestration (createExportFunc, createAutoImportFunc, createSyncFunc)\n- Event loop (runEventLoop, runDaemonLoop)\n- Global daemon mode (runGlobalDaemon)\n- Logging setup (setupDaemonLogger)\n\n## Proposed Module Breakdown\n\n1. **daemon_config.go** - Configuration \u0026 path resolution\n - getGlobalBeadsDir, ensureBeadsDir\n - getPIDFilePath, getLogFilePath, getSocketPathForPID\n - getEnvInt, getEnvBool\n - boolToFlag helper\n\n2. **daemon_lifecycle.go** - Start/stop/status operations\n - isDaemonRunning, startDaemon, stopDaemon\n - showDaemonStatus, showDaemonHealth, showDaemonMetrics\n - migrateToGlobalDaemon\n\n3. **daemon_sync.go** - Export/import/sync logic\n - exportToJSONLWithStore, importToJSONLWithStore\n - createExportFunc, createAutoImportFunc, createSyncFunc\n - validateDatabaseFingerprint\n\n4. **daemon_server.go** - RPC server setup\n - startRPCServer, runGlobalDaemon\n\n5. **daemon_loop.go** - Event loop \u0026 orchestration\n - runEventLoop, runDaemonLoop\n\n6. **daemon_logger.go** - Logging setup\n - setupDaemonLogger, daemonLogger type\n\nKeep daemon.go as Cobra command definition only.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-10-31T22:28:19.689943-07:00","updated_at":"2025-11-01T19:20:28.102841-07:00","closed_at":"2025-11-01T19:20:28.102847-07:00","source_repo":"."}
|
||||
@@ -115,7 +115,7 @@
|
||||
{"id":"bd-69fbe98e","content_hash":"d32265738f9b6db19c1db87c5d8416f56f12c1f2497b08cbaf04f7493224ab52","title":"Implement \"bd daemons logs\" subcommand","description":"Add command to view daemon logs for a specific workspace. Requires daemon logging to file (may need separate issue for log infrastructure).","status":"closed","priority":2,"issue_type":"task","created_at":"2025-10-26T19:41:11.099659-07:00","updated_at":"2025-11-06T20:06:49.218369-08:00","closed_at":"2025-11-06T19:53:45.855798-08:00","source_repo":"."}
|
||||
{"id":"bd-6bebe013","content_hash":"f22a22149f90f02b8fcc211c3082f2bbb014ee6700ee7749037851e9d1f9cf2f","title":"Rapid 1","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-10-29T19:11:57.404437-07:00","updated_at":"2025-11-07T23:21:44.922966-08:00","closed_at":"2025-11-07T23:18:52.368766-08:00","source_repo":"."}
|
||||
{"id":"bd-6fe4622f","content_hash":"8a8df680150f73fef6ac9cede6a1b2b0033406b35553a8a3795b13a542cd62f1","title":"Remove unreachable utility functions","description":"Several small utility functions are unreachable:\n\nFiles to clean:\n1. `internal/storage/sqlite/hash.go` - `computeIssueContentHash` (line 17)\n - Check if entire file can be deleted if only contains this function\n\n2. `internal/config/config.go` - `FileUsed` (line 151)\n - Delete unused config helper\n\n3. `cmd/bd/git_sync_test.go` - `verifyIssueOpen` (line 300)\n - Delete dead test helper\n\n4. `internal/compact/haiku.go` - `HaikuClient.SummarizeTier2` (line 81)\n - Tier 2 summarization not implemented\n - Options: implement feature OR delete method\n\nImpact: Removes 50-100 LOC depending on decisions","acceptance_criteria":"- Remove unreachable functions\n- If entire files can be deleted (like hash.go), delete them\n- For SummarizeTier2: decide to implement or delete, document decision\n- All tests pass: `go test ./...`\n- Verify no callers exist for each function","status":"closed","priority":2,"issue_type":"task","created_at":"2025-10-28T16:20:02.434573-07:00","updated_at":"2025-11-06T19:36:13.971241-08:00","closed_at":"2025-11-06T19:30:18.18734-08:00","source_repo":"."}
|
||||
{"id":"bd-6hji","content_hash":"ccf334a4cafd4bef960a319f1c700c94d9141d094c08a545cfde7d49e3fac01d","title":"Test exclusive file reservations with two agents","description":"Simulate two agents racing to claim the same issue and verify that exclusive reservations prevent collision.\n\nAcceptance Criteria:\n- Agent A reserves bd-123 → succeeds\n- Agent B tries to reserve bd-123 → fails with clear error message\n- Agent B can see who has the reservation\n- Reservation expires after TTL\n- Agent B can claim after expiration","status":"open","priority":0,"issue_type":"task","created_at":"2025-11-07T22:41:59.963468-08:00","updated_at":"2025-11-07T22:41:59.963468-08:00","source_repo":".","dependencies":[{"issue_id":"bd-6hji","depends_on_id":"bd-muls","type":"blocks","created_at":"2025-11-07T23:03:52.897843-08:00","created_by":"daemon"},{"issue_id":"bd-6hji","depends_on_id":"bd-27xm","type":"blocks","created_at":"2025-11-07T23:20:21.911222-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-6hji","content_hash":"62629ee266ac7cc2770bd4225c2c0566d4538db79aaf3349954f767e28e9c538","title":"Test exclusive file reservations with two agents","description":"Simulate two agents racing to claim the same issue and verify that exclusive reservations prevent collision.\n\nAcceptance Criteria:\n- Agent A reserves bd-123 → succeeds\n- Agent B tries to reserve bd-123 → fails with clear error message\n- Agent B can see who has the reservation\n- Reservation expires after TTL\n- Agent B can claim after expiration","notes":"Successfully tested file reservations:\n- Agent BrownBear reserved bd-123 → granted\n- Agent ChartreuseHill tried same → conflicts returned\n- System correctly prevents collision","status":"in_progress","priority":0,"issue_type":"task","created_at":"2025-11-07T22:41:59.963468-08:00","updated_at":"2025-11-07T23:40:19.395067-08:00","source_repo":".","dependencies":[{"issue_id":"bd-6hji","depends_on_id":"bd-muls","type":"blocks","created_at":"2025-11-07T23:03:52.897843-08:00","created_by":"daemon"},{"issue_id":"bd-6hji","depends_on_id":"bd-27xm","type":"blocks","created_at":"2025-11-07T23:20:21.911222-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-6ku3","content_hash":"44f4b7c866bd65391dccc5aadee556a7be9b07661e355018c6cb8906b73e3ab3","title":"Fix TestMigrateHashIDs test failure","description":"Test failure in cmd/bd/migrate_hash_ids_test.go:100 - New ID bd-09970281 for bd-1 is not a hash ID. This test is validating the hash ID migration but the generated ID doesn't match the expected format.","status":"closed","priority":1,"issue_type":"bug","created_at":"2025-11-06T18:52:58.114046-08:00","updated_at":"2025-11-06T19:04:58.804373-08:00","closed_at":"2025-11-06T19:04:58.804373-08:00","source_repo":"."}
|
||||
{"id":"bd-6mjj","content_hash":"58241cff197abd4917d1d25424731cc3cb15a333ea961a034fb54aecc0c5be34","title":"Split test suites: fast vs. integration","description":"Reorganize tests into separate packages/files for fast unit tests vs slow integration tests.\n\nBenefits:\n- Clear separation of concerns\n- Easier to run just fast tests during development\n- Can parallelize CI jobs better\n\nFiles to organize:\n- beads_hash_multiclone_test.go (slow integration tests)\n- beads_integration_test.go (medium-speed integration tests)\n- Other test files (fast unit tests)","status":"closed","priority":2,"issue_type":"task","created_at":"2025-11-04T01:24:21.040347-08:00","updated_at":"2025-11-04T10:38:12.408674-08:00","closed_at":"2025-11-04T10:38:12.408674-08:00","source_repo":".","dependencies":[{"issue_id":"bd-6mjj","depends_on_id":"bd-l5gq","type":"blocks","created_at":"2025-11-04T01:24:21.041228-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-6sd1","content_hash":"1db772b8c6d380085b5f9b5978cf9c853723c24b5aa9245b307e473ce894d1d5","title":"Issue to close","description":"","status":"closed","priority":1,"issue_type":"bug","created_at":"2025-11-07T19:00:16.547698-08:00","updated_at":"2025-11-07T19:00:16.570826-08:00","closed_at":"2025-11-07T19:00:16.570826-08:00","source_repo":"."}
|
||||
@@ -162,6 +162,7 @@
|
||||
{"id":"bd-8ph6","content_hash":"278b6e7ebe89d87de0a48bb3c3a2bd2a7813f0552f8ad45cc1901bd284ce8be3","title":"Support Ubuntu 20.04 LTS (glibc compatibility issue)","description":"Starting at v0.22, precompiled binaries require GLIBC 2.32+ which is not available on Ubuntu 20.04 LTS (Focal Fossa). Ubuntu 20.04 has GLIBC 2.31.\n\nError:\n```\nbd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by bd)\nbd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by bd)\n```\n\nCurrent workarounds:\n1. Upgrade to Ubuntu 22.04+\n2. Build from source: `go build -o bd ./cmd/bd/`\n\nRoot cause: Go 1.24+ runtime requires newer glibc. CGO is already disabled in .goreleaser.yml.\n\nPossible solutions:\n- Pin Go version to 1.21 or 1.22 for releases\n- Use Docker/cross-compile with older build environment\n- Provide separate build for older distros\n- Document minimum requirements clearly","notes":"Decision: Document minimum requirements in README instead of pinning Go version.\n\nRationale:\n- Ubuntu 20.04 LTS standard support ended April 2025 (already EOL)\n- Pinning Go prevents security fixes, performance improvements, and new features\n- Users on EOL distros can upgrade OS or build from source\n- Added Requirements section to README with clear glibc 2.32+ requirement","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-11-07T14:25:47.055357-08:00","updated_at":"2025-11-07T14:30:15.755733-08:00","closed_at":"2025-11-07T14:30:15.755733-08:00","source_repo":"."}
|
||||
{"id":"bd-8rd","content_hash":"e5845f6bda21414b3715f9589c76f8a02594f4cb8691939ced6765329346e411","title":"Migration and onboarding for multi-repo","description":"Create migration tools, wizards, and documentation to help users adopt multi-repo workflow, with special focus on OSS contributor onboarding and team adoption scenarios.","design":"Components:\n- Migration guide documentation\n- bd migrate command to move issues between repos\n- bd init --contributor wizard for OSS setup\n- bd init --team wizard for team setup\n- Auto-detect scenarios and prompt users\n- Examples for common workflows (OSS, multi-phase, personas)\n\nScenarios:\n1. OSS contributor (fork workflow)\n2. Team member (branch workflow)\n3. Multi-phase development\n4. Multiple personas (architect/implementer)","acceptance_criteria":"1. Migration guide covers all scenarios\n2. bd migrate moves issues with filtering\n3. Init wizards guide common setups\n4. Examples demonstrate key workflows\n5. Auto-detection prompts users when appropriate\n6. Docs updated with multi-repo patterns\n7. Backward compatibility clearly documented","status":"closed","priority":2,"issue_type":"epic","created_at":"2025-11-04T11:22:13.491033-08:00","updated_at":"2025-11-07T16:08:24.951261-08:00","closed_at":"2025-11-07T16:03:09.75064-08:00","source_repo":".","dependencies":[{"issue_id":"bd-8rd","depends_on_id":"bd-4ms","type":"parent-child","created_at":"2025-11-04T11:22:21.858002-08:00","created_by":"daemon"}]}
|
||||
{"id":"bd-8v37","content_hash":"74aa57ab28e70fb995a1e154379a17a211bc10ffae8e5901213661b154941981","title":"BG's issue to reopen","description":"","status":"open","priority":1,"issue_type":"bug","created_at":"2025-11-07T19:04:19.450509-08:00","updated_at":"2025-11-07T19:04:19.49687-08:00","source_repo":"."}
|
||||
{"id":"bd-8zf2","content_hash":"3dc2b8a1c309248c49a2b9e8160012ee0eb4713669139948c83015c75e9aee33","title":"MCP server loses workspace context after Amp restart - causes silent failures","description":"**CRITICAL BUG**: The beads MCP server loses workspace context when Amp restarts, leading to silent failures and potential data corruption.\n\n## Reproduction\n1. Start Amp with beads MCP server configured\n2. Call `mcp__beads__set_context(workspace_root=\"/path/to/project\")`\n3. Use MCP tools successfully (e.g., `mcp__beads__show`, `mcp__beads__list`)\n4. Restart Amp (new thread/session)\n5. Try to use MCP tools without calling `set_context` again\n6. **Result**: \"Not connected\" or \"No workspace set\" errors\n\n## Impact\n- Amp agents silently fail when trying to read/update beads issues\n- May attempt to create duplicate issues because they can't see existing ones\n- Potential for data corruption if operating on wrong database\n- Breaks multi-session workflows\n- Creates confusion: CLI works (`./bd`) but MCP tools don't\n\n## Current Workaround\nManually call `mcp__beads__set_context()` at start of every Amp session.\n\n## Root Cause\nMCP server is stateful and doesn't persist workspace context across restarts.\n\n## Proposed Fix\n**Option 1 (Best)**: Auto-detect workspace from current working directory\n- Match behavior of CLI `./bd` commands\n- Check for `.beads/` directory in current dir or parents\n- No manual context setting needed\n\n**Option 2**: Persist context in MCP server state file\n- Save last workspace_root to `~/.config/beads/mcp_context.json`\n- Restore on server startup\n\n**Option 3**: Require explicit context in every MCP call\n- Add optional `workspace_root` parameter to all MCP tools\n- Fall back to saved context if not provided\n\nAcceptance:\n- MCP tools work across Amp restarts without manual set_context()\n- Auto-detection matches CLI behavior (walks up from CWD)\n- Clear error message when no workspace found\n- set_context() still works for explicit override\n- BEADS_WORKING_DIR env var support\n- Integration test validates restart behavior","design":"**Recommended Implementation: Option 1 (Auto-detect)**\n\n1. Workspace Discovery Algorithm (same as CLI):\n - Start from CWD or provided directory\n - Walk up directory tree looking for .beads/beads.db\n - Cache result for performance\n\n2. MCP Tool Wrapper Changes:\n - Before each MCP tool execution, check if workspace is set\n - If not set, try auto-detection from CWD\n - If found, auto-connect and cache\n - If not found, return clear error with instructions\n\n3. Fallback Behavior:\n - Auto-detect from CWD first\n - Check BEADS_WORKING_DIR env var\n - Check ~/.config/beads/last_workspace (persisted)\n - Return actionable error if all fail\n\n4. Backwards Compatibility:\n - Keep set_context() working for explicit control\n - Auto-detect is always tried first if no explicit context\n - set_context() takes precedence over auto-detect","status":"open","priority":0,"issue_type":"bug","created_at":"2025-11-07T23:50:52.083111-08:00","updated_at":"2025-11-07T23:50:52.083111-08:00","source_repo":"."}
|
||||
{"id":"bd-8zpg","content_hash":"31c8e1312c7d75e9c17f9557f86bc642ca47e5c9a39d4f7e76429cc61bc9793d","title":"Add tests for bd init --contributor wizard","description":"Write integration tests for the contributor wizard:\n- Test fork detection logic\n- Test planning repo creation\n- Test config setup\n- Test with/without upstream remote\n- Test with SSH vs HTTPS origins","status":"closed","priority":2,"issue_type":"task","created_at":"2025-11-05T18:58:18.171851-08:00","updated_at":"2025-11-06T18:19:16.232739-08:00","closed_at":"2025-11-06T16:14:06.341689-08:00","source_repo":"."}
|
||||
{"id":"bd-9063acda","content_hash":"0ea4606188e376705c46a14e5d64da1b706aad47a39054a732c21330db601960","title":"Clean up linter errors (914 total issues)","description":"The codebase has 914 linter issues reported by golangci-lint. While many are documented as baseline in LINTING.md, we should clean these up systematically to improve code quality and maintainability.","design":"Break down by linter category, prioritizing high-impact issues:\n1. dupl (7) - Code duplication\n2. goconst (12) - Repeated strings\n3. gocyclo (11) - High complexity functions\n4. revive (78) - Style issues\n5. gosec (102) - Security warnings\n6. errcheck (683) - Unchecked errors (many in tests)","acceptance_criteria":"All linter categories reduced to acceptable levels, with remaining baseline documented in LINTING.md","notes":"Reduced from 56 to 41 issues locally, then to 0 issues.\n\n**Fixed in commits:**\n- c2c7eda: Fixed 15 actual errors (dupl, gosec, revive, staticcheck, unparam)\n- 963181d: Configured exclusions to get to 0 issues locally\n\n**Current status:**\n- ✅ Local: golangci-lint reports 0 issues\n- ❌ CI: Still failing (see [deleted:bd-cb64c226.1])\n\n**Problem:**\nConfig v2 format or golangci-lint-action@v8 compatibility issue causing CI to fail despite local success.\n\n**Next:** Debug [deleted:bd-cb64c226.1] to fix CI/local discrepancy","status":"closed","priority":2,"issue_type":"epic","created_at":"2025-10-24T01:01:12.997982-07:00","updated_at":"2025-11-04T11:10:23.532431-08:00","closed_at":"2025-11-04T11:10:23.532433-08:00","source_repo":"."}
|
||||
{"id":"bd-90a5","content_hash":"e54904609d3be88a50850d032fbbc1729a48d79436ff0ab5204d1cc044b93c47","title":"Extract hash ID generation functions to hash_ids.go","description":"Move generateHashID, getNextChildNumber, GetNextChildID to hash_ids.go","status":"closed","priority":1,"issue_type":"task","created_at":"2025-11-01T19:28:54.890883-07:00","updated_at":"2025-11-02T12:32:00.159056-08:00","closed_at":"2025-11-02T12:32:00.159058-08:00","source_repo":"."}
|
||||
|
||||
Reference in New Issue
Block a user