1.7 KiB
| id | date | status | supersedes | superseded-by | affected-paths | affected-components | migration_confidence | migration_source |
|---|---|---|---|---|---|---|---|---|
| 0007 | 2026-06-03 | Accepted | medium | docs/memory-system/03-architecture-decisions.md### ADR-007 — Lazy freshness: write-hook + session-start reconcile, no daemon/cron |
0007 — Lazy freshness: write-hook + session-start reconcile, no daemon/cron
Context
The cache must reflect new/edited/deleted/renamed notes without becoming a resource hog or going stale on renames.
Decision
Option A (lazy). A PostToolUse hook updates the index on AI writes
(single-file, prunes on delete). Manual edits are caught by a session-start reconcile
(index update --since + prune of vanished paths). No daemon, no cron.
- Rationale: The AI is the primary writer, so write-time hooks give event-driven freshness
with no polling. The user rarely edits the vault by hand, so a session-start reconcile is
enough; a continuous
inotifydaemon (thelistengem) would add an always-on process to manage/sync for negligible benefit. Matches the user's "lazy sync is fine" stance.
Consequences
Index freshness is handled lazily: a PostToolUse hook updates the index on AI writes, and a session-start reconcile catches manual edits and deletions, with no daemon or cron process running continuously. This avoids the overhead of an always-on inotify/listen process at the cost of freshness only being guaranteed at write-time or session-start rather than continuously.
Alternatives rejected
inotify/listen daemon (live freshness, but always-on process
to manage — unnecessary). Cron reconcile ("seems silly" per user; session-start covers it).