chore: archive workflow-core phase and update external-integration roadmap

This commit is contained in:
toki 2026-06-03 21:46:35 +09:00
parent bc0c04b715
commit 5bae8e7302
4 changed files with 16 additions and 12 deletions

View file

@ -29,12 +29,12 @@ IOP 외부 실행 호출은 OpenAI-compatible Responses API 방식을 기본 계
- [완료] Mattermost Push Plugin Extraction - [완료] Mattermost Push Plugin Extraction
- 경로: `agent-roadmap/archive/phase/mattermost-push-plugin-extraction/PHASE.md` - 경로: `agent-roadmap/archive/phase/mattermost-push-plugin-extraction/PHASE.md`
- 요약: Flutter 앱에 섞인 Mattermost push notification migration을 분리했고, 현재 package 경로는 `../nexo/packages/messaging_flutter`다. - 요약: Flutter 앱에 섞인 Mattermost push notification migration을 분리했고, 현재 package 경로는 `../nexo/packages/messaging_flutter`다.
- [검토중] Workflow Core - [완료] Workflow Core
- 경로: `agent-roadmap/phase/workflow-core/PHASE.md` - 경로: `agent-roadmap/archive/phase/workflow-core/PHASE.md`
- 요약: proto-socket 내부 통신 레일을 정리한 뒤 client-core 통신과 실제 e2e 흐름을 기준으로 task lifecycle, retry, timeout, notification event를 안정화한다. - 요약: proto-socket 내부 통신 레일을 정리한 뒤 client-core 통신과 실제 e2e 흐름을 기준으로 task lifecycle, retry, timeout, notification event를 안정화한다.
- [진행중] External Integration - [진행중] External Integration
- 경로: `agent-roadmap/phase/external-integration/PHASE.md` - 경로: `agent-roadmap/phase/external-integration/PHASE.md`
- 요약: Workflow Core 재개 전에 Mattermost/Nexo messaging 정합성을 먼저 닫고, 이후 Plane 확장, Mattermost, IOP OpenAI-compatible Responses 호출과 metadata 기반 실행 문맥 전달을 실제 통합 흐름으로 확장한다. - 요약: Workflow Core와 Mattermost/Nexo messaging 정합성 완료 이후 Plane 확장, Jira-compatible provider 추상화, Mattermost, IOP OpenAI-compatible Responses 호출과 metadata 기반 실행 문맥 전달을 실제 통합 흐름으로 확장한다.
- [계획] Project Workspace Management UX - [계획] Project Workspace Management UX
- 경로: `agent-roadmap/phase/project-workspace-management-ux/PHASE.md` - 경로: `agent-roadmap/phase/project-workspace-management-ux/PHASE.md`
- 요약: client integration 표준화는 완료했고, 실제 프로젝트 단위 앱 UX 구현은 core workflow와 외부 통합 기준 이후로 미룬다. - 요약: client integration 표준화는 완료했고, 실제 프로젝트 단위 앱 UX 구현은 core workflow와 외부 통합 기준 이후로 미룬다.

View file

@ -2,7 +2,7 @@
## 상태 ## 상태
[검토중] [완료]
## 목표 ## 목표

View file

@ -6,7 +6,7 @@
## 목표 ## 목표
Work Item Provider Pipeline Design과 Workflow Core 이후 Plane/Jira 확장, Mattermost, Agent Integrator, IOP OpenAI API Responses-compatible 호출을 실제 통합 흐름으로 확장한다. NomadCode가 직접 모델 런타임을 소유하지 않고 IOP의 외부 입력 표면을 호출하는 방향을 유지한다. Work Item Provider Pipeline Design과 Workflow Core 완료 이후 Plane 확장, Jira-compatible provider 추상화, Mattermost, Agent Integrator, IOP OpenAI API Responses-compatible 호출을 실제 통합 흐름으로 확장한다. NomadCode가 직접 모델 런타임을 소유하지 않고 IOP의 외부 입력 표면을 호출하는 방향을 유지한다.
## Milestone 흐름 ## Milestone 흐름
@ -23,12 +23,12 @@ Work Item Provider Pipeline Design과 Workflow Core 이후 Plane/Jira 확장, Ma
- [진행중] External Integration - [진행중] External Integration
- 경로: `agent-roadmap/phase/external-integration/milestones/external-integration.md` - 경로: `agent-roadmap/phase/external-integration/milestones/external-integration.md`
- 요약: Plane/Jira/Mattermost/Agent Integrator/IOP 호출 경계를 실제 통합 adapter 흐름으로 확장한다. - 요약: Plane, Jira-compatible provider 추상화, Mattermost, Agent Integrator, IOP 호출 경계를 실제 통합 adapter 흐름으로 확장한다.
## Phase 경계 ## Phase 경계
- 외부 provider 세부 구현은 adapter 경계 밖으로 새지 않게 한다. - 외부 provider 세부 구현은 adapter 경계 밖으로 새지 않게 한다.
- Mattermost Nexo Messaging Alignment는 현재 workflow/core 작업을 재개하기 전에 닫아야 하는 선행 정합성 작업이다. - Mattermost Nexo Messaging Alignment는 Workflow Core 완료 이후 외부 통합 구현을 시작하기 전에 닫은 선행 정합성 작업이다.
- Mattermost messaging Android smoke는 사용자 테스트를 제외하고 원격 Android SDK build와 알림 도착 확인까지만 완료 범위로 둔다. - Mattermost messaging Android smoke는 사용자 테스트를 제외하고 원격 Android SDK build와 알림 도착 확인까지만 완료 범위로 둔다.
- IOP 내부 모델 라우팅, 모델 프로파일, RAG, MCP, output validation, fallback 정책은 NomadCode 범위에서 제외한다. - IOP 내부 모델 라우팅, 모델 프로파일, RAG, MCP, output validation, fallback 정책은 NomadCode 범위에서 제외한다.
- A2A 도입 시점과 Agent Integrator 유지 여부는 사용자 결정이 필요하다. - A2A 도입 시점과 Agent Integrator 유지 여부는 사용자 결정이 필요하다.

View file

@ -7,7 +7,7 @@
## 목표 ## 목표
Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane/Jira 확장, Mattermost, IOP 실행 연결을 stub 또는 호환 호출 경로에서 실제 통합 흐름으로 확장한다. IOP 호출은 현재 단계에서 OpenAI-compatible Responses API 경로를 기본으로 하며, NomadCode/IOP 고유 실행 문맥은 `metadata` 확장으로 전달한다. NomadCode가 직접 모델 런타임을 호출하거나 IOP native protocol을 외부 호출 표면으로 사용하지 않는다. Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane 확장, Jira-compatible provider 추상화, Mattermost, IOP 실행 연결을 stub 또는 호환 호출 경로에서 실제 통합 흐름으로 확장한다. IOP 호출은 현재 단계에서 OpenAI-compatible Responses API 경로를 기본으로 하며, NomadCode/IOP 고유 실행 문맥은 `metadata` 확장으로 전달한다. NomadCode가 직접 모델 런타임을 호출하거나 IOP native protocol을 외부 호출 표면으로 사용하지 않는다.
## 상태 ## 상태
@ -23,8 +23,9 @@ Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane/Jira 확
## 범위 ## 범위
- provider별 HTTP handler를 늘리지 않아도 `workitem.Reader`/provider registry로 같은 intake pipeline을 탈 수 있는 provider-neutral 연결 구조
- Plane work item 생성 / comment / status update 확장 - Plane work item 생성 / comment / status update 확장
- Jira issue 조회 / comment / status transition adapter 구현 - Jira live API 구현은 테스트 환경이 생길 때까지 범위에서 제외하고, provider-neutral work item 계약이 Jira issue / comment / status transition 의미를 수용할 수 있게 추상화
- Mattermost 메시지 발송 구현 - Mattermost 메시지 발송 구현
- IOP Node agent interface를 호출하는 thin execution connector/adapter 경계 추가 - IOP Node agent interface를 호출하는 thin execution connector/adapter 경계 추가
- IOP OpenAI-compatible Responses API 호출 구조와 metadata 기반 실행 문맥 전달 추가 - IOP OpenAI-compatible Responses API 호출 구조와 metadata 기반 실행 문맥 전달 추가
@ -37,13 +38,14 @@ Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane/Jira 확
외부 work item provider, 협업 도구, 실행 표면을 adapter 경계 안에서 실제 통합 흐름으로 확장한다. 외부 work item provider, 협업 도구, 실행 표면을 adapter 경계 안에서 실제 통합 흐름으로 확장한다.
- [ ] [provider-intake-registry] Plane 전용 task intake handler를 provider-neutral registry/generic route 또는 동등한 조립 구조로 정리해, 새 provider가 `workitem.Reader`와 필요한 capability facet만 구현하면 같은 work item -> core task pipeline을 재사용할 수 있게 한다. 검증: Plane 기존 경로는 호환되거나 같은 registry를 통해 동작하고, Jira-compatible provider를 붙일 때 provider별 task handler/route를 새로 만들 필요가 없다.
- [ ] [plane-adapter-expand] Plane work item 생성, comment, status update adapter 확장. 검증: core가 Plane에 work item, comment, status update를 요청할 수 있다. - [ ] [plane-adapter-expand] Plane work item 생성, comment, status update adapter 확장. 검증: core가 Plane에 work item, comment, status update를 요청할 수 있다.
- [ ] [jira-adapter] Jira issue 조회, comment, status transition adapter 구현. 검증: core가 Jira에 issue 조회, comment, status transition을 요청할 수 있다. - [ ] [jira-adapter] Jira live provider 구현은 테스트 환경이 생길 때까지 범위에서 제외하고, provider-neutral work item 계약이 Jira issue 조회, comment, status transition 의미를 수용할 수 있게 추상화한다. 검증: Jira credential 없이도 core의 provider-neutral contract/unit tests가 Jira-compatible state/comment/projection 요구를 설명하고, live Jira API 호출/e2e를 요구하지 않는다.
- [ ] [mattermost-adapter] Mattermost 메시지 발송 adapter 구현과 `../nexo/packages/messaging_flutter` host notification boundary 정합성 유지. 검증: core가 Mattermost에 메시지를 발송하고, server-generated signed push smoke가 `agent-test/local/mattermost-server-generated-push-smoke.md` 기준으로 FCM/ACK/opened/reply/dismiss evidence를 남긴다. - [ ] [mattermost-adapter] Mattermost 메시지 발송 adapter 구현과 `../nexo/packages/messaging_flutter` host notification boundary 정합성 유지. 검증: core가 Mattermost에 메시지를 발송하고, server-generated signed push smoke가 `agent-test/local/mattermost-server-generated-push-smoke.md` 기준으로 FCM/ACK/opened/reply/dismiss evidence를 남긴다.
- [ ] [adapter-boundary] 외부 provider별 구현 경계 점검. 검증: provider 세부 구현이 adapter 경계 밖으로 새지 않는다.
- [x] [agent-integrator] Agent Integrator를 별도 runtime이 아닌 IOP Node agent interface용 thin execution connector/adapter 경계로 재정의한다. 검증: Agent Integrator 또는 그 대체 연결 지점이 명확히 정의되어 있다. - [x] [agent-integrator] Agent Integrator를 별도 runtime이 아닌 IOP Node agent interface용 thin execution connector/adapter 경계로 재정의한다. 검증: Agent Integrator 또는 그 대체 연결 지점이 명확히 정의되어 있다.
- [x] [iop-responses] IOP OpenAI-compatible Responses API 경로와 metadata 확장을 NomadCode의 기본 실행 호출 경로로 정리. 검증: IOP OpenAI-compatible Responses 호출 경로가 core workflow와 연결된다. - [x] [iop-responses] IOP OpenAI-compatible Responses API 경로와 metadata 확장을 NomadCode의 기본 실행 호출 경로로 정리. 검증: IOP OpenAI-compatible Responses 호출 경로가 core workflow와 연결된다.
- [x] [model-reclass] direct model endpoint / Ollama fallback 표현과 설정을 IOP 경유 호출 기준으로 재분류. 검증: NomadCode의 기본 실행 경로가 직접 모델 호출이 아니라 IOP 경유 호출임이 로드맵과 운영 문서에서 일관되게 읽힌다. - [x] [model-reclass] direct model endpoint / Ollama fallback 표현과 설정을 IOP 경유 호출 기준으로 재분류. 검증: NomadCode의 기본 실행 경로가 직접 모델 호출이 아니라 IOP 경유 호출임이 로드맵과 운영 문서에서 일관되게 읽힌다.
- [ ] [adapter-boundary] 외부 provider별 구현 경계 점검. 검증: provider 세부 구현이 adapter 경계 밖으로 새지 않는다.
## 완료 리뷰 ## 완료 리뷰
@ -58,6 +60,7 @@ Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane/Jira 확
## 범위 제외 ## 범위 제외
- Outline / Forgejo / Nextcloud 연동 - Outline / Forgejo / Nextcloud 연동
- Jira live API adapter 완성, 실제 Jira credential 기반 e2e smoke, Jira Cloud 운영 검증
- MCP 서버 - MCP 서버
- Web Agent UI - Web Agent UI
- Flutter 앱 기능 구현 - Flutter 앱 기능 구현
@ -71,7 +74,7 @@ Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane/Jira 확
- 주요 작업 영역: `services/core/internal/adapters/`, `services/core/internal/scheduler/`, `services/core/internal/workflow/` - 주요 작업 영역: `services/core/internal/adapters/`, `services/core/internal/scheduler/`, `services/core/internal/workflow/`
- 선행 작업: Work Item Provider Pipeline Design, Workflow Core, Mattermost Nexo Messaging Alignment - 선행 작업: Work Item Provider Pipeline Design, Workflow Core, Mattermost Nexo Messaging Alignment
- 후속 작업: Project Workspace Management UX - 후속 작업: Project Workspace Management UX
- 현재 지점: Workflow Core가 완료되어 Plane/Jira/Mattermost/Agent Integrator/IOP 호출 경계를 실제 adapter 흐름으로 확장하는 단계로 전환했다. `구현 잠금`의 직접 결정 항목은 현재 기준으로 해소되어 표준선에 따라 구현 계획을 만들 수 있다. - 현재 지점: Workflow Core Phase가 `[완료]`로 archive되었고, 현재 작업은 `[provider-intake-registry]`를 먼저 정리해 Plane/Jira-compatible/Mattermost 등 provider 확장이 같은 work item intake pipeline을 재사용하게 만드는 단계다. Jira는 현재 테스트 환경이 없으므로 live provider 구현 완료가 아니라 provider-neutral 추상화 적합성까지만 이 Milestone에서 다룬다. `구현 잠금`의 직접 결정 항목은 현재 기준으로 해소되어 표준선에 따라 구현 계획을 만들 수 있다.
- Mattermost signed push smoke 재현 가이드: `agent-test/local/mattermost-server-generated-push-smoke.md` - Mattermost signed push smoke 재현 가이드: `agent-test/local/mattermost-server-generated-push-smoke.md`
- private 환경값 router: `agent-test/local/mattermost-server-generated-push-smoke.md` (ignored local file) - private 환경값 router: `agent-test/local/mattermost-server-generated-push-smoke.md` (ignored local file)
- Mattermost 책임 경계: core는 Mattermost REST 메시지 발송과 task notification 발행을 담당하고, `../nexo/packages/messaging_flutter`는 client-side FCM 수신, signature 검증, ACK, notification display, opened-routing, inline reply, dismiss를 담당한다. - Mattermost 책임 경계: core는 Mattermost REST 메시지 발송과 task notification 발행을 담당하고, `../nexo/packages/messaging_flutter`는 client-side FCM 수신, signature 검증, ACK, notification display, opened-routing, inline reply, dismiss를 담당한다.
@ -79,6 +82,7 @@ Work Item Provider Pipeline Design과 workflow core 이후 남은 Plane/Jira 확
- Nexo host 정합성: NomadCode host는 Firebase 설정, Mattermost credential handoff, signing key, optional server identifier, navigation callback만 `MattermostPushClient` 경계로 전달한다. native push 처리 로직은 `apps/client/android`에 복제하지 않는다. - Nexo host 정합성: NomadCode host는 Firebase 설정, Mattermost credential handoff, signing key, optional server identifier, navigation callback만 `MattermostPushClient` 경계로 전달한다. native push 처리 로직은 `apps/client/android`에 복제하지 않는다.
- 선행 순서: Mattermost 메시지/알림 경계 정합성은 `agent-roadmap/archive/phase/external-integration/milestones/mattermost-nexo-messaging-alignment.md`에서 먼저 닫았고, 이후 `[mattermost-adapter]`는 core의 Mattermost REST 메시지 발송 구현에 집중한다. - 선행 순서: Mattermost 메시지/알림 경계 정합성은 `agent-roadmap/archive/phase/external-integration/milestones/mattermost-nexo-messaging-alignment.md`에서 먼저 닫았고, 이후 `[mattermost-adapter]`는 core의 Mattermost REST 메시지 발송 구현에 집중한다.
- Plane 제어 범위: 이 Milestone은 Plane work item 생성, comment, status update adapter 확장까지만 다룬다. Plane 상위 티켓/Milestone, 하위 티켓/Task 제어 흐름과 MCP 기반 agent-ops control plane은 `Agent-Ops MCP Control Plane` Phase로 미룬다. - Plane 제어 범위: 이 Milestone은 Plane work item 생성, comment, status update adapter 확장까지만 다룬다. Plane 상위 티켓/Milestone, 하위 티켓/Task 제어 흐름과 MCP 기반 agent-ops control plane은 `Agent-Ops MCP Control Plane` Phase로 미룬다.
- Provider pipeline 현재 상태: `services/core/internal/workitem``services/core/internal/workitempipeline`은 provider-neutral 계약을 갖고 있지만, HTTP intake wiring은 Plane 전용 route/handler에 치우쳐 있다. 이 Milestone에서는 `[provider-intake-registry]`로 상위 연결부를 정리해 provider 추가가 adapter/capability facet 확장 중심으로 닫히게 한다.
- Agent runtime 연결 기준: Agent Shell은 실제 agent runtime이 아니라 사용자 대화 UX surface이며, 실제 agent는 IOP Node의 agent interface 뒤에 있다. 따라서 `Agent Integrator`는 별도 runtime이나 A2A 전제 계층으로 키우지 않고, NomadCode core에서 IOP Node agent interface를 호출하는 thin execution connector/adapter 경계로 재정의한다. - Agent runtime 연결 기준: Agent Shell은 실제 agent runtime이 아니라 사용자 대화 UX surface이며, 실제 agent는 IOP Node의 agent interface 뒤에 있다. 따라서 `Agent Integrator`는 별도 runtime이나 A2A 전제 계층으로 키우지 않고, NomadCode core에서 IOP Node agent interface를 호출하는 thin execution connector/adapter 경계로 재정의한다.
- A2A 결정: 이번 Milestone은 A2A JSON-RPC 기반 외부 agent 추가, task 상태, artifact, cancel 흐름 공유를 구현하지 않는다. A2A는 IOP OpenAI-compatible Responses 표면으로 감당하기 어려운 agent-to-agent delegation 요구가 명확해질 때 후속 Milestone에서 재검토한다. - A2A 결정: 이번 Milestone은 A2A JSON-RPC 기반 외부 agent 추가, task 상태, artifact, cancel 흐름 공유를 구현하지 않는다. A2A는 IOP OpenAI-compatible Responses 표면으로 감당하기 어려운 agent-to-agent delegation 요구가 명확해질 때 후속 Milestone에서 재검토한다.
- IOP 호출 계약: 이번 Milestone의 기본 실행 호출 표면은 OpenAI-compatible Responses API로 정식 채택한다. NomadCode/IOP 전용 task/workspace/session/agent/approval/artifact/notification 의미는 별도 `iop` wrapper 필드를 만들지 않고 OpenAI-compatible `metadata` 또는 IOP native endpoint의 명시 필드로 전달한다. 완전 신규 프로토콜은 OpenAI-compatible 표면으로 task lifecycle, artifact, cancel, approval, streaming 요구를 감당하기 어렵다는 근거가 생길 때 재검토한다. - IOP 호출 계약: 이번 Milestone의 기본 실행 호출 표면은 OpenAI-compatible Responses API로 정식 채택한다. NomadCode/IOP 전용 task/workspace/session/agent/approval/artifact/notification 의미는 별도 `iop` wrapper 필드를 만들지 않고 OpenAI-compatible `metadata` 또는 IOP native endpoint의 명시 필드로 전달한다. 완전 신규 프로토콜은 OpenAI-compatible 표면으로 task lifecycle, artifact, cancel, approval, streaming 요구를 감당하기 어렵다는 근거가 생길 때 재검토한다.