proto-socket/agent-roadmap/archive/phase/stability-maintenance/milestones/workspace-port-env-standardization.md

4.6 KiB

워크스페이스 포트/환경 표준화

목표

Proto Socket은 runtime service port를 소유하지 않는 라이브러리지만, cross-language/cross-runtime test runner에서 고정 local port 대역을 사용한다. 이 Milestone은 proto-socket의 fixed test port 대역을 workspace 포트 표준의 예외로 명확히 기록하고, remote Dart web/Chrome fallback 환경도 raw secret 없이 재현 가능한 기준으로 정리한다.

단계

안정화와 유지

상태

[완료]

구현 잠금

  • 상태: 해제
  • 결정 필요: 없음

범위

  • runtime service/frontend/backend 포트 없음 상태를 명시
  • cross-language/cross-runtime test runner의 fixed local port 대역을 workspace 표준 예외로 문서화
  • remote Dart web/Chrome fallback runner와 WSS/SPKI wrapper 환경을 테스트 runner 예외로 정리
  • 일반 예시 포트와 test matrix reserved 대역이 다른 프로젝트 host publish 포트와 충돌하지 않도록 기준 정리
  • private SSH host, credential, token 값은 tracked 문서에 쓰지 않고 runner 책임 경계만 기록

기능

Epic: [exception] Proto-socket port exception

Proto Socket의 테스트용 포트 사용을 제품 runtime 포트와 구분한다.

  • [no-runtime-port] proto-socket은 frontend/backend runtime service port를 소유하지 않는다는 기준을 README/test 문서에서 확인 가능하게 정리한다. (evidence: README.md런타임 포트와 테스트 포트, agent-test/local/rules.md의 공통 규칙)
  • [test-port-range] cross-language fixed local port 대역 29090-29899를 workspace 표준 예외로 문서화하고 충돌 방지 기준을 남긴다. (evidence: agent-test/local/rules.md, agent-test/local/proto-socket-full-matrix.md, agent-test/local/proto-socket-performance-baseline.md; rg --sort path -o --no-filename "\b29[0-9]{3}\b" ... 결과 min 29090, max 29899)
  • [example-ports] 예제/문서의 9090류 포트가 test matrix reserved 대역과 제품 host publish 대역을 오해하게 만들지 않는지 점검한다. (evidence: README.md9090 설명과 Dart/Go quick start 주석)
  • [remote-web-runner] Dart web/Chrome remote fallback, WSS/SPKI wrapper, SSH runner 경계는 raw secret 없이 테스트 환경 예외로 정리한다. (evidence: agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_matrix.sh가 ignored agent-test/local/remote-web.env를 먼저 읽는다. agent-test/local/rules.md, agent-test/local/proto-socket-full-matrix.md, agent-test/local/dart-smoke.md가 local 설정 책임과 SSH 인증 경계를 기록한다. rg로 tracked test docs의 raw remote host/path 제거 확인)

작업 동기화

  • 2026-06-08 기준 활성 agent-task/ 작업 파일은 없다.
  • 기능 Task [no-runtime-port], [test-port-range], [example-ports], [remote-web-runner]는 작은 문서 작업으로 직접 처리했고, runner 기본값 변경 같은 동작 변경은 이번 범위에서 제외해 별도 plan을 만들지 않았다.
  • 언어별 성능 병목 개선 Milestone은 [완료] 후 archive로 이동했으므로, 신규 작업의 기본 배치 대상은 아니다.

완료 리뷰

  • 상태: 승인됨
  • 요청일: 2026-06-08
  • 완료 근거:
    • README와 local test docs가 proto-socket의 runtime service port 비소유 원칙과 test runner fixed port 대역 29090-29899를 설명한다.
    • README quick start의 9090 예시는 소비자 애플리케이션 샘플 포트로 표시했고, test matrix reserved 대역과 분리했다.
    • Dart.web remote fallback과 WSS/SPKI wrapper는 ignored local env 파일과 runner 설정 경계로 정리했고, tracked test docs에는 raw credential/token/private endpoint를 남기지 않았다.
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 2026-06-08 사용자 요청으로 [완료] 전환 및 archive 이동을 진행했다.

범위 제외

  • wire format, proto schema, nonce 의미 변경
  • performance hotspot 개선 작업
  • package registry release 작업
  • C# 또는 Swift 포팅
  • private SSH credential, host token, certificate secret 기록

작업 컨텍스트

  • 관련 경로: agent-test/local/, agent-ops/skills/project/run-proto-socket-test-matrix/, dart/, go/, kotlin/, python/, typescript/, examples/
  • 표준선(선택): 29090-29899는 workspace frontend/backend/backend-artifact 대역이 아니라 proto-socket test runner 전용 reserved range다.
  • 선행 작업: workspace 공통 포트 inventory 정리
  • 후속 작업: test docs와 runner script의 port drift 방지
  • 확인 필요: 없음