docs(roadmap): 포트 환경 표준화를 우선한다

workspace 포트와 환경 변수 기준을 먼저 정리하기 위해 Agent-Ops MCP Control Plane phase를 진행중으로 전환하고 기존 work item/provider slot 마일스톤을 계획 후보로 조정한다.
This commit is contained in:
toki 2026-06-07 19:30:14 +09:00
parent a5449ab91c
commit a42403d8bc
6 changed files with 82 additions and 13 deletions

View file

@ -4,7 +4,7 @@
NomadCode는 Flutter 기반 앱, core 서비스, 공유 계약, agent-operation 규칙을 하나의 원레포로 묶어 AI-assisted development workflow를 조율하는 프로젝트다. NomadCode는 Flutter 기반 앱, core 서비스, 공유 계약, agent-operation 규칙을 하나의 원레포로 묶어 AI-assisted development workflow를 조율하는 프로젝트다.
현재 로드맵은 `ROADMAP.md -> phase/<phase-slug>/PHASE.md -> phase/<phase-slug>/milestones/<milestone-slug>.md` scaffold를 기준으로 관리한다. React/Vite 웹 콘솔 제거, 서버/Plane/provider 기반 작업, Flutter-first 클라이언트 정리, Mattermost push plugin extraction, client integration 표준화는 완료되었다. 현재는 Project Workspace Management UX가 진행중이며, 최우선 작업은 IOP/OTO 같은 외부 Flutter console을 provider slot으로 삽입할 수 있게 하는 Workbench Provider Slot Composition이다. Agent-Ops MCP Control Plane은 provider slot 작업 이후 계획 후보로 둔다. 현재 로드맵은 `ROADMAP.md -> phase/<phase-slug>/PHASE.md -> phase/<phase-slug>/milestones/<milestone-slug>.md` scaffold를 기준으로 관리한다. React/Vite 웹 콘솔 제거, 서버/Plane/provider 기반 작업, Flutter-first 클라이언트 정리, Mattermost push plugin extraction, client integration 표준화는 완료되었다. 현재 최상위 진행 마일스톤은 workspace 포트/환경 표준화이며, Workbench Provider Slot Composition과 work item sync 계열은 계획 후보로 둔다.
IOP 외부 실행 호출은 OpenAI-compatible Responses API 방식을 기본 계약으로 채택하고, NomadCode/IOP 고유의 task, workspace, session, approval, artifact, notification 문맥은 별도 `iop` wrapper field가 아니라 `metadata` 확장으로 전달한다. A2A는 agent-to-agent delegation이 명확히 필요할 때 재검토하며, IOP native protocol은 NomadCode의 기본 외부 실행 호출 표면으로 쓰지 않는다. IOP 외부 실행 호출은 OpenAI-compatible Responses API 방식을 기본 계약으로 채택하고, NomadCode/IOP 고유의 task, workspace, session, approval, artifact, notification 문맥은 별도 `iop` wrapper field가 아니라 `metadata` 확장으로 전달한다. A2A는 agent-to-agent delegation이 명확히 필요할 때 재검토하며, IOP native protocol은 NomadCode의 기본 외부 실행 호출 표면으로 쓰지 않는다.
@ -35,12 +35,12 @@ IOP 외부 실행 호출은 OpenAI-compatible Responses API 방식을 기본 계
- [검토중] External Integration - [검토중] External Integration
- 경로: `agent-roadmap/phase/external-integration/PHASE.md` - 경로: `agent-roadmap/phase/external-integration/PHASE.md`
- 요약: Plane 확장, Jira-compatible provider 추상화, Mattermost, IOP OpenAI-compatible Responses 호출과 metadata 기반 실행 문맥 전달을 완료했고, Phase 완료 확인과 archive 승인을 기다린다. - 요약: Plane 확장, Jira-compatible provider 추상화, Mattermost, IOP OpenAI-compatible Responses 호출과 metadata 기반 실행 문맥 전달을 완료했고, Phase 완료 확인과 archive 승인을 기다린다.
- [진행중] Project Workspace Management UX - [진행중] Agent-Ops MCP Control Plane
- 경로: `agent-roadmap/phase/project-workspace-management-ux/PHASE.md`
- 요약: client integration 표준화, core workflow, 외부 통합 기준 이후 프로젝트 단위 앱 UX를 다루며, 현재는 provider slot 기반 외부 console composition을 최우선으로 진행한다.
- [계획] Agent-Ops MCP Control Plane
- 경로: `agent-roadmap/phase/agent-ops-mcp-control-plane/PHASE.md` - 경로: `agent-roadmap/phase/agent-ops-mcp-control-plane/PHASE.md`
- 요약: 로드맵 기반 agent-ops 운영 자동화, Plane/Jira 같은 work item provider와 Milestone item의 양방향 동기화 도메인, 외부 agent용 MCP 제어 표면을 다루는 계획 후보다. - 요약: 로드맵 기반 agent-ops 운영 자동화, Plane/Jira 같은 work item provider와 Milestone item의 양방향 동기화 도메인, 외부 agent용 MCP 제어 표면을 다루며, 현재는 workspace 포트/환경 표준화를 최상위 진행 마일스톤으로 둔다.
- [계획] Project Workspace Management UX
- 경로: `agent-roadmap/phase/project-workspace-management-ux/PHASE.md`
- 요약: client integration 표준화, core workflow, 외부 통합 기준 이후 프로젝트 단위 앱 UX를 다루며, provider slot 기반 외부 console composition은 계획 후보로 둔다.
## 로딩 정책 ## 로딩 정책

View file

@ -2,11 +2,11 @@
## 상태 ## 상태
[계획] [진행중]
## 목표 ## 목표
로드맵 기반 agent-ops 운영 루프, Plane/Jira 같은 work item provider와 Milestone item의 양방향 동기화 도메인, 외부 agent 제어 표면을 Core action과 MCP tool 계층으로 분리한다. Workbench Provider Slot Composition을 최우선으로 전환하는 동안 이 Phase는 계획 후보로 둔다. 로드맵 기반 agent-ops 운영 루프, Plane/Jira 같은 work item provider와 Milestone item의 양방향 동기화 도메인, 외부 agent 제어 표면을 Core action과 MCP tool 계층으로 분리한다. 현재는 workspace 포트/환경 표준화를 최상위 진행 마일스톤으로 두고, work item sync와 실행 lifecycle은 계획 후보로 둔다.
## Milestone 흐름 ## Milestone 흐름
@ -14,7 +14,11 @@
완료, 검토중, 진행중, 계획, 스케치 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다. 완료, 검토중, 진행중, 계획, 스케치 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다.
스케치 Milestone은 아직 구현 가능한 계획이 아니므로 계획 Milestone보다 아래에 둔다. 스케치 Milestone은 아직 구현 가능한 계획이 아니므로 계획 Milestone보다 아래에 둔다.
- [진행중] Milestone Work Item Creation Sync - [진행중] 워크스페이스 포트/환경 표준화
- 경로: `agent-roadmap/phase/agent-ops-mcp-control-plane/milestones/workspace-port-env-standardization.md`
- 요약: NomadCode client/core/compose/test runner 포트와 IOP Edge 연동 endpoint를 workspace 공통 대역과 remote runner 문서 기준으로 정리한다.
- [계획] Milestone Work Item Creation Sync
- 경로: `agent-roadmap/phase/agent-ops-mcp-control-plane/milestones/milestone-work-item-creation-sync.md` - 경로: `agent-roadmap/phase/agent-ops-mcp-control-plane/milestones/milestone-work-item-creation-sync.md`
- 요약: Plane-origin 방식으로 Milestone을 생성하고 Plane Todo 티켓까지 동기화한 뒤 멈추는 계획 후보다. Workspace agent 실행은 IOP CLI 1차 통로를 선행으로 두며, Agent chat/IDE-origin 생성 projection은 이번 범위에서 제외한다. - 요약: Plane-origin 방식으로 Milestone을 생성하고 Plane Todo 티켓까지 동기화한 뒤 멈추는 계획 후보다. Workspace agent 실행은 IOP CLI 1차 통로를 선행으로 두며, Agent chat/IDE-origin 생성 projection은 이번 범위에서 제외한다.

View file

@ -11,7 +11,7 @@ Plane-origin 경로로 Milestone을 생성하고, `develop` branch의 agent-road
## 상태 ## 상태
[진행중] [계획]
## 구현 잠금 ## 구현 잠금

View file

@ -0,0 +1,65 @@
# Milestone: 워크스페이스 포트/환경 표준화
## 위치
- Roadmap: `agent-roadmap/ROADMAP.md`
- Phase: `agent-roadmap/phase/agent-ops-mcp-control-plane/PHASE.md`
## 목표
NomadCode의 Flutter client, core service, compose/local run, code-server preview, IOP Edge 연동 endpoint를 workspace 공통 포트 대역으로 정리한다. 기존 `8080` 기반 local core와 web preview 관례는 바로 깨지지 않게 compatibility note를 남기고, host publish와 remote runner 문서부터 같은 대역 언어로 맞춘다.
## 상태
[진행중]
## 구현 잠금
- 상태: 해제
- 결정 필요: 없음
## 범위
- Flutter/client web preview와 code-server proxy preview를 frontend 대역 후보로 정리
- Core HTTP/API host publish와 local default `8080` compatibility note 정리
- PostgreSQL/Redis host publish는 필요할 때만 DB/cache offset 대역으로 노출하고, compose 내부 통신은 service DNS를 우선한다는 기준 정리
- IOP Edge OpenAI-compatible Responses endpoint, model provider URL, remote Android runner 환경 변수를 private 값 없이 문서화
- Plane, Mattermost, Jira, Firebase 같은 외부 integration 값은 endpoint 책임 경계만 기록하고 token/secret은 tracked 문서에서 제외
## 기능
### Epic: [inventory] NomadCode environment inventory
NomadCode가 직접 소유한 client/core 포트와 외부 IOP/Nexo/Plane 연동 endpoint를 분리해 정리한다.
- [ ] [client-preview] Flutter web/code-server preview 포트를 frontend 대역 `13010` 후보로 정리하고 기존 local preview 포트와의 호환성을 기록한다.
- [ ] [core-port] Core HTTP/API host publish 후보를 backend `18010`으로 문서화하되, 기존 `8080` local default와 migration note를 남긴다.
- [ ] [infra-ports] PostgreSQL/Redis host publish 후보를 `15410/16310`으로 정리하고, compose 내부 통신은 service DNS 우선으로 문서화한다.
- [ ] [external-endpoints] IOP Edge OpenAI-compatible endpoint, Nexo messaging package, Plane/Mattermost/Jira integration은 raw secret 없이 source of truth와 책임 경계만 남긴다.
## 완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 없음
- 리뷰 필요:
- [ ] 사용자가 완료 결과를 확인했다
- [ ] archive 이동을 승인했다
- 리뷰 코멘트: 없음
## 범위 제외
- Plane/Jira work item sync 구현
- Workbench/provider slot UI 구현
- IOP 모델 라우팅, RAG, MCP/tool policy 구현
- token, password, Firebase/Jira/Plane secret 기록
- remote Android runner 또는 code-server host 즉시 재배포
## 작업 컨텍스트
- 관련 경로: `apps/client/`, `services/core/`, `docker-compose.yml`, `.env.example`, `agent-test/local/`, `packages/contracts/`
- 외부 관련 경로: `../iop/`, `../nexo/packages/messaging_flutter/`, `../proto-socket/dart/`
- 표준선(선택): container 내부 포트와 기존 local default는 compatibility baseline으로 유지하고, host publish, preview, remote runner 문서부터 workspace 대역으로 정렬한다.
- 선행 작업: workspace 공통 포트 inventory 정리
- 후속 작업: compose/env/test smoke 갱신과 drift 방지
- 확인 필요: 없음

View file

@ -2,7 +2,7 @@
## 상태 ## 상태
[진행중] [계획]
## 목표 ## 목표
@ -17,7 +17,7 @@ Flutter-first 클라이언트 구조 위에서 `apps/client` 모듈, web/mobile
- 경로: `agent-roadmap/archive/phase/project-workspace-management-ux/milestones/client-integration-standardization.md` - 경로: `agent-roadmap/archive/phase/project-workspace-management-ux/milestones/client-integration-standardization.md`
- 요약: NomadCode client를 기준으로 `apps/client` 모듈명, Web + Android 우선 bootstrap, proto-socket, Mattermost push host integration, cloning handoff를 표준화했다. - 요약: NomadCode client를 기준으로 `apps/client` 모듈명, Web + Android 우선 bootstrap, proto-socket, Mattermost push host integration, cloning handoff를 표준화했다.
- [진행중] Workbench Provider Slot Composition - [계획] Workbench Provider Slot Composition
- 경로: `agent-roadmap/phase/project-workspace-management-ux/milestones/workbench-provider-slot-composition.md` - 경로: `agent-roadmap/phase/project-workspace-management-ux/milestones/workbench-provider-slot-composition.md`
- 요약: 상단 titlebar와 우측 icon rail 기반 workbench를 유지하면서 IOP/OTO 같은 외부 Flutter console을 provider slot으로 등록, 삽입, 제거할 수 있는 구조로 정리한다. - 요약: 상단 titlebar와 우측 icon rail 기반 workbench를 유지하면서 IOP/OTO 같은 외부 Flutter console을 provider slot으로 등록, 삽입, 제거할 수 있는 구조로 정리한다.

View file

@ -11,7 +11,7 @@ NomadCode Flutter 앱의 상단 titlebar와 우측 icon rail 기반 workbench sh
## 상태 ## 상태
[진행중] [계획]
## 구현 잠금 ## 구현 잠금