nomadcode/agent-roadmap/phase/external-integration/PHASE.md

2.8 KiB

Phase: External Integration

상태

[진행중]

목표

Work Item Provider Pipeline Design과 Workflow Core 완료 이후 Plane 확장, Jira-compatible provider 추상화, Mattermost, Agent Integrator, IOP OpenAI API Responses-compatible 호출을 실제 통합 흐름으로 확장한다. NomadCode가 직접 모델 런타임을 소유하지 않고 IOP의 외부 입력 표면을 호출하는 방향을 유지한다. Responses request의 metadata 실행 문맥 전달과 sibling IOP Edge /v1/responses 표면 smoke는 충족됐지만, NomadCode Core enqueue smoke가 남아 있어 Phase 완료 후보가 아니다.

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/phase/external-integration/milestones/external-integration.md
    • 요약: Plane, Jira-compatible provider 추상화, Mattermost, Agent Integrator, IOP 호출 경계를 실제 통합 adapter 흐름으로 확장했다. OpenAI-compatible Responses request의 metadata 실행 문맥 전달과 sibling IOP Edge /v1/responses 표면 smoke는 충족됐고, 남은 작업은 NomadCode Core 원격 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 유지 여부는 사용자 결정이 필요하다.