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).
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.
- 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. - 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).
- 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.