diff --git a/agent-ops/roadmap/milestones/external-integration.md b/agent-ops/roadmap/milestones/external-integration.md index 443adf8..7bcc0db 100644 --- a/agent-ops/roadmap/milestones/external-integration.md +++ b/agent-ops/roadmap/milestones/external-integration.md @@ -15,10 +15,10 @@ External Integration ## 구현 잠금 - 상태: 잠금 -- 이유: IOP 호출 경계, Agent Integrator 대체 여부, provider 결과 발행 정책이 아직 구현 가능한 수준으로 확정되지 않았다. +- 이유: IOP Responses 호출 요청/설정 경계와 direct model endpoint 재분류는 README와 현재 core 경로에 반영됐지만, Agent Integrator 대체 여부와 provider 결과 발행 정책은 아직 구현 가능한 수준으로 확정되지 않았다. - 해제 조건: - - [ ] IOP OpenAI API Responses-compatible 호출 요청/응답 계약과 설정 키가 문서화됨 - - [ ] NomadCode가 직접 모델 런타임을 호출하지 않는 전환 기준이 문서화됨 + - [x] IOP OpenAI API Responses-compatible 호출 요청/응답 계약과 설정 키가 문서화됨 + - [x] NomadCode가 직접 모델 런타임을 호출하지 않는 전환 기준이 문서화됨 - [ ] Mattermost, Plane/Jira 결과 발행, Agent Integrator 대체 여부의 책임 경계가 정리됨 - [ ] 사용자가 이 Milestone의 구현 구체화와 잠금 해제를 명시적으로 승인함 - 잠금 중 금지: @@ -42,8 +42,8 @@ External Integration - [ ] Jira issue 조회, comment, status transition adapter 구현 - [ ] Mattermost 메시지 발송 adapter 구현 - [ ] Agent Integrator 호출 경계 정의 -- [ ] IOP OpenAI API Responses-compatible 경로를 NomadCode의 기본 실행 호출 경로로 정리 -- [ ] direct model endpoint / Ollama fallback 표현과 설정을 IOP 경유 호출 기준으로 재분류 +- [x] IOP OpenAI API Responses-compatible 경로를 NomadCode의 기본 실행 호출 경로로 정리 +- [x] direct model endpoint / Ollama fallback 표현과 설정을 IOP 경유 호출 기준으로 재분류 ## 완료 기준 @@ -51,8 +51,8 @@ External Integration - [ ] core가 Jira에 issue 조회, comment, status transition을 요청할 수 있다. - [ ] core가 Mattermost에 메시지를 발송할 수 있다. - [ ] Agent Integrator 또는 그 대체 연결 지점이 명확히 정의되어 있다. -- [ ] IOP OpenAI API Responses-compatible 호출 경로가 core workflow와 연결된다. -- [ ] NomadCode의 기본 실행 경로가 직접 모델 호출이 아니라 IOP 경유 호출임이 로드맵과 운영 문서에서 일관되게 읽힌다. +- [x] IOP OpenAI API Responses-compatible 호출 경로가 core workflow와 연결된다. +- [x] NomadCode의 기본 실행 경로가 직접 모델 호출이 아니라 IOP 경유 호출임이 로드맵과 운영 문서에서 일관되게 읽힌다. - [ ] 외부 provider별 세부 구현이 adapter 경계 밖으로 새지 않는다. ## 범위 제외 @@ -71,4 +71,10 @@ External Integration - 주요 작업 영역: `services/core/internal/adapters/`, `services/core/internal/scheduler/`, `services/core/internal/workflow/` - 선행 작업: Work Item Provider Pipeline Design, Workflow Core - 후속 작업: Project Workspace Management UX -- 확인 필요: IOP OpenAI API Responses-compatible 요청/응답 계약, Agent Integrator의 유지/대체 여부, A2A 도입 시점은 구현 전 별도 확인이 필요하다. +- 현재 반영 근거: + - `services/core/internal/adapters/openai/client.go`는 non-streaming `POST /v1/responses` 호출 경로를 사용한다. + - `services/core/cmd/server/main.go`는 `MODEL_BASE_URL`, `MODEL_API_KEY`, `MODEL_NAME`, `MODEL_CONTEXT_SIZE`, `MODEL_TIMEOUT_SEC` 설정으로 OpenAI-compatible model client를 구성해 scheduler에 연결한다. + - `services/core/internal/scheduler/jobs.go`는 model client 결과를 task completion 결과로 저장한다. + - `README.md`와 `services/core/README.md`는 NomadCode의 기본 실행 호출을 IOP Edge OpenAI-compatible Responses 경로로 정리하고, direct Ollama/model endpoint는 local development compatibility로 재분류한다. + - sibling IOP repository의 로드맵은 OpenAI-compatible API를 외부 모델 기반 호출 표면으로, A2A를 외부 agent 작업 위임 표면으로, IOP native protocol을 운영 제어 표면으로 분리한다. +- 확인 필요: Agent Integrator의 유지/대체 여부, Mattermost 및 Plane/Jira 결과 발행 책임 경계, A2A 도입 시점은 구현 전 별도 확인이 필요하다.