"""ATS detection and public JSON API fetching (Stage 2, tier 1). Scaffold stub -- not implemented yet. """ # TODO (Stage 2, tier 1): implement per CLAUDE.md "Stage 2 — ATS detection". # Detect Greenhouse / Lever / Ashby / Workday from the company website, then call # their public JSON APIs (no login needed). On success, return both the careers page URL # AND the first job posting URL (so Stage 3 can skip its own cascade for ATS companies). # # Confirmed ATS JSON field shapes (verify live before trusting — see CLAUDE.md Gotchas): # Greenhouse: GET https://boards-api.greenhouse.io/v1/boards/{slug}/jobs # → {"jobs": [{"absolute_url": "...", ...}, ...]} # Lever: GET https://api.lever.co/v0/postings/{company}?mode=json # → [{"hostedUrl": "...", ...}, ...] # Ashby: POST https://api.ashbyhq.com/posting-api/job-board/{slug} # → {"jobs": [{"jobUrl": "...", ...}, ...]} # Workday: varies by tenant — needs per-tenant discovery logic