diff --git a/agent-roadmap/ROADMAP.md b/agent-roadmap/ROADMAP.md index 085931f..ae41878 100644 --- a/agent-roadmap/ROADMAP.md +++ b/agent-roadmap/ROADMAP.md @@ -4,7 +4,7 @@ NomadCode는 Flutter 기반 앱, core 서비스, 공유 계약, agent-operation 규칙을 하나의 원레포로 묶어 AI-assisted development workflow를 조율하는 프로젝트다. -현재 로드맵은 `ROADMAP.md -> phase//PHASE.md -> phase//milestones/.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.md -> phase//milestones/.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의 기본 외부 실행 호출 표면으로 쓰지 않는다. @@ -35,12 +35,12 @@ IOP 외부 실행 호출은 OpenAI-compatible Responses API 방식을 기본 계 - [검토중] External Integration - 경로: `agent-roadmap/phase/external-integration/PHASE.md` - 요약: Plane 확장, Jira-compatible provider 추상화, Mattermost, IOP OpenAI-compatible Responses 호출과 metadata 기반 실행 문맥 전달을 완료했고, Phase 완료 확인과 archive 승인을 기다린다. -- [진행중] Project Workspace Management UX - - 경로: `agent-roadmap/phase/project-workspace-management-ux/PHASE.md` - - 요약: client integration 표준화, core workflow, 외부 통합 기준 이후 프로젝트 단위 앱 UX를 다루며, 현재는 provider slot 기반 외부 console composition을 최우선으로 진행한다. -- [계획] Agent-Ops MCP Control Plane +- [진행중] Agent-Ops MCP Control Plane - 경로: `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은 계획 후보로 둔다. ## 로딩 정책 diff --git a/agent-roadmap/phase/agent-ops-mcp-control-plane/PHASE.md b/agent-roadmap/phase/agent-ops-mcp-control-plane/PHASE.md index 28d3c10..565ffc8 100644 --- a/agent-roadmap/phase/agent-ops-mcp-control-plane/PHASE.md +++ b/agent-roadmap/phase/agent-ops-mcp-control-plane/PHASE.md @@ -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 흐름 @@ -14,7 +14,11 @@ 완료, 검토중, 진행중, 계획, 스케치 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다. 스케치 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` - 요약: Plane-origin 방식으로 Milestone을 생성하고 Plane Todo 티켓까지 동기화한 뒤 멈추는 계획 후보다. Workspace agent 실행은 IOP CLI 1차 통로를 선행으로 두며, Agent chat/IDE-origin 생성 projection은 이번 범위에서 제외한다. diff --git a/agent-roadmap/phase/agent-ops-mcp-control-plane/milestones/milestone-work-item-creation-sync.md b/agent-roadmap/phase/agent-ops-mcp-control-plane/milestones/milestone-work-item-creation-sync.md index 4aa579d..5c7ed49 100644 --- a/agent-roadmap/phase/agent-ops-mcp-control-plane/milestones/milestone-work-item-creation-sync.md +++ b/agent-roadmap/phase/agent-ops-mcp-control-plane/milestones/milestone-work-item-creation-sync.md @@ -11,7 +11,7 @@ Plane-origin 경로로 Milestone을 생성하고, `develop` branch의 agent-road ## 상태 -[진행중] +[계획] ## 구현 잠금 diff --git a/agent-roadmap/phase/agent-ops-mcp-control-plane/milestones/workspace-port-env-standardization.md b/agent-roadmap/phase/agent-ops-mcp-control-plane/milestones/workspace-port-env-standardization.md new file mode 100644 index 0000000..abdc804 --- /dev/null +++ b/agent-roadmap/phase/agent-ops-mcp-control-plane/milestones/workspace-port-env-standardization.md @@ -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 방지 +- 확인 필요: 없음 diff --git a/agent-roadmap/phase/project-workspace-management-ux/PHASE.md b/agent-roadmap/phase/project-workspace-management-ux/PHASE.md index 68a4296..cbac1f4 100644 --- a/agent-roadmap/phase/project-workspace-management-ux/PHASE.md +++ b/agent-roadmap/phase/project-workspace-management-ux/PHASE.md @@ -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` - 요약: 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` - 요약: 상단 titlebar와 우측 icon rail 기반 workbench를 유지하면서 IOP/OTO 같은 외부 Flutter console을 provider slot으로 등록, 삽입, 제거할 수 있는 구조로 정리한다. diff --git a/agent-roadmap/phase/project-workspace-management-ux/milestones/workbench-provider-slot-composition.md b/agent-roadmap/phase/project-workspace-management-ux/milestones/workbench-provider-slot-composition.md index a465282..2a0bcf1 100644 --- a/agent-roadmap/phase/project-workspace-management-ux/milestones/workbench-provider-slot-composition.md +++ b/agent-roadmap/phase/project-workspace-management-ux/milestones/workbench-provider-slot-composition.md @@ -11,7 +11,7 @@ NomadCode Flutter 앱의 상단 titlebar와 우측 icon rail 기반 workbench sh ## 상태 -[진행중] +[계획] ## 구현 잠금