Move every manager entity error onto EntityError, into errors/, and drop the duplicates
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 17h 7m
- Merged PRs (30d)
- 358
Description
2026-09-08: 이 이슈와 BA-7771 은 다른 담당자가 진행한다. 선행 BA-7769(EntityError 계약·ActionOperationType 매핑·errors/AGENTS.md 규칙·호환 표)가 머지된 뒤 그 규칙을 따른다. 작업 형태는 PR 1개, errors 모듈 하나당 커밋 하나, 커밋 메시지에 바뀌는 error_code 값 목록.
----
대상: manager의 엔티티 오류 전부(errors/ 33모듈 301클래스 + sokovan/scheduler·deployment·recorder, plugin/openid·totp, dependencies/errors.py, models/rbac/exceptions.py의 오류)를 EntityError 상속으로 바꾸고 manager/errors/ 아래로 모은다. 시스템 오류는 BackendAIError 유지.
같이 정리: ① entity_type이 실제와 다른 것(group→project, scaling-group→resource_group, endpoint→model_deployment, instance→agent, vfolder-invitation→entity_share, kernel/route처럼 필드인 것은 소유 엔티티로) ② 같은 뜻의 중복 정의(EndpointNotFound·UserNotFound 등 이름 중복과, 이름은 다르지만 error_code가 같은 것) ③ 쓰이지 않는 오류.
형태: PR 1개, 커밋은 도메인별(errors/ 하나 = 커밋 하나, 이관 모듈도 각각). 커밋마다 pants 통과 후 대기해 사용자가 커밋 단위로 리뷰. 각 커밋 메시지에 바뀌는 error_code 값 목록. PR 본문에 breaking 목록과 changelog.
완료 기준: manager/errors/ 밖에 BackendAIError 서브클래스가 없다. 엔티티 오류는 전부 EntityError다. 이름·코드 중복이 없다. WebUI 리터럴 2곳과 SDK 분기(첫 이슈의 표)가 깨지지 않는다.
JIRA Issue: BA-7770
Contributor guide
Research direction
Start by reading the BA-7769 contract, the rules in errors/AGENTS.md, and the listed manager/errors/, sokovan/, plugin/, dependencies/errors.py, and models/rbac/exceptions.py locations. Inventory entity errors, duplicate error_code values, and unused definitions before making the domain-by-domain commits. Done means the stated EntityError, naming, duplicate, WebUI, SDK, pants, breaking-change, and changelog criteria are satisfied.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100