CHEESE APIDurable runs

Durable runs

Typed, observable execution for every multi-query or over-budget selection.

Suggest an edit

run/1 is the only durable execution resource. It accepts two explicit kinds:

  • selection: one normalized selection that exceeds the synchronous budget;
  • selection_batch: one shared selection template with 1–1,000 independent reference bindings.

It never accepts an endpoint name, URL, executable expression, container, command, filesystem path, or opaque job payload.

IntentRoute
Validate/estimatePOST /api/v2/runs:estimate
CreatePOST /api/v2/runs
List/retrieveGET /api/v2/runs, GET /api/v2/runs/{run_id}
Items/results/eventsGET /api/v2/runs/{run_id}/items, /results, or /events
CancelPOST /api/v2/runs/{run_id}:cancel

Creation returns 202 Accepted only after the run is durably admitted, with tenant ownership, pinned releases, initial progress, expiry, and links. An accepted run survives client disconnects and API service restarts. Use a stable Idempotency-Key; the supported SDK requires one. Reusing a key with identical canonical content recovers the original run, while reuse with different content returns 409.

No synchronous batch

There is no /search/batch and no scorer-specific batch route. This prevents an unobservable job from masquerading as a synchronous request and ensures partial errors never discard valid work.