iop/agent-test/dev-corp/client-smoke.md

4.4 KiB

test_env test_profile domain verification_type last_rule_updated_at
dev-corp client-smoke client smoke 2026-07-08

client-smoke dev-corp 테스트

읽기 조건

  • apps/client/** 또는 packages/flutter/iop_console/** 변경의 dev-corp 테스트, 검증, 실행 조건 판단이 필요한 경우

적용 범위

  • IOP Flutter client app shell
  • IOP-owned embeddable console package
  • Client-Control Plane proto-socket hello baseline
  • Flutter widget/unit tests
  • dev-corp web preview와 compose web build URL 주입

분류

  • domain: client
  • verification_type: smoke
  • scope: Flutter client와 IOP console package 변경

환경

  • host: Flutter client 또는 packages/flutter/iop_console가 포함된 runtime evidence는 mac-mini ssh fe@172.24.63.178/Users/fe/agent-work/iop-dev-corp 기준으로 수행한다.
  • port: web/dev preview 13002, Control Plane HTTP 18002, Client WS 19004, Edge-Node TCP transport 19006.
  • runtime: Flutter/Dart
  • package manager: Flutter pub
  • docker: compose 검증은 mac-mini에서 .env.dev-corp.example 기준이다.
  • external service: sibling path dependencies ../agent-shell, ../nexo/packages/messaging_flutter, ../proto-socket/dart
  • model endpoint:
  • credential: token/secret/API key 원문은 문서에 기록하지 않는다.

명령은 mac-mini runner 사용 시 /Users/fe/agent-work/iop-dev-corp 기준으로 실행한다. 현재 작업 컨테이너의 변경분이 mac-mini checkout에 동기화되지 않았으면 원격 검증 완료로 보지 않는다.

명령

  • setup: cd apps/client && flutter pub get
  • package-setup: cd packages/flutter/iop_console && flutter pub get
  • unit: cd apps/client && flutter test
  • package-unit: cd packages/flutter/iop_console && flutter test
  • lint: cd apps/client && flutter analyze --no-fatal-infos
  • smoke: cd apps/client && flutter test
  • e2e: IOP_WEB_PORT=13002 IOP_CONTROL_PLANE_HTTP_URL=http://115.21.224.82:18002 IOP_CONTROL_PLANE_WIRE_URL=ws://115.21.224.82:19004/client ./scripts/dev/web.sh
  • compose-e2e: mac-mini 환경에서 IOP_EDGE_NODE_TOKEN을 안전하게 주입한 뒤 docker compose --env-file .env.dev-corp.example up --build
  • web-build: make client-build-web IOP_CONTROL_PLANE_HTTP_URL=http://115.21.224.82:18002 IOP_CONTROL_PLANE_WIRE_URL=ws://115.21.224.82:19004/client
  • model:
  • full-cycle:

필수 검증

  • client 또는 packages/flutter/iop_console 변경은 최소 cd apps/client && flutter test로 확인한다.
  • packages/flutter/iop_console 자체 API나 widget 구조가 바뀌면 cd packages/flutter/iop_console && flutter test 실행 가능 여부를 확인한다.
  • analyzer 영향이 있는 dependency, app shell, generated import 변경이면 cd apps/client && flutter analyze --no-fatal-infos를 함께 확인한다.
  • Web build/deploy, apps/client/Dockerfile, docker-compose.yml, scripts/dev/web.sh, Makefile client-build-web 변경은 mac-mini에서 dev-server 기동 또는 compose build 중 변경 범위에 맞는 경로를 확인하고, 외부 브라우저 확인 URL이 기본 public 경로 http://115.21.224.82:13002 계열인지 보고한다.
  • compose 경로를 확인할 때는 IOP_EDGE_NODE_TOKEN을 mac-mini 환경에서 주입하고, token 원문은 tracked 파일에 기록하지 않는다.

보조 검증

  • cd apps/client && flutter pub get
  • cd packages/flutter/iop_console && flutter pub get

판정 기준

  • Flutter test가 실패 없이 종료한다.
  • Analyzer는 기존 non-fatal info를 기능 실패로 확대하지 않는다.
  • path dependency가 없어 실행하지 못하면 누락된 sibling workspace를 차단 사유로 보고한다.
  • dev-corp web preview가 필요한 경우 browser-facing URL과 compiled Control Plane HTTP/WS URL이 모두 dev-corp 포트(13002, 18002, 19004)를 사용한다.

기준 출력 예시

All tests passed!

차단 기준

  • mac-mini runner 접근, Flutter SDK, Docker compose, 또는 필요한 dev-corp 포트 개방이 없어 client runtime 검증을 실행할 수 없다.
  • 필요한 sibling path dependency가 없어 flutter pub get 또는 test가 진행되지 않는다.

보고 항목

  • 실행한 명령:
  • 성공한 검증:
  • 실패/차단된 검증:
  • 생략 사유:
  • 남은 위험:

금지 사항

  • secret, token, API key 원문은 tracked 파일에 기록하지 않는다.
  • IOP client에 NomadCode product shell UX를 직접 복제하지 않는다.