lablup / lablup/backend.ai

Relocate the fair share specs to models

Open
#13,936 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
670
Forks
183
Avg merge
15h 13m
Merged PRs (30d)
368

Description

공정분배의 옛 spec 아홉을 v2 베이스로 옮긴다. creator 셋과 upserter 여섯이다.

복합 자연키 지원이 먼저다. 도메인, 프로젝트, 사용자 각각이 자원그룹과 짝을 이루고, 테이블에는 그 쌍에 유일 제약이 걸려 있다.

세 스코프가 같은 모양을 반복한다. 도메인, 프로젝트, 사용자 각각에 creator 하나와 upserter 둘(단건, 가중치 일괄)이 있다. 한 스코프를 옮기면 나머지 둘은 같은 변경이다.

전부 살아 있고 부르는 곳이 같은 도메인 안에 있다.

공통 완료 기준. 이 디렉터리에서 repositories.base import가 0이고, 레거시 DBOpsProvider 사용이 0이고, V2 ops를 직접 생성하는 자리가 0이고, 리포지토리가 세션이나 엔진이 아니라 V2DBOpsProvider를 받는다. 근거는 repositories/AGENTS.md다.

판별은 import 경로로 한다. repositories.base와 models.specs에 이름이 같은 클래스가 있어서 클래스명으로 세면 틀린다.

JIRA Issue: BA-7469

Contributor guide

Open the contributing guide

Research direction

Start with repositories/AGENTS.md, then inspect the fair-share specs and the repositories.base and models.specs import paths. Move the nine creator and upserter specs across the three scopes, accounting for composite natural keys. Done means no repositories.base imports, legacy DBOpsProvider uses, or direct V2 ops construction remain, and repositories receive V2DBOpsProvider rather than a session or engine.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, database
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
66/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.