release 0.5.0b4

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

## Changelog

### Fixed
- Publishing a ruleset no longer starts a second historic job while one run for that view is still active. A live monitor, or a start still inside the five-minute startup grace, keeps the queue slot. After the grace, a run that never wrote orchestration state or a monitor is marked failed.
- A normal historic finish still completes from retained orchestration state after the monitor schedule is removed. A failed state or schedule read waits instead of failing or freeing the job. Start times returned as datetimes or epoch milliseconds count the same as ISO strings.
- Restarting a stale timestamp collection keeps the same orchestration id, drops a checkpoint resume id, and calls the orchestrator on a fresh session.
- A partial Records post no longer advances the historic partition cursor or the instance sync cursor past instances that were not stored. The next run retries that page. Rule-engine inference records are not written when the validation page will be retried.
