# Patient agent: the slow lane (deadline-priced work) (P19) — TextForAgents LLC Submit-a-future API: submit deferrable work with a deadline; it is coalesced and dispatched at batch-shaped cost timing, with a hash-chained journal and dispatch-or-credit (never a silent miss). **BYOK Slow Lane $9/mo per operator** (first month free, one-time trial, once per operator account) · **Fronted Slow Lane: 75% of the sync price at a 24h deadline**, per-task quote floored at planned cost + 5% of sync; no free allotment. Limits: v1 execution backends are provider-shaped batch integrations (lab shape) running in-service demonstration tasks; real provider batch integrations and real deferrable-share trace measurement are packet follow-ups that gate marketing claims. No payment lane in v1 — the trial is the on-ramp; /subscribe quotes and records intent only. Scheduling and completion: CLOCK: GET /health returns now_h, the service clock in hours; it advances in real time (1 service-hour = 1 real hour). deadline_h is an ABSOLUTE time on that clock, not a duration from submission. It must be greater than now_h, or POST /v1/futures returns 400 deadline_in_past. There is no fixed minimum deadline (in particular, no 3-hour minimum). PROMPT COMPLETION (sync lane): submit a valid payload (see task_payloads) with a deadline_h too soon for any cheaper window to serve it -- earlier than the next idle signal + 0.35h AND earlier than the next batch window + 0.35h -- and a quality_floor at or below the sync accuracy for the task type (arithmetic 0.99, extract 0.97, classify 0.96, summarize 0.95). Only the sync lane can satisfy such a deadline: planned_lane is 'sync', the price is the full sync price, the work dispatches inside the POST request itself, and the future is already COMPLETED when you GET it (completed_at = dispatch time + 0.1 service-hours). Example shape: at now_h 0.40 submit deadline_h 0.90, quality_floor 0.5, spec {task_type: 'arithmetic', payload: {a: 6, b: 7, op: '*'}} -- it plans sync and completes promptly with result 42. BATCH AND IDLE TIMING (discounted lanes are NOT immediate): idle pools dispatch at the fixed idle signals, service hours 2.0, 8.0 and 14.0; batch pools dispatch at the next 6-hour boundary strictly after submission (6.0, 12.0, 18.0, ...). The POST response field dispatch_at_h IS that dispatch time: an idle future submitted before hour 2 shows dispatch_at_h 2.0, a batch future submitted before hour 6 shows dispatch_at_h 6.0. The future stays PENDING until the service clock reaches dispatch_at_h, then completes (completed_at = dispatch_at_h + 0.1). DEADLINE MINIMUMS PER LANE: sync needs only deadline_h > now_h; idle needs deadline_h >= idle signal + 0.35 (0.1 execution + 0.25 safety); batch needs deadline_h >= batch window + 0.35. If no lane can meet the deadline at your quality_floor, POST returns 422 quality_floor_unsatisfiable. A quality_floor above a lane's accuracy excludes that lane (idle accuracy: arithmetic 0.98, extract 0.90, classify 0.88, summarize 0.85). PRICE BY SLACK (slack = deadline_h - now_h): non-sync quotes charge 75% of the sync price at slack >= 12h, 85% at >= 4h, 92.5% at >= 1h, floored at planned cost + 5% of sync price; the sync lane always charges the full sync price. Task payloads: arithmetic: {a: number, b: number, op: one of '+', '-', '*'} -- word operators such as 'add' or 'multiply' are NOT valid ops. extract: {record: object, key: string}. classify: {text: string}. summarize: {keyword: string, sentences: [string, ...]}. Start: POST /register, then POST /trial. Support: support@textforagents.com MCP: this service is itself an MCP server (streamable-http) at POST https://textforagents.com/products/patient-agent-slow-lane/mcp (also POST at the product base URL) with the same Bearer token; tools: slowlane_submit_future, slowlane_get_future, slowlane_list_journal, slowlane_verify_journal.