StateMachines::InvalidTransition: Cannot transition cycle_state via :deleting from :deleted (Reason(s): Cycle state cann
Service
cupixworks-api
Occurrences
36
Status
Ignored
Confidence
85%
Actionability
52%
Cluster ID
dee575d5-1c8c-449f-a20d-fdf6efc4fef3
First Seen
2025-02-05 07:18 UTC
Last Seen
2026-07-31 07:46 UTC
Actions
현재 상태 ignored 에서는 실행할 액션이 없습니다.
StateMachines::InvalidTransition: Cannot transition cycle_state via :deleting from :deleted (Reason(s): Cycle state cann
What Happened#
cupixworks-api(tesla) 의 리소스 삭제/보관 API(PUT/DELETE /api/v1/levels|facilities|floorplans/...) 에서 StateMachines::InvalidTransition 이 발생한다. Cyclable state machine 의 cycle_state 전이가 (1) 이미 종료된 상태(예: 이미 archived 인 리소스를 다시 archive)이거나 (2) before_transition 단계의 모델 validation(레벨 이름 중복, elevation 겹침)에 걸려 거부될 때 예외가 raise 되며, 이는 client_error_controller.rb 에서 HTTP 400 으로 정상 매핑된다. Error Tracking 상 대표 메시지(:deleting from :deleted)는 STALE 이며, 14일 retention 창의 실제 발생은 :archiving from :archived / :trashing from :created / :purging from :trashed 등 다른 변형이다.
Quick Facts#
| Field | Value |
|---|---|
| exception.class | StateMachines::InvalidTransition |
| exception.message (representative, STALE) | Cannot transition cycle_state via :deleting from :deleted (Reason(s): Cycle state cannot transition via "deleting") |
| exception.message (current) | Cannot transition cycle_state via :archiving from :archived / :trashing from :created / :purging from :trashed (Reason(s) 다양) |
| top_frame | app/models/concerns/cyclable.rb (state_machine cycle_state) |
| HTTP status | 400 (mapped STAT10001 / Cupix::Errors::InvalidState) |
| env | production (cupixworks-api) |
Affected Teams#
| Team / Domain | Error Count | Impact |
|---|---|---|
| cupixworks-api (tesla) — Level/Facility/Floorplan 삭제·보관 | 50 (retention 창 샘플) | 사용자에게 400 반환. 재시도·중복 클릭 또는 유효성 위반 안내. 서버 오류 아님 |
Timeline#
- 2025-02-05 16:18 KST — 최초 발생(first_seen). 대표 메시지
:deleting from :deleted로 고정됨. - 2026-07-30 04:26 KST 전후 —
DELETE /api/v1/levels/.../purge에서:purging from :trashed(elevation overlap) 다수 발생. - 2026-07-31 16:46 KST — 마지막 발생(last_seen).
PUT /api/v1/levels/23297/trash:trashing from :created(name 중복). - 2026-08-03 16:50 KST — retention 창 내 최신,
PUT /api/v1/floorplans/22346/archive:archiving from :archived.
Scoring#
Confidence 85% · Actionability 52%
Confidence#
| Dimension | Score | Detail |
|---|---|---|
| Evidence completeness | 5/5 | 11 code refs, 3 log queries |
| Code path explicitness | 3/3 | 11 file:line refs |
| Log evidence | 3/3 | section, query, pattern |
| RCA structure | 3/3 | 3/3 sections |
| Revision history | 0/3 | 0 revision(s) |
| Agent execution | 3/3 | success |
Actionability#
| Dimension | Score | Detail |
|---|---|---|
| Fix complexity | 5/5 | trivial |
| Affected files | 1/5 | 11 file(s) |
| Single repo | 1/3 | 2 service(s) |
| Immediate actions | 0/3 | absent |
| Testability | 0/3 | no test info |
| External dependency | 3/3 | no external deps |
| Data migration | 3/3 | no migration |