iop/agent-roadmap/archive/phase/automation-runtime-bridge/milestones/bridge-boundary-hardening.md
toki 89660dc1bd docs(roadmap): 완료 milestone을 archive로 반영한다
브리지 선행 경계 및 Control Plane 운영 Phase의 완료 상태를 활성 로드맵에서 archive 기준으로 이관해 현재 로드맵 경로를 정리하고, 남은 POC Phase에서 다음 단계로 진행할 수 있도록 문서 상태를 일치시킨다.
2026-06-10 07:46:47 +09:00

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 대신 RunDispatchRunStream 또는 동등한 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.logRoadmap Completion에서 PASS로 선언됐다.
    • 각 Task에 명시된 검증 명령은 해당 complete.log의 최종 검증 또는 재실행 증거로 기록되어 있다.
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 코드 관점 전체 검토와 검증 통과 후 사용자 승인에 따라 [완료]로 전환하고 archive한다.

범위 제외

  • 원격 터미널 브리지 open/input/output/resize/signal/close 기능 구현
  • SSH/WinRM/serial 같은 신규 terminal transport 구현
  • OpenAI-compatible/A2A 표면에 terminal 제어 기능 추가
  • legacy AdapterConfig.settings fallback 즉시 제거
  • 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가 완료되어 완료 리뷰를 요청했다.