# [13.2.0](https://github.com-terrylica/terrylica/opendeviationbar-py/compare/v13.1.0...v13.2.0) (2026-03-09)


### Bug Fixes

* **issue-158:** Atomic write lock for kintsugi DELETE→fetch→INSERT (root cause fix for concurrent writer overlaps) ([51be37f](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/51be37f0bf21bd87e1ba9c9967f9de88d5c07505))
* **test:** use per-symbol env var for threshold override tests ([7d86c49](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/7d86c49810f11b1d6c300336c76b3f0695bb20e9))


### Features

* add version-gated pueue backfill script (Issue [#254](https://github.com-terrylica/terrylica/opendeviationbar-py/issues/254)) ([07b2ac0](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/07b2ac04c5d372e6340ab5982c6b5e6e37b4fea9))
* **kintsugi:** subprocess-per-day memory isolation (Issue [#249](https://github.com-terrylica/terrylica/opendeviationbar-py/issues/249)) ([e5da56e](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/e5da56e19a506bef49f62d613ebec2341a3c3d35))
* **scripts:** add memray baseline memory profiler for backfill pipeline ([41cd1bb](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/41cd1bb4158015c2eeb13e34414b5c2b73c06511)), closes [#248](https://github.com-terrylica/terrylica/opendeviationbar-py/issues/248)
* **scripts:** add subprocess isolation validation script (Issue [#249](https://github.com-terrylica/terrylica/opendeviationbar-py/issues/249)) ([284ff5b](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/284ff5b4bfcb7420fd36533cd3f085924aafe497))
* version drift detection in heartbeat + deploy .pth nuke (Issue [#254](https://github.com-terrylica/terrylica/opendeviationbar-py/issues/254)) ([d4dd59b](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/d4dd59b6d1dda0affb6aedfafbd12cdad02e3356))

# [13.1.0](https://github.com-terrylica/terrylica/opendeviationbar-py/compare/v13.0.1...v13.1.0) (2026-03-09)

### Bug Fixes

- **backfill:** filter below-min-threshold pairs in backfill_all_gaps() ([f7387b9](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/f7387b9df4362d866f2dfc2bdeb1f202ae81eb63))
- **backfill:** stream CSV parsing in IntraDayChunkIterator to reduce memory peak ([97f2dc0](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/97f2dc03bf5efee2fbe581ebf146cd712273ef09))
- **bench:** remove redundant closure in hurst_estimator_comparison ([8e1809b](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/8e1809b81575b319acdaa07777937e770d312914))
- **clippy:** remove unnecessary max() on literal in current_hour() ([eb63ae7](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/eb63ae799465dbe8f4b1f3da70deebd46eea1172))
- **heartbeat:** improve Telegram formatting for Stathera status with visual hierarchy ([573f274](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/573f2740a7f463b1a718c2298b8101c0d7db9a50))
- **heartbeat:** make Stathera section informative and reduce false UNHEALTHY ([1bcf333](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/1bcf333667525f71685a6a26dc441ada3dc632d8))
- **hurst:** resolve clippy pedantic errors in new estimators ([dc53bff](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/dc53bffed4eccba2e02b6f2e3d8298361b7dda2b))
- **kintsugi:** eliminate redundant DELETE mutation in day-recompute ([4f21d3e](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/4f21d3efd79ca928f13f19d392cf4d6a21c792d6))
- **kintsugi:** normalize inverted date ranges in day-recompute + harden deploy ([e0d19d1](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/e0d19d1b5a4c228c13a8ad3517f277a46ad1ad09))
- **kintsugi:** prevent mutation queue buildup and today-repair race ([77ce457](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/77ce4575d218fcba35551c8c80a1f8ba8b686f67))
- **kintsugi:** suppress threshold telemetry spam during shard discovery ([ba4f0c0](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/ba4f0c0805ab91290fbe5eb5a1eae0c5ea7384a7))
- **notifications:** enhance all Telegram messages with WHY/remediation context ([31757b3](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/31757b3511c4e5e31dd1fe1b18aa5ca1afb73bc4))
- **sidecar:** move sidecar_api imports to top-level for fail-fast on missing module ([b8d6989](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/b8d69899deb00d6cabd7252b4cc29117f1c53a71))
- **symbols:** add explicit min_threshold to all symbols to suppress fallback warnings ([0641f5e](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/0641f5e1a0a278e4c38f3a6ab54b5d9bed70fa57))
- **threshold:** eliminate telemetry spam at the source ([cdddcfe](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/cdddcfe9a0abf95b64ccc1bb1649ea2ef92e27ab))

### Features

- add ops-monitoring skill for pueue backfill progress watching ([fb7d67e](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/fb7d67ed30aece0f7cc7e8f993412483f633f261))
- **hurst:** implement 5 new estimators, IAAFT surrogate testing, AUC-ROC, Davies-Harte fBm + rename hurst_dfa → hurst_rescaled_range ([d928f4f](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/d928f4fc6a166bba22a544ab93af99cb4316cf91)), closes [#246](https://github.com-terrylica/terrylica/opendeviationbar-py/issues/246) [#246](https://github.com-terrylica/terrylica/opendeviationbar-py/issues/246) [#245](https://github.com-terrylica/terrylica/opendeviationbar-py/issues/245)

## [13.0.2](https://github.com-terrylica/terrylica/opendeviationbar-py/compare/v13.0.1...v13.0.2) (2026-03-08)

### Bug Fixes

- **sidecar:** move sidecar_api imports to top-level for fail-fast on missing module ([b8d6989](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/b8d69899deb00d6cabd7252b4cc29117f1c53a71))

## [13.0.1](https://github.com-terrylica/terrylica/opendeviationbar-py/compare/v13.0.0...v13.0.1) (2026-03-08)

### Bug Fixes

- exclude day-boundary gaps from Stathera audit + purge remaining month refs ([e8cfc43](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/e8cfc4334d3e10f059c93b75d75cbc599d1af6e4))

# [13.0.0](https://github.com-terrylica/terrylica/opendeviationbar-py/compare/v12.65.1...v13.0.0) (2026-03-08)

- feat!: remove legacy ouroboros modes (year/month/week) — day-only ([587ce28](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/587ce28670f804196fe252058f5cdf1bd33276cb))

### Bug Fixes

- test_valid_ouroboros_modes only accepts day mode ([2cd3b0b](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/2cd3b0b9483c6d230eb37baa52b3ff1bd545eab2))

### Features

- Telegram log sink — auto-forward WARNING+ to Telegram with UUID tracing ([#242](https://github.com-terrylica/terrylica/opendeviationbar-py/issues/242)) ([fe8d265](https://github.com-terrylica/terrylica/opendeviationbar-py/commit/fe8d2654105331f191be39757e3b28c36914e9a0))

### BREAKING CHANGES

- Only "day" ouroboros mode is supported. Passing
  "year", "month", or "week" to any ouroboros-related parameter now
  raises ValueError. All defaults changed from "month" to "day".

- Strip OuroborosMode enum to DAY only (remove YEAR, MONTH, WEEK)
- Simplify get_ouroboros_boundaries() and validate_ouroboros_mode()
- Change all function signature defaults from "month" → "day"
- Update ClickHouse schema DDL defaults to 'day'
- Remove legacy migration comment blocks from schema.sql
- Rewrite test*ouroboros.py, test_ouroboros_monthly*\*.py for day-only
- Update all API docs, CLAUDE.md files, verification reports
- Archive MONTHLY-OUROBOROS-SWITCHOVER.md runbook
- Fix heartbeat + detect_gaps PARTITION BY to include ouroboros_mode
