release: 0.4.9

## Bump
- [ ] Major
- [ ] Minor
- [ ] Beta
- [x] Patch
- [ ] Skip

## Changelog

### Fixed
- Historic lastUpdatedTime partitions no longer drop instances at index boundaries when the next partition starts at a later timestamp.
- Scheduled uniqueness mints a per-run job_run_id, and prefers a resolved jobRunId when the snake_case placeholder is unresolved.
- Orchestrator no longer uses an unsupported HasData aggregate as an instance-count completeness guard.
