Expand description
Remote adapters for Rustev (spec 009).
Part A, the machinery every remote adapter shares whatever its wire
format (taxonomy, budget, cancel, wire, http,
identity, cost, exchange); Part B, the rustev.remote/1
HTTP binding (client, server). Spec 020’s refinements, each off
by default: phase ceilings inside the one budget (phases) and the
host-endpoint principal reference of rustev.remote/2 (principal),
and bounded, isolation-keyed connection reuse (pool). Spec 042’s
callback protocols: the host-side server of rustev.remote-context/1 and
rustev.remote-sink/1 (callback_server) and the bounded queue every
callback client goes through (seam_queue), and the context client
(context_client).
Modules§
- budget
- One total budget per attempt (spec 009, 3.4.1 and I-5): the remaining time at dispatch. Every transport phase draws from it; no phase limit can outlive it; the remote side is told the budget minus a declared transit margin.
- callback_
server - The host-side HTTP server of the two callback protocols (spec 042, 3.10
and 3.11): hosts any
ContextSourcebehindPOST /rustev/remote-context/1/{describe,fetch,cancel,invalidations}and anyEvidenceSinkbehindPOST /rustev/remote-sink/1/{describe,deliver}. - cancel
- Cancellation that never claims more than is known (spec 009, 3.4.3 and
I-6):
stoppedonly when no request byte left the process, or when the remote side confirmed the stop with its final charge;best_effortnever yieldsstopped. - client
- The
rustev.remote/1HTTP client (spec 009, 3.11): aDecisionBackendthat reaches a backend in another process and conforms to Part A. - context_
client - The
rustev.remote-context/1HTTP client (spec 042, 3.10 and 3.12): aContextSourcebacked by a context source in another process. - cost
- Cost conversion and attribution (spec 009, 3.8.1 and 3.10.4).
- exchange
- Exchange records and their delivery (spec 009, 3.9), and reconciliation offers for charges learned late (3.4.4, 3.10.4).
- http
- An HTTP/1.1 exchange under one budget, for any remote adapter that POSTs JSON (spec 009, 3.4 and 3.11): one connection per exchange, TLS required except for loopback, request bytes tracked, the response read up to a maximum, redirects never followed, nothing retried.
- identity
- Adapter binding identity (spec 009, 3.2.3) and served-model identity (3.7, I-2).
- phases
- Phase-specific time ceilings inside the one attempt budget (spec 020, 3.4, I-1).
- pool
- Bounded, isolation-keyed connection reuse (spec 020, 3.5, I-2).
- principal
- The host-endpoint principal reference (spec 020, 3.6, I-3).
- seam_
queue - Bounded callback seams (spec 042, 3.12, I-3).
- server
- The
rustev.remote/1HTTP server (spec 009, 3.10 and 3.11): hosts anyDecisionBackendbehindPOST /rustev/remote/1/{describe,infer,cancel}. - taxonomy
- The closed error taxonomy of spec 009, 3.6: each
RemoteCodemaps to exactly one spec 003 failure class, carries a default charge, and is written at the front of the failure detail asremote:<code>within the run record’s 256-byte detail. - wire
- What left the process, and bounded reading of what came back.