브리지 선행 경계 및 Control Plane 운영 Phase의 완료 상태를 활성 로드맵에서 archive 기준으로 이관해 현재 로드맵 경로를 정리하고, 남은 POC Phase에서 다음 단계로 진행할 수 있도록 문서 상태를 일치시킨다.
4.7 KiB
4.7 KiB
Milestone: 브리지 선행 경계 안정화
위치
- Roadmap:
agent-roadmap/ROADMAP.md - Phase:
agent-roadmap/phase/automation-runtime-bridge/PHASE.md
목표
원격 터미널 브리지 POC를 시작하기 전에 전역 설계 부채 리팩토링에서 남은 호환성/소유권 리스크를 실행 가능한 계약으로 고정한다. 새 terminal/native API가 legacy 실행 handle, provider-specific terminal core, 임시 설정 경로, 느슨한 client lifecycle에 기대지 않도록 선행 경계를 정리한다.
상태
[완료]
구현 잠금
- 상태: 해제
- 결정 필요: 없음
범위
- Client HTTP repository의 기본 client 소유권과 dispose 경계 정리
- Edge service run 제출 결과에서 legacy
RunHandle의존을 줄이고 신규 표면의RunDispatch/RunStream소비 기준 고정 - Node terminal session core를 provider-specific CLI 구현에서 재사용 가능한 terminal transport 경계로 분리할 수 있는 최소 구조 확정
AdapterConfig.settings를 legacy fallback으로만 유지하고 신규 adapter/terminal config는 typed proto 계약으로 표현한다는 guard 보강
기능
Epic: [preflight-boundary] Bridge Preflight Boundary
원격 터미널 브리지 구현이 기존 호환 표면을 확장 경로로 착각하지 않도록 선행 계약을 고정한다.
- [client-http-lifecycle]
HttpControlPlaneStatusRepository가 기본http.Client를 요청마다 새로 만들지 않고 소유/해제 경계를 명확히 하며, 주입된 client는 caller-owned로 유지한다. 검증:cd apps/client && flutter test test/control_plane_status_controller_test.dart test/widget_test.dart - [edge-run-surface] Edge 신규 native/terminal 표면은 legacy combined
RunHandle대신RunDispatch와RunStream또는 동등한 surface-neutral 계약을 소비하도록 service interface와 테스트를 정리한다. 검증:go test -count=1 ./apps/edge/internal/service ./apps/edge/internal/openai ./apps/edge/internal/input/a2a - [terminal-core-boundary] persistent PTY 기반
terminalSessionCore를 CLI provider 내부 세부가 아니라 remote terminal transport가 재사용할 수 있는 Node terminal boundary로 분리하거나 명시 interface로 고정한다. 검증:go test -count=1 ./apps/node/internal/adapters/cli ./apps/node/internal/... - [adapter-config-typed]
AdapterConfig.settings는 구버전 Edge payload fallback으로만 허용하고, Edge mapper와 신규 config는 typed oneof/proto 메시지를 사용한다는 guard를 테스트로 고정한다. 검증:make proto && go test -count=1 ./apps/edge/internal/node ./apps/edge/internal/transport ./apps/node/internal/adapters ./proto/gen/...
완료 리뷰
- 상태: 승인됨
- 요청일: 2026-06-08
- 승인일: 2026-06-09
- 완료 근거:
[client-http-lifecycle]은 기존 완료 근거로cd apps/client && flutter test test/control_plane_status_controller_test.dart test/widget_test.dart통과가 기록되어 있다.[edge-run-surface],[terminal-core-boundary],[adapter-config-typed]는 각각agent-task/archive/2026/06/m-bridge-boundary-hardening/01_edge_run_surface/complete.log,02_terminal_core_boundary/complete.log,03_adapter_config_typed/complete.log의Roadmap Completion에서 PASS로 선언됐다.- 각 Task에 명시된 검증 명령은 해당
complete.log의 최종 검증 또는 재실행 증거로 기록되어 있다.
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 코드 관점 전체 검토와 검증 통과 후 사용자 승인에 따라
[완료]로 전환하고 archive한다.
범위 제외
- 원격 터미널 브리지 open/input/output/resize/signal/close 기능 구현
- SSH/WinRM/serial 같은 신규 terminal transport 구현
- OpenAI-compatible/A2A 표면에 terminal 제어 기능 추가
- legacy
AdapterConfig.settingsfallback 즉시 제거 - Control Plane/Client terminal 운영 UI 구현
작업 컨텍스트
- 관련 경로:
apps/client/lib/control_plane_status_repository.dart,apps/edge/internal/service,apps/edge/internal/openai,apps/edge/internal/input/a2a,apps/node/internal/adapters/cli,proto/iop/runtime.proto,apps/edge/internal/node,apps/node/internal/adapters - 표준선(선택): 호환성 경로는 유지하되 신규 bridge/native 구현은 surface-neutral DTO, reusable terminal boundary, typed proto config를 기준으로 삼는다.
- 선행 작업: 전역 설계 부채 리팩토링 기반
- 후속 작업: 원격 터미널 브리지 POC
- 확인 필요: 없음
- 완료 근거: 모든 기능 Task가 완료되어 완료 리뷰를 요청했다.