Read-only surface over D1 (grenamer-runs) and R2 (cca-research-archive). Triggering is unchanged — it still goes through research.alpha7.io/grenamer/run.
GET /stats — counts and last-run snapshotGET /runs?limit=20&status=running — recent runsGET /runs/:id — one run with log_tailGET /archive?ticker=AAPL&limit=50 — flat index of filed PDFsGET /archive/<key> — stream a single PDF from R2