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.executecatch 블록의 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/utilscplogger의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:37이logger.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에서 로그 형식으로 검증한다.