SiliteService::updateSiLiteState | failed - captureId: 736992, state: processing, error: {"stack":"H
Summary: SiliteService::updateSiLiteState — 403 ENT4000 on trashed capture
결과#
cupixworks-si-lite-agent 의 SiliteService.run 을 재정렬해 fetch/validate 를 먼저 수행하고, trash 된 capture (HTTP 403 + ENT4000) 는 warn 한 줄로 skip 하도록 변경. sibling 클러스터 ab8a602b (state:error) 와 23a74e95 (handlingMessageErrors) 도 동일 흐름으로 해소.
Pull Requests#
| Repo | PR | Branch |
|---|---|---|
| cupixworks | https://dev.azure.com/cupix/cupixworks/_git/cupixworks/pullrequest/89175 | feature/TSLA-13733 |
변경 내용#
applications/agents/packages/cupix-si-lite-agent/src/silite-service.ts- 순수 함수
isTrashNotFoundError(error)추가 (Tesla API 응답에서body.result.code === 'ENT4000'감지). run재정렬:fetchAndValidateCapture를 먼저 호출. ENT4000 이면 warn 로그 후 정상 종료. 그 외 fetch/validate 실패는updateSiLiteState(Error)후 rethrow.updateSiLiteStatecatch 블록: ENT4000 →logger.warn, 그 외 → 기존logger.error. rethrow 는 두 경로 동일.
- 순수 함수
applications/agents/packages/cupix-si-lite-agent/test/silite-service.spec.ts- 신규 describe
run - trashed capture handling(2 cases): ENT4000 skip 경로 + PERM10000 propagate. - 신규 describe
updateSiLiteState - ENT4000 downgrade(2 cases): warn/error 분기. - 기존 validation-error 스펙 갱신 (
Processing → Error→Error만 1회).
- 신규 describe
Validation#
Blind validator subagent 1회 통과 (APPROVED). 6개 plan item / 5개 acceptance criterion 모두 PASS.
Tests#
pnpm exec eslint packages/cupix-si-lite-agent/{src,test}/silite-service.{ts,spec.ts}— cleanpnpm exec nx run cupix-si-lite-agent:test— 58 tests pass, silite-service.ts coverage 91.81%
Cleanup#
bash
cd /home/ec2-user/repos/cupixworks
git worktree remove /home/ec2-user/error-sweeper/.worktrees/619a1e49-2136-4247-8cac-4648f3a586f2/cupixworks