nexo/agent-task/m-runtime-image-validation/02+01_remote_compose/CODE_REVIEW-cloud-G07.md
toki 916d8b1049 feat: runtime-image-validation milestone and task plans
- Add runtime-image-validation roadmap milestone
- Add task plans for image publish, remote compose, and validation matrix
2026-05-28 09:54:26 +09:00

6.2 KiB

Code Review Reference - REMOTE

[IMPLEMENTING AGENT — READ FIRST] Filling in this file is the mandatory final step of implementation. The task is NOT complete until every implementation-owned section below is filled in. Complete the 구현 체크리스트; the final checklist item is mandatory before saving. Fill implementation-owned sections, then stop with active files in place and report ready for review. If implementation is blocked by a user-only decision, external environment prerequisite, or scope conflict, fill 사용자 리뷰 요청 with evidence and stop with active files in place; code-review decides whether to write USER_REVIEW.md. Finalization (코드리뷰 결과, log rename, complete.log, archive moves, 코드리뷰 전용 체크리스트) is review-agent-only, even after compaction/resume.

개요

date=2026-05-28 task=m-runtime-image-validation/02+01_remote_compose, plan=0, tag=REMOTE

이 파일을 읽는 리뷰 에이전트에게

[REVIEW AGENT ONLY] 아래 종결 절차는 코드리뷰 에이전트 전용이다. 구현 에이전트는 이 섹션을 실행하지 않는다.

각 항목의 구현을 실제 소스 파일과 대조하고, 검증 결과 섹션의 출력이 코드와 일치하는지 확인하세요.


구현 항목별 완료 여부

항목 완료 여부
[REMOTE-1] local compose image defaults [ ]
[REMOTE-2] remote compose sync and smoke [ ]

구현 체크리스트

  • [REMOTE-1] local compose를 nexo-owned latest image와 Mac 전용 linux/arm64 platform 기준으로 전환한다.
  • [REMOTE-2] local compose 변경을 원격 ~/docker/services/nexo/compose에 반영하고 pull/up/smoke evidence를 기록한다.
  • CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

코드리뷰 전용 체크리스트

[REVIEW AGENT ONLY] 이 체크리스트는 코드리뷰 에이전트만 사용한다.

  • 코드리뷰 결과PASS, WARN, FAIL 중 하나의 판정을 append한다.
  • active CODE_REVIEW-cloud-G07.mdcode_review_cloud_G07_N.log로 아카이브한다.
  • active PLAN-cloud-G07.mdplan_cloud_G07_M.log로 아카이브한다.
  • PASS이면 complete.log를 작성하고 active .md 파일을 남기지 않는다.
  • PASS이면 active task 디렉터리를 agent-task/archive/YYYY/MM/m-runtime-image-validation/02+01_remote_compose/로 이동한다.
  • PASS split 작업이면 이동 후 빈 active parent 상태를 확인한다.
  • WARN/FAIL이면 다음 active plan/review 또는 USER_REVIEW.md를 작성하고 complete.log를 작성하지 않는다.

계획 대비 변경 사항

구현 에이전트가 계획과 다르게 구현한 부분을 이유와 함께 기록한다.

주요 설계 결정

구현 에이전트가 주요 설계 결정 사항을 기록한다.

사용자 리뷰 요청

기본값은 없음이다. 구현 중 사용자 결정, 외부 환경 준비, 또는 계획 범위 변경 없이는 안전하게 진행할 수 없으면 아래 항목을 실제 내용으로 교체하고, 구현을 중단한 뒤 active 파일을 그대로 둔 채 리뷰를 요청한다. code-review가 이 내용을 검증해 USER_REVIEW.md를 작성한다.

  • 상태: 없음
  • 사유 유형: 없음
  • 결정 필요: 없음
  • 차단 근거: 없음
  • 실행한 검증/명령: 없음
  • 재개 조건: 없음

리뷰어를 위한 체크포인트

  • docker-compose.yml 기본 image가 toki-labs.com:5050/nexo/*:latest이고 platform이 linux/arm64인지 확인한다.
  • README가 latest stable pointer와 docker compose pull && docker compose up -d 운영을 설명하는지 확인한다.
  • remote smoke 출력이 실제 원격 명령 결과인지 확인한다.

검증 결과

REMOTE-1 중간 검증

$ cd services/core/compose
$ rg --sort path -n "toki-labs.com:5050/nexo/(mattermost|push-proxy):latest|platform: linux/arm64|NEXO_.*IMAGE" docker-compose.yml .env.example README.md
(output)

REMOTE-2 중간 검증

$ cd services/core/compose
$ sha256sum docker-compose.yml .env.example
(output)
$ ssh toki@toki-labs.com 'cd ~/docker/services/nexo/compose && sha256sum docker-compose.yml .env.example && /usr/local/bin/docker compose --env-file .env.example config >/tmp/nexo-compose-config.yml && /usr/bin/grep -E "toki-labs.com:5050/nexo/(mattermost|push-proxy):latest|platform: linux/arm64" /tmp/nexo-compose-config.yml'
(output)
$ ssh toki@toki-labs.com 'cd ~/docker/services/nexo/compose && /usr/local/bin/docker compose pull && /usr/local/bin/docker compose up -d && curl -fsS "http://localhost:${NEXO_CORE_PORT:-18065}/api/v4/system/ping" && /usr/local/bin/docker compose exec -T db pg_isready -U mmuser -d mattermost && curl -fsSI "http://localhost:${NEXO_CORE_PORT:-18065}" && /usr/local/bin/docker compose ps push-proxy'
(output)

최종 검증

$ test -f agent-task/m-runtime-image-validation/01_image_publish/complete.log
(output)
$ cd services/core/compose
$ rg --sort path -n "toki-labs.com:5050/nexo/(mattermost|push-proxy):latest|platform: linux/arm64|NEXO_.*IMAGE" docker-compose.yml .env.example README.md
(output)
$ sha256sum docker-compose.yml .env.example
(output)
$ ssh toki@toki-labs.com 'cd ~/docker/services/nexo/compose && sha256sum docker-compose.yml .env.example && /usr/local/bin/docker compose --env-file .env.example config >/tmp/nexo-compose-config.yml && /usr/bin/grep -E "toki-labs.com:5050/nexo/(mattermost|push-proxy):latest|platform: linux/arm64" /tmp/nexo-compose-config.yml'
(output)
$ ssh toki@toki-labs.com 'cd ~/docker/services/nexo/compose && /usr/local/bin/docker compose pull && /usr/local/bin/docker compose up -d && curl -fsS "http://localhost:${NEXO_CORE_PORT:-18065}/api/v4/system/ping" && /usr/local/bin/docker compose exec -T db pg_isready -U mmuser -d mattermost && curl -fsSI "http://localhost:${NEXO_CORE_PORT:-18065}" && /usr/local/bin/docker compose ps push-proxy'
(output)

코드리뷰 결과

리뷰 에이전트가 append한다.