# Milestone: Runtime Scaffold and Contract Baseline

## 위치

- Roadmap: `agent-roadmap/ROADMAP.md`
- Phase: `agent-roadmap/phase/control-plane-foundation/PHASE.md`

## 목표

Gito를 독립 프로젝트로 시작할 수 있도록 Go core, Flutter control surface scaffold, contracts, agent-ops 규칙, README, architecture 문서를 한 기준선으로 정리한다. 이 Milestone은 다음 구현 Milestone이 바로 `agent-task` 계획을 만들 수 있는 진입점을 제공하는 데서 끝난다.

## 상태

[검토중]

## 승격 조건

- 없음

## 구현 잠금

- 상태: 해제
- 결정 필요: 없음

## 범위

- Go `server`, `worker`, `shell` command scaffold
- `controlplane`, `core`, `gitengine`, `worker`, `agentshell`, `provider`, `events`, `storage` package boundary
- Flutter control surface placeholder
- 외부 HTTP webhook/REST, 내부 proto-socket, gRPC 제외 transport 정책
- README와 architecture 문서
- agent-ops rules, skills, local test 진입점

## 기능

### Epic: [scaffold] 프로젝트 기준선

Gito의 초기 작업자가 경계와 명령을 바로 이해할 수 있는 repository scaffold를 구성한다.

- [x] [go-cmds] Go `server`, `worker`, `shell` command를 build 가능한 상태로 둔다. 검증: `bin/build`가 `gito-server`, `gito-worker`, `gito-shell`을 생성한다.
- [x] [domain-packages] core domain, gitengine, provider, events, storage, worker, agentshell package boundary를 만든다. 검증: `cd services/core && go test ./...` PASS.
- [x] [contracts] 외부 HTTP webhook/REST, 내부 proto-socket, gRPC 제외, event/DTO 후보를 contracts note에 기록한다.
- [x] [readme] README를 사람과 AI가 함께 읽는 작업 진입점으로 보강한다.
- [x] [protosocket-surface] proto-socket placeholder를 channel/action registry scaffold로 전환한다. 검증: proto-socket route test가 operation/event channel placeholder를 확인한다.
- [x] [storage-boundary] Postgres migration과 storage boundary를 실제 store interface 기준으로 연결한다. 검증: storage package test가 repo/operation/event 기본 CRUD 또는 interface contract를 확인한다.

## 완료 리뷰

- 상태: 요청됨
- 요청일: 2026-06-13
- 완료 근거: Go command scaffold, package boundary, proto-socket registry scaffold, contracts/readme/docs 기준선, storage boundary와 initial migration contract가 모두 반영되었다. 검증은 `bin/build`, `cd services/core && go test ./...`, `bin/test` PASS 근거가 있다.
- 리뷰 필요:
  - [ ] 사용자가 완료 결과를 확인했다
  - [ ] archive 이동을 승인했다
- 리뷰 코멘트: 사용자 승인 전까지 `[검토중]`으로 유지한다.

## 범위 제외

- 실제 Git clone/fetch/commit/push operation 구현
- 실제 proto-socket client와 Flutter 연결
- IOP CLI 실행
- provider API adapter 구현
- production 배포 구성

## 작업 컨텍스트

- 관련 경로: `README.md`, `docs/architecture.md`, `packages/contracts/notes/gito-control-plane.md`, `services/core/`, `apps/client/`, `agent-ops/`
- 표준선(선택): modular monolith로 시작하되 `server`, `worker`, `shell`은 분리 가능한 process role로 둔다.
- 선행 작업: 없음
- 후속 작업: Repo Registry and Workspace Lease
- 확인 필요: 없음
