Add freshness scoring, auto-decay, and USAGE.md

Add lastAccessedAt timestamp to nodes with schema migration and
backfill. Touch timestamp on read, apply exponential freshness decay
(~69-day half-life) to search scoring alongside BM25 and vector
weights. Add auto-decay that marks untouched nodes as stale after a
configurable threshold, with CLI command and server-side daily interval.
Include comprehensive USAGE.md documenting all CLI commands and REST API.
This commit is contained in:
2026-02-02 22:07:06 +01:00
parent d1e3adcb3c
commit f1b59a2d1a
12 changed files with 290 additions and 7 deletions

View File

@@ -61,6 +61,13 @@ export function getDb(): Database.Database {
_db.pragma('foreign_keys = ON');
_db.exec(SCHEMA);
// Migration: add last_accessed_at column
const cols = _db.prepare("PRAGMA table_info(nodes)").all() as any[];
if (!cols.some((c: any) => c.name === 'last_accessed_at')) {
_db.exec('ALTER TABLE nodes ADD COLUMN last_accessed_at INTEGER');
_db.exec('UPDATE nodes SET last_accessed_at = updated_at WHERE last_accessed_at IS NULL');
}
return _db;
}