No description
Find a file
toki c9939edf24 fix(edge): caller workspace 하이브리드 경계를 복구한다
실제 provider 요청과 작업 공간 handoff가 같은 PLAN/REVIEW 계약을 사용해야 하며, 단계별 prepare와 pair-write 의미가 테스트와 런타임에서 일치해야 한다.
2026-08-15 04:01:21 +09:00
.claude
agent-client fix(runtime): provider stall 재시도를 단일 종료로 제한한다 2026-08-13 20:39:10 +09:00
agent-contract fix(edge): caller workspace 하이브리드 경계를 복구한다 2026-08-15 04:01:21 +09:00
agent-ops feat(orchestration): 템플릿 기반 작업 인계를 적용한다 2026-08-14 17:19:35 +09:00
agent-roadmap test(benchmark): 무경합 재측정을 확정한다 2026-08-14 11:20:20 +09:00
agent-spec fix(edge): caller workspace 하이브리드 경계를 복구한다 2026-08-15 04:01:21 +09:00
agent-task/archive/2026 fix(edge): caller workspace 하이브리드 경계를 복구한다 2026-08-15 04:01:21 +09:00
agent-test test(benchmark): 무경합 재측정을 확정한다 2026-08-14 11:20:20 +09:00
agent-ui docs(agent-ui): 설정 후보 등록 규칙을 정리한다 2026-08-03 15:53:39 +09:00
apps fix(edge): caller workspace 하이브리드 경계를 복구한다 2026-08-15 04:01:21 +09:00
configs fix(edge): caller workspace 하이브리드 경계를 복구한다 2026-08-15 04:01:21 +09:00
docs fix(streamgate): 반복 복구 설정 모순을 차단한다 2026-08-14 02:46:23 +09:00
packages feat(orchestration): 템플릿 기반 작업 인계를 적용한다 2026-08-14 17:19:35 +09:00
proto feat(agent): 단일 요청 실행 경로를 완성한다 2026-08-08 23:35:13 +09:00
scripts refactor(benchmark): 전용 하네스를 폐기한다 2026-08-13 21:14:52 +09:00
.aiexclude
.clineignore
.clinerules docs(agent-ops): 마일스톤과 설정 UI 기준을 갱신한다 2026-08-03 07:50:57 +09:00
.codex
.cursorignore
.cursorrules docs(agent-ops): 마일스톤과 설정 UI 기준을 갱신한다 2026-08-03 07:50:57 +09:00
.env.dev-corp.example
.env.dev.example
.env.example
.geminiignore
.gitignore test(openai): 관리형 용량 검증을 보강한다 2026-08-13 16:55:48 +09:00
AGENTS.md docs(agent-ops): 마일스톤과 설정 UI 기준을 갱신한다 2026-08-03 07:50:57 +09:00
CLAUDE.md docs(agent-ops): 마일스톤과 설정 UI 기준을 갱신한다 2026-08-03 07:50:57 +09:00
docker-compose.yml
GEMINI.md docs(agent-ops): 마일스톤과 설정 UI 기준을 갱신한다 2026-08-03 07:50:57 +09:00
go.mod Merge dev into feature/iop-hot-path-one-shot-execution 2026-08-04 16:11:49 +09:00
go.sum refactor(runtime): promote provider-only execution boundary 2026-08-02 20:28:45 +09:00
go.work
go.work.sum
HANDOFF.md docs(roadmap): Chronos 분리 마일스톤을 종료한다 2026-08-02 21:52:44 +09:00
Makefile refactor(benchmark): 전용 하네스를 폐기한다 2026-08-13 21:14:52 +09:00
opencode.json
README.md refactor(benchmark): 전용 하네스를 폐기한다 2026-08-13 21:14:52 +09:00

IOP

IOP is a provider and device execution platform. It exposes OpenAI- and Anthropic-compatible inference APIs, routes work through Edge provider pools, executes against Node-owned adapters, and presents fleet operations through Control Plane and the Flutter Client.

Architecture

Client -> Control Plane -> Edge -> Node -> Provider
                         |        |
                         |        +-- normalized inference and provider tunnels
                         +-- model routing, queues, leases, API compatibility
  • Edge owns model routing, provider-pool admission, leases, external APIs, Node readiness, and reconnect fencing.
  • Node owns provider adapter construction and local execution.
  • Control Plane owns connected Edge views and operation relay, not Edge runtime state.
  • Client consumes Control Plane fleet, Node, provider, and operation views.
  • packages/go/execution contains transport-neutral provider primitives.

Internal provider selection uses adapter + target. session_id is opaque correlation only, and cancellation targets a non-empty run_id. Provider commands are limited to capabilities, transport status, and the Ollama API tunnel.

IOP does not own interactive host programs, persistent conversations, terminal emulation, arbitrary host command execution, or local filesystem execution context.

Development

make proto
make proto-dart
go test -count=1 ./...
make client-test
make test-control-plane-edge-wire
make test-e2e

Start with agent-contract/index.md for protocol and runtime contracts, and agent-spec/index.md for living implementation summaries.

Operator and client setup guides: