From a6f932eaa7ffb8c4adb569b9676affb926859b8d Mon Sep 17 00:00:00 2001 From: toki Date: Thu, 21 May 2026 18:14:47 +0900 Subject: [PATCH] chore: update project documentation, roadmap, and rules --- README.md | 6 +- agent-ops/roadmap/ROADMAP.md | 92 +++++++++---------- agent-ops/roadmap/current.md | 14 +-- .../M01-edge-node-execution-skeleton.md | 22 ++--- .../milestones/M02-edge-input-surfaces.md | 20 ++-- ...03-cli-automation-runtime-stabilization.md | 20 ++-- .../M04-remote-terminal-bridge-poc.md | 26 +++--- .../M05-agent-bootstrap-oto-enrollment.md | 22 ++--- .../milestones/M06-control-plane-portal.md | 20 ++-- .../milestones/M07-policy-history-audit.md | 26 +++--- .../milestones/M08-multi-edge-operations.md | 22 ++--- agent-ops/rules/project/rules.md | 12 +-- 12 files changed, 151 insertions(+), 151 deletions(-) diff --git a/README.md b/README.md index 7b6a043..fc9d8a6 100644 --- a/README.md +++ b/README.md @@ -228,10 +228,10 @@ NomadCode `apps/web`은 IOP 전체 Web Portal이며, `apps/control-plane`은 Go 기반 운영 제어 서버다. 주요 통신은 edge-node에서 사용 중인 protobuf-socket을 IOP Wire Protocol 기준으로 Portal-Control Plane, Control Plane-Edge, Edge-Node 방향으로 확장한다. `net/http`는 health/readiness/bootstrap 같은 보조 endpoint 용도로 유지한다. -## Roadmap +## 로드맵 -제품 방향, Phase, Milestone, 우선순위의 canonical source of truth는 `agent-ops/roadmap/ROADMAP.md`다. -일반 작업에서 AI가 읽어야 하는 현재 작업 기준은 `agent-ops/roadmap/current.md`가 가리키는 Default Milestone 또는 요청에 맞는 Active Milestone 문서다. +제품 방향, 단계, 마일스톤, 우선순위의 단일 기준 문서는 `agent-ops/roadmap/ROADMAP.md`다. +일반 작업에서 AI가 읽어야 하는 현재 작업 기준은 `agent-ops/roadmap/current.md`가 가리키는 기본 마일스톤 또는 요청에 맞는 활성 마일스톤 문서다. 로드맵의 큰 축은 Edge-Node 실행 기반, Edge input surface, CLI Automation runtime, remote terminal bridge, agent bootstrap/OTO enrollment, Control Plane/Portal, policy/history/audit, multi-edge operations로 관리한다. diff --git a/agent-ops/roadmap/ROADMAP.md b/agent-ops/roadmap/ROADMAP.md index e86bfbf..dccb22e 100644 --- a/agent-ops/roadmap/ROADMAP.md +++ b/agent-ops/roadmap/ROADMAP.md @@ -1,73 +1,73 @@ -# IOP Roadmap +# IOP 로드맵 -이 문서는 IOP 제품 방향과 Phase/Milestone의 canonical source of truth다. -README와 `docs/**`는 제품 소개, 아키텍처 원칙, 운영 절차를 설명하고, 미래 계획과 우선순위는 이 문서와 각 Milestone 문서에서 관리한다. +이 문서는 IOP 제품 방향과 단계/마일스톤의 단일 기준 문서다. +README와 `docs/**`는 제품 소개, 아키텍처 원칙, 운영 절차를 설명하고, 미래 계획과 우선순위는 이 문서와 각 마일스톤 문서에서 관리한다. -## Overall Goal +## 전체 목표 IOP(Inference Operations Platform)는 Control Plane - Edge - Node 계층 구조를 기반으로 모델 서빙과 CLI Agent/Automation 실행을 함께 운영하는 실행 오케스트레이션 플랫폼을 만든다. 내부 실행 모델은 `adapter + target`을 기준으로 하며, Edge가 로컬 실행 그룹의 상태와 라우팅을 소유하고 Control Plane은 Edge를 통해 시스템을 관찰하고 제어한다. -## Current Position +## 현재 위치 -- Active Phase: Phase 1. Edge-Node Execution Foundation -- Default Milestone: M01 Edge-Node Execution Skeleton -- Default Milestone File: `agent-ops/roadmap/milestones/M01-edge-node-execution-skeleton.md` -- Active Milestones: - - M01 Edge-Node Execution Skeleton: `agent-ops/roadmap/milestones/M01-edge-node-execution-skeleton.md` - - M02 Edge Input Surfaces: `agent-ops/roadmap/milestones/M02-edge-input-surfaces.md` +- 활성 단계: Phase 1. Edge-Node 실행 기반 +- 기본 마일스톤: M01 Edge-Node 실행 스켈레톤 +- 기본 마일스톤 문서: `agent-ops/roadmap/milestones/M01-edge-node-execution-skeleton.md` +- 활성 마일스톤: + - M01 Edge-Node 실행 스켈레톤: `agent-ops/roadmap/milestones/M01-edge-node-execution-skeleton.md` + - M02 Edge 입력 표면: `agent-ops/roadmap/milestones/M02-edge-input-surfaces.md` -## Loading Policy +## 로딩 정책 - 일반 기능 추가, 구조 변경, 스킬 추가/수정, 문서 구조 변경 작업에서는 `agent-ops/roadmap/current.md`를 먼저 읽는다. -- 요청이 Default Milestone 범위에 맞으면 Default Milestone 문서를 같은 세션에서 1회 읽는다. -- 요청이 Default Milestone과 맞지 않으면 `current.md`의 Active Milestones 목록에서 가장 관련 있는 Milestone 문서를 같은 세션에서 1회 읽는다. -- Active Milestones에도 맞지 않으면 `agent-ops/roadmap/ROADMAP.md`의 Milestone 인덱스를 확인하고 사용자에게 진행/전환 여부를 확인한다. -- `agent-ops/roadmap/ROADMAP.md`는 로드맵 생성/갱신, Phase 전환, Milestone 추가/수정 요청이 있을 때만 읽는다. -- 작업 요청이 선택된 Milestone의 Goal 또는 Non-Goals와 충돌하면 구현 전에 사용자에게 알리고 방향을 확인한다. +- 요청이 기본 마일스톤 범위에 맞으면 기본 마일스톤 문서를 같은 세션에서 1회 읽는다. +- 요청이 기본 마일스톤과 맞지 않으면 `current.md`의 활성 마일스톤 목록에서 가장 관련 있는 마일스톤 문서를 같은 세션에서 1회 읽는다. +- 활성 마일스톤에도 맞지 않으면 `agent-ops/roadmap/ROADMAP.md`의 마일스톤 인덱스를 확인하고 사용자에게 진행/전환 여부를 확인한다. +- `agent-ops/roadmap/ROADMAP.md`는 로드맵 생성/갱신, Phase 전환, 마일스톤 추가/수정 요청이 있을 때만 읽는다. +- 작업 요청이 선택된 마일스톤의 목표 또는 제외 범위와 충돌하면 구현 전에 사용자에게 알리고 방향을 확인한다. -## Status Semantics +## 상태 의미 -- `Planned`: 아직 본격 작업 기준으로 삼지 않는 예정 Milestone이다. -- `Active`: 구현, 안정화, 문서 정리, 검증이 진행 중인 Milestone이다. 여러 Milestone이 동시에 `Active`일 수 있다. -- `Done`: Success Criteria가 충족되어 완료된 Milestone이다. -- `Paused`: 일시 중단된 Milestone이다. -- `Dropped`: 현재 제품 방향에서 제외된 Milestone이다. +- `Planned`: 아직 본격 작업 기준으로 삼지 않는 예정 마일스톤이다. +- `Active`: 구현, 안정화, 문서 정리, 검증이 진행 중인 마일스톤이다. 여러 마일스톤이 동시에 `Active`일 수 있다. +- `Done`: 성공 기준이 충족되어 완료된 마일스톤이다. +- `Paused`: 일시 중단된 마일스톤이다. +- `Dropped`: 현재 제품 방향에서 제외된 마일스톤이다. -`current.md`의 Default Milestone은 여러 `Active` Milestone 중 현재 세션의 기본 작업 초점이다. +`current.md`의 기본 마일스톤은 여러 `Active` 마일스톤 중 현재 세션의 기본 작업 초점이다. -## Phase Overview +## 단계 개요 -### Phase 1. Edge-Node Execution Foundation +### Phase 1. Edge-Node 실행 기반 -Goal: Edge-Node 소켓 실행 경로, Node adapter execution, CLI session, 최소 외부 입력 표면을 안정화한다. +목표: Edge-Node 소켓 실행 경로, Node adapter execution, CLI session, 최소 외부 입력 표면을 안정화한다. -| Milestone | Status | File | +| 마일스톤 | 상태 | 문서 | |---|---|---| -| M01 Edge-Node Execution Skeleton | Active | `milestones/M01-edge-node-execution-skeleton.md` | -| M02 Edge Input Surfaces | Active | `milestones/M02-edge-input-surfaces.md` | +| M01 Edge-Node 실행 스켈레톤 | Active | `milestones/M01-edge-node-execution-skeleton.md` | +| M02 Edge 입력 표면 | Active | `milestones/M02-edge-input-surfaces.md` | -### Phase 2. Automation Runtime and Bridge Expansion +### Phase 2. Automation Runtime과 Bridge 확장 -Goal: Runtime과 Automation 실행 흐름을 공통화하고, agent 설치형/비설치형 대상 제어 경로를 분리해 확장한다. +목표: Runtime과 Automation 실행 흐름을 공통화하고, agent 설치형/비설치형 대상 제어 경로를 분리해 확장한다. -| Milestone | Status | File | +| 마일스톤 | 상태 | 문서 | |---|---|---| -| M03 CLI Automation Runtime Stabilization | Planned | `milestones/M03-cli-automation-runtime-stabilization.md` | -| M04 Remote Terminal Bridge POC | Planned | `milestones/M04-remote-terminal-bridge-poc.md` | -| M05 Agent Bootstrap and OTO Enrollment | Planned | `milestones/M05-agent-bootstrap-oto-enrollment.md` | +| M03 CLI Automation Runtime 안정화 | Planned | `milestones/M03-cli-automation-runtime-stabilization.md` | +| M04 원격 터미널 브리지 POC | Planned | `milestones/M04-remote-terminal-bridge-poc.md` | +| M05 Agent Bootstrap과 OTO 등록 | Planned | `milestones/M05-agent-bootstrap-oto-enrollment.md` | -### Phase 3. Control Plane and Portal Operations +### Phase 3. Control Plane과 Portal 운영 -Goal: 여러 Edge를 관찰하고 운영하는 중앙 제어면과 Portal을 구축한다. +목표: 여러 Edge를 관찰하고 운영하는 중앙 제어면과 Portal을 구축한다. -| Milestone | Status | File | +| 마일스톤 | 상태 | 문서 | |---|---|---| -| M06 Control Plane and Portal | Planned | `milestones/M06-control-plane-portal.md` | -| M07 Policy History Audit | Planned | `milestones/M07-policy-history-audit.md` | -| M08 Multi-Edge Operations | Planned | `milestones/M08-multi-edge-operations.md` | +| M06 Control Plane과 Portal | Planned | `milestones/M06-control-plane-portal.md` | +| M07 정책, 이력, 감사 | Planned | `milestones/M07-policy-history-audit.md` | +| M08 Multi-Edge 운영 | Planned | `milestones/M08-multi-edge-operations.md` | -## Cross-Cutting Principles +## 공통 원칙 - 내부 실행 용어는 `adapter`, `target`, `execution`을 우선한다. `model`은 OpenAI-compatible 경계나 legacy compatibility에서만 사용한다. - Control Plane은 Node를 직접 연결하거나 직접 스케줄링하지 않는다. Edge가 로컬 Node registry와 런타임 상태의 원본을 가진다. @@ -76,10 +76,10 @@ Goal: 여러 Edge를 관찰하고 운영하는 중앙 제어면과 Portal을 구 - OpenAI-compatible API는 모델/chat completion 호환 입력 표면이고, A2A API는 외부 agent 작업 위임 입력 표면이다. - IOP native protocol은 Edge/Node 운영 제어, logical session, background run, command, lifecycle event, remote terminal session 같은 IOP 고유 기능을 다룬다. -## Roadmap Ownership +## 로드맵 소유권 -- 제품 방향, Phase, Milestone, 우선순위: `agent-ops/roadmap/ROADMAP.md` -- 현재 작업 기준: `agent-ops/roadmap/current.md`와 요청에 맞는 Default/Active Milestone 문서 +- 제품 방향, 단계, 마일스톤, 우선순위: `agent-ops/roadmap/ROADMAP.md` +- 현재 작업 기준: `agent-ops/roadmap/current.md`와 요청에 맞는 기본/활성 마일스톤 문서 - 아키텍처 불변 원칙: `docs/architecture.md` - dev/field 배포 절차: `docs/deploy-dev.md` - 앱별 현재 구현과 사용법: `apps/*/README.md` diff --git a/agent-ops/roadmap/current.md b/agent-ops/roadmap/current.md index 2b09af2..5d89a37 100644 --- a/agent-ops/roadmap/current.md +++ b/agent-ops/roadmap/current.md @@ -1,10 +1,10 @@ -# Current Roadmap Context +# 현재 로드맵 컨텍스트 -- Active Phase: Phase 1. Edge-Node Execution Foundation -- Default Milestone: M01 Edge-Node Execution Skeleton -- Default Milestone File: agent-ops/roadmap/milestones/M01-edge-node-execution-skeleton.md +- 활성 단계: Phase 1. Edge-Node 실행 기반 +- 기본 마일스톤: M01 Edge-Node 실행 스켈레톤 +- 기본 마일스톤 문서: agent-ops/roadmap/milestones/M01-edge-node-execution-skeleton.md -## Active Milestones +## 활성 마일스톤 -- M01 Edge-Node Execution Skeleton: agent-ops/roadmap/milestones/M01-edge-node-execution-skeleton.md -- M02 Edge Input Surfaces: agent-ops/roadmap/milestones/M02-edge-input-surfaces.md +- M01 Edge-Node 실행 스켈레톤: agent-ops/roadmap/milestones/M01-edge-node-execution-skeleton.md +- M02 Edge 입력 표면: agent-ops/roadmap/milestones/M02-edge-input-surfaces.md diff --git a/agent-ops/roadmap/milestones/M01-edge-node-execution-skeleton.md b/agent-ops/roadmap/milestones/M01-edge-node-execution-skeleton.md index abf01d8..a483488 100644 --- a/agent-ops/roadmap/milestones/M01-edge-node-execution-skeleton.md +++ b/agent-ops/roadmap/milestones/M01-edge-node-execution-skeleton.md @@ -1,19 +1,19 @@ -# M01 Edge-Node Execution Skeleton +# M01 Edge-Node 실행 스켈레톤 -## Goal +## 목표 Edge와 Node 사이의 기본 실행 파이프라인을 안정화한다. Node 등록, 설정 전달, adapter execution, run event streaming, command request/response, field smoke 기준을 한 흐름으로 검증할 수 있게 만든다. -## Phase +## 단계 -Phase 1. Edge-Node Execution Foundation +Phase 1. Edge-Node 실행 기반 -## Status +## 상태 Active -## Scope +## 범위 - Edge-Node TCP/protobuf 연결과 RegisterRequest/RegisterResponse 흐름 - token 기반 node 등록과 NodeConfigPayload 전달 @@ -22,7 +22,7 @@ Active - CLI adapter 기반 one-shot/persistent session 실행 검증 - edge-local ops console과 `bin/edge.sh`, `bin/node.sh` 기반 field smoke -## Required Features +## 필수 기능 - NodeStore와 Registry가 사전 등록 node와 연결 node를 구분해 관리한다. - Edge가 node 설정을 mapper를 통해 NodeConfigPayload로 전달한다. @@ -31,7 +31,7 @@ Active - Edge console이 `/nodes`, `/node`, `/session`, `/background`, `/terminate-session`, `/status`, `/capabilities`, `/sessions`, `/transport`를 통해 기본 진단을 제공한다. - Field smoke에서 메시지 2회 왕복, start/delta/complete event, command 응답을 확인할 수 있다. -## Success Criteria +## 성공 기준 - `bin/edge.sh`와 `bin/node.sh`를 각각 실행해 node 등록을 확인할 수 있다. - Edge console에서 두 번의 메시지 실행이 각각 start, non-empty message/delta, complete event를 표시한다. @@ -39,16 +39,16 @@ Active - persistent profile에서 run cancel과 session terminate의 의미가 구분된다. - 변경 범위에 맞는 Go 테스트 또는 field smoke 기준이 문서와 일치한다. -## Non-Goals +## 제외 범위 - Control Plane이 Node를 직접 연결하거나 직접 스케줄링하는 구조 - Edge 내부에 Node adapter 실행 로직을 복제하는 구조 - gRPC 또는 WebSocket을 Edge-Node 기본 transport로 바꾸는 작업 - 상세 DB schema, audit model, policy engine 확정 -## Context for Work +## 작업 컨텍스트 - 관련 앱: `apps/edge`, `apps/node` - 관련 문서: `apps/edge/README.md`, `apps/node/README.md`, `docs/deploy-dev.md` -- 관련 domain rules: `agent-ops/rules/project/domain/edge/rules.md`, `agent-ops/rules/project/domain/node/rules.md` +- 관련 domain rule: `agent-ops/rules/project/domain/edge/rules.md`, `agent-ops/rules/project/domain/node/rules.md` - 사용자 실행 파이프라인을 바꾸면 `agent-ops/rules/project/domain/testing/rules.md`의 검증 기준을 따른다. diff --git a/agent-ops/roadmap/milestones/M02-edge-input-surfaces.md b/agent-ops/roadmap/milestones/M02-edge-input-surfaces.md index 6e426e0..7cb4421 100644 --- a/agent-ops/roadmap/milestones/M02-edge-input-surfaces.md +++ b/agent-ops/roadmap/milestones/M02-edge-input-surfaces.md @@ -1,18 +1,18 @@ -# M02 Edge Input Surfaces +# M02 Edge 입력 표면 -## Goal +## 목표 Edge의 외부 입력 표면을 OpenAI-compatible API와 A2A JSON-RPC API로 분리해 관리하고, 두 입력 모두 내부 `adapter + target` 실행 경로로 수렴시킨다. -## Phase +## 단계 -Phase 1. Edge-Node Execution Foundation +Phase 1. Edge-Node 실행 기반 -## Status +## 상태 Active -## Scope +## 범위 - OpenAI-compatible `/v1/models`, `/v1/chat/completions` 표면 - A2A `message/send`, `tasks/get`, `tasks/cancel` 최소 표면 @@ -21,7 +21,7 @@ Active - streaming/non-streaming 응답과 background task 상태 저장 기준 정리 - 현재 구현된 OpenAI-compatible/A2A baseline을 기준으로 설정, lifecycle, task 상태, 문서 경계를 안정화 -## Required Features +## 필수 기능 - OpenAI-compatible API는 모델/chat completion 호환 입력 표면으로 유지한다. - A2A API는 외부 agent의 작업 위임과 task 상태 공유 표면으로 유지한다. @@ -29,20 +29,20 @@ Active - OpenAI-compatible API에 IOP 고유 운영 제어 기능을 억지로 싣지 않는다. - A2A API를 Control Plane 운영 제어 프로토콜로 확장하지 않는다. -## Success Criteria +## 성공 기준 - 외부 OpenAI-compatible 요청이 Edge 내부에서 명시적인 adapter/target 실행으로 변환된다. - A2A `message/send`, `tasks/get`, `tasks/cancel`이 task lifecycle과 node cancel 흐름을 일관되게 표현한다. - 입력 표면별 설정과 lifecycle이 중복 없이 관리된다. - 앱별 README는 현재 사용법을 설명하고, 미래 우선순위는 roadmap을 참조한다. -## Non-Goals +## 제외 범위 - OpenAI-compatible API를 IOP native 운영 제어 프로토콜로 확장 - A2A API를 fleet-wide scheduling 또는 Control Plane state ownership 표면으로 확장 - vendor-specific extension으로 node 선택, terminal session, lifecycle event를 표현 -## Context for Work +## 작업 컨텍스트 - 관련 앱: `apps/edge` - 관련 문서: `apps/edge/README.md` diff --git a/agent-ops/roadmap/milestones/M03-cli-automation-runtime-stabilization.md b/agent-ops/roadmap/milestones/M03-cli-automation-runtime-stabilization.md index 61638bc..e14e668 100644 --- a/agent-ops/roadmap/milestones/M03-cli-automation-runtime-stabilization.md +++ b/agent-ops/roadmap/milestones/M03-cli-automation-runtime-stabilization.md @@ -1,19 +1,19 @@ -# M03 CLI Automation Runtime Stabilization +# M03 CLI Automation Runtime 안정화 -## Goal +## 목표 CLI Agent와 도구 실행을 안정적인 Automation runtime으로 정리한다. 현재 구현된 CLI adapter baseline을 바탕으로 one-shot, persistent terminal, opencode SSE, codex exec 같은 실행 모드를 같은 adapter execution 모델 안에서 안정화한다. -## Phase +## 단계 -Phase 2. Automation Runtime and Bridge Expansion +Phase 2. Automation Runtime과 Bridge 확장 -## Status +## 상태 Planned -## Scope +## 범위 - CLI profile 설정과 output format 처리 안정화 - persistent logical session lifecycle 관리 @@ -22,26 +22,26 @@ Planned - Node local execution history와 Edge event aggregation 경계 정리 - 이미 동작하는 CLI adapter 기능을 재구현하지 않고 hardening, 경계 정리, 검증 기준 보강에 집중 -## Required Features +## 필수 기능 - CLI adapter는 profile별 실행 모드를 `node.Node` 분기 없이 adapter 내부에서 처리한다. - output format별 파싱은 `lineEmitter` 또는 모드별 구현으로 분리한다. - persistent terminal profile은 idle timeout, completion marker, cancel drain 기준을 명확히 가진다. - `NodeCommandRequest` 경로는 실행 요청과 분리된 조회/제어 명령으로 유지한다. -## Success Criteria +## 성공 기준 - 주요 CLI profile이 동일한 `RunRequest`/`RunEvent` 흐름으로 실행된다. - session list, usage status, transport status가 운영자가 이해할 수 있는 응답을 제공한다. - CLI adapter 변경 시 대상 패키지 테스트와 field smoke 기준이 함께 맞는다. -## Non-Goals +## 제외 범위 - 모든 외부 자동화 도구를 `iop-node` 하위 프로세스로 흡수 - OTO 같은 specialized domain agent를 CLI adapter profile로 대체 - CLI adapter 내부에 Control Plane 책임 추가 -## Context for Work +## 작업 컨텍스트 - 관련 앱: `apps/node` - 관련 패키지: `apps/node/internal/adapters/cli`, `apps/node/internal/runtime`, `apps/node/internal/node` diff --git a/agent-ops/roadmap/milestones/M04-remote-terminal-bridge-poc.md b/agent-ops/roadmap/milestones/M04-remote-terminal-bridge-poc.md index 0ae39d0..5f3abb5 100644 --- a/agent-ops/roadmap/milestones/M04-remote-terminal-bridge-poc.md +++ b/agent-ops/roadmap/milestones/M04-remote-terminal-bridge-poc.md @@ -1,19 +1,19 @@ -# M04 Remote Terminal Bridge POC +# M04 원격 터미널 브리지 POC -## Goal +## 목표 -Agent를 설치하기 어려운 host/device를 위해 remote terminal bridge POC를 만든다. +Agent를 설치하기 어려운 host/device를 위해 원격 터미널 브리지 POC를 만든다. Edge는 terminal session broker가 되고, 대상에 도달 가능한 Node가 SSH/WinRM/serial/local shell 같은 terminal transport를 실행해 relay한다. -## Phase +## 단계 -Phase 2. Automation Runtime and Bridge Expansion +Phase 2. Automation Runtime과 Bridge 확장 -## Status +## 상태 Planned -## Scope +## 범위 - CLI persistent terminal profile 기반 remote shell POC - terminal session open/input/output/resize/signal/close event 모델 초안 @@ -21,29 +21,29 @@ Planned - 대상 접근 경로와 credential이 있는 경우만 제어할 수 있다는 전제 명시 - target allowlist, timeout, 동시 실행 제한, session audit 요구사항 초안 -## Required Features +## 필수 기능 -- Remote terminal bridge는 완전 agentless 제어가 아니라 target device에 IOP agent를 설치하지 않는 운영 경로로 정의한다. +- 원격 터미널 브리지는 완전 agentless 제어가 아니라 target device에 IOP agent를 설치하지 않는 운영 경로로 정의한다. - Control Plane/Portal/운영 CLI는 Edge에 terminal session을 요청하고, Node에 직접 붙지 않는다. - Node terminal transport는 adapter/profile 또는 별도 adapter 경계에서 실행된다. - stdin/stdout/stderr, resize, signal, close lifecycle을 IOP native protocol에서 표현하는 방향을 검증한다. -## Success Criteria +## 성공 기준 - 허용된 target profile을 통해 Edge에서 remote shell session을 열고 입출력을 relay할 수 있다. - session lifecycle과 adapter execution stream의 경계가 문서화된다. - 보안 전제(target allowlist, credential, timeout, audit)가 milestone 산출물에 포함된다. - OpenAI-compatible API나 A2A task payload에 terminal 제어 기능을 억지로 싣지 않는다. -## Non-Goals +## 제외 범위 - 접근 경로가 없는 target device의 제어 보장 - Control Plane이 Node 또는 target terminal에 직접 연결 - 모든 terminal transport 구현을 한 번에 지원 - 정책/audit 상세 schema 확정 -## Context for Work +## 작업 컨텍스트 - 관련 앱: `apps/edge`, `apps/node` - 관련 문서: `docs/architecture.md`, `docs/deploy-dev.md` -- 선행 Milestone: M01, M03 +- 선행 마일스톤: M01, M03 diff --git a/agent-ops/roadmap/milestones/M05-agent-bootstrap-oto-enrollment.md b/agent-ops/roadmap/milestones/M05-agent-bootstrap-oto-enrollment.md index 9334c7b..a7f4c9a 100644 --- a/agent-ops/roadmap/milestones/M05-agent-bootstrap-oto-enrollment.md +++ b/agent-ops/roadmap/milestones/M05-agent-bootstrap-oto-enrollment.md @@ -1,19 +1,19 @@ -# M05 Agent Bootstrap and OTO Enrollment +# M05 Agent Bootstrap과 OTO 등록 -## Goal +## 목표 Edge가 specialized domain agent를 생성하고 bootstrap command를 발급해 대상 머신에서 agent 설치와 등록을 완료하는 enrollment 흐름을 설계한다. OTO는 build/deploy domain agent의 대표 후보로 둔다. -## Phase +## 단계 -Phase 2. Automation Runtime and Bridge Expansion +Phase 2. Automation Runtime과 Bridge 확장 -## Status +## 상태 Planned -## Scope +## 범위 - Edge agent registry를 generic node와 specialized domain agent를 함께 다룰 수 있는 모델로 확장 - agent type별 bootstrap command 발급 표면 설계 @@ -21,27 +21,27 @@ Planned - 등록 후 장기 credential 재발급 흐름 - OTO agent의 build run, cancel, status, capability, artifact, log event 메시지 경계 -## Required Features +## 필수 기능 - OTO agent는 `iop-node` 하위 프로세스가 아니라 Edge에 직접 outbound 연결하는 specialized domain agent로 둔다. - Agent를 설치할 수 있는 대상은 bootstrap/enrollment를 우선한다. - Agent 설치가 어렵거나 일회성 유지보수 대상이면 remote terminal bridge 경로와 구분한다. - HTTP local/insecure bootstrap 모드는 명시 선택과 추가 검증 조건을 요구한다. -## Success Criteria +## 성공 기준 - Edge가 agent 생성과 bootstrap command 발급 상태를 표현할 수 있다. - bootstrap command 실행 후 agent config/service 등록과 Edge outbound enrollment 흐름이 문서화된다. - OTO agent와 generic Node의 책임 경계가 registry와 protocol 수준에서 구분된다. -## Non-Goals +## 제외 범위 - OTO 구현을 `apps/node` adapter로 흡수 - Control Plane이 Node나 OTO agent를 직접 스케줄링 - bootstrap 보안 검증을 생략한 insecure 기본값 -## Context for Work +## 작업 컨텍스트 - 관련 앱: `apps/edge`, 향후 OTO agent repository - 관련 문서: `docs/deploy-dev.md`, `docs/architecture.md` -- 선행 Milestone: M01, M02 +- 선행 마일스톤: M01, M02 diff --git a/agent-ops/roadmap/milestones/M06-control-plane-portal.md b/agent-ops/roadmap/milestones/M06-control-plane-portal.md index 7f29baa..cf4aa7f 100644 --- a/agent-ops/roadmap/milestones/M06-control-plane-portal.md +++ b/agent-ops/roadmap/milestones/M06-control-plane-portal.md @@ -1,18 +1,18 @@ -# M06 Control Plane and Portal +# M06 Control Plane과 Portal -## Goal +## 목표 여러 Edge를 연결하고 관찰하며 Edge 설정 변경, 명령 전달, 이벤트 수신을 담당하는 Control Plane과 Web Portal 운영면을 구축한다. -## Phase +## 단계 -Phase 3. Control Plane and Portal Operations +Phase 3. Control Plane과 Portal 운영 -## Status +## 상태 Planned -## Scope +## 범위 - Control Plane Go server의 Edge connection 관리 - Portal-Control Plane, Control Plane-Edge IOP Wire Protocol 확장 @@ -21,27 +21,27 @@ Planned - Edge agent 생성과 bootstrap command 발급 상태 조회/관리 - remote terminal bridge session 생성/조회/권한 확인 표면 -## Required Features +## 필수 기능 - Control Plane은 Node를 직접 연결하거나 직접 스케줄링하지 않는다. - Portal은 Control Plane을 통해 Edge 운영 상태를 조회한다. - 브라우저 직접 TCP가 어려운 구간은 Control Plane server-side bridge를 둔다. - `net/http`는 health/readiness/bootstrap 같은 보조 endpoint 용도로 유지한다. -## Success Criteria +## 성공 기준 - Control Plane이 하나 이상의 Edge 연결 상태를 조회할 수 있다. - Portal이 Edge/Node/agent 상태를 사용자에게 보여줄 수 있다. - Edge 명령 전달과 이벤트 수신 흐름이 IOP Wire Protocol 기준으로 문서화된다. - Control Plane과 Web의 배포/검증 절차가 `docs/deploy-dev.md`와 일치한다. -## Non-Goals +## 제외 범위 - Control Plane을 Kubernetes식 중앙 스케줄러로 만드는 작업 - Edge 내부 DB를 Control Plane DB로 대체 - 모든 런타임 상태를 Control Plane 단일 원본으로 만드는 작업 -## Context for Work +## 작업 컨텍스트 - 관련 앱: `apps/control-plane`, `apps/web` - 관련 문서: `apps/control-plane/README.md`, `apps/web/README.md`, `docs/deploy-dev.md` diff --git a/agent-ops/roadmap/milestones/M07-policy-history-audit.md b/agent-ops/roadmap/milestones/M07-policy-history-audit.md index de19d5a..e152f7c 100644 --- a/agent-ops/roadmap/milestones/M07-policy-history-audit.md +++ b/agent-ops/roadmap/milestones/M07-policy-history-audit.md @@ -1,19 +1,19 @@ -# M07 Policy History Audit +# M07 정책, 이력, 감사 -## Goal +## 목표 권한, 정책, 실행 이력, 감사 로그를 제품 운영에 필요한 수준으로 확장한다. -특히 remote terminal bridge와 agent bootstrap은 보안/감사 요구사항을 필수 전제로 둔다. +특히 원격 터미널 브리지와 agent bootstrap은 보안/감사 요구사항을 필수 전제로 둔다. -## Phase +## 단계 -Phase 3. Control Plane and Portal Operations +Phase 3. Control Plane과 Portal 운영 -## Status +## 상태 Planned -## Scope +## 범위 - permission model과 policy enforcement 지점 정리 - Edge/Node 실행 이력과 Control Plane aggregation 경계 @@ -22,27 +22,27 @@ Planned - timeout, 동시 실행 제한, 입력/출력 기록 정책 - metrics/event API와 운영 리포트 후보 -## Required Features +## 필수 기능 - Edge는 로컬 런타임 상태와 실행 이력의 원본을 유지한다. - Control Plane은 Edge 데이터를 조회/집계하되 Edge 내부 상태 소유권을 대체하지 않는다. -- remote terminal bridge는 target allowlist, credential 관리, command/session audit를 필수로 요구한다. +- 원격 터미널 브리지는 target allowlist, credential 관리, command/session audit를 필수로 요구한다. - policy/audit 상세 schema는 구현 단계에서 명확한 evidence와 함께 확정한다. -## Success Criteria +## 성공 기준 - 실행 요청, command, terminal session, bootstrap/enrollment에 대한 audit event 초안이 있다. - 권한과 policy가 Edge/Control Plane/Node 경계 중 어디에서 적용되는지 문서화된다. - 기존 실행 파이프라인을 깨지 않고 history/audit 수집을 붙일 수 있다. -## Non-Goals +## 제외 범위 - 상세 DB schema를 근거 없이 선확정 - 모든 이벤트를 Control Plane 단일 저장소로 강제 - 보안 전제가 없는 terminal bridge 또는 insecure bootstrap 기본값 -## Context for Work +## 작업 컨텍스트 - 관련 앱: `apps/edge`, `apps/node`, `apps/control-plane` - 관련 패키지: `packages/auth`, `packages/jobs`, 향후 policy/audit package -- 선행 Milestone: M04, M05, M06 +- 선행 마일스톤: M04, M05, M06 diff --git a/agent-ops/roadmap/milestones/M08-multi-edge-operations.md b/agent-ops/roadmap/milestones/M08-multi-edge-operations.md index af9768e..7715f6e 100644 --- a/agent-ops/roadmap/milestones/M08-multi-edge-operations.md +++ b/agent-ops/roadmap/milestones/M08-multi-edge-operations.md @@ -1,19 +1,19 @@ -# M08 Multi-Edge Operations +# M08 Multi-Edge 운영 -## Goal +## 목표 여러 Edge group을 관찰하고 운영하는 fleet-level 기능을 구축한다. Multi-edge scheduling과 fleet-wide state ownership은 Control Plane과 IOP native protocol에서 결정한다. -## Phase +## 단계 -Phase 3. Control Plane and Portal Operations +Phase 3. Control Plane과 Portal 운영 -## Status +## 상태 Planned -## Scope +## 범위 - 여러 Edge group 등록/상태 표시 - Edge별 runtime/automation 상태 집계 @@ -22,27 +22,27 @@ Planned - OTO 같은 domain agent의 build/deploy 상태, artifact, capability 포함 - fleet-wide 명령과 운영 리포트 후보 -## Required Features +## 필수 기능 - Multi-edge 운영 명령과 이벤트 집계는 IOP native protocol을 기준으로 설계한다. - OpenAI-compatible 표면은 특정 Edge/adapter로 라우팅되는 inference 호환 경로로 제한한다. - A2A 표면은 특정 Edge/adapter로 위임되는 agent task 경로로 제한한다. - Edge는 자신의 로컬 런타임 상태와 registry 소유권을 유지한다. -## Success Criteria +## 성공 기준 - Control Plane이 여러 Edge 상태를 구분해 조회하고 표시할 수 있다. - Edge별 실행 이력과 domain agent 상태가 운영 화면에서 구분된다. - fleet-wide 기능이 Edge의 로컬 상태 소유권을 침범하지 않는다. -## Non-Goals +## 제외 범위 - Control Plane이 매 요청마다 Node를 직접 할당하는 중앙 스케줄러 역할 - OpenAI-compatible API 또는 A2A API를 multi-edge 운영 제어 기본 프로토콜로 사용 - Edge federation 상세 설계를 근거 없이 선확정 -## Context for Work +## 작업 컨텍스트 - 관련 앱: `apps/control-plane`, `apps/web`, `apps/edge` - 관련 문서: `docs/architecture.md` -- 선행 Milestone: M06, M07 +- 선행 마일스톤: M06, M07 diff --git a/agent-ops/rules/project/rules.md b/agent-ops/rules/project/rules.md index e772795..1af2c98 100644 --- a/agent-ops/rules/project/rules.md +++ b/agent-ops/rules/project/rules.md @@ -25,7 +25,7 @@ - `bin/` — 사용자가 직접 실행하는 edge/node shell entrypoint이다. - `Makefile` — 빌드와 테스트 진입점을 정의한다. - `docs/` — 아키텍처 및 운영 방향 문서이다. -- `agent-ops/roadmap/` — 제품 Goal, Phase, Milestone의 canonical source of truth이다. +- `agent-ops/roadmap/` — 제품 목표, 단계, 마일스톤의 단일 기준 문서이다. ## 기술 스택 @@ -61,11 +61,11 @@ ## 마일스톤 컨텍스트 로딩 - 기능 추가, 구조 변경, 스킬 추가/수정, 문서 구조 변경 작업을 수행할 때는 `agent-ops/roadmap/current.md`를 먼저 읽는다. -- 요청이 Default Milestone 범위에 맞으면 Default Milestone 문서를 같은 세션에서 1회 읽는다. -- 요청이 Default Milestone과 맞지 않으면 `current.md`의 Active Milestones 목록에서 가장 관련 있는 Milestone 문서를 같은 세션에서 1회 읽는다. -- Active Milestones에도 맞지 않으면 `agent-ops/roadmap/ROADMAP.md`의 Milestone 인덱스를 확인하고 사용자에게 진행/전환 여부를 확인한다. -- `agent-ops/roadmap/ROADMAP.md`는 로드맵 생성/갱신, Phase 전환, Milestone 추가/수정 요청이 있을 때만 읽는다. -- 작업 요청이 선택된 Milestone의 Goal 또는 Non-Goals와 충돌하면 구현 전에 사용자에게 알리고 방향을 확인한다. +- 요청이 기본 마일스톤 범위에 맞으면 기본 마일스톤 문서를 같은 세션에서 1회 읽는다. +- 요청이 기본 마일스톤과 맞지 않으면 `current.md`의 활성 마일스톤 목록에서 가장 관련 있는 마일스톤 문서를 같은 세션에서 1회 읽는다. +- 활성 마일스톤에도 맞지 않으면 `agent-ops/roadmap/ROADMAP.md`의 마일스톤 인덱스를 확인하고 사용자에게 진행/전환 여부를 확인한다. +- `agent-ops/roadmap/ROADMAP.md`는 로드맵 생성/갱신, Phase 전환, 마일스톤 추가/수정 요청이 있을 때만 읽는다. +- 작업 요청이 선택된 마일스톤의 목표 또는 제외 범위와 충돌하면 구현 전에 사용자에게 알리고 방향을 확인한다. ## 도메인 매핑