release 0.3.7

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

## Changelog

### Fixed
- Backport #276: stop hourly `data_product_sync` historic re-enqueue when a completed job already exists for the same view and DataProduct version; only check up-to-date status for views with SHACL rules
- Backport #278: fix orchestrator sync-trigger crash on missing workflow — resolve sync workflow ID with CDF existence probe, fail fast when workflow version 1 is absent, and make Step 6 non-fatal so historic partitions survive sync setup failures
- Backport #279: use timestamped `job_{view}_{epoch}` job_run_id, bind per-view DMS sync triggers at historic orchestrator start, and rebind sync cursor `job_run_id` with optimistic concurrency
- Address Gemini review: invoke.py prefix guards, corrected 0.3.7 migration doc, remove dead `_check_dataproduct_workflows_deployed`, use `limit=-1` for trigger listing
