All notable changes to this Actor will be documented in this file.
- Scaffold:
.actor/ (actor.json, input_schema.json, output_schema.json,
dataset_schema.json, pay_per_event.json, Dockerfile), src/models.py
(fully implemented ActorInput + ResultRow per spec.md), pyproject.toml,
README.md, tests/fixtures/input.qa.json ({"query": "miranda rights"}).
- Two PPE events:
actor-start ($0.05), result-scraped ($0.005).
- Real fetch/pagination/parse logic:
src/parser.py (build_search_url,
map_result), src/scraper.py (fetch_page — curl-cffi + retry/backoff
per REQ-5), and the REQ-2/REQ-3/REQ-4/REQ-6 run loop in src/main.py
(cursor pagination follows next verbatim, per-row fault isolation,
max_results cap, zero-match SUCCEEDED handling). Scaffold placeholder
push path removed entirely (tasks.md T04-T09).
tests/fixtures/search_response_page1.json — real captured CourtListener
response (3 results), used by parser/main tests.
- Unit tests:
tests/test_parser.py, tests/test_scraper.py,
tests/test_models.py, tests/test_charge_no_idempotency_key.py, plus
fault-isolation/zero-row/max_results-cap/PPE-count coverage in
tests/test_main.py.
- Live prefill verification (T13):
q=miranda+rights&type=o returned
count=97719 against the live API (2026-09-02) — REQ-9 confirmed
against real data, not just schema validity.