diff --git a/shell/knowledge/store.go b/shell/knowledge/store.go index d56dd6f..d850b15 100644 --- a/shell/knowledge/store.go +++ b/shell/knowledge/store.go @@ -58,6 +58,13 @@ func New(dir, dbPath string, logger *slog.Logger) (*FileStore, error) { if err != nil { return nil, fmt.Errorf("open knowledge db: %w", err) } + + // Enable WAL mode for better concurrency (allows multiple readers + single writer) + if _, err := db.Exec("PRAGMA journal_mode=WAL"); err != nil { + db.Close() + return nil, fmt.Errorf("enable WAL mode: %w", err) + } + if _, err := db.Exec(ftsSchema); err != nil { db.Close() return nil, fmt.Errorf("create knowledge fts5 table: %w", err)