# AI Job Source Agent For recently posted LinkedIn jobs, produces records of the form: ``` company_name, career_page_url, open_position_url ``` Runs in configurable batches, on a schedule, and is incremental — re-runs process only new jobs. ## Setup ```bash python -m venv .venv && source .venv/bin/activate pip install -r requirements.txt playwright install chromium # for the browser-agent tier cp .env.example .env # fill keys as available ``` ## Run ```bash # one batch python -m jobsource.main --batch-size 20 --search "software engineer" --location "United States" # scheduled run (Prefect) python -m jobsource.flow # cron fallback (no daemon): # */0 6 * * * cd && ./.venv/bin/python -m jobsource.main --batch-size 50 ``` `--search` is repeatable. Run `python -m jobsource.main --help` for all options. ## Tests ```bash pytest -q ``` ## Output `output/results.csv` — three columns: `company_name`, `career_page_url`, `open_position_url`. Complete rows (status `position_found`) are sorted first.