# Phase: External Integration

## 상태

[완료]

## 목표

Work Item Provider Pipeline Design과 Workflow Core 완료 이후 Plane 확장, Jira-compatible provider 추상화, Mattermost, Agent Integrator, IOP OpenAI API Responses-compatible 호출을 실제 통합 흐름으로 확장한다. NomadCode가 직접 모델 런타임을 소유하지 않고 IOP의 외부 입력 표면을 호출하는 방향을 유지한다.

## Milestone 흐름

완료된 Milestone은 archive 경로를 가리키고, 검토중, 진행중, 계획 또는 보류 Milestone은 이 Phase 하위 `milestones/` 경로를 가리킨다.
완료, 검토중, 진행중, 계획 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다.

- [완료] Mattermost Messaging Android Smoke
  - 경로: `agent-roadmap/archive/phase/external-integration/milestones/mattermost-messaging-android-smoke.md`
  - 요약: `../nexo/packages/messaging_flutter` 전환 이후 원격 Android SDK build, emulator runtime, Mattermost FCM 알림 도착, 웹 채널 메시지 도착을 확인했다.

- [완료] Mattermost Nexo Messaging Alignment
  - 경로: `agent-roadmap/archive/phase/external-integration/milestones/mattermost-nexo-messaging-alignment.md`
  - 요약: Mattermost 메시지/알림 경계를 `../nexo/packages/messaging_flutter` 구조와 맞추고 Android runner에서 server-generated signed push 수신, ACK, notification, opened, inline reply, dismiss evidence를 redaction 상태로 확인했다.

- [완료] External Integration
  - 경로: `agent-roadmap/archive/phase/external-integration/milestones/external-integration.md`
  - 요약: Plane, Jira-compatible provider 추상화, Mattermost, Agent Integrator, IOP 호출 경계를 실제 통합 adapter 흐름으로 확장했고, metadata 실행 문맥 전달과 IOP Edge `/v1/responses`, NomadCode Core 원격 create/enqueue/poll smoke가 모두 완료되었다.

## Phase 경계

- 외부 provider 세부 구현은 adapter 경계 밖으로 새지 않게 한다.
- Mattermost Nexo Messaging Alignment는 Workflow Core 완료 이후 외부 통합 구현을 시작하기 전에 닫은 선행 정합성 작업이다.
- Mattermost messaging Android smoke는 사용자 테스트를 제외하고 원격 Android SDK build와 알림 도착 확인까지만 완료 범위로 둔다.
- IOP 내부 모델 라우팅, 모델 프로파일, RAG, MCP, output validation, fallback 정책은 NomadCode 범위에서 제외한다.
- A2A 도입 시점과 Agent Integrator 유지 여부는 사용자 결정이 필요하다.

## 완료 리뷰

- 상태: 승인됨
- 승인일: 2026-06-09
- 완료 근거: Phase 하위 Milestone 3개가 모두 `[완료]`로 archive되어 있고, 관련 `agent-task` 완료 로그는 최종 PASS로 닫혔다. 현재 checkout 기준 `git diff --check`, `cd services/core && go test ./...`, `cd services/core && go vet ./...`, provider adapter boundary 검색이 통과했다.
- 리뷰 코멘트: 사용자 요청에 따라 관련 작업을 코드리뷰 확인 수준으로 재점검했고, blocking Required/Suggested 이슈가 남아 있지 않아 Phase archive를 승인된 완료 처리로 진행한다.
