# Milestone: Operations Observability ## 위치 - Roadmap: `agent-roadmap/ROADMAP.md` - Phase: `agent-roadmap/phase/control-surface-operations-ux/PHASE.md` ## 목표 operation log, repo revision, workspace lease, runner heartbeat, provider event를 사람이 추적할 수 있게 만든다. UI와 API는 실패 원인, retry 가능 여부, waiting gate를 명확히 보여줘야 한다. ## 상태 [계획] ## 승격 조건 - 없음 ## 구현 잠금 - 상태: 해제 - 결정 필요: 없음 ## 범위 - operation timeline - command log stream display - workspace lease/dirty/error 표시 - runner heartbeat 표시 - provider webhook/reconcile event 표시 - retry/cancel action entrypoint 후보 ## 기능 ### Epic: [timeline] Operation timeline 작업 진행과 실패 지점을 추적 가능한 timeline으로 보여준다. - [ ] [op-events] operation event를 시간순 timeline으로 표시한다. - [ ] [logs] command stdout/stderr chunk를 operation log view로 표시한다. - [ ] [state-badge] queued/running/succeeded/failed/cancelled state를 일관된 badge로 표현한다. ### Epic: [runtime-status] Runtime status workspace와 runner의 현재 상태를 운영자가 파악할 수 있게 한다. - [ ] [lease-view] workspace lease, dirty, error 상태를 표시한다. - [ ] [runner-view] agent-shell heartbeat와 capability를 표시한다. - [ ] [provider-view] provider webhook/reconcile event를 표시한다. ## 완료 리뷰 - 상태: 없음 - 요청일: 없음 - 완료 근거: 없음 - 리뷰 필요: - [ ] 사용자가 완료 결과를 확인했다 - [ ] archive 이동을 승인했다 - 리뷰 코멘트: 없음 ## 범위 제외 - complex analytics dashboard - alerting integration - mobile notification - multi-tenant permission UI ## 작업 컨텍스트 - 관련 경로: `apps/client/`, `services/core/internal/events/`, `packages/contracts/notes/gito-control-plane.md` - 표준선(선택): 관찰 UI는 Postgres event/outbox와 proto-socket event stream의 read model을 소비한다. - 선행 작업: Flutter Control Surface Baseline - 후속 작업: Multi Runner Management - 확인 필요: 없음