Add file-based locking (flock) for cross-process SQLite coordination. Multiple hermes processes (gateway + CLI + worktree agents) share one state.db but each had its own threading.Lock. Changes: - hermes_state_patch.py: CrossProcessLock class using flock() - File-based locking for true cross-process coordination - Increased retry parameters for cross-process contention - Monkey-patch function for easy integration Fixes: Issue #52 - SQLite global write lock causes contention Refs: CWE-412: Unrestricted Externally Accessible Lock
5.4 KiB
5.4 KiB