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#
| Repo | PR | Branch |
|---|---|---|
| cupixworks | https://dev.azure.com/cupix/cupixworks/_git/cupixworks/pullrequest/89622 | feature/TSLA-13900 |
변경 내용#
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 로 밀어내지 않도록 함 → cploggerfilterNumericKeys에 의한 유실 방지.packages/base/src/base-service.ts(원본 error 보존):apiErrorObject가 placeholder string('undefined response'/'undefined error')일 때errorAndMessage.erroroverwrite 를 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