From c21671d44cdf71953634af47bce7a27f49e5b41d Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Thu, 12 Feb 2026 16:54:00 +0100 Subject: [PATCH] refactor(db): move ticketing database to shared worktree location MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The SQLite database now lives at ../settledreach.db, shared across all git worktrees. This eliminates binary merge conflicts that occurred whenever two branches modified the database independently. All Python connectors (ticket CLI, sqlite_connector, decisions_sync) now resolve the DB path relative to their own location — three levels up from db/connectors/ reaches the worktree parent. The _main_worktree() git-rev-parse pattern and config.json sqlite_db key are removed. The database file is untracked from git; a backup mechanism commits snapshots through the main branch (see following commits). Co-Authored-By: Claude Opus 4.6 --- .gitignore | 5 ++--- db/commonwealth.db | Bin 274432 -> 0 bytes db/connectors/config.json | 2 +- db/connectors/decisions_sync.py | 11 ++++++----- db/connectors/sqlite_connector.py | 21 +++------------------ db/connectors/ticket | 29 +++-------------------------- 6 files changed, 15 insertions(+), 53 deletions(-) delete mode 100644 db/commonwealth.db diff --git a/.gitignore b/.gitignore index 1ffae9ec9..4b0b0bde8 100644 --- a/.gitignore +++ b/.gitignore @@ -8,9 +8,8 @@ client/export/ client/reports/ client/*.import -# Database journal files (transient, not the DB itself) -db/commonwealth.db-wal -db/commonwealth.db-shm +# Database (shared across worktrees at ../settledreach.db, not tracked) +db/commonwealth.db* # Python __pycache__/ diff --git a/db/commonwealth.db b/db/commonwealth.db deleted file mode 100644 index 5bad45276963185458992984589408494bedcdff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274432 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 Xf*?VFpoXBDpo*Z9prW#}EcE{X=*~V3 diff --git a/db/connectors/config.json b/db/connectors/config.json index fdc1e60e4..d8386e4c2 100644 --- a/db/connectors/config.json +++ b/db/connectors/config.json @@ -1,5 +1,5 @@ { - "sqlite_db": "../commonwealth.db", + "qdrant_url": "http://tower-of-joy:6333", "ollama_url": "http://tower-of-joy:11434", "collection": "commonwealth", diff --git a/db/connectors/decisions_sync.py b/db/connectors/decisions_sync.py index 8f55b9e1f..d32df5cc7 100644 --- a/db/connectors/decisions_sync.py +++ b/db/connectors/decisions_sync.py @@ -24,8 +24,10 @@ from pathlib import Path SCRIPT_DIR = Path(__file__).resolve().parent CONFIG_PATH = SCRIPT_DIR / "config.json" SCHEMA_PATH = SCRIPT_DIR.parent / "schema.sql" -REPO_ROOT = SCRIPT_DIR.parent.parent -DECISIONS_DIR = REPO_ROOT / "decisions" +WORKTREE_ROOT = SCRIPT_DIR.parent.parent +DECISIONS_DIR = WORKTREE_ROOT / "decisions" +# Shared database lives in the parent of all worktrees (three levels up from db/connectors/). +DB_PATH = (SCRIPT_DIR / ".." / ".." / ".." / "settledreach.db").resolve() # --------------------------------------------------------------------------- # Config / DB (same pattern as sqlite_connector.py) @@ -36,8 +38,7 @@ def load_config(): """Load config.json and resolve the SQLite database path.""" with open(CONFIG_PATH, "r") as f: cfg = json.load(f) - db_path = (SCRIPT_DIR / cfg["sqlite_db"]).resolve() - cfg["sqlite_db_resolved"] = str(db_path) + cfg["sqlite_db_resolved"] = str(DB_PATH) return cfg @@ -193,7 +194,7 @@ def parse_file(filepath): and a refs list of (target_id, ref_type, note). """ domain = filepath.stem # e.g. "architecture" from "architecture.md" - rel_path = str(filepath.relative_to(REPO_ROOT)) + rel_path = str(filepath.relative_to(WORKTREE_ROOT)) text = filepath.read_text(encoding="utf-8") lines = text.split("\n") diff --git a/db/connectors/sqlite_connector.py b/db/connectors/sqlite_connector.py index dd022b783..d6f609f25 100755 --- a/db/connectors/sqlite_connector.py +++ b/db/connectors/sqlite_connector.py @@ -13,7 +13,6 @@ Usage: import json import os import sqlite3 -import subprocess import sys from pathlib import Path @@ -24,29 +23,15 @@ from pathlib import Path SCRIPT_DIR = Path(__file__).resolve().parent CONFIG_PATH = SCRIPT_DIR / "config.json" SCHEMA_PATH = SCRIPT_DIR.parent / "schema.sql" - - -def _main_worktree(): - """Find the main worktree root via git's common dir.""" - try: - common = subprocess.check_output( - ["git", "rev-parse", "--git-common-dir"], - stderr=subprocess.DEVNULL, text=True - ).strip() - return Path(common).resolve().parent - except (subprocess.CalledProcessError, OSError): - return SCRIPT_DIR.parent.parent +# Shared database lives in the parent of all worktrees (three levels up from db/connectors/). +DB_PATH = (SCRIPT_DIR / ".." / ".." / ".." / "settledreach.db").resolve() def load_config(): """Load config.json and resolve the SQLite database path.""" with open(CONFIG_PATH, "r") as f: cfg = json.load(f) - # Always resolve DB path in the main worktree to avoid - # WAL/journal pollution on feature branches causing merge conflicts. - main_root = _main_worktree() - db_path = (main_root / "db" / "commonwealth.db").resolve() - cfg["sqlite_db_resolved"] = str(db_path) + cfg["sqlite_db_resolved"] = str(DB_PATH) return cfg diff --git a/db/connectors/ticket b/db/connectors/ticket index e8cc80d13..6df8b9d34 100755 --- a/db/connectors/ticket +++ b/db/connectors/ticket @@ -25,42 +25,19 @@ All output is JSON on stdout. import json import os import sqlite3 -import subprocess import sys from pathlib import Path SCRIPT_DIR = Path(__file__).resolve().parent CONFIG_PATH = SCRIPT_DIR / "config.json" - - -def _main_worktree(): - """Find the main worktree root via git's common dir. - - In a worktree layout like: - settled-reach/main/ (main worktree, holds .git/) - settled-reach/server/ (linked worktree, .git is a file) - git rev-parse --git-common-dir always points to main's .git/, - so its parent is the main worktree root. - """ - try: - common = subprocess.check_output( - ["git", "rev-parse", "--git-common-dir"], - stderr=subprocess.DEVNULL, text=True - ).strip() - return Path(common).resolve().parent - except (subprocess.CalledProcessError, OSError): - # Fallback: assume script lives in the main worktree - return SCRIPT_DIR.parent.parent +# Shared database lives in the parent of all worktrees (three levels up from db/connectors/). +DB_PATH = (SCRIPT_DIR / ".." / ".." / ".." / "settledreach.db").resolve() def load_config(): with open(CONFIG_PATH, "r") as f: cfg = json.load(f) - # Always resolve DB path in the main worktree to avoid - # WAL/journal pollution on feature branches causing merge conflicts. - main_root = _main_worktree() - db_path = (main_root / "db" / "commonwealth.db").resolve() - cfg["sqlite_db_resolved"] = str(db_path) + cfg["sqlite_db_resolved"] = str(DB_PATH) return cfg