ES /docs

MaskWork#maskPanos stderr을 모두 error로 기록 — 로그 레벨 매핑 오류

Fix Plan: MaskWork::maskPanos | PyTorch UserWarning: No PYTORCH_KERNEL_CACHE_PATH or HOME

Changes#

cupixworks: applications/agents/packages/cupix-pano-postprocessor/src/work/mask-work.ts#

  • What: spawn()env 옵션에 ...process.env를 spread하여 부모 프로세스 환경변수를 상속하도록 수정. 기존 3개 커스텀 변수(INPUT_DIRPATH, OUTPUT_DIRPATH, OPTION_FILE_PATH)는 그대로 유지하되, { ...process.env, ...customVars } 패턴을 적용.
  • Why: 현재 env 옵션에 커스텀 변수만 전달하여 HOME, PATH, PYTORCH_KERNEL_CACHE_PATH 등이 누락됨. PixGenieProcess(pixgenie.process.ts:66)의 올바른 패턴을 참고하여 표준화.
  • Lines: 29-33

cupixworks: applications/agents/packages/cupix-capture-3d-reconstruction-agent/src/process/three-d-reconstruction.process.ts#

  • What: 환경변수를 command string prefix로 전달하는 방식을 spawn()env 옵션으로 변경. { ...process.env, API_URL, DOMAIN, CAPTURE, ACCESS_TOKEN, ... } 패턴을 적용하고, shell: true + command string 방식 대신 array argument 형태로 전환.
  • Why: 현재 shell: true로 환경변수를 command prefix로 전달하는 방식은 표준 패턴({ ...process.env, ...customEnv })과 불일치. 장기적으로 모든 agent 패키지에서 동일한 spawn() 패턴을 사용하도록 표준화.
  • Lines: 43-57

cupixworks: applications/agents/packages/cupix-pano-postprocessor/Dockerfile#

  • What: Python pip 설치 섹션 이후에 ENV PYTORCH_KERNEL_CACHE_PATH=/tmp/.cache/torch/kernels를 추가하여 컨테이너 레벨에서 PyTorch 커널 캐시 경로를 명시적으로 설정.
  • Why: HOME이 설정되지 않거나 없는 환경에서도 PyTorch CUDA JIT 컴파일러가 커널 캐싱을 활용할 수 있도록 fallback 경로를 제공. 이를 통해 반복 실행 시 GPU 커널 재컴파일 오버헤드를 방지.
  • Lines: 71 이후

Acceptance Criteria#

  • mask-work.tsspawn() 호출에서 env 옵션이 { ...process.env, INPUT_DIRPATH: ..., OUTPUT_DIRPATH: ..., OPTION_FILE_PATH: ... } 형태인지 확인
  • three-d-reconstruction.process.tsspawn() 호출에서 env 옵션이 { ...process.env, ... } 패턴을 사용하며, 환경변수가 command string이 아닌 env 옵션으로 전달되는지 확인
  • cupix-pano-postprocessor/DockerfileENV PYTORCH_KERNEL_CACHE_PATH=/tmp/.cache/torch/kernels가 존재하는지 확인
  • ESLint 통과 (변경된 파일)

Tests#

  • 기존 테스트: 해당 패키지에 별도 unit test 파일 없음 (spawn 호출은 통합 테스트에서 커버)
  • 신규 테스트: 불필요 — 환경변수 전달 패턴 변경은 런타임에서만 검증 가능