ES /docs

PreprocessorService::run | end - {"stack":"Error: PixGenie process failed with exit code 11. STDERR:

Fix Plan: PixGenie process failed with exit code 11 — logger error serialization

Changes#

cupixworks: applications/agents/packages/cupix-pix-genie-preprocessor-agent/src/process/pixgenie.process.ts#

  • What: PixGenieProcess.execute catch 블록의 error 로깅에서 JSON.stringify(error)를 제거하고 Error 객체를 splat 인자로 그대로 전달한다. logger.error('PixGenieProcess::execute | failed - %s', JSON.stringify(error))logger.error('PixGenieProcess::execute | failed - %s', error).
  • Why: Error 객체는 enumerable 프로퍼티가 없어 JSON.stringify(error)가 항상 {}로 직렬화되어 stack/message가 유실됨. @agents/utils cplogger의 errorSafeFormat(applications/agents/packages/utils/src/cplogger.ts:6-37)이 splat 위치의 Error를 {name, message, stack}으로 자동 확장하므로, Error 인스턴스를 그대로 넘기면 SIGSEGV 재발 시 스택이 로그로 보존된다.
  • Lines: line 37 (single line change inside the catch block at lines 36-39).

Acceptance Criteria#

  • pixgenie.process.ts:37logger.error('PixGenieProcess::execute | failed - %s', error); 형태로 수정됨.
  • applications/agents/packages/cupix-pix-genie-preprocessor-agent/src/ 아래에서 JSON.stringify(error) 검색 결과가 0건.
  • pnpm exec eslint가 변경 파일에서 신규 경고 없이 통과.
  • Diff 범위는 딱 한 줄. 인근 코드 refactor 없음.

Tests#

  • 기존 테스트: applications/agents/packages/cupix-pix-genie-preprocessor-agent 패키지에 spec/test 파일이 없다면 lint만 수행. 있으면 관련 spec 실행.
  • 신규 테스트: 없음. Logger 포맷 변경은 단위 테스트 대상이 아니며, 배포 후 Datadog에서 로그 형식으로 검증한다.