release: 0.4.1b1

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

## Changelog

### Added
- DataProduct-scoped validation workflows: consolidated deploy pipeline, per-view sync execution lease, and cursor CAS (Phase 1–3)
- Mutable and immutable Records API stream support with auto-detected ingest vs upsert
- Stable validation record externalId now includes instance space
- Minor + Beta release bump support for minor-line prereleases (0.3.6 → 0.4.1b1)
- SHACL per-extension dispatch refactor and edge-existence orchestration groundwork
- DataProduct + RuleSet-only runtime path and 0.4.0 migration guide

### Changed
- View-only DataProduct pipeline resolve uses space-aware matching for external DataProducts
- External DataProduct local YAML overrides matched on both space and external_id
- Operator docs aligned with 0.4.0 RuleSet-only runtime contract
- Release bump skips burned PyPI slot 0.4.0 (accidental publish); beta line starts at 0.4.1b1, graduates to 0.4.1 stable

### Fixed
- Sync lease lock node initialization is create-if-absent; load errors no longer clobber lock state
- Deploy skips DataProduct publish for external_dataproducts references
- Version file guard prevents accidental PyPI publish when files are not at 0.0.0 placeholder
- RAW-only deployments and related CI lint issues
