kkernel currently opens the DB directly, so when the khive daemon is live the two contend for the WAL — bulk admin runs (162 update batches today) hit intermittent SQLITE_BUSY needing client-side retry/backoff.
Proposal: kkernel detects a live daemon (Unix socket at ~/.khive) and routes ops through it; falls back to direct DB access only when no daemon is running. Same verb DSL, single writer, no lock contention. Admin tooling shouldn't be a second writer on a live store.
kkernel currently opens the DB directly, so when the khive daemon is live the two contend for the WAL — bulk admin runs (162 update batches today) hit intermittent SQLITE_BUSY needing client-side retry/backoff.
Proposal: kkernel detects a live daemon (Unix socket at ~/.khive) and routes ops through it; falls back to direct DB access only when no daemon is running. Same verb DSL, single writer, no lock contention. Admin tooling shouldn't be a second writer on a live store.