From 58b8a37f4d8f0a5eda0c22bcfe98b44853a64b8f Mon Sep 17 00:00:00 2001 From: Vlad Ra Date: Tue, 17 Mar 2026 19:50:04 +0000 Subject: [PATCH 1/2] fix: reload config on each scheduler tick and expand SQLite setup docs Co-Authored-By: Claude Opus 4.6 --- README.md | 10 +++++++++- src/commands/daemon.ts | 5 +++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f4e907e..ba7877d 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,15 @@ bun install bun link ``` -**Requirements:** [Bun](https://bun.sh) v1.0+, [Homebrew SQLite](https://formulae.brew.sh/formula/sqlite) (macOS), optionally [Ollama](https://ollama.com) for vector search. +**Requirements:** [Bun](https://bun.sh) v1.0+, SQLite with development headers, optionally [Ollama](https://ollama.com) for vector search. + +**SQLite setup by platform:** + +- **macOS:** `brew install sqlite` +- **Ubuntu/Debian:** `sudo apt-get install libsqlite3-dev` +- **Fedora/RHEL:** `sudo dnf install sqlite-devel` + +The `sqlite-vec` extension is bundled and works on macOS (x64/arm64) and Linux (x64/arm64). No extra steps needed. Full walkthrough → **[Getting Started](docs/getting-started.md)** diff --git a/src/commands/daemon.ts b/src/commands/daemon.ts index 8f9871d..467f2e7 100644 --- a/src/commands/daemon.ts +++ b/src/commands/daemon.ts @@ -1,7 +1,7 @@ import { join } from "path"; import { homedir } from "os"; import type { TraulDB } from "../db/database"; -import type { TraulConfig } from "../lib/config"; +import { loadConfig, type TraulConfig } from "../lib/config"; import { Scheduler } from "../daemon/scheduler"; import { startHealthServer, stopHealthServer } from "../daemon/health"; import { writePid, readPid, removePid, isProcessAlive } from "../daemon/pid"; @@ -72,6 +72,7 @@ export async function runDaemonStart( } const scheduler = new Scheduler(config.daemon, async (source, onProgress) => { + const currentConfig = loadConfig(); if (source === "embed") { await runEmbed(db, { limit: "10000", quiet: true, onProgress }); } else { @@ -80,7 +81,7 @@ export async function runDaemonStart( log.warn(`Unknown source: ${source}`); return; } - const result = await connector.sync(db, config); + const result = await connector.sync(db, currentConfig); log.info(`${source}: ${result.messagesAdded} added, ${result.contactsAdded} contacts`); } }, enabled); From f683fcb47635ff8576e42e60578a6e8cd3ab2573 Mon Sep 17 00:00:00 2001 From: Vlad Ra Date: Tue, 17 Mar 2026 19:53:49 +0000 Subject: [PATCH 2/2] chore: require PRs for all changes in CLAUDE.md Co-Authored-By: Claude Opus 4.6 --- CLAUDE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CLAUDE.md b/CLAUDE.md index f543644..0404afc 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,3 +1,4 @@ # Traul - The project is meant to be type-checked via Bun, not vanilla `tsc`. +- All changes must go through a PR — never push directly to `main`.