장시간 provider prefill과 stream backpressure가 정상 노드를 끊지 않도록 liveness window를 확장하고 Chronos 분리 완료 문서와 잔여 artifact를 정리한다.
24 lines
1.5 KiB
Markdown
24 lines
1.5 KiB
Markdown
# IOP Node
|
|
|
|
IOP Node connects to Edge, applies the provider configuration delivered during registration, and executes normalized inference or provider-tunnel requests.
|
|
|
|
## Runtime boundary
|
|
|
|
- Internal provider selection uses `adapter + target`.
|
|
- `session_id` is opaque correlation only. Every request is an independent execution.
|
|
- Cancellation requires a non-empty `run_id` and affects only that run.
|
|
- Provider commands are limited to capabilities, transport status, and the Ollama API tunnel.
|
|
- Standard inference, streaming, structured tools, usage, provider lifecycle, capacity, and reconnect behavior remain supported.
|
|
- Edge and Node use a shared tunnel-tolerant liveness profile: a 30-second heartbeat interval and a 45-second response wait. This keeps long provider prefill or streamed-response backpressure from disconnecting a healthy Node; a connection that actually exceeds the wait closes as `heartbeat_timeout` and enters supervised reconnect.
|
|
|
|
Node does not manage interactive host programs, persistent conversations, terminal emulation, arbitrary host commands, local filesystem execution context, or local quota scraping.
|
|
|
|
## Development
|
|
|
|
```bash
|
|
go test -count=1 ./apps/node/...
|
|
go test -race -count=1 ./apps/node/internal/node ./apps/node/internal/adapters/...
|
|
go vet ./apps/node/...
|
|
```
|
|
|
|
The wire contract is documented in `agent-contract/inner/edge-node-runtime-wire.md`. Shared provider primitives are documented in `agent-contract/inner/execution-runtime.md`.
|