# Changelog of OSHA Violation Risk & Time-Series (`scrapebench/osha-violation-risk`) Actor

- **URL**: https://apify.com/scrapebench/osha-violation-risk/changelog.md
- **Full Actor documentation**: https://apify.com/scrapebench/osha-violation-risk.md

## Changelog

### \[0.1.11] - 2026-09-08

- An OSHA search that hangs now returns one free `Notice` marker row per employer instead of crashing
  the run. `request_with_retries` re-raises `httpx.ReadTimeout` once its retries are spent, and the
  search leg caught nothing (the detail leg always did), so the timeout escaped `build_records` and
  exited 91. Three such runs in a row earned the actor Apify's `UNDER_MAINTENANCE` badge on
  2026-09-08.
- Degrade messages go to `run_log()`. The module-level stdlib logger they used writes into the void
  on the platform, so a partial degrade read identically to an employer with no violations.

### \[0.1.0] - Unreleased

- Initial build (issue #41). OSHA establishment search + inspection-citation parse (public IMIS HTML,
  no anti-bot) with a deterministic risk layer: severity-weighted 0-100 risk score, repeat-offender
  flag, violation time-series, rising/flat/falling trend, and run-over-run monitoring.
