iop/agent-ops/roadmap/milestones/edge-input-surfaces.md

51 lines
2.3 KiB
Markdown

# Edge 입력 표면
## 목표
Edge의 외부 입력 표면을 OpenAI-compatible API와 A2A JSON-RPC API로 분리해 관리하고, 두 입력 모두 내부 `adapter + target` 실행 경로로 수렴시킨다.
## 단계
Edge-Node 실행 기반
## 상태
완료
## 범위
- OpenAI-compatible `/v1/models`, `/v1/chat/completions` 표면
- A2A `message/send`, `tasks/get`, `tasks/cancel` 최소 표면
- Edge input manager lifecycle/config 정리
- 외부 `model` 또는 A2A task 입력을 내부 `adapter + target + session_id`로 변환하는 경계
- streaming/non-streaming 응답과 background task 상태 저장 기준 정리
- 현재 구현된 OpenAI-compatible/A2A baseline을 기준으로 설정, lifecycle, task 상태, 문서 경계를 안정화
## 필수 기능
- [x] OpenAI-compatible API는 모델/chat completion 호환 입력 표면으로 유지한다.
- [x] A2A API는 외부 agent의 작업 위임과 task 상태 공유 표면으로 유지한다.
- [x] 두 입력 표면 모두 Edge service와 edge-node transport를 우회하지 않는다.
- [x] OpenAI-compatible API에 IOP 고유 운영 제어 기능을 억지로 싣지 않는다.
- [x] A2A API를 Control Plane 운영 제어 프로토콜로 확장하지 않는다.
## 완료 기준
- [x] 외부 OpenAI-compatible 요청이 Edge 내부에서 명시적인 adapter/target 실행으로 변환된다.
- [x] A2A `message/send`, `tasks/get`, `tasks/cancel`이 task lifecycle과 node cancel 흐름을 일관되게 표현한다.
- [x] 입력 표면별 설정과 lifecycle이 중복 없이 관리된다.
- [x] 앱별 README는 현재 사용법을 설명하고, 미래 우선순위는 roadmap을 참조한다.
## 범위 제외
- OpenAI-compatible API를 IOP native 운영 제어 프로토콜로 확장
- A2A API를 fleet-wide scheduling 또는 Control Plane state ownership 표면으로 확장
- vendor-specific extension으로 node 선택, terminal session, lifecycle event를 표현
## 작업 컨텍스트
- 관련 앱: `apps/edge`
- 관련 문서: `apps/edge/README.md`
- 관련 패키지: `apps/edge/internal/openai`, `apps/edge/internal/input/a2a`, `apps/edge/internal/service`
- platform-common 계약 변경 시 `proto/iop``packages/config`를 함께 확인한다.
- 완료 근거: 2026-05-23 `go test ./...`, `make test-e2e` 통과. `make test-e2e`에는 OpenAI-compatible Ollama 보조 smoke가 포함된다.