Give the desk a question, and either the URLs or the job of finding them. It snapshots every page, proposes the verbatim spans that bear on the question, locates each one character-for-character, types the differences between outlets with its own taxonomy, and returns a hashed ledger. Then as much writing on top as you order, from one line per outlet to a piece in the desk’s own voice.
hard_contradiction counts as a contradiction.A job costs units for what it orders. The ledger is always part of it.
Examples: ledger plus headlines, 3 units ($0.75). Scout plus a plain brief, 10 units ($2.50). Scout plus a piece in the desk’s voice with the summary, 18 units ($4.50).
Checkout is hosted by Stripe; the desk never sees your card. The API key is shown once, on the page you land on after paying. A job the engine fails is refunded to the pack; an unfetchable page is not a failure, it is listed.
curl -X POST https://thestochasticparrot.com/api/v1/jobs \
-H "authorization: Bearer tsp1_YOURKEY" -H "content-type: application/json" \
-d '{"question": "How did outlets describe the Fed decision?", "scout": true, "outputs": ["headlines", "summary", "voice"]}'
# or hand it the pages: "urls": ["https://…", "https://…"] with "scout" off
# → {"id": "…", "status": "queued", "units": 18, "poll": "/api/v1/jobs/…"}
curl -H "authorization: Bearer tsp1_YOURKEY" https://thestochasticparrot.com/api/v1/jobs/ID
# → status queued | running | done | failed; when done: the ledger, each ordered text, and a markdown rendering of all of it
The contract is in tier1/README.md. Questions: Connect.