docs(roadmap): OTO registry 마일스톤을 완료 처리한다
This commit is contained in:
parent
7008ff888f
commit
f9670576e4
4 changed files with 31 additions and 29 deletions
|
|
@ -12,7 +12,7 @@ Edge-side registration record와 connected registry가 generic `iop-node`와 `ot
|
|||
|
||||
## 상태
|
||||
|
||||
[진행중]
|
||||
[완료]
|
||||
|
||||
## 구현 잠금
|
||||
|
||||
|
|
@ -32,20 +32,21 @@ Edge-side registration record와 connected registry가 generic `iop-node`와 `ot
|
|||
|
||||
Edge가 token으로 찾은 record를 generic node 또는 OTO agent로 분류하고 연결 상태를 구분한다.
|
||||
|
||||
- [ ] [agent-kind-model] Edge-side registration record가 `generic-node`와 `oto-agent` kind를 표현한다.
|
||||
- [ ] [compat-node] 기존 `nodes[]`와 `iop-node` 등록 테스트가 agent kind 추가 뒤에도 깨지지 않는다. 검증: `go test ./apps/edge/internal/node ./apps/edge/internal/transport ./apps/edge/cmd/edge`
|
||||
- [ ] [connected-entry] connected registry entry가 agent id, alias, kind, lifecycle state를 노출할 수 있다.
|
||||
- [ ] [duplicate-policy] 같은 OTO agent identity의 중복 연결은 기본 reject로 처리되고 reason이 구분된다.
|
||||
- [x] [agent-kind-model] Edge-side registration record가 `generic-node`와 `oto-agent` kind를 표현한다.
|
||||
- [x] [compat-node] 기존 `nodes[]`와 `iop-node` 등록 테스트가 agent kind 추가 뒤에도 깨지지 않는다. 검증: `go test ./apps/edge/internal/node ./apps/edge/internal/transport ./apps/edge/cmd/edge`
|
||||
- [x] [connected-entry] connected registry entry가 agent id, alias, kind, lifecycle state를 노출할 수 있다.
|
||||
- [x] [duplicate-policy] 같은 OTO agent identity의 중복 연결은 기본 reject로 처리되고 reason이 구분된다.
|
||||
|
||||
## 완료 리뷰
|
||||
|
||||
- 상태: 없음
|
||||
- 요청일: 없음
|
||||
- 완료 근거: active implementation plan을 생성했으며 모든 기능 Task는 아직 충족되지 않았다.
|
||||
- 상태: 승인됨
|
||||
- 요청일: 2026-06-03
|
||||
- 완료 근거: `agent-task/archive/2026/06/m-oto-agent-registry-implementation/01_config_store/complete.log`, `02+01_registry_transport/complete.log`, `03+01,02_service_snapshots/complete.log`가 모두 PASS이며 Roadmap Completion에 `agent-kind-model`, `connected-entry`, `duplicate-policy`, `compat-node` 완료가 기록되어 있다.
|
||||
- 완료 근거: `go test -count=1 ./apps/edge/... ./packages/go/config`, 대상 package 테스트, `make test-e2e`, repo 내부 edge-node 진단이 PASS로 기록되어 있다.
|
||||
- 리뷰 필요:
|
||||
- [ ] 사용자가 완료 결과를 확인했다
|
||||
- [ ] archive 이동을 승인했다
|
||||
- 리뷰 코멘트: 없음
|
||||
- [x] 사용자가 완료 결과를 확인했다
|
||||
- [x] archive 이동을 승인했다
|
||||
- 리뷰 코멘트: 2026-06-03 사용자 요청으로 모든 기능 Task 완료 상태를 확인하고 Milestone을 완료/archive 처리한다.
|
||||
|
||||
## 범위 제외
|
||||
|
||||
|
|
@ -57,11 +58,11 @@ Edge가 token으로 찾은 record를 generic node 또는 OTO agent로 분류하
|
|||
## 작업 컨텍스트
|
||||
|
||||
- 관련 경로: `packages/go/config`, `apps/edge/internal/node`, `apps/edge/internal/transport`, `apps/edge/internal/service`, `configs/edge.yaml`
|
||||
- Active task group: `agent-task/m-oto-agent-registry-implementation/`
|
||||
- Active plan 분할:
|
||||
- `01_config_store`: `agent-kind-model` 구현 계획. Config/NodeStore에 `generic-node`, `oto-agent` kind 모델을 추가한다.
|
||||
- `02+01_registry_transport`: `connected-entry`, `duplicate-policy` 구현 계획. Registry entry와 transport registration 경로에 kind/lifecycle과 OTO duplicate reason을 반영한다.
|
||||
- `03+01,02_service_snapshots`: `compat-node` 구현 계획. Service snapshot에 kind/lifecycle을 노출하고 기존 generic node 회귀를 검증한다.
|
||||
- 완료된 task group: `agent-task/archive/2026/06/m-oto-agent-registry-implementation/`
|
||||
- 완료된 plan 분할:
|
||||
- `01_config_store`: `agent-kind-model` 완료. Config/NodeStore에 `generic-node`, `oto-agent` kind 모델을 추가했다.
|
||||
- `02+01_registry_transport`: `connected-entry`, `duplicate-policy` 완료. Registry entry와 transport registration 경로에 kind/lifecycle과 OTO duplicate reason을 반영했다.
|
||||
- `03+01,02_service_snapshots`: `compat-node` 완료. Service snapshot에 kind/lifecycle을 노출하고 기존 generic node 회귀를 검증했다.
|
||||
- 표준선(선택): `RegisterRequest`에는 kind field를 추가하지 않고, token이 가리키는 Edge-side record에서 kind를 판별한다.
|
||||
- 표준선(선택): registry는 먼저 기존 `NodeEntry` 확장 또는 얇은 `AgentEntry` 도입 중 가장 작은 변경으로 시작한다.
|
||||
- 선행 작업: Agent Bootstrap과 OTO 등록, Specialized Agent proto-socket 연결 기반
|
||||
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
## 활성 Phase
|
||||
|
||||
- [진행중] Automation Runtime과 Bridge 확장
|
||||
- 경로: `agent-roadmap/phase/automation-runtime-bridge/PHASE.md`
|
||||
- [진행중] Control Plane과 Client 운영
|
||||
- 경로: `agent-roadmap/phase/control-plane-portal-ops/PHASE.md`
|
||||
|
||||
## 활성 Milestone
|
||||
|
||||
- [진행중] OTO Registration Unlock Handoff
|
||||
- Phase: `agent-roadmap/phase/automation-runtime-bridge/PHASE.md`
|
||||
- 경로: `agent-roadmap/phase/automation-runtime-bridge/milestones/oto-registration-unlock-handoff.md`
|
||||
- [계획] Multi-Edge 운영
|
||||
- Phase: `agent-roadmap/phase/control-plane-portal-ops/PHASE.md`
|
||||
- 경로: `agent-roadmap/phase/control-plane-portal-ops/milestones/multi-edge-operations.md`
|
||||
|
||||
## 선택 규칙
|
||||
|
||||
|
|
|
|||
|
|
@ -22,14 +22,14 @@ CLI 실행, specialized agent 등록, bootstrap/enrollment, 원격 터미널 브
|
|||
- 경로: `agent-roadmap/archive/phase/automation-runtime-bridge/milestones/agent-bootstrap-oto-enrollment.md`
|
||||
- 요약: OTO를 Edge 직접 연결 specialized domain agent로 등록하기 위한 MVP enrollment 계약과 후속 구현 Milestone 경계를 확정했다.
|
||||
|
||||
- [완료] OTO Agent Registry 구현
|
||||
- 경로: `agent-roadmap/archive/phase/automation-runtime-bridge/milestones/oto-agent-registry-implementation.md`
|
||||
- 요약: Edge-side `generic-node`/`oto-agent` 구분을 config/store, registry/transport, service snapshot에 반영하고 검증을 완료했다.
|
||||
|
||||
- [검토중] Specialized Agent proto-socket 연결 기반
|
||||
- 경로: `agent-roadmap/phase/automation-runtime-bridge/milestones/specialized-agent-proto-socket-foundation.md`
|
||||
- 요약: OTO의 node-compatible proto-socket registration smoke를 바탕으로 Edge의 specialized agent kind, registry/config, message boundary, reconnect 정책과 runtime 경로 구분을 완료 후보로 정리했다.
|
||||
|
||||
- [진행중] OTO Agent Registry 구현
|
||||
- 경로: `agent-roadmap/phase/automation-runtime-bridge/milestones/oto-agent-registry-implementation.md`
|
||||
- 요약: Config/Store, Registry/Transport, Service Snapshot 3개 active plan으로 나누어 Edge-side `generic-node`/`oto-agent` 구분 구현을 진행한다.
|
||||
|
||||
- [계획] OTO Bootstrap Command 발급
|
||||
- 경로: `agent-roadmap/phase/automation-runtime-bridge/milestones/oto-bootstrap-command-issue.md`
|
||||
- 요약: `iop-edge`가 OTO agent record를 만들고 OTO Linux bootstrap script가 소비할 one-line command를 발급하는 CLI/config 표면을 구현한다.
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ iop2oto의 OTO registry, bootstrap command, registration online smoke 결과를
|
|||
OTO repo의 `oto-agent` 등록 흐름 잠금 해제에 필요한 iop2oto 쪽 완료 근거를 모은다.
|
||||
|
||||
- [ ] [upstream-complete] `OTO Agent Registry 구현`, `OTO Bootstrap Command 발급`, `OTO Registration Online Smoke`가 [검토중] 또는 [완료] 상태이며 각 완료 근거가 확인되어 있다.
|
||||
- [ ] [node-interface-parity] OTO agent config와 bootstrap command가 기존 `iop-node` config/bootstrap의 필드명, flag 의미, 출력 형식, 진단 흐름을 최대한 유지하고 OTO 전용 차이만 별도로 설명한다.
|
||||
- [x] [node-interface-parity] OTO agent config와 bootstrap command가 기존 `iop-node` config/bootstrap의 필드명, flag 의미, 출력 형식, 진단 흐름을 최대한 유지하고 OTO 전용 차이만 별도로 설명한다.
|
||||
- [ ] [online-evidence] registration accepted와 최초 heartbeat 이후 online 전환이 같은 smoke evidence 안에서 확인된다. 검증: `OTO Registration Online Smoke`의 실행 명령과 PASS 로그 또는 문서 링크가 남는다.
|
||||
- [ ] [failure-retry] unknown token, duplicate connection, heartbeat timeout, bootstrap/registration 실패 reason과 retry 기준이 OTO가 소비할 수 있는 형태로 요약되어 있다.
|
||||
- [ ] [lock-sync-ready] OTO lock entry에서 `iop2oto:agent-roadmap/phase/automation-runtime-bridge/milestones/oto-registration-unlock-handoff.md`를 `enable`로 동기화할 수 있는 완료 근거가 남는다.
|
||||
|
|
@ -43,7 +43,8 @@ OTO repo의 `oto-agent` 등록 흐름 잠금 해제에 필요한 iop2oto 쪽 완
|
|||
|
||||
- 상태: 없음
|
||||
- 요청일: 없음
|
||||
- 완료 근거: 선행 Milestone과 online smoke evidence가 아직 충족되지 않았다.
|
||||
- 완료 근거: `node-interface-parity`는 `agent-task/archive/2026/06/m-oto-registration-unlock-handoff/01_node_interface_parity/complete.log`에서 PASS 완료되었다.
|
||||
- 완료 근거: unlock handoff evidence completion은 `agent-task/archive/2026/06/m-oto-registration-unlock-handoff/02+01_unlock_evidence_handoff/complete.log`에서 선행 gate 미충족 re-block으로 종결되었으며, bootstrap command와 online smoke evidence가 아직 남아 있다.
|
||||
- 리뷰 필요:
|
||||
- [ ] 사용자가 완료 결과를 확인했다
|
||||
- [ ] archive 이동을 승인했다
|
||||
|
|
@ -72,10 +73,10 @@ OTO repo의 `oto-agent` 등록 흐름 잠금 해제에 필요한 iop2oto 쪽 완
|
|||
ORU02 handoff plan의 upstream completion gate 평가 결과다. 상태는 각 선행 Milestone 문서(`## 상태`)를 source-of-truth로 직접 재확인했다.
|
||||
|
||||
- predecessor `01_node_interface_parity`: PASS. `agent-task/archive/2026/06/m-oto-registration-unlock-handoff/01_node_interface_parity/complete.log` 확인 결과 `node-interface-parity`가 PASS 완료되었고, `rg --sort path -n 'node-interface-parity|iop-node|agent_kind' ...`와 `git diff --check` 검증이 통과했다.
|
||||
- `OTO Agent Registry 구현`: [진행중] — `oto-agent-registry-implementation.md` 기능 Task(`agent-kind-model`, `compat-node`, `connected-entry`, `duplicate-policy`)가 모두 `[ ]`. 완료 evidence(`[검토중]`/`[완료]`) 없음.
|
||||
- `OTO Agent Registry 구현`: [완료] — archive 문서 `agent-roadmap/archive/phase/automation-runtime-bridge/milestones/oto-agent-registry-implementation.md`로 이동되었고, 기능 Task(`agent-kind-model`, `compat-node`, `connected-entry`, `duplicate-policy`)와 registry task group의 3개 `complete.log`가 모두 PASS evidence를 갖는다.
|
||||
- `OTO Bootstrap Command 발급`: [계획] — 구현/완료 evidence 없음.
|
||||
- `OTO Registration Online Smoke`: [계획] — registration accepted/최초 heartbeat online PASS 로그 또는 smoke evidence 없음.
|
||||
- **upstream-complete gate: 미충족.** 세 선행 Milestone이 모두 [검토중] 또는 [완료]가 아니므로 online-evidence(accepted/heartbeat)와 failure-retry(unknown token, duplicate connection, heartbeat timeout, bootstrap/registration 실패 reason과 retry 기준) evidence를 OTO `registration-state`로 옮길 수 있는 형태로 수집할 수 없다. 따라서 이 Milestone의 기능 Task는 아직 `[x]` 처리하지 않는다. 이 gate는 사용자 결정이 아니라 선행 Milestone 구현이 완료되어야 닫히는 repo-owned evidence gap이다.
|
||||
- **upstream-complete gate: 미충족.** `OTO Bootstrap Command 발급`과 `OTO Registration Online Smoke`가 아직 [검토중] 또는 [완료]가 아니므로 online-evidence(accepted/heartbeat)와 failure-retry(unknown token, duplicate connection, heartbeat timeout, bootstrap/registration 실패 reason과 retry 기준) evidence를 OTO `registration-state`로 옮길 수 있는 형태로 수집할 수 없다. 따라서 `upstream-complete`, `online-evidence`, `failure-retry`, `lock-sync-ready`는 아직 `[x]` 처리하지 않는다. 이 gate는 사용자 결정이 아니라 선행 Milestone 구현이 완료되어야 닫히는 repo-owned evidence gap이다.
|
||||
|
||||
### lock sync readiness
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue