nexo/agent-roadmap/archive/phase/messaging-runtime/milestones/workspace-port-env-standardization.md
toki caafd4f320 feat(messaging): Web 알림 API 기준을 추가한다
Flutter Web foreground 알림을 준비하기 위해 초기화 옵션과 token prefix 경계를 public API로 고정한다.

포트/환경 기준 문서와 로드맵 정리, agent-task 리뷰 산출물도 함께 반영한다.
2026-06-07 10:59:12 +09:00

3.5 KiB

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

위치

  • Roadmap: agent-roadmap/ROADMAP.md
  • Phase: agent-roadmap/phase/messaging-runtime/PHASE.md

목표

Nexo의 upstream-followable Mattermost runtime, push-proxy, Flutter test host, web preview, remote runner 문서가 workspace 공통 포트 대역을 일관되게 말하도록 정리한다. 기존 core 18065와 push-proxy 18066은 외부 소비자가 있을 수 있으므로 즉시 변경하지 않고, 표준 대역과 호환성 메모를 먼저 남긴다.

상태

[완료]

승격 조건

  • 없음

구현 잠금

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

범위

  • Mattermost core HTTP, push-proxy HTTP, Flutter test/web host, upstream dev service 포트 inventory
  • 기존 외부 endpoint 18065/18066 유지 여부와 workspace backend 대역 후보의 migration note
  • upstream dev compose의 PostgreSQL, Redis, MinIO, mail, search, metrics, dashboard 포트를 nexo-owned runtime 포트와 분리해 문서화
  • Android/iOS/Web notification smoke에서 사용하는 host/base URL과 private Firebase/APNs 값의 기록 경계 정리

기능

Epic: [inventory] Nexo runtime inventory

Nexo가 소유한 runtime 포트와 upstream 개발 보조 포트를 분리해 정리한다.

  • [runtime-map] core HTTP, push-proxy, Flutter test host, web preview 포트를 host publish와 container/internal 기준으로 나눠 정리한다.
  • [upstream-map] upstream Mattermost dev compose의 DB/cache/object/search/mail/metrics/dashboard 포트를 nexo-owned runtime과 구분해 충돌 후보를 표시한다.
  • [slot-plan] Nexo 기본 후보를 frontend 13040, backend 18065/18066 유지, compose-internal DB/cache 우선으로 문서화하고 변경 필요 시 18040 계열 후보를 남긴다.
  • [secret-boundary] Firebase, APNs, Mattermost token, private host 값은 tracked 문서에 쓰지 않고 evidence 위치와 책임 경계만 남긴다.

완료 리뷰

  • 상태: 승인됨
  • 요청일: 2026-06-07
  • 완료 근거:
    • services/core/compose/README.md에 nexo runtime, upstream dev auxiliary, slot plan, tracked value boundary inventory를 추가했다.
    • README.md, apps/flutter-test/README.md, docs/runtime-image-validation.md가 같은 포트/환경 기준을 가리키도록 정리했다.
    • 검증: git diff --check, rg --sort path -n '(^## Port And Environment Inventory|^### Nexo Runtime|^### Upstream Dev Services|^### Slot Plan|^### Tracked Value Boundary|워크스페이스 포트 기준|frontend slot 13040|source of truth|현재 포트)' README.md services/core/compose/README.md apps/flutter-test/README.md docs/runtime-image-validation.md
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 사용자 요청으로 마일스톤을 종료하고 다음 마일스톤으로 이동한다.

범위 제외

  • 원격 runtime core/push-proxy 포트 즉시 변경
  • Mattermost upstream service 구조 변경
  • iOS/APNs, Firebase, Mattermost credential 기록
  • Flutter Web 알림 또는 iOS 알림 구현

작업 컨텍스트

  • 관련 경로: services/core/, services/push-proxy/, apps/flutter-test/, packages/messaging_flutter/, agent-test/local/
  • 표준선(선택): 외부 소비자가 있는 18065/18066은 compatibility baseline으로 유지하고, 신규 preview/test host publish만 workspace 대역으로 먼저 정렬한다.
  • 선행 작업: workspace 공통 포트 inventory 정리
  • 후속 작업: compose/env/test smoke 갱신과 drift 방지
  • 확인 필요: 없음