Source: PR #59 re-review. While re-verifying the backup TOCTOU fix, the reviewer found that concurrent invocations mostly fail loudly with database is locked at getDb() open — lock contention dominated the original 4-concurrent-backups reproduction.
The failures are loud and lossless (no data risk), but any concurrent CLI/MCP/hook usage hits them unnecessarily.
Fix sketch: PRAGMA busy_timeout (e.g. 3000-5000ms) in the shared getDb() connection setup; also directly mitigates #68's locked-swallow pressure.
Source: PR #59 re-review. While re-verifying the backup TOCTOU fix, the reviewer found that concurrent invocations mostly fail loudly with
database is lockedatgetDb()open — lock contention dominated the original 4-concurrent-backups reproduction.The failures are loud and lossless (no data risk), but any concurrent CLI/MCP/hook usage hits them unnecessarily.
Fix sketch:
PRAGMA busy_timeout(e.g. 3000-5000ms) in the sharedgetDb()connection setup; also directly mitigates #68's locked-swallow pressure.