← All examples Levirge Search · examples

Queued reads

A captured run: four URLs queued with fetch_async, acknowledged instantly, all resolved within 29 seconds — three read via direct route, one genuine failure reported verbatim with both attempted routes, then resubmitted to retry.

1

The research question

"Check the release notes across the projects we depend on." Several pages, none urgent — the agent shouldn't hold a conversation open per page, or hammer them all at once from one IP.

2

Queue the list — immediate acknowledgement

Release notes across the projects you depend on, checked while the agent gets on with something else — three real sources and one URL that no longer resolves. Captured 8 Aug 2026, 10:03 UTC, from Claude Code over MCP; payloads verbatim, long bodies excerpted. fetch_async acknowledged at once — no long-held connection.

fetch_async queued instantly
// queue the reads, come back later
fetch_async(urls: [
  "https://deno.com/blog/v2.9",
  "https://github.com/denoland/deno/releases",
  "https://docs.deno.com/runtime/desktop/",
  "https://deno-was-retired.example.dev/changelog"
])

{ "queued": [ …all four… ], "alreadyDone": [] }
3

Collect the outcomes — 29 s later, all four resolved

Each source is read politely, paced at a human rate. The first poll, 29 seconds after queueing, found all four settled — three done, one failed with both attempted routes in the error. A URL still being read reports PENDING in the same format; this run simply finished before the first poll.

fetch_results 3 done · 1 failed
// pull whatever is ready
fetch_results(urls: [ …same four… ])

# https://deno.com/blog/v2.9
[via direct]                    ← 44 KB of markdown
# Deno 2.9
June 25, 2026 …

---

# https://github.com/denoland/deno/releases
[via direct]                    ← 119 KB of markdown
# Releases: denoland/deno …

---

# https://docs.deno.com/runtime/desktop/
[via direct]                    ← 6 KB of markdown
# Desktop apps
`deno desktop` turns a Deno project … into a
self-contained desktop application. …

---

# https://deno-was-retired.example.dev/changelog
FAILED: Error: fetch failed for …/changelog:
direct (blocked/error content: {"error": 500,
  "correlation_id":"15a074e1ae81"});
stealth (stealth 502: Page.goto:
  net::ERR_CERT_AUTHORITY_INVALID …)
4

Retry is a resubmission — never a silent drop

The failure names both routes tried and carries a correlation id. Retrying is just queueing it again. The queue is for politeness and patience, not volume — the same per-source pacing applies whether the list is three pages or thirty.

fetch_async retry
fetch_async(urls: [ "https://deno-was-retired.example.dev/changelog" ])

{ "queued": [ "https://deno-was-retired.example.dev/changelog" ],
  "alreadyDone": [] }
5

Measured outcome, and where this came from

The agent came back to three readable sources totalling 169 KB and one explicit failure — nothing pending, nothing silently dropped. Acknowledgement was immediate; every URL had settled by the first poll, 29 seconds after queueing, with per-source pacing the sites never notice.

provenance 8 Aug 2026
client      Claude Code over MCP
10:03:24    fetch_async → { queued: [4], alreadyDone: [] } — instant
10:03:53    fetch_results → 3 done (44 KB, 119 KB, 6 KB) · 1 FAILED, both routes named
trace       failure carries correlation id 15a074e1ae81 — see the quiet failure
retention   bodies cached server-side · 24 h