feat(daemon): persist repo families and fixup cursors across restarts
The daemon only knew repository families it had heard from since it started, so a commit made while it was off had no owner once it came back. Add `repo_family_store` (SQLite at `internal_dir/repo-families-db`, same pattern as the token-usage db): the families this machine has seen and, per worktree, where the untraced-commit fixup cursor settled. The store is written only by the fixup pass. `fixup.scan` records each scheduled family, seeds a cold actor from the persisted cursor, and, when no repository is given, scans every family this process knows plus every remembered one, marking families whose common dir is gone and pruning them after a week (or after 90 days unseen, or beyond 1000 families). A pass saves its settled cursor when it finishes. The test harness gains separate stop/start helpers for a dedicated daemon so tests can commit or rebase while it is down. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
S
Sasha Varlamov committed
e8cf505cb206630a297b4cb6585942aed45122bf
Parent: fa4a1bb