# Phase: Control Plane Foundation

## 상태

[진행중]

## 목표

Gito의 초기 control plane을 build 가능한 modular monolith로 구성한다. platformless Git engine, repo/workspace/operation/event core model, Postgres 원장, 외부 HTTP webhook/REST와 내부 proto-socket transport 경계를 정의하고 실제 구현 가능한 baseline으로 만든다.

## Milestone 흐름

완료된 Milestone은 archive 경로를 가리키고, 검토중, 진행중, 계획, 스케치 또는 보류 Milestone은 이 Phase 하위 `milestones/` 경로를 가리킨다.
완료, 검토중, 진행중, 계획, 스케치 순서로 두어 아래로 갈수록 미래 작업에 가까워지게 정렬한다.
스케치 Milestone은 아직 구현 가능한 계획이 아니므로 계획 Milestone보다 아래에 둔다.

- [완료] Forgejo Branch Event MVP
  - 경로: `agent-roadmap/archive/phase/control-plane-foundation/milestones/forgejo-branch-event-mvp.md`
  - 요약: Forgejo push webhook을 watched branch `branch.updated` event로 정규화하는 MVP slice를 만든다.

- [완료] Repo Registry and Workspace Lease
  - 경로: `agent-roadmap/archive/phase/control-plane-foundation/milestones/repo-registry-and-workspace-lease.md`
  - 요약: 관리 대상 repo와 workspace slot/lease를 Postgres source of truth로 저장하고 안전하게 할당한다.

- [완료] Platformless Git Operation Engine
  - 경로: `agent-roadmap/archive/phase/control-plane-foundation/milestones/platformless-git-operation-engine.md`
  - 요약: clone, fetch, status, diff, commit, push, revision scan을 provider 없이 local bare repo 기반으로 검증한다.

- [완료] Operation Event Outbox
  - 경로: `agent-roadmap/archive/phase/control-plane-foundation/milestones/operation-event-outbox.md`
  - 요약: operation lifecycle, idempotency, audit event, outbox 발행을 PostgreSQL 기준으로 구성한다.

- [완료] Branch Event Proto-Socket Interop Readiness
  - 경로: `agent-roadmap/archive/phase/control-plane-foundation/milestones/branch-event-protosocket-interop-readiness.md`
  - 요약: 초기 MVP의 내부 proto-socket producer slice로, `branch.updated` event schema와 다중 소비자 호환 fixture 기준을 굳힌다.

- [검토중] Runtime Scaffold and Contract Baseline
  - 경로: `agent-roadmap/phase/control-plane-foundation/milestones/runtime-scaffold-and-contract-baseline.md`
  - 요약: Go command, Flutter control surface placeholder, contracts, agent-ops, README, architecture 문서를 실행 가능한 기준선으로 정리한다.

## Phase 경계

- 이 Phase는 Gito 자체 control plane과 platformless Git 기반만 다룬다.
- IOP CLI 실행과 agent-shell streaming은 다음 Phase에서 다룬다.
- PR/MR 같은 provider API는 provider integration Phase에서 다룬다.
- Flutter 화면의 실제 UX 완성은 control surface Phase에서 다룬다.
- Redis는 이 Phase의 source of truth가 아니며, 필요할 때 event fanout 가속 후보로만 남긴다.
