update roadmap and milestones
This commit is contained in:
parent
c141489800
commit
afc063dc90
10 changed files with 92 additions and 127 deletions
|
|
@ -1,84 +1,48 @@
|
|||
# IOP 로드맵
|
||||
|
||||
이 문서는 IOP 제품 방향과 단계/마일스톤의 단일 기준 문서다.
|
||||
README와 `docs/**`는 제품 소개, 아키텍처 원칙, 운영 절차를 설명하고, 미래 계획과 우선순위는 이 문서와 각 마일스톤 문서에서 관리한다.
|
||||
|
||||
## 전체 목표
|
||||
|
||||
IOP(Inference Operations Platform)는 Control Plane - Edge - Node 계층 구조를 기반으로 모델 서빙과 CLI Agent/Automation 실행을 함께 운영하는 실행 오케스트레이션 플랫폼을 만든다.
|
||||
내부 실행 모델은 `adapter + target`을 기준으로 하며, Edge가 로컬 실행 그룹의 상태와 라우팅을 소유하고 Control Plane은 Edge를 통해 시스템을 관찰하고 제어한다.
|
||||
|
||||
## 현재 위치
|
||||
로드맵 전반에서 OpenAI-compatible API는 모델/chat completion 호환 입력 표면으로, A2A API는 외부 agent 작업 위임 표면으로, IOP native protocol은 운영 제어, logical session, background run, command, lifecycle event, remote terminal session 같은 IOP 고유 기능의 기준으로 둔다.
|
||||
Edge-Node와 Control Plane-Edge 장기 통신은 TCP/protobuf 기반 IOP Wire Protocol을 우선하며, gRPC, WebSocket 기본 transport 전환, actor/FSM/plugin framework 도입은 현재 기본 방향이 아니다.
|
||||
|
||||
- 현재 활성 Milestone 후보는 `agent-ops/roadmap/current.md`에서 관리한다.
|
||||
- 현재 활성 Milestone:
|
||||
- Edge-Node 실행 스켈레톤: `agent-ops/roadmap/milestones/edge-node-execution-skeleton.md`
|
||||
- Edge 입력 표면: `agent-ops/roadmap/milestones/edge-input-surfaces.md`
|
||||
## Phase 흐름
|
||||
|
||||
## 로딩 정책
|
||||
- Edge-Node 실행 기반: Edge-Node 소켓 실행 경로, Node adapter execution, CLI session, 최소 외부 입력 표면을 안정화한다.
|
||||
- Automation Runtime과 Bridge 확장: Runtime과 Automation 실행 흐름을 공통화하고, agent 설치형/비설치형 대상 제어 경로를 분리해 확장한다.
|
||||
- Control Plane과 Portal 운영: 여러 Edge를 관찰하고 운영하는 중앙 제어면과 Portal을 구축한다.
|
||||
|
||||
- 일반 기능 추가, 구조 변경, 스킬 추가/수정, 문서 구조 변경 작업에서는 `agent-ops/roadmap/current.md`를 먼저 읽는다.
|
||||
- `current.md`는 현재 작업 위치가 아니라 활성 Milestone 후보 목록이다.
|
||||
- 요청 내용, 현재 브랜치, 변경 파일, 관련 코드 경로를 보고 가장 관련 있는 활성 Milestone 문서를 같은 세션에서 1회 읽는다.
|
||||
- 요청이 활성 Milestone 둘 이상에 걸치면 필요한 Milestone 문서를 모두 읽고 작업 범위를 좁힌다.
|
||||
- 활성 Milestone 밖의 작업이면 `agent-ops/roadmap/ROADMAP.md`의 Milestone 목록을 확인하고 사용자에게 진행 또는 전환 여부를 확인한다.
|
||||
- `agent-ops/roadmap/ROADMAP.md`는 로드맵 생성/갱신, Phase 전환, 마일스톤 추가/수정 요청이 있을 때만 읽는다.
|
||||
- 작업 요청이 선택된 Milestone의 목표 또는 범위 제외 항목과 충돌하면 구현 전에 사용자에게 알리고 방향을 확인한다.
|
||||
## Milestone 목록
|
||||
|
||||
## 상태 의미
|
||||
|
||||
- `계획`: 아직 본격 작업 기준으로 삼지 않는 예정 Milestone이다.
|
||||
- `진행 중`: 구현, 안정화, 문서 정리, 검증이 진행 중인 Milestone이다. 여러 Milestone이 동시에 `진행 중`일 수 있다.
|
||||
- `완료`: 완료 기준이 충족된 Milestone이다.
|
||||
- `보류`: 일시 중단된 Milestone이다.
|
||||
- `폐기`: 현재 제품 방향에서 제외된 Milestone이다.
|
||||
|
||||
`current.md`는 현재 열어둘 활성 Milestone 후보 목록이며, 개인별 작업 위치나 완료 상태의 진실이 아니다.
|
||||
|
||||
## 단계 개요
|
||||
상태 값은 `계획`, `진행 중`, `완료`, `보류`, `폐기` 중 하나만 사용한다. 진행 순서는 아래 목록의 위에서 아래 흐름으로 해석한다.
|
||||
|
||||
### Edge-Node 실행 기반
|
||||
|
||||
목표: Edge-Node 소켓 실행 경로, Node adapter execution, CLI session, 최소 외부 입력 표면을 안정화한다.
|
||||
|
||||
| Milestone | 상태 | 문서 |
|
||||
|---|---|---|
|
||||
| Edge-Node 실행 스켈레톤 | 진행 중 | `milestones/edge-node-execution-skeleton.md` |
|
||||
| Edge 입력 표면 | 진행 중 | `milestones/edge-input-surfaces.md` |
|
||||
- [Edge-Node 실행 스켈레톤](milestones/edge-node-execution-skeleton.md) - 상태: 진행 중; 목표: Node 등록, 설정 전달, adapter execution, run event streaming, command request/response, field smoke 기준을 한 흐름으로 검증한다.
|
||||
- [Edge 입력 표면](milestones/edge-input-surfaces.md) - 상태: 진행 중; 목표: OpenAI-compatible API와 A2A JSON-RPC API를 내부 `adapter + target` 실행 경로로 수렴시킨다.
|
||||
|
||||
### Automation Runtime과 Bridge 확장
|
||||
|
||||
목표: Runtime과 Automation 실행 흐름을 공통화하고, agent 설치형/비설치형 대상 제어 경로를 분리해 확장한다.
|
||||
|
||||
| Milestone | 상태 | 문서 |
|
||||
|---|---|---|
|
||||
| CLI Automation Runtime 안정화 | 계획 | `milestones/cli-automation-runtime-stabilization.md` |
|
||||
| 원격 터미널 브리지 POC | 계획 | `milestones/remote-terminal-bridge-poc.md` |
|
||||
| Agent Bootstrap과 OTO 등록 | 계획 | `milestones/agent-bootstrap-oto-enrollment.md` |
|
||||
- [CLI Automation Runtime 안정화](milestones/cli-automation-runtime-stabilization.md) - 상태: 계획; 목표: one-shot, persistent terminal, opencode SSE, codex exec 같은 CLI 실행 모드를 같은 adapter execution 모델 안에서 안정화한다.
|
||||
- [원격 터미널 브리지 POC](milestones/remote-terminal-bridge-poc.md) - 상태: 계획; 목표: Agent를 설치하기 어려운 host/device를 위해 Edge broker와 Node terminal transport 기반 원격 터미널 브리지 POC를 만든다.
|
||||
- [Agent Bootstrap과 OTO 등록](milestones/agent-bootstrap-oto-enrollment.md) - 상태: 계획; 목표: specialized domain agent의 bootstrap command 발급, 설치, 등록, 장기 credential 흐름을 설계한다.
|
||||
|
||||
### Control Plane과 Portal 운영
|
||||
|
||||
목표: 여러 Edge를 관찰하고 운영하는 중앙 제어면과 Portal을 구축한다.
|
||||
- [Control Plane과 Portal](milestones/control-plane-portal.md) - 상태: 계획; 목표: 여러 Edge를 연결하고 관찰하며 Edge 설정 변경, 명령 전달, 이벤트 수신을 담당하는 중앙 제어면과 Web Portal 운영면을 구축한다.
|
||||
- [정책, 이력, 감사](milestones/policy-history-audit.md) - 상태: 계획; 목표: 권한, 정책, 실행 이력, 감사 로그를 제품 운영에 필요한 수준으로 확장한다.
|
||||
- [Multi-Edge 운영](milestones/multi-edge-operations.md) - 상태: 계획; 목표: 여러 Edge group을 관찰하고 운영하는 fleet-level 기능을 구축한다.
|
||||
|
||||
| Milestone | 상태 | 문서 |
|
||||
|---|---|---|
|
||||
| Control Plane과 Portal | 계획 | `milestones/control-plane-portal.md` |
|
||||
| 정책, 이력, 감사 | 계획 | `milestones/policy-history-audit.md` |
|
||||
| Multi-Edge 운영 | 계획 | `milestones/multi-edge-operations.md` |
|
||||
## 로딩 정책
|
||||
|
||||
## 공통 원칙
|
||||
|
||||
- 내부 실행 용어는 `adapter`, `target`, `execution`을 우선한다. `model`은 OpenAI-compatible 경계나 legacy compatibility에서만 사용한다.
|
||||
- Control Plane은 Node를 직접 연결하거나 직접 스케줄링하지 않는다. Edge가 로컬 Node registry와 런타임 상태의 원본을 가진다.
|
||||
- Edge-Node, Control Plane-Edge 장기 통신 기준은 TCP/protobuf 기반 IOP Wire Protocol이다.
|
||||
- gRPC, WebSocket 기본 transport 전환, actor/FSM/plugin framework 도입은 현재 기본 방향이 아니다.
|
||||
- OpenAI-compatible API는 모델/chat completion 호환 입력 표면이고, A2A API는 외부 agent 작업 위임 입력 표면이다.
|
||||
- IOP native protocol은 Edge/Node 운영 제어, logical session, background run, command, lifecycle event, remote terminal session 같은 IOP 고유 기능을 다룬다.
|
||||
|
||||
## 로드맵 소유권
|
||||
|
||||
- 제품 방향, 단계, 마일스톤, 우선순위: `agent-ops/roadmap/ROADMAP.md`
|
||||
- 현재 작업 후보: `agent-ops/roadmap/current.md`와 요청에 맞는 활성 Milestone 문서
|
||||
- 아키텍처 불변 원칙: `docs/architecture.md`
|
||||
- dev/field 배포 절차: `docs/deploy-dev.md`
|
||||
- 앱별 현재 구현과 사용법: `apps/*/README.md`
|
||||
- 일반 작업에서는 `agent-ops/roadmap/ROADMAP.md`를 매번 읽지 않는다.
|
||||
- 기능 추가, 구조 변경, 스킬 추가/수정, 문서 구조 변경 작업을 수행할 때는 `agent-ops/roadmap/current.md`를 먼저 읽는다.
|
||||
- `current.md`는 현재 작업 위치가 아니라 활성 Milestone 후보 목록이다.
|
||||
- `current.md`에는 개인별 현재 작업 위치나 완료 상태를 기록하지 않는다.
|
||||
- 요청 내용, 현재 브랜치, 변경 파일, 관련 코드 경로를 보고 가장 관련 있는 활성 Milestone 문서를 같은 세션에서 1회 읽는다.
|
||||
- 활성 Milestone 둘 이상에 걸치면 필요한 Milestone 문서를 모두 읽고 작업 범위를 좁힌다.
|
||||
- 활성 Milestone 밖의 작업이면 이 문서의 Milestone 목록을 확인하고 사용자에게 진행 또는 전환 여부를 확인한다.
|
||||
- 이 문서는 로드맵 생성/갱신, Phase 전환, Milestone 추가/수정 요청이 있을 때만 읽는다.
|
||||
- 상세 작업과 완료 기준은 각 Milestone 문서의 체크리스트로 관리한다.
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
## 선택 규칙
|
||||
|
||||
- 요청 내용, 현재 브랜치, 변경 파일, 관련 코드 경로를 보고 가장 관련 있는 Milestone을 선택한다.
|
||||
- 이 문서는 활성 Milestone 후보 목록이며, 개인별 현재 작업 위치나 완료 상태를 기록하지 않는다.
|
||||
- 요청 내용, 현재 브랜치, 변경 파일, 관련 코드 경로를 보고 가장 관련 있는 Milestone을 선택하고 같은 세션에서 1회 읽는다.
|
||||
- 활성 Milestone 둘 이상에 걸치면 필요한 Milestone 문서를 모두 읽고 작업 범위를 좁힌다.
|
||||
- 활성 Milestone 밖의 작업이면 `agent-ops/roadmap/ROADMAP.md`의 Milestone 목록을 확인하고 사용자에게 진행 또는 전환 여부를 확인한다.
|
||||
|
|
|
|||
|
|
@ -23,16 +23,16 @@ Automation Runtime과 Bridge 확장
|
|||
|
||||
## 필수 기능
|
||||
|
||||
- OTO agent는 `iop-node` 하위 프로세스가 아니라 Edge에 직접 outbound 연결하는 specialized domain agent로 둔다.
|
||||
- Agent를 설치할 수 있는 대상은 bootstrap/enrollment를 우선한다.
|
||||
- Agent 설치가 어렵거나 일회성 유지보수 대상이면 remote terminal bridge 경로와 구분한다.
|
||||
- HTTP local/insecure bootstrap 모드는 명시 선택과 추가 검증 조건을 요구한다.
|
||||
- [ ] OTO agent는 `iop-node` 하위 프로세스가 아니라 Edge에 직접 outbound 연결하는 specialized domain agent로 둔다.
|
||||
- [ ] Agent를 설치할 수 있는 대상은 bootstrap/enrollment를 우선한다.
|
||||
- [ ] Agent 설치가 어렵거나 일회성 유지보수 대상이면 remote terminal bridge 경로와 구분한다.
|
||||
- [ ] HTTP local/insecure bootstrap 모드는 명시 선택과 추가 검증 조건을 요구한다.
|
||||
|
||||
## 완료 기준
|
||||
|
||||
- Edge가 agent 생성과 bootstrap command 발급 상태를 표현할 수 있다.
|
||||
- bootstrap command 실행 후 agent config/service 등록과 Edge outbound enrollment 흐름이 문서화된다.
|
||||
- OTO agent와 generic Node의 책임 경계가 registry와 protocol 수준에서 구분된다.
|
||||
- [ ] Edge가 agent 생성과 bootstrap command 발급 상태를 표현할 수 있다.
|
||||
- [ ] bootstrap command 실행 후 agent config/service 등록과 Edge outbound enrollment 흐름이 문서화된다.
|
||||
- [ ] OTO agent와 generic Node의 책임 경계가 registry와 protocol 수준에서 구분된다.
|
||||
|
||||
## 범위 제외
|
||||
|
||||
|
|
|
|||
|
|
@ -24,16 +24,16 @@ Automation Runtime과 Bridge 확장
|
|||
|
||||
## 필수 기능
|
||||
|
||||
- CLI adapter는 profile별 실행 모드를 `node.Node` 분기 없이 adapter 내부에서 처리한다.
|
||||
- output format별 파싱은 `lineEmitter` 또는 모드별 구현으로 분리한다.
|
||||
- persistent terminal profile은 idle timeout, completion marker, cancel drain 기준을 명확히 가진다.
|
||||
- `NodeCommandRequest` 경로는 실행 요청과 분리된 조회/제어 명령으로 유지한다.
|
||||
- [ ] CLI adapter는 profile별 실행 모드를 `node.Node` 분기 없이 adapter 내부에서 처리한다.
|
||||
- [ ] output format별 파싱은 `lineEmitter` 또는 모드별 구현으로 분리한다.
|
||||
- [ ] persistent terminal profile은 idle timeout, completion marker, cancel drain 기준을 명확히 가진다.
|
||||
- [ ] `NodeCommandRequest` 경로는 실행 요청과 분리된 조회/제어 명령으로 유지한다.
|
||||
|
||||
## 완료 기준
|
||||
|
||||
- 주요 CLI profile이 동일한 `RunRequest`/`RunEvent` 흐름으로 실행된다.
|
||||
- session list, usage status, transport status가 운영자가 이해할 수 있는 응답을 제공한다.
|
||||
- CLI adapter 변경 시 대상 패키지 테스트와 field smoke 기준이 함께 맞는다.
|
||||
- [ ] 주요 CLI profile이 동일한 `RunRequest`/`RunEvent` 흐름으로 실행된다.
|
||||
- [ ] session list, usage status, transport status가 운영자가 이해할 수 있는 응답을 제공한다.
|
||||
- [ ] CLI adapter 변경 시 대상 패키지 테스트와 field smoke 기준이 함께 맞는다.
|
||||
|
||||
## 범위 제외
|
||||
|
||||
|
|
|
|||
|
|
@ -23,17 +23,17 @@ Control Plane과 Portal 운영
|
|||
|
||||
## 필수 기능
|
||||
|
||||
- Control Plane은 Node를 직접 연결하거나 직접 스케줄링하지 않는다.
|
||||
- Portal은 Control Plane을 통해 Edge 운영 상태를 조회한다.
|
||||
- 브라우저 직접 TCP가 어려운 구간은 Control Plane server-side bridge를 둔다.
|
||||
- `net/http`는 health/readiness/bootstrap 같은 보조 endpoint 용도로 유지한다.
|
||||
- [ ] Control Plane은 Node를 직접 연결하거나 직접 스케줄링하지 않는다.
|
||||
- [ ] Portal은 Control Plane을 통해 Edge 운영 상태를 조회한다.
|
||||
- [ ] 브라우저 직접 TCP가 어려운 구간은 Control Plane server-side bridge를 둔다.
|
||||
- [ ] `net/http`는 health/readiness/bootstrap 같은 보조 endpoint 용도로 유지한다.
|
||||
|
||||
## 완료 기준
|
||||
|
||||
- Control Plane이 하나 이상의 Edge 연결 상태를 조회할 수 있다.
|
||||
- Portal이 Edge/Node/agent 상태를 사용자에게 보여줄 수 있다.
|
||||
- Edge 명령 전달과 이벤트 수신 흐름이 IOP Wire Protocol 기준으로 문서화된다.
|
||||
- Control Plane과 Web의 배포/검증 절차가 `docs/deploy-dev.md`와 일치한다.
|
||||
- [ ] Control Plane이 하나 이상의 Edge 연결 상태를 조회할 수 있다.
|
||||
- [ ] Portal이 Edge/Node/agent 상태를 사용자에게 보여줄 수 있다.
|
||||
- [ ] Edge 명령 전달과 이벤트 수신 흐름이 IOP Wire Protocol 기준으로 문서화된다.
|
||||
- [ ] Control Plane과 Web의 배포/검증 절차가 `docs/deploy-dev.md`와 일치한다.
|
||||
|
||||
## 범위 제외
|
||||
|
||||
|
|
|
|||
|
|
@ -23,18 +23,18 @@ Edge-Node 실행 기반
|
|||
|
||||
## 필수 기능
|
||||
|
||||
- OpenAI-compatible API는 모델/chat completion 호환 입력 표면으로 유지한다.
|
||||
- A2A API는 외부 agent의 작업 위임과 task 상태 공유 표면으로 유지한다.
|
||||
- 두 입력 표면 모두 Edge service와 edge-node transport를 우회하지 않는다.
|
||||
- OpenAI-compatible API에 IOP 고유 운영 제어 기능을 억지로 싣지 않는다.
|
||||
- A2A API를 Control Plane 운영 제어 프로토콜로 확장하지 않는다.
|
||||
- [ ] OpenAI-compatible API는 모델/chat completion 호환 입력 표면으로 유지한다.
|
||||
- [ ] A2A API는 외부 agent의 작업 위임과 task 상태 공유 표면으로 유지한다.
|
||||
- [ ] 두 입력 표면 모두 Edge service와 edge-node transport를 우회하지 않는다.
|
||||
- [ ] OpenAI-compatible API에 IOP 고유 운영 제어 기능을 억지로 싣지 않는다.
|
||||
- [ ] A2A API를 Control Plane 운영 제어 프로토콜로 확장하지 않는다.
|
||||
|
||||
## 완료 기준
|
||||
|
||||
- 외부 OpenAI-compatible 요청이 Edge 내부에서 명시적인 adapter/target 실행으로 변환된다.
|
||||
- A2A `message/send`, `tasks/get`, `tasks/cancel`이 task lifecycle과 node cancel 흐름을 일관되게 표현한다.
|
||||
- 입력 표면별 설정과 lifecycle이 중복 없이 관리된다.
|
||||
- 앱별 README는 현재 사용법을 설명하고, 미래 우선순위는 roadmap을 참조한다.
|
||||
- [ ] 외부 OpenAI-compatible 요청이 Edge 내부에서 명시적인 adapter/target 실행으로 변환된다.
|
||||
- [ ] A2A `message/send`, `tasks/get`, `tasks/cancel`이 task lifecycle과 node cancel 흐름을 일관되게 표현한다.
|
||||
- [ ] 입력 표면별 설정과 lifecycle이 중복 없이 관리된다.
|
||||
- [ ] 앱별 README는 현재 사용법을 설명하고, 미래 우선순위는 roadmap을 참조한다.
|
||||
|
||||
## 범위 제외
|
||||
|
||||
|
|
|
|||
|
|
@ -24,20 +24,20 @@ Edge-Node 실행 기반
|
|||
|
||||
## 필수 기능
|
||||
|
||||
- NodeStore와 Registry가 사전 등록 node와 연결 node를 구분해 관리한다.
|
||||
- Edge가 node 설정을 mapper를 통해 NodeConfigPayload로 전달한다.
|
||||
- Node가 adapter registry를 구성하고 `runtime.Adapter` 계약으로 실행한다.
|
||||
- CLI adapter가 logical session과 cancel/terminate-session을 지원한다.
|
||||
- Edge console이 `/nodes`, `/node`, `/session`, `/background`, `/terminate-session`, `/status`, `/capabilities`, `/sessions`, `/transport`를 통해 기본 진단을 제공한다.
|
||||
- Field smoke에서 메시지 2회 왕복, start/delta/complete event, command 응답을 확인할 수 있다.
|
||||
- [ ] NodeStore와 Registry가 사전 등록 node와 연결 node를 구분해 관리한다.
|
||||
- [ ] Edge가 node 설정을 mapper를 통해 NodeConfigPayload로 전달한다.
|
||||
- [ ] Node가 adapter registry를 구성하고 `runtime.Adapter` 계약으로 실행한다.
|
||||
- [ ] CLI adapter가 logical session과 cancel/terminate-session을 지원한다.
|
||||
- [ ] Edge console이 `/nodes`, `/node`, `/session`, `/background`, `/terminate-session`, `/status`, `/capabilities`, `/sessions`, `/transport`를 통해 기본 진단을 제공한다.
|
||||
- [ ] Field smoke에서 메시지 2회 왕복, start/delta/complete event, command 응답을 확인할 수 있다.
|
||||
|
||||
## 완료 기준
|
||||
|
||||
- `bin/edge.sh`와 `bin/node.sh`를 각각 실행해 node 등록을 확인할 수 있다.
|
||||
- Edge console에서 두 번의 메시지 실행이 각각 start, non-empty message/delta, complete event를 표시한다.
|
||||
- `/capabilities`, `/transport`, `/sessions` 명령이 node 응답을 표시한다.
|
||||
- persistent profile에서 run cancel과 session terminate의 의미가 구분된다.
|
||||
- 변경 범위에 맞는 Go 테스트 또는 field smoke 기준이 문서와 일치한다.
|
||||
- [ ] `bin/edge.sh`와 `bin/node.sh`를 각각 실행해 node 등록을 확인할 수 있다.
|
||||
- [ ] Edge console에서 두 번의 메시지 실행이 각각 start, non-empty message/delta, complete event를 표시한다.
|
||||
- [ ] `/capabilities`, `/transport`, `/sessions` 명령이 node 응답을 표시한다.
|
||||
- [ ] persistent profile에서 run cancel과 session terminate의 의미가 구분된다.
|
||||
- [ ] 변경 범위에 맞는 Go 테스트 또는 field smoke 기준이 문서와 일치한다.
|
||||
|
||||
## 범위 제외
|
||||
|
||||
|
|
|
|||
|
|
@ -24,16 +24,16 @@ Control Plane과 Portal 운영
|
|||
|
||||
## 필수 기능
|
||||
|
||||
- Multi-edge 운영 명령과 이벤트 집계는 IOP native protocol을 기준으로 설계한다.
|
||||
- OpenAI-compatible 표면은 특정 Edge/adapter로 라우팅되는 inference 호환 경로로 제한한다.
|
||||
- A2A 표면은 특정 Edge/adapter로 위임되는 agent task 경로로 제한한다.
|
||||
- Edge는 자신의 로컬 런타임 상태와 registry 소유권을 유지한다.
|
||||
- [ ] Multi-edge 운영 명령과 이벤트 집계는 IOP native protocol을 기준으로 설계한다.
|
||||
- [ ] OpenAI-compatible 표면은 특정 Edge/adapter로 라우팅되는 inference 호환 경로로 제한한다.
|
||||
- [ ] A2A 표면은 특정 Edge/adapter로 위임되는 agent task 경로로 제한한다.
|
||||
- [ ] Edge는 자신의 로컬 런타임 상태와 registry 소유권을 유지한다.
|
||||
|
||||
## 완료 기준
|
||||
|
||||
- Control Plane이 여러 Edge 상태를 구분해 조회하고 표시할 수 있다.
|
||||
- Edge별 실행 이력과 domain agent 상태가 운영 화면에서 구분된다.
|
||||
- fleet-wide 기능이 Edge의 로컬 상태 소유권을 침범하지 않는다.
|
||||
- [ ] Control Plane이 여러 Edge 상태를 구분해 조회하고 표시할 수 있다.
|
||||
- [ ] Edge별 실행 이력과 domain agent 상태가 운영 화면에서 구분된다.
|
||||
- [ ] fleet-wide 기능이 Edge의 로컬 상태 소유권을 침범하지 않는다.
|
||||
|
||||
## 범위 제외
|
||||
|
||||
|
|
|
|||
|
|
@ -24,16 +24,16 @@ Control Plane과 Portal 운영
|
|||
|
||||
## 필수 기능
|
||||
|
||||
- Edge는 로컬 런타임 상태와 실행 이력의 원본을 유지한다.
|
||||
- Control Plane은 Edge 데이터를 조회/집계하되 Edge 내부 상태 소유권을 대체하지 않는다.
|
||||
- 원격 터미널 브리지는 target allowlist, credential 관리, command/session audit를 필수로 요구한다.
|
||||
- policy/audit 상세 schema는 구현 단계에서 명확한 evidence와 함께 확정한다.
|
||||
- [ ] Edge는 로컬 런타임 상태와 실행 이력의 원본을 유지한다.
|
||||
- [ ] Control Plane은 Edge 데이터를 조회/집계하되 Edge 내부 상태 소유권을 대체하지 않는다.
|
||||
- [ ] 원격 터미널 브리지는 target allowlist, credential 관리, command/session audit를 필수로 요구한다.
|
||||
- [ ] policy/audit 상세 schema는 구현 단계에서 명확한 evidence와 함께 확정한다.
|
||||
|
||||
## 완료 기준
|
||||
|
||||
- 실행 요청, command, terminal session, bootstrap/enrollment에 대한 audit event 초안이 있다.
|
||||
- 권한과 policy가 Edge/Control Plane/Node 경계 중 어디에서 적용되는지 문서화된다.
|
||||
- 기존 실행 파이프라인을 깨지 않고 history/audit 수집을 붙일 수 있다.
|
||||
- [ ] 실행 요청, command, terminal session, bootstrap/enrollment에 대한 audit event 초안이 있다.
|
||||
- [ ] 권한과 policy가 Edge/Control Plane/Node 경계 중 어디에서 적용되는지 문서화된다.
|
||||
- [ ] 기존 실행 파이프라인을 깨지 않고 history/audit 수집을 붙일 수 있다.
|
||||
|
||||
## 범위 제외
|
||||
|
||||
|
|
|
|||
|
|
@ -23,17 +23,17 @@ Automation Runtime과 Bridge 확장
|
|||
|
||||
## 필수 기능
|
||||
|
||||
- 원격 터미널 브리지는 완전 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에서 표현하는 방향을 검증한다.
|
||||
- [ ] 원격 터미널 브리지는 완전 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에서 표현하는 방향을 검증한다.
|
||||
|
||||
## 완료 기준
|
||||
|
||||
- 허용된 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 제어 기능을 억지로 싣지 않는다.
|
||||
- [ ] 허용된 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 제어 기능을 억지로 싣지 않는다.
|
||||
|
||||
## 범위 제외
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue