Commit Graph

756 Commits

Author SHA1 Message Date
Steve Yegge 6829372c39 Add UnderlyingDB() method for extension database access
Implements database platform layer for extensions like VC to create
their own tables in the same SQLite database.

Changes:
- Add UnderlyingDB() *sql.DB to Storage interface
- Implement in SQLiteStorage to expose underlying connection
- Add comprehensive test suite (5 tests, -race clean)
- Tests cover: basic access, extension tables, concurrency,
  lifecycle safety, and transaction behavior

This allows VC to host its executor_instances and other tables
alongside beads core tables with proper FK enforcement.

Related issues: bd-57, bd-64, bd-65, bd-66

Amp-Thread-ID: https://ampcode.com/threads/T-a6715beb-fe92-4dee-b931-3c9327124875
Co-authored-by: Amp <amp@ampcode.com>
2025-10-22 17:19:57 -07:00
Steve Yegge 67cd529f72 Update issue tracker state 2025-10-22 15:49:57 -07:00
Steve Yegge df36c11fe3 Sync beads database before merge
Amp-Thread-ID: https://ampcode.com/threads/T-dc82df76-5eea-407c-bfdb-86270a028621
Co-authored-by: Amp <amp@ampcode.com>
2025-10-22 14:30:04 -07:00
Steve Yegge f62e640add Add Beads Library Integration epic (bd-58) with 4 phased child tasks
- bd-59: Phase 1 - Add Beads Dependency (Non-Breaking)
- bd-60: Phase 2 - Implement VCStorage Wrapper
- bd-61: Phase 3 - Migration Path & Database Schema Alignment
- bd-62: Phase 4 - Gradual Cutover & Production Rollout

This epic addresses the ~3000 lines of duplicated SQLite code and establishes
a clean architecture where VC extends Beads via wrapper without modifying the
Beads library. Estimated effort: 3-4 sprints, Priority: P2
2025-10-22 14:14:28 -07:00
Steve Yegge e291f464ee Fix bd-54: Prevent multiple daemon instances via file locking
- Implemented daemon.lock using flock (Unix) and LockFileEx (Windows)
- Lock acquired before PID file, held for daemon lifetime
- Eliminates race conditions in concurrent daemon starts
- Backward compatible: falls back to PID check for old daemons
- Updated isDaemonRunning() to check lock availability
- All tests pass including new lock and backward compatibility tests

Amp-Thread-ID: https://ampcode.com/threads/T-0e2627f4-03f9-4024-bb4b-21d23d296300
Co-authored-by: Amp <amp@ampcode.com>
2025-10-22 13:59:58 -07:00
Steve Yegge d1d3fcdf02 Rename issues.jsonl → beads.jsonl (fresh start after test pollution)
Amp-Thread-ID: https://ampcode.com/threads/T-b160879b-cb6f-4e4c-9348-abcc69ee5048
Co-authored-by: Amp <amp@ampcode.com>
2025-10-22 12:40:14 -07:00