Problem:
Current syncing and event indexing can diverge if one path misses data or if the node was unavailable temporarily.
Scope:
Add a reconciliation job that compares local streams against on-chain IDs and repairs gaps.
Acceptance criteria:
- Missing local streams can be backfilled from chain
- The job avoids duplicating already indexed streams
- Failures are logged clearly
- Reconciliation can run safely more than once