# Changelog of Greenhouse & Lever Jobs Scraper (`battles_2026/greenhouse-lever-jobs-scraper`) Actor

- **URL**: https://apify.com/battles_2026/greenhouse-lever-jobs-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/battles_2026/greenhouse-lever-jobs-scraper.md

## Changelog: greenhouse-lever-jobs-scraper (flagship-site)

Apify actor `Battles_2026/greenhouse-lever-jobs-scraper`. Public since 2026-10-11 23:46 CT; PPE $0.0015 per unique job ($1.50/1K), approved by Jonathan.
Builds are made only with `sh ci/deploy/push_actor.sh actors/scraping/flagship-site`.

### Rollback target

**Build 0.1.6 (build id `wKQeBus3ZWzYjwSYI`)** is the last known-good build: prefill run
`AgaXWhcahr5uLNN2L` SUCCEEDED, 10 items in 7 s (Hermes APPROVE WITH NOTES). 0.1.4 is no longer a
valid target (Lever maxJobs over-charge bug H2). If a later build fails its
prefill run or the daily auto-test, point the actor's `latest` tag back at this build in the
Apify Console (Actor > Builds) before anything else.

### 0.1.8 (`1AMGJMW1QQ5Mbou1d`), 2026-10-11: output schema

- Added `.actor/output_schema.json` (required by Apify for publishing); actor.json references it.
- Published 2026-10-11 23:46 CT with PPE job event $0.0015. Pending Hermes review of the 0.1.7/0.1.8 delta.

### 0.1.7 (`TnnpDwu5vQfllzA6X`), 2026-10-11: README note

- README: host-wide stop note (Hermes N2).

### 0.1.6 (`wKQeBus3ZWzYjwSYI`), 2026-10-11: Hermes review round 1 fixes

Prefill run `AgaXWhcahr5uLNN2L` SUCCEEDED: 10 items in 7 s, $0.000, 256 MB. Rollback target stays
0.1.4 until Hermes re-review passes this build.

Fixes for REVIEW_LOG.md (CHANGES REQUIRED, round 1/3), each with a test:

- H1: Greenhouse detail (pay range) failures of any engine kind (5xx, circuit open, time limit,
  policy) no longer drop the list rows; only AntiBotStop and BudgetExhausted propagate.
  30 jobs with every detail call 503ing now pushes 30/30 (was 0/30).
- H2: Lever pages are trimmed to the requested `limit` (Lever may ignore it) and every board has
  a maxJobs backstop at emit time: maxJobs=5 pushes and charges exactly 5.
- M1: robots.txt per RFC 9309: 5xx, 429 or network error = disallow all; other 4xx = allow.
- Retry-After above the 120 s cap stops that host for the run instead of retrying early.
- Pinned `apify==4.1.0` and the base image `apify/actor-python:3.13@sha256:e4a55e4d...`.
- The 240 s internal time limit applies only to short runs (Apify timeout <= 300 s, i.e. the
  daily auto-test, or unknown); longer runs use Apify's timeout minus a 20 s margin.
- Board tokens made only of dots (`.`, `..`) are rejected.
- Hermes repro tests A-D moved into `tests/actor_contracts/test_flagship_hermes_adversarial.py`.
- Billing: with no PPE price set, rows are counted free (`freeRows`), not `chargedRows`.
- README: FAQ on personal data in free-text descriptions (GDPR/CCPA).
- Added this CHANGELOG and the rollback target.

### 0.1.5 (`5nhtOcgWE8ezsyn8l`), 2026-10-11: built, never run

- Intermediate build with only the billing and README changes above; superseded by 0.1.6.
  Not a rollback target (no prefill run).

### 0.1.4 (`unJzh4TomQ8ZWbeYV`), 2026-10-11: SUCCEEDED (commit 001d9b5)

- Input schema made Apify-valid (array item titles); migration 0003 re-pinned.
- Deploy via `ci/deploy/push_actor.sh` (shared engine vendored into the build context and
  removed after push).
- Hermes fixes from migration 0003: small `leverdemo` prefill and `maxJobs` 20 so the daily
  auto-test passes; 2 req/s per-host pacing ceiling; proxy rule reworded (no paid proxies
  without Jonathan's approval).

### 0.1.2, 0.1.3, 2026-10-11: FAILED builds

- Builds failed on Apify (input-schema validation and build-context issues fixed in 0.1.4).
  Never run in production; not valid rollback targets.

### Before 0.1.2 (commits c58307f, 8f23697)

- Unified Greenhouse + Lever 21-field schema and terms check; actor implemented on the shared
  `core/engine` (pacing, robots, retries and breaker, anti-bot stop, record gate, PPE biller,
  logs, deadline, evidence).
