Steve Yegge
cc7918daf4
Implement bd stale command (bd-c01f, closes #184 )
...
- Add bd stale command to find abandoned/forgotten issues
- Support --days (default 30), --status, --limit, --json flags
- Implement GetStaleIssues in SQLite and Memory storage
- Add full RPC/daemon support
- Comprehensive test suite (6 tests, all passing)
- Update AGENTS.md documentation
Resolves GitHub issue #184
Amp-Thread-ID: https://ampcode.com/threads/T-f021ddb8-54e3-41bf-ba7a-071749663c1d
Co-authored-by: Amp <amp@ampcode.com >
2025-10-31 23:03:56 -07:00
Steve Yegge
11c26d5af8
Add substring ID matching for all bd commands
...
- Enhanced ResolvePartialID to handle:
- Bare hashes: 07b8c8 → bd-07b8c8
- Prefix without hyphen: bd07b8c8 → bd-07b8c8
- Full IDs: bd-07b8c8 (unchanged)
- Substring matching: 07b → finds bd-07b8c8
- Added RPC support:
- New OpResolveID operation
- handleResolveID server handler
- ResolveID client method
- Updated all commands to resolve IDs:
- show, update, close, reopen
- dep (add, remove, tree)
- label (add, remove, list)
- Works in both daemon and direct modes
Fixes bd-0591c3
2025-10-30 19:20:50 -07:00
Steve Yegge
322ab63b10
Remove daemon storage cache (bd-33, bd-34, bd-35)
...
- Deleted server_cache_storage.go (~300 lines)
- Removed cache fields from Server struct
- Simplified database routing to use s.storage directly
- Removed cache metrics from health and metrics endpoints
- Deleted server_eviction_test.go (cache eviction tests)
- Cleaned up limits_test.go (removed cache assertions)
- All tests passing
2025-10-28 10:33:19 -07:00
Steve Yegge
bbb1725c32
Replace getStorageForRequest with s.storage (bd-32)
...
- Replaced all getStorageForRequest(req) calls with direct s.storage access
- Updated 5 handler files: server_issues_epics.go (~8 calls), server_labels_deps_comments.go (~4 calls), server_compact.go (~2 calls), server_export_import_auto.go (~2 calls), server_routing_validation_diagnostics.go (~1 call)
- Only remaining references are in server_cache_storage.go (to be deleted in bd-33) and server_eviction_test.go (to be deleted in bd-34)
- Part of bd-29 epic to remove daemon storage cache
Amp-Thread-ID: https://ampcode.com/threads/T-239a5531-68a5-4c98-b85d-0e3512b2553c
Co-authored-by: Amp <amp@ampcode.com >
2025-10-27 23:14:38 -07:00
Steve Yegge
0c737025b5
Split internal/rpc/server.go into 8 focused modules (bd-215)
...
Refactored monolithic 2238-line server.go into 8 files with clear responsibilities:
- server_core.go: Server type, NewServer (115 lines)
- server_lifecycle_conn.go: Start/Stop/connection handling (248 lines)
- server_cache_storage.go: Storage caching and eviction (286 lines)
- server_routing_validation_diagnostics.go: Request routing/validation (384 lines)
- server_issues_epics.go: Issue CRUD operations (506 lines)
- server_labels_deps_comments.go: Labels/deps/comments (199 lines)
- server_compact.go: Compaction operations (287 lines)
- server_export_import_auto.go: Export/import operations (293 lines)
Improvements:
- Replaced RWMutex.TryLock with atomic.Bool for portable single-flight guard
- Added default storage close in Stop() to prevent FD leaks
- All methods remain on *Server receiver (no behavior changes)
- Each file <510 LOC for better maintainability
- All tests pass, daemon verified working
Amp-Thread-ID: https://ampcode.com/threads/T-92d481ad-1bda-4ecd-bcf5-874a1889db30
Co-authored-by: Amp <amp@ampcode.com >
2025-10-27 21:14:34 -07:00