fix: NeatSession OOM + restore HasData sync trigger with no_backfill mode

## Bump

- [x] Patch

## Changelog

### Fixed
- **NeatSession recreated per chunk**: `NeatSession` was instantiated once before the validation loop in both `instance_sync_cursor_validation.py` and `partitioned_validation.py`. Its internal RDF graph accumulated across chunks without being cleared, causing monotonic memory growth and OOM on multi-chunk validations. Fixed by moving `NeatSession(...)` inside the loop, right before each `with_shacl()` call.
- **Sync trigger restored to view-scoped filter**: Commit `1851a26` removed `HasData(views=[view_id])` to avoid a deployment-time timeout, causing the trigger to fire for all node types in the instance spaces (Tags, Operations, Documents, ...) instead of only view members. `HasData` is restored.
- **Sync trigger uses `no_backfill` mode**: Replaces `Range(lastUpdatedTime)` in the trigger filter. `no_backfill` prevents the trigger from returning existing (historical) instances on creation, eliminating the need for the range filter entirely. The `initial_sync_cutoff` (max `lastUpdatedTime` from the historic validation run) is passed to the sync validation function so it picks up exactly where historic processing left off.
