rara/agent-test/dev/workflow-execution-smoke.md
toki d67b128344
Some checks are pending
ci / validate (push) Waiting to run
add agent-test
2026-07-18 23:55:20 +09:00

3.6 KiB

test_env test_profile domain verification_type last_rule_updated_at
dev workflow-execution-smoke workflow-execution smoke 2026-07-18

workflow-execution-smoke dev 테스트

읽기 조건

  • Go worker, executor registry, Python executor 또는 Protobuf 실행 계약을 원격 환경에서 검증할 때

적용 범위

  • apps/worker/, packages/go/workflow/, packages/python/, api/proto/, gen/go/rara/v1/

분류

  • domain: workflow-execution
  • verification_type: smoke
  • scope: 원격 runner의 Go worker와 Python gRPC executor 검증

환경

  • host: ssh toki@toki-labs.com
  • repo root: /Users/toki/agent-work/rara-dev
  • port: Go Worker 127.0.0.1:18072, Python Executor gRPC 127.0.0.1:19070
  • runtime: Go 1.26, Python 3.12
  • package manager: Go modules, Python venv/pip
  • docker: login shell의 Docker Desktop/Engine 27.4.0, PostgreSQL 통합 검증 전 daemon 재확인
  • external service: Go worker 상태 전이 검증에는 PostgreSQL 필요
  • model endpoint: 기본값 없음. adaptation 모델 검증은 별도 승인된 endpoint 필요
  • credential: database/model credential 원문은 문서와 출력에 남기지 않는다.

명령

  • setup: make setup
  • lint: .venv/bin/ruff format --check packages/python/src packages/python/tests && .venv/bin/ruff check packages/python/src packages/python/tests
  • unit: go test ./packages/go/workflow/... && PYTHONPATH=packages/python/src .venv/bin/python -m pytest packages/python/tests
  • smoke: go build -o /tmp/rara-worker ./apps/worker/cmd/worker
  • service: PostgreSQL 준비 후 Go worker는 RARA_LISTEN=127.0.0.1:18072, Python executor는 RARA_PYTHON_LISTEN_HOST=127.0.0.1 RARA_PYTHON_LISTEN_PORT=19070으로 실행
  • e2e: PostgreSQL과 executor가 준비된 경우 ping step의 lease와 terminal 상태 확인
  • model: ML dependency와 승인된 endpoint가 준비된 경우에만 수행
  • full-cycle: make test && make build

필수 검증

  • 원격 checkout의 HEAD가 검증 대상 source와 일치한다.
  • Go workflow와 Python executor 테스트, Ruff 검사가 통과한다.
  • Go worker binary가 빌드된다.
  • Protobuf 변경 시 make proto 후 Go/Python 생성물과 호환성 영향을 확인한다.
  • service smoke 시 1807219070이 각각 의도한 프로세스에만 점유된다.

보조 검증

  • lsof -nP -iTCP:18072 -sTCP:LISTENlsof -nP -iTCP:19070 -sTCP:LISTEN으로 충돌과 종료 후 반환을 확인한다.
  • PostgreSQL을 준비한 경우 step lease·성공·실패·재시도 상태 전이를 확인한다.

판정 기준

  • source identity가 일치하고 Go/Python 테스트, Ruff, worker 빌드가 exit code 0으로 종료한다.
  • service smoke를 수행한 경우 Go worker health/readiness와 Python gRPC capability 응답을 확인한다.
  • PostgreSQL·ML dependency가 없으면 source 검증과 통합 차단을 구분해 보고한다.

기준 출력 예시

ok   git.toki-labs.com/toki/rara/packages/go/workflow

차단 기준

  • 원격 checkout 부재·source 불일치, Go 1.26/Python 3.12/.venv 부재
  • 18072 또는 19070 점유
  • 상태 전이 검증에 필요한 PostgreSQL 또는 모델 검증에 필요한 ML dependency 부재

보고 항목

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

금지 사항

  • local test 결과를 원격 worker/executor evidence로 보고하지 않는다.
  • 생성된 Protobuf 파일을 직접 수정하지 않는다.
  • ML dependency가 없는 환경에서 adaptation 모델 실행이 검증됐다고 보고하지 않는다.
  • secret, token, 개인 endpoint 원문을 기록하지 않는다.