5 KiB
5 KiB
External Integration
목표
Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane/Jira 확장, Mattermost, Agent Integrator, IOP 연결을 stub 또는 호환 호출 경로에서 실제 통합 흐름으로 확장한다. IOP 호출은 현재 단계에서 OpenAI API Responses-compatible 경로를 기본으로 하며, NomadCode가 직접 모델 런타임을 호출하거나 IOP native protocol을 외부 호출 표면으로 사용하지 않는다.
단계
External Integration
상태
계획
구현 잠금
- 상태: 잠금
- 이유: IOP Responses 호출 요청/설정 경계와 direct model endpoint 재분류는 README와 현재 core 경로에 반영됐지만, Agent Integrator 대체 여부와 provider 결과 발행 정책은 아직 구현 가능한 수준으로 확정되지 않았다.
- 해제 조건:
- IOP OpenAI API Responses-compatible 호출 요청/응답 계약과 설정 키가 문서화됨
- NomadCode가 직접 모델 런타임을 호출하지 않는 전환 기준이 문서화됨
- Mattermost, Plane/Jira 결과 발행, Agent Integrator 대체 여부의 책임 경계가 정리됨
- 사용자가 이 Milestone의 구현 구체화와 잠금 해제를 명시적으로 승인함
- 잠금 중 금지:
- 코드 구현 또는
agent-task구현 계획 생성 - API/DB/package/file 구조를 추측해 확정
- 세부 구현 체크리스트를 완료 기준처럼 작성
- 코드 구현 또는
범위
- Plane issue 생성 / comment / status update 확장
- Jira issue 조회 / comment / status transition adapter 구현
- Mattermost 메시지 발송 구현
- Agent Integrator 호출 구조 추가
- IOP OpenAI API Responses-compatible 호출 구조 추가
- IOP 외부 호출 표면은 OpenAI API 호환과 A2A만 전제하되, 현재 단계의 기본 호출은 OpenAI API Responses-compatible 경로로 한정
- NomadCode core가 직접 모델 endpoint 또는 Ollama fallback을 기본 실행 경로로 전제하지 않도록 전환 기준 정리
필수 기능
- [plane-adapter-expand] Plane issue 생성, comment, status update adapter 확장
- [jira-adapter] Jira issue 조회, comment, status transition adapter 구현
- [mattermost-adapter] Mattermost 메시지 발송 adapter 구현
- [agent-integrator] Agent Integrator 호출 경계 정의
- [iop-responses] IOP OpenAI API Responses-compatible 경로를 NomadCode의 기본 실행 호출 경로로 정리
- [model-reclass] direct model endpoint / Ollama fallback 표현과 설정을 IOP 경유 호출 기준으로 재분류
완료 기준
- core가 Plane에 issue, comment, status update를 요청할 수 있다.
- core가 Jira에 issue 조회, comment, status transition을 요청할 수 있다.
- core가 Mattermost에 메시지를 발송할 수 있다.
- Agent Integrator 또는 그 대체 연결 지점이 명확히 정의되어 있다.
- IOP OpenAI API Responses-compatible 호출 경로가 core workflow와 연결된다.
- NomadCode의 기본 실행 경로가 직접 모델 호출이 아니라 IOP 경유 호출임이 로드맵과 운영 문서에서 일관되게 읽힌다.
- 외부 provider별 세부 구현이 adapter 경계 밖으로 새지 않는다.
범위 제외
- Outline / Forgejo / Nextcloud 연동
- MCP 서버
- Web Agent UI
- Flutter 앱 기능 구현
- IOP A2A JSON-RPC 기반 외부 agent 추가, task 상태, artifact, cancel 흐름 공유
- NomadCode가 IOP native protocol을 직접 외부 호출 경로로 사용하는 것
- IOP 내부 모델 라우팅, 모델 프로파일, RAG, MCP, output validation, fallback 정책 구현
작업 컨텍스트
- 이전 출처:
services/core/README.md의## 단계별 다음 작업 - 주요 작업 영역:
services/core/internal/adapters/,services/core/internal/scheduler/,services/core/internal/workflow/ - 선행 작업: Work Item Provider Pipeline Design, Workflow Core
- 후속 작업: Project Workspace Management UX
- 현재 반영 근거:
services/core/internal/adapters/openai/client.go는 non-streamingPOST /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 도입 시점은 구현 전 별도 확인이 필요하다.