Plan 3: Model jj operation log as a first-class collection
- Add a TanStack DB operations collection keyed by jj operation id, with cached per-repository collection instances and an empty fallback collection.
- Add operation invalidation/reconciliation helpers so mutation results can refresh operation-log state around returned operation_id values.
- Wire repository watcher invalidation and revision/sync mutation success paths through operation reconciliation.
- Move the OperationsLog dialog from direct TanStack Query use to the new operations collection while preserving refresh and undo behavior.
Validation:
- cd apps/desktop && bun run typecheck
- cd apps/desktop && bun run lint
- cd apps/desktop && bun run test