ES /docs

BaseService::handlingMessageErrors | sqsMessage - {"MessageId":"02d8aa9c-0173-422c-adaf-b6b0fc260ae9

Summary: BaseService::handlingMessageErrors error: 공란 (observability) + svf2 code 진단성

결과#

RCA 의 "단기 개선 (1주 이내)" 3개 항목(관측성/진단성)을 cupixworks agents monorepo 에 구현. Jira TSLA-13900 생성, PR #89622 (develop 대상) 생성, blind 검증 APPROVED. underlying trigger 인 svf2 code:305 는 외부 APS noise 로 코드 수정 대상에서 제외.

Pull Requests#

변경 내용#

cupixworks (applications/agents), base branch develop:

  • packages/base/src/base-service.ts (handlingMessageErrors final 로그): 템플릿 '... error:''... error: %s' 로 지정자/splat 인자 개수 일치. error 를 사전 직렬화(error instanceof Error ? stack ?? message : JSON.stringify)해 넘겨 winston splat 이 numeric key 로 밀어내지 않도록 함 → cplogger filterNumericKeys 에 의한 유실 방지.
  • packages/base/src/base-service.ts (원본 error 보존): apiErrorObject 가 placeholder string('undefined response'/'undefined error')일 때 errorAndMessage.error overwrite 를 skip (typeof apiErrorObject !== 'string' 가드) → 원본 exception message/stack 보존.
  • packages/cupix-tesla-room-agent/src/process/room-extractor.process.ts (throw 진단성): svf2 throw 메시지에 (code: ${result.Error}) 포함 → 상위 로그만으로 305 식별 가능.

검증: 변경 파일 eslint 통과(0 errors), base 패키지 nx run base:test 292 통과. (make install@cupixapps/forge-utils GitHub npm 401 로 실패했으나 lint/test 에는 영향 없음.)

Cleanup#

bash
cd $REPOS_DIR/cupixworks
git worktree remove /home/ec2-user/error-sweeper/.worktrees/5e8e886c-09e9-47af-b3a3-5c90c8196a89/cupixworks