# AccessLens 3C.3 — Reliability and scoring diagnostics

Changes: one retry for transient JSearch HTTP 429/5xx and network timeouts; partial successes preserved; query-level failure messages; detailed score breakdown for each job; more balanced handling of unspecified/adjacent seniority. Existing JSearch cursor, profile, application tracker and two views retained.

## Run

```bash
cd ~/Desktop/accesslens-3c3
python3 -m pip install pypdf python-docx
export JSEARCH_API_KEY="<rotated key>"
python3 server.py
```

Visit http://127.0.0.1:8780/jobs.html. Expand **Why this score?** on a job card. To reduce timeout duration, set `JSEARCH_TIMEOUT=20` before starting. A failed query may take up to ~51 seconds due to one retry. API retries may consume quota.

Limitations: Single shared search cache, not suitable for public multi-user deployment; scores are heuristics; no live API call was performed during packaging. The 15-minute cache is shared across users.
