Interface GeoScrapeService

All Known Implementing Classes:
GeoScrapeServiceImpl

@Deprecated public interface GeoScrapeService
Deprecated.
Supplanted by the curation agent's own GEO scraping, currently scrape_geo_and_open_triage.py. The agent discovers candidates, decides what is worth preboarding, and opens its own triage ticket, so Gemma no longer needs to run the scrape itself.

Nothing here is removed yet and it still works. What it does that the agent must therefore also do: it creates the PreboardedExperiment rows, writes the GeoScrapeWatermark audit row, and opens ONE SCREENING ticket per batch targeting that watermark -- deliberately not one per candidate.

The preboarded write API the agent uses instead is POST /preboarded + POST /preboarded/{id}/annotation-sets, with GET /workflow/queue?datasetType=preboarded_experiment for the queue.

  • Method Details

    • scrape

      Deprecated.
      Run a scrape. Synchronous; intended to be invoked from a GeoScrapeTaskCommand running on the task-runner. Honors Thread.interrupted() between pages — the watermark row is marked GeoScrapeWatermark.Status.CANCELLED if the worker is interrupted mid-scan.
      Returns:
      the persisted watermark row covering this run (so the caller can summarize counts/timings).
    • scrapeDryRun

      Deprecated.
      Evaluate matchers against the same window scrape(ScrapeRequest) would inspect, but persist nothing — no watermark row, no PreboardedExperiment row, no ticket. Intended for downstream callers (currently gemma-curation-agents) that mock-persist the results locally to evaluate curation methods without writing to prod gemd. Wire shape per candidate mirrors the existing preboarded GET response so the dry-run flag can flip off later without a shape change.
      Returns:
      the candidate list in scan order; dryRun on the request is ignored (treated as true by contract).
    • getLastWatermark

      @Nullable GeoScrapeWatermark getLastWatermark()
      Deprecated.
      Returns:
      the most recent GeoScrapeWatermark row, or null if no scrape has ever been run.