Skip to content

Conversation

@bborn
Copy link
Owner

@bborn bborn commented Jan 26, 2026

Summary

  • Added comprehensive implementation notes for potentially migrating task storage to Linear as the backend
  • Documents architecture research and design decisions
  • Implementation deferred - saved as reference for future consideration

Key Findings

The research revealed that a sync layer approach is preferable to full database abstraction:

  • 33 files directly use *db.DB with no interface abstraction
  • Full abstraction would require refactoring 50+ methods (~50 hours)
  • Sync layer requires only ~100 lines of changes to existing code

Architecture Highlights

  • SQLite remains primary interface (no changes to TUI/executor)
  • Linear becomes source of truth for core task data
  • Execution state (tmux IDs, ports, etc.) stays local-only
  • Polling-based sync (30s intervals) vs webhooks for simplicity
  • Offline-first with queued changes

Test plan

  • Documentation file renders correctly in GitHub

🤖 Generated with Claude Code

Research and architecture design for migrating task storage to Linear
as the backend. Documents the sync layer approach that keeps SQLite as
a local cache while Linear becomes the source of truth for core task
data.

Key findings:
- 33 files directly use *db.DB, making full abstraction expensive
- Sync layer approach requires ~100 lines of changes vs thousands
- Field partitioning: core data syncs, execution state stays local
- Polling-based sync (30s) simpler than webhooks for single-user tool

Implementation deferred - saved as reference for future consideration.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants