Cursor Keep Alive
No Change
assess
Cursor keep-alive is an HTTP API pattern for incremental results from long-running work (for example, a streaming RAG query) when you cannot rely on an open WebSocket. We assess it under Technique in the garden.
Summary
Key points:
| Topic | Notes |
|---|---|
| Storage | Hot state in Redis; durable audit log optional |
| Idempotency | Same cursor + offset returns same chunk |
| Backpressure | Client polls with If-None-Match or since offset |
| Errors | Surface terminal error on poll; do not leave cursors orphaned |
| Security | Opaque, unguessable IDs; no cross-tenant cursor reuse |
Origin in our writing: described for RAG query APIs in RAG Pipeline (embedding CRUD vs streaming query split).
References
- RAG Pipeline (blog)## Personal Experience
Details
| Topic | Notes |
|---|---|
| Storage | Hot state in Redis; durable audit log optional |
| Idempotency | Same cursor + offset returns same chunk |
| Backpressure | Client polls with If-None-Match or since offset |
| Errors | Surface terminal error on poll; do not leave cursors orphaned |
| Security | Opaque, unguessable IDs; no cross-tenant cursor reuse |
Origin in our writing: described for RAG query APIs in RAG Pipeline (embedding CRUD vs streaming query split).
References