2.3 KiB
2.3 KiB
| spec_doc_type | spec_id | status | source_evidence | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| spec | runtime/edge-node-execution | 구현됨 |
|
Edge-Node Provider Execution
Current implementation
Edge owns provider selection, queue admission, leases, and connection-generation fencing. Node owns local provider adapters and executes normalized runs or provider HTTP tunnels after a ready handshake.
The shared packages/go/execution package contains provider lifecycle, registry, execution events, failures, cancellation, usage, and optional tunnel/command primitives. It does not manage host programs or durable conversation state.
Runtime rules
- A registered Node is not dispatchable until its current connection completes readiness.
adapter + targetselects provider execution.session_idis copied through events and command results as opaque correlation only.- Every run is independent, including repeated correlation values.
- Cancellation requires
run_idand affects that run only. - Node commands are limited to capabilities, transport status, and the Ollama API tunnel.
- Run and tunnel streams preserve ordering and exactly one terminal outcome.
- Provider usage, capacity, queue pressure, lifecycle, reconnect, and tool calling remain supported.
Removed ownership
IOP no longer provides persistent shell sessions, terminal emulation, process resume, local working-directory execution context, arbitrary host commands, or local quota/status probing.
Verification
go test -count=1 ./packages/go/execution ./apps/node/... ./apps/edge/internal/servicego test -race -count=1 ./packages/go/execution ./apps/node/internal/node ./apps/edge/internal/service