update roadmap and add edge-local-dev-config-runtime milestone
This commit is contained in:
parent
b54f3945d4
commit
3a5a089426
5 changed files with 88 additions and 7 deletions
|
|
@ -25,9 +25,9 @@ RAG, context 구성/압축, web search, MCP 정책, tool policy, output validati
|
|||
- 경로: `agent-roadmap/archive/phase/edge-node-execution-foundation/PHASE.md`
|
||||
- 요약: Edge-Node 소켓 실행 경로, Node adapter execution, CLI session, 최소 외부 입력 표면을 안정화한 단계다.
|
||||
|
||||
- [진행중] Ollama 서빙 안정화 기반
|
||||
- 경로: `agent-roadmap/phase/serving-routing-optimization/PHASE.md`
|
||||
- 요약: Edge OpenAI-compatible API에서 Node의 Ollama adapter를 호출하는 E2E 경로를 실제 Ollama endpoint와 split-host 환경에서 안정화하는 단계다. 추가 provider, 표준화, 후속 최적화 계층은 포함하지 않는다.
|
||||
- [완료] Ollama 서빙 안정화 기반
|
||||
- 경로: `agent-roadmap/archive/phase/serving-routing-optimization/PHASE.md`
|
||||
- 요약: Edge OpenAI-compatible API에서 Node의 Ollama adapter를 호출하는 E2E 경로를 실제 Ollama endpoint와 split-host 환경에서 안정화했다. 추가 provider, 표준화, 후속 최적화 계층은 후속 Phase로 넘긴다.
|
||||
|
||||
- [계획] 추론 서버 provider 확장
|
||||
- 경로: `agent-roadmap/phase/inference-provider-extension/PHASE.md`
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
## 상태
|
||||
|
||||
[진행중]
|
||||
[완료]
|
||||
|
||||
## 목표
|
||||
|
||||
|
|
@ -2,12 +2,14 @@
|
|||
|
||||
## 활성 Phase
|
||||
|
||||
- [진행중] Ollama 서빙 안정화 기반
|
||||
- 경로: `agent-roadmap/phase/serving-routing-optimization/PHASE.md`
|
||||
- [계획] Control Plane과 Client 운영
|
||||
- 경로: `agent-roadmap/phase/control-plane-portal-ops/PHASE.md`
|
||||
|
||||
## 활성 Milestone
|
||||
|
||||
- 없음
|
||||
- [계획] Edge-local Dev Config와 바이너리 중심 실행 루프
|
||||
- Phase: `agent-roadmap/phase/control-plane-portal-ops/PHASE.md`
|
||||
- 경로: `agent-roadmap/phase/control-plane-portal-ops/milestones/edge-local-dev-config-runtime.md`
|
||||
|
||||
## 선택 규칙
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,10 @@
|
|||
- 경로: `agent-roadmap/archive/phase/control-plane-portal-ops/milestones/flutter-first-portal-migration.md`
|
||||
- 요약: Next.js `apps/web` scaffold를 제거하고 `apps/portal` Flutter 앱, Flutter Web compose 배포 흐름, Portal-Control Plane proto-socket WS hello 기반을 세웠다.
|
||||
|
||||
- [계획] Edge-local Dev Config와 바이너리 중심 실행 루프
|
||||
- 경로: `agent-roadmap/phase/control-plane-portal-ops/milestones/edge-local-dev-config-runtime.md`
|
||||
- 요약: Control Plane이 없는 동안 `edge.yaml`을 테스트용 source of truth로 삼고, 로컬/개발 서버 config, bootstrap, setup, smoke test를 `iop-edge` command 중심으로 모은다.
|
||||
|
||||
- [계획] Client Integration Clone Adoption
|
||||
- 경로: `agent-roadmap/phase/control-plane-portal-ops/milestones/client-integration-clone-adoption.md`
|
||||
- 요약: NomadCode client 표준을 IOP client에 복제하기 위한 모듈명, bootstrap, proto-socket, Mattermost push host integration 기준을 정리한다.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,75 @@
|
|||
# Milestone: Edge-local Dev Config와 바이너리 중심 실행 루프
|
||||
|
||||
## 위치
|
||||
|
||||
- Roadmap: `agent-roadmap/ROADMAP.md`
|
||||
- Phase: `agent-roadmap/phase/control-plane-portal-ops/PHASE.md`
|
||||
|
||||
## 목표
|
||||
|
||||
Control Plane이 아직 없는 동안 `edge.yaml`을 개발/테스트용 Control Plane source of truth로 사용한다.
|
||||
로컬/개발 서버 배포와 smoke test는 helper script나 모델용 skill로 흩뜨리지 않고 `iop-edge` command 표면에 모으며, Node 사용자는 `node.yaml`을 만들거나 편집하지 않고 Edge가 제공하는 bootstrap만 실행한다.
|
||||
Edge/Node 바이너리는 repo checkout 위치에 묶이지 않고, 바이너리와 같은 폴더의 구조화된 config와 artifact만으로 실행 가능해야 한다.
|
||||
|
||||
## 상태
|
||||
|
||||
[계획]
|
||||
|
||||
## 승격 조건
|
||||
|
||||
- 없음
|
||||
|
||||
## 구현 잠금
|
||||
|
||||
- 상태: 해제
|
||||
- 결정 필요: 없음
|
||||
|
||||
## 범위
|
||||
|
||||
- Control Plane 부재 시 사용할 `edge.yaml` 구조를 Edge-local dev/test source of truth로 정리한다.
|
||||
- `iop-edge`가 바이너리 기준 경로의 `edge.yaml`을 기본 config 후보로 찾고, repo checkout 없이 실행 가능하게 한다.
|
||||
- Node별 id/alias/token/adapter/runtime 설정은 Edge config의 `nodes[]`에서 관리한다.
|
||||
- Node host 사용자는 Edge가 발급한 bootstrap 명령만 실행하고, `node.yaml` 생성/편집/확인이나 `iop-node serve --config ...` 직접 실행을 기본 경로로 보지 않는다.
|
||||
- 로컬/개발 서버 셋업, 실행, config 확인, Node bootstrap 발급, 기본 smoke test를 `iop-edge` command 중심으로 수렴시킨다.
|
||||
- 기존 `iop-node` 바이너리는 실행자로 유지하되, 사용자-facing 제어와 배포 루프는 `iop-edge`가 안내하고 조립한다.
|
||||
|
||||
## 기능
|
||||
|
||||
### Epic: [edge-dev-loop] Edge-local dev loop
|
||||
|
||||
Control Plane이 붙기 전까지 Edge 바이너리와 `edge.yaml`만으로 개발 서버 배포와 Edge-Node smoke를 반복 가능하게 만든다.
|
||||
|
||||
- [ ] [config-discovery] `iop-edge`는 `--config`가 없을 때 repo 상대 `configs/edge.yaml`에 의존하지 않고, 바이너리와 같은 폴더의 `edge.yaml` 같은 배포용 기본 config 후보를 우선 사용할 수 있다. 검증: 임시 폴더에 `iop-edge`와 `edge.yaml`만 둔 상태에서 `iop-edge config check`와 `iop-edge serve`가 동작한다.
|
||||
- [ ] [edge-source] `edge.yaml`은 Control Plane 없는 개발 단계의 source of truth로서 `nodes[]`에 Node id, alias, token, adapter, runtime 설정을 담는다. 검증: `iop-edge config check`가 `nodes[]` token/id/alias 충돌과 adapter/runtime 설정 오류를 잡는다.
|
||||
- [ ] [edge-commands] Node 등록 관리, bootstrap command 발급, local/dev setup, 실행 전 config 확인, smoke test 진입점은 공식 사용자 경로에서 `iop-edge` command로 제공된다. 검증: 문서와 help output에서 `bin/*`, 별도 dev deploy 바이너리, 모델용 skill이 공식 경로로 등장하지 않는다.
|
||||
- [ ] [node-hidden-config] Node 사용자 UX는 Edge가 제시한 bootstrap 한 줄로 끝나며 `node.yaml` 생성, 편집, 확인 또는 `iop-node serve --config ...` 직접 실행을 요구하지 않는다. 검증: 사용자용 dev/field 가이드에 node config 파일 조작 단계가 없다.
|
||||
- [ ] [bundle-run] Edge/Node dev bundle은 repo checkout 위치와 무관하게 바이너리 옆 config/artifact만으로 실행 가능하다. 검증: clean temp dir 또는 개발 서버 배포 디렉터리에서 Edge 실행, Node bootstrap, Node registration, `/v1/models` smoke가 통과한다.
|
||||
|
||||
## 완료 리뷰
|
||||
|
||||
- 상태: 없음
|
||||
- 요청일: 없음
|
||||
- 완료 근거: 모든 기능 Task와 Task 안에 명시된 검증이 아직 충족되지 않았다.
|
||||
- 리뷰 필요:
|
||||
- [ ] 사용자가 완료 결과를 확인했다
|
||||
- [ ] archive 이동을 승인했다
|
||||
- 리뷰 코멘트: 없음
|
||||
|
||||
## 범위 제외
|
||||
|
||||
- Control Plane server의 실제 Edge config sync/enrollment 구현
|
||||
- Flutter client 운영 화면 구현
|
||||
- 별도 `bin/dev-deploy`, 별도 dev deploy 바이너리, 모델용 agent skill을 공식 사용자 경로로 만드는 작업
|
||||
- Node 사용자에게 `node.yaml` 작성/편집/확인 또는 `iop-node serve --config ...` 직접 실행을 요구하는 UX
|
||||
- production release, signing, long-term credential rotation, mTLS 세부 구현
|
||||
|
||||
## 작업 컨텍스트
|
||||
|
||||
- 관련 경로: `apps/edge/cmd/edge`, `apps/edge/internal/bootstrap`, `apps/edge/internal/node`, `apps/edge/internal/transport`, `apps/node/cmd/node`, `apps/node/internal/bootstrap`, `packages/config`, `packages/hostsetup`, `configs/edge.yaml`, `docs/deploy-dev.md`, `docs/field-bootstrap-work-guide.md`, `README.md`, `agent-ops/rules/project/rules.md`
|
||||
- 표준선(선택): README의 Edge 책임 중 `Edge-managed Node bootstrap/configuration`과 `Edge는 자신의 로컬 런타임 상태를 소유한다`는 원칙을 따른다.
|
||||
- 표준선(선택): Control Plane 부재 개발 단계에서는 `edge.yaml`이 테스트용 Control Plane 역할을 하며, `nodes[]`가 Node별 실행 설정의 원본이다.
|
||||
- 표준선(선택): 공식 사용자 UX는 `iop-edge`와 `iop-node` command 표면에 모으되, Node 사용자는 Edge bootstrap만 실행하고 Node config 파일을 다루지 않는다.
|
||||
- 표준선(선택): helper script가 필요해도 내부 개발 보조로만 두고 공식 로컬/dev 배포 경로로 문서화하지 않는다.
|
||||
- 선행 작업: Field Bootstrap UX와 테스트 포트 정비
|
||||
- 후속 작업: Control Plane과 Client, Agent Bootstrap과 OTO 등록, Multi-Edge 운영
|
||||
- 확인 필요: 없음
|
||||
Loading…
Reference in a new issue