No description
Find a file
toki f944b9d2a8 fix(agent-ops): 공통 디스패처 경계를 바로잡는다
중복된 project 디스패처가 공통 런타임과 다른 경로·시간대를 사용하지 않도록 common 구현으로 단일화하고, 작업 로그를 KST로 기록하기 위해 변경한다.
2026-08-08 08:29:30 +09:00
.claude
agent-client
agent-contract feat(runtime): provider liveness 복구를 dev에 병합한다 2026-08-06 08:56:24 +09:00
agent-ops fix(agent-ops): 공통 디스패처 경계를 바로잡는다 2026-08-08 08:29:30 +09:00
agent-roadmap feat(runtime): provider liveness 복구를 dev에 병합한다 2026-08-06 08:56:24 +09:00
agent-spec feat(runtime): provider liveness 복구를 dev에 병합한다 2026-08-06 08:56:24 +09:00
agent-task/archive/2026 feat(runtime): provider liveness 복구를 dev에 병합한다 2026-08-06 08:56:24 +09:00
agent-test feat(openai): extend Anthropic bridge compatibility 2026-08-06 07:04:03 +09:00
agent-ui docs(agent-ui): 설정 후보 등록 규칙을 정리한다 2026-08-03 15:53:39 +09:00
apps chore: 테스트 임시 산출물을 정리한다 2026-08-06 20:01:57 +09:00
configs feat(openai): 핫패스 에이전트 실행 경로를 확장한다 2026-08-06 00:09:24 +09:00
docs feat(agent-ops): GLM 백업 경로를 OpenCode로 전환한다 2026-08-05 05:05:55 +09:00
packages feat(runtime): provider liveness 복구를 dev에 병합한다 2026-08-06 08:56:24 +09:00
proto feat(runtime): provider liveness 복구를 dev에 병합한다 2026-08-06 08:56:24 +09:00
scripts fix(agent-ops): 공통 디스패처 경계를 바로잡는다 2026-08-08 08:29:30 +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
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 feat(openai): 핫패스 에이전트 실행 경로를 확장한다 2026-08-06 00:09:24 +09:00
opencode.json
README.md docs(opencode): IOP 모델 설정 가이드를 추가한다 2026-08-05 04:22:50 +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: