67f497f4823cade4dcfabcf57e7e90926e58f252
Every daemon removes a leftover socket before binding, which also lets a second copy silently take a running one's sockets. Owner's decision: refuse to start instead. Each daemon takes an exclusive std File lock (stable since 1.89, checked on 1.95) on <home>/run/<role>.lock, or <socket>.lock for inferproxy, before touching its sockets; the system releases it however the process ends. A runbook entry, a security note and a test per daemon. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Description
sovereign personal agent harness
4.8 MiB
Languages
Rust
97.6%
Shell
1.1%
Python
1.1%
Nix
0.2%