Model
Fentaris keeps four concerns separate:Placement Precedence
Fentaris resolves placement after server visibility and policy authorization:- Allowed target selected for the downstream session
- User binding
- Matching group binding
- Global binding
- Built-in
cloudtarget
EDGE_PLACEMENT_AMBIGUOUS. Declaration order does not break ties.
Session Pinning
The first edge-dependent operation pins{ session, subject, target } to one eligible edge node and connection generation. Every MCP declaration using the same logical target in that session reuses the pin.
If the device disconnects, calls fail with EDGE_UNAVAILABLE. Fentaris does not silently fail over a stateful session to another device.
An authorized agent can call edge__select before the first ordinary tool call. The selection is stored by { session, subject, target }, revalidated at dispatch, and then becomes the normal immutable session pin. A selection made after pinning fails with EDGE_SESSION_PINNED.
Agent-Native Edge Control
Edge Control is an opt-in local MCP provider. It publishes five stable tools through the same catalog and policy pipeline as every upstream MCP:edge__listandedge__getdiscover authorized devices without exposing credentials or opaque node IDs.edge__selectchooses a public device for later transparent calls.edge__callinvokes one effective tool in an isolated child context.edge__call_manyruns one effective tool over a bounded device set.
edge.control.enabled and policy must allow the specific edge tools. Device names never become MCP namespaces, so tool discovery stays stable as devices connect and disconnect.
Explicit and fan-out calls re-enter the normal tool pipeline. Every child receives the authenticated identity, policy, deadline, cancellation, trace data, setup checks, and local consent checks. Child bindings never replace a transparent session pin.
Local Data Boundary
Folder paths, file paths, secret values, device private keys, and complete process environments remain on the edge. The control plane receives opaque grant references, readiness, recipe digests, and validated capability manifests. The edge agent:- accepts only cloud-defined desired deployments;
- requires local consent for new recipe digests and sensitive grants;
- checks canonical path containment and access on every resolution;
- isolates a process/client by deployment and downstream session;
- applies local deny and revocation before cloud desired state.