Involute Technologies Routedge

On-device inference routing

The traffic controller for physical AI.

Routedge is a drop-in OpenAI-compatible proxy that runs on the vehicle. It reads temperature, memory, load and link state on every request, then sends it to an on-device model, to the cloud, or to a safe default — and signs that decision into a record. Change one base URL; nothing else in your application moves.

One base URL Runs with no link Deterministic rules Tamper-evident record
Built for Unmanned aircraft Underwater vehicles Ground robots Vehicle-mounted compute Industrial gateways

The gap

The field is not the bench

On a bench, inference is fast, cool, and connected. On a vehicle it is none of the three — and that difference is where the failures live.

01

The link is a variable

A satellite backhaul, an acoustic modem, a tether, a congested mesh. Calling a cloud model is an assumption that stops holding the moment the platform goes where it was built to go.

02

The hardware throttles

Single-board compute in a sealed bay runs hot, runs short on memory, and slows down. The local model that met latency on your desk misses it under sustained load in the field.

03

Nothing leaves a record

After an incident the questions are what the system decided and what conditions it decided under. Without a record written at the time, the answer is reconstruction from memory.

Capabilities

Four jobs, one process on the device

Routedge speaks the OpenAI chat-completions wire format your application already uses to reach a model, so adoption is a base URL rather than a rewrite. Everything below rides on that one integration point.

01 — ROUTE

Route on measured vitals, not guesses

Every request is weighed against live device state and live endpoint health, then sent down an ordered fallback ladder. Routine work stays on the device; the cloud is used when the question is worth the link — or the reverse, when the mission says so.

  • Reads CPU load, available memory, temperature, battery and link state
  • Measures round-trip latency and reachability to each model endpoint, off the request path
  • Trips a circuit breaker on a failing endpoint and keeps serving from the next rung down
  • Falls all the way back to on-device inference with no link at all
  • Requests answered on the device spend no API budget and no uplink bandwidth
02 — TEST

Break it on the bench, on purpose

Inject the conditions that break edge inference against any OpenAI-compatible endpoint, on demand. Each run reports how inference failed, not just that it did — a dropped link is classified differently from a hung connection or a slow answer.

  • Sustained thermal throttling and memory pressure
  • CPU saturation and latency inflation
  • Intermittent and fully lost connectivity
  • Degraded or failing upstream services
  • Scenarios are plain files: readable, versioned, repeatable
03 — GOVERN

Make degraded behavior a written rule

Declare what the platform does under named conditions — which model answers, when to hold a request for a human, when to return a safe default — as configuration reviewed like any other requirement.

  • Reads measured device state only: temperature, memory, load, link state, latency, request priority
  • Deterministic by design — no model confidence or other AI-derived signal is ever a rule input
  • Validated before it loads; a malformed rule set is refused, not guessed at
04 — RECORD

Record every decision, replay any incident

Each routing decision is appended to a hash-chained log and signed with a key held on the device that made it. Take one of those decisions, reconstruct the conditions around it, and run it again on a bench — against the rules you have now, or the rules you are considering.

  • Captures the decision, the rule that fired, and the device state it fired under
  • Chain heads can be pushed to an independent store, so integrity does not rest on the device alone
  • Verifiable offline, without the device present
  • Answers "would this rule change have altered that incident?" before it ships; divergence between the original and the re-run is reported, not hidden

Use cases

Three shapes of one problem

Compute that has to keep answering when the uplink will not — and that has to account for what it did afterwards.

SUBSEA

ROV and UUV inspection

ProblemA tether or acoustic modem carries kilobits, not megabits, while a hull survey produces continuous imagery. For most of the dive a cloud vision model is simply not reachable.

SolutionVision requests are answered on the vehicle by default, with the cloud rung used only in the surface windows where the rules and the measured link both allow it. The vehicle comes back with a signed record of which model answered what.

AIRBORNE

Long-endurance UAS

ProblemSatellite backhaul is metered and shared: sending every frame to a cloud model is expensive when it works and useless when it doesn't. A sun-loaded avionics bay throttles the onboard compute exactly when tasking gets heavy.

SolutionRoutine classification stays on the aircraft. Escalation to the cloud is gated on request priority, measured link latency, and the temperature the board is actually running at — so the expensive path is spent on the requests that earn it.

GROUND

Warehouse and ground robotics

ProblemA fleet on shared Wi-Fi hits latency spikes and dead zones as it moves. An operator-facing assistant that stalls mid-aisle becomes a stopped robot and a support ticket.

SolutionLocal inference answers through the spike, and the cloud model is used when the link is genuinely healthy. Per-request latency and cloud spend are logged for every robot, so fleet cost is a number rather than an estimate.

Integration

One base URL. No rewrite.

Routedge listens on the device it runs on and accepts the same chat-completions requests your client library already sends. Point the client at it and leave the rest of the application alone — the request body, the streaming behavior, and the response shape are unchanged.

Your application · Pythonone line changes

# before — the client talks straight to a cloud endpoint
client = OpenAI(base_url="https://api.provider.example/v1")

# after — same client, now routed on the device
client = OpenAI(base_url="http://localhost:8000/v1")

# every call below is untouched
msgs = [{"role": "user", "content": "Describe this frame."}]
resp = client.chat.completions.create(messages=msgs)

Anything that speaks HTTP · curlsame wire format

# the endpoint your stack already targets, on the device
curl http://localhost:8000/v1/chat/completions \
  -H "content-type: application/json" \
  -d '{"messages": [{"role": "user", "content": "..."}],
       "stream": true}'

# no link, no cloud key, no change: the same call is
# answered by the on-device model instead.
Which model answeredEvery response says which rung served it and whether it was a fallback, so the caller can tell local from cloud without asking.
What it cost and what it tookPer-request latency and cloud spend come back with the response and accumulate in a local log, with a live view on the device.
Which rule firedIf a written rule decided the request rather than the ladder, the response names it — and the same decision is already in the signed chain.

Architecture

How it fits together

One on-device process sits on the advisory path between your application and its models. Testing, rules, records and replay all attach to that single point.

Fig. 1 — Runtime topologyOne process, on the platform

Your platform Application Autonomy stack, mission software, operator tooling. Calls a model exactly the way it already does.
On the device Routedge Takes the request. Reads current device state. Applies the written rules. Routes, degrades, or returns a safe default. Signs the decision.
  • Rule evaluation
  • Route selection and fallback
  • Signed decision record
Primary Local model On-device language or vision model. No link required, no API spend.
When the link permits Cloud model Larger remote model, reached only when the rules and the measured link both allow it.
In — device stateTemperature, memory, link state, measured latency, request priority. Measured, not inferred.
In — rule setReviewed configuration stating what to do under each named condition. No code change to alter it.
Out — signed recordAppend-only, hash-chained, per-device key. Optionally mirrored to an independent store.

Fig. 2 — LifecycleBench to field and back

01 · BENCHTestInject field conditions against the real endpoint. Classify each failure.
02 · BENCHWrite the rulesState the intended behavior per condition. Review it. Validate it.
03 · FIELDRouteRules govern every request on the device. Degradation follows the plan.
04 · FIELDRecordEach decision and its conditions are signed into the chain as they happen.
05 · BENCHReplayReconstruct an incident. Re-run it against current or proposed rules.
05 → 01Replayed incidents become the next test cycle's scenarios
BenchOn the device

Platforms

On the device, alongside what you already built

A small Linux service on the platform's own compute. It needs no cloud connection to operate and treats the cloud as an upgrade rather than a dependency.

ComputeARM and x86 Linux, from single-board computers upward
InterfaceOpenAI chat-completions wire format, streaming included
ModelsAny local or remote OpenAI-compatible endpoint, language or vision
ConnectivityFully offline operation; cloud is optional and rule-gated
DeploymentNative service or container; configuration is plain files

What Routedge is not

Routedge governs the AI advisory path — which model answers a request, what the platform does when conditions degrade, and what record that leaves behind. It is not a certified safety component, and it is not built to sit in a control loop that actuates hardware directly. Where a request through it returns slowly or not at all, the application and the systems around it remain responsible for behaving correctly. Its job is to make degradation predictable and to leave evidence of it — not to promise it will not happen.

Contact

Request a briefing

In active development, focused on defense and dual-use autonomy. If you are putting inference on hardware that has to keep working as conditions get worse, tell us what you are building.

Program and platform teamsEvaluating on-device inference for an unmanned or unattended system.
Integrators and primesNeeding a defensible answer to "what does it do when the link drops?"
Test and evaluationNeeding repeatable degradation scenarios and a record that holds up.

Delivered directly to Involute Technologies. Nothing is stored by this page. Or write to contact@involutetech.com.