75 lines
2.5 KiB
Markdown
75 lines
2.5 KiB
Markdown
# Milestone: Platformless Git Operation Engine
|
|
|
|
## 위치
|
|
|
|
- Roadmap: `agent-roadmap/ROADMAP.md`
|
|
- Phase: `agent-roadmap/phase/control-plane-foundation/PHASE.md`
|
|
|
|
## 목표
|
|
|
|
GitHub/GitLab/Gitea 같은 플랫폼 API 없이 Git CLI와 local bare repository만으로 Git operation을 실행하고 검증한다. 이 Milestone은 Gito의 모든 provider adapter가 의존할 platformless Git 기준선을 만든다.
|
|
|
|
## 상태
|
|
|
|
[진행중]
|
|
|
|
## 승격 조건
|
|
|
|
- 없음
|
|
|
|
## 구현 잠금
|
|
|
|
- 상태: 해제
|
|
- 결정 필요: 없음
|
|
|
|
## 범위
|
|
|
|
- clone, fetch, pull, checkout, status, diff, commit, push operation
|
|
- revision cursor와 changed file scan
|
|
- operation input/output DTO
|
|
- command timeout과 stderr/stdout capture boundary
|
|
- local bare repo 기반 integration test
|
|
|
|
## 기능
|
|
|
|
### Epic: [ops] Git operations
|
|
|
|
Provider API에 의존하지 않는 Git command 기능을 만든다.
|
|
|
|
- [x] [clone-fetch] clone/fetch operation을 구현한다. 검증: local bare repo를 remote로 사용해 fetch 후 revision을 확인한다.
|
|
- [x] [status-diff] status/diff operation을 구현한다. 검증: staged/unstaged/clean workspace 상태를 테스트한다.
|
|
- [x] [commit-push] commit/push operation을 구현한다. 검증: local bare repo에 push한 revision이 remote branch에 반영된다.
|
|
- [x] [branch-checkout] branch checkout과 source branch 기준을 구현한다. 검증: branch 변경 후 worktree revision을 확인한다.
|
|
|
|
### Epic: [scan] Revision scan
|
|
|
|
branch revision 변화와 changed file을 normalized event 입력으로 만든다.
|
|
|
|
- [ ] [cursor] repo/branch별 last seen revision cursor를 저장한다.
|
|
- [x] [changed-files] `before..after` changed file scan을 구현한다. 검증: 여러 commit 사이 변경 파일 목록이 기대와 일치한다.
|
|
- [ ] [event-input] scan 결과를 `RevisionEvent` 후보로 변환한다.
|
|
|
|
## 완료 리뷰
|
|
|
|
- 상태: 없음
|
|
- 요청일: 없음
|
|
- 완료 근거: 없음
|
|
- 리뷰 필요:
|
|
- [ ] 사용자가 완료 결과를 확인했다
|
|
- [ ] archive 이동을 승인했다
|
|
- 리뷰 코멘트: 없음
|
|
|
|
## 범위 제외
|
|
|
|
- PR/MR 생성
|
|
- provider webhook 처리
|
|
- IOP CLI 실행
|
|
- Flutter 표시
|
|
|
|
## 작업 컨텍스트
|
|
|
|
- 관련 경로: `services/core/internal/gitengine/`, `services/core/internal/core/`, `services/core/internal/storage/`
|
|
- 표준선(선택): webhook 없이도 `fetch + revision diff + scan`만으로 변경을 확인할 수 있어야 한다.
|
|
- 선행 작업: Repo Registry and Workspace Lease
|
|
- 후속 작업: Operation Event Outbox
|
|
- 확인 필요: 없음
|