# Edge-Node 실행 스켈레톤

## 목표

Edge와 Node 사이의 기본 실행 파이프라인을 안정화한다.
Node 등록, 설정 전달, adapter execution, run event streaming, command request/response, field smoke 기준을 한 흐름으로 검증할 수 있게 만든다.

## 단계

Edge-Node 실행 기반

## 상태

완료

## 구현 잠금

- 상태: 해제
- 이유: 완료된 Milestone이며 완료 기준과 완료 근거가 문서화되어 있다. 후속 확장은 별도 Milestone에서 다룬다.
- 해제 조건:
  - [x] 완료 기준과 완료 근거가 문서화됨
  - [x] 후속 확장은 별도 Milestone에서 다룸
- 잠금 중 금지:
  - 해당 없음

## 범위

- Edge-Node TCP/protobuf 연결과 RegisterRequest/RegisterResponse 흐름
- token 기반 node 등록과 NodeConfigPayload 전달
- Node adapter registry와 `adapter + target` 실행 라우팅
- `RunRequest`, `RunEvent`, `CancelRequest`, `NodeCommandRequest`, `NodeCommandResponse` 경로
- CLI adapter 기반 one-shot/persistent session 실행 검증
- edge-local ops console과 당시 repo 내부 `bin/edge.sh`, `bin/node.sh` 기반 field smoke

## 필수 기능

- [x] [node-registry] NodeStore와 Registry가 사전 등록 node와 연결 node를 구분해 관리한다.
- [x] [node-config] Edge가 node 설정을 mapper를 통해 NodeConfigPayload로 전달한다.
- [x] [adapter-registry] Node가 adapter registry를 구성하고 `runtime.Adapter` 계약으로 실행한다.
- [x] [cli-session] CLI adapter가 logical session과 cancel/terminate-session을 지원한다.
- [x] [edge-console] Edge console이 `/nodes`, `/node`, `/session`, `/background`, `/terminate-session`, `/status`, `/capabilities`, `/sessions`, `/transport`를 통해 기본 진단을 제공한다.
- [x] [field-smoke] Field smoke에서 메시지 2회 왕복, start/delta/complete event, command 응답을 확인할 수 있다.

## 완료 기준

- [x] 당시 repo 내부 `bin/edge.sh`와 `bin/node.sh` 진단 흐름으로 node 등록을 확인할 수 있다.
- [x] Edge console에서 두 번의 메시지 실행이 각각 start, non-empty message/delta, complete event를 표시한다.
- [x] `/capabilities`, `/transport`, `/sessions` 명령이 node 응답을 표시한다.
- [x] persistent profile에서 run cancel과 session terminate의 의미가 구분된다.
- [x] 변경 범위에 맞는 Go 테스트 또는 field smoke 기준이 문서와 일치한다.

## 범위 제외

- Control Plane이 Node를 직접 연결하거나 직접 스케줄링하는 구조
- Edge 내부에 Node adapter 실행 로직을 복제하는 구조
- gRPC 또는 WebSocket을 Edge-Node 기본 transport로 바꾸는 작업
- 상세 DB schema, audit model, policy engine 확정

## 작업 컨텍스트

- 관련 앱: `apps/edge`, `apps/node`
- 관련 문서: `apps/edge/README.md`, `apps/node/README.md`, `docs/deploy-dev.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`의 검증 기준을 따른다.
- 완료 근거: 2026-05-23 `go test ./...`, `make test-e2e` 통과.
