# Complete - m-operation-event-outbox

## 완료 일시

2026-06-14

## 요약

Operation Event Outbox의 `event-store` DB-backed 검증을 원격 code-server compose Postgres 환경에서 완료했다. 리뷰 루프 1회차는 환경 차단으로 FAIL이었고, 사용자 결정에 따라 원격 runner DB를 구성한 뒤 PASS로 해소했다.

## 루프 이력

| Plan | Review | Verdict | 메모 |
|------|--------|---------|------|
| `agent-task/archive/2026/06/m-operation-event-outbox_1/plan_local_G04_0.log` | `agent-task/archive/2026/06/m-operation-event-outbox_1/code_review_local_G03_0.log` | FAIL | 최초 리뷰에서는 `GITO_TEST_DATABASE_URL` 부재로 DB-backed 검증이 SKIP되어 user-review stop으로 전환 |
| `agent-task/archive/2026/06/m-operation-event-outbox_1/USER_REVIEW.md` | user decision | PASS/RESOLVED | 원격 code-server compose의 `code-server-postgres`에 `gito_test` DB를 만들고 skip 없는 검증 완료 |

## 구현/정리 내용

- 원격 `~/docker/services/code-server/compose/docker-compose.yml` 기준으로 `code-server-postgres`의 `gito_test` DB를 사용해 DB-backed storage 검증을 수행했다.
- `services/core/internal/storage/postgres.go`의 `PickQueuedOperation` 쿼리에서 `UPDATE ... FROM candidate`의 `RETURNING` 컬럼을 `op.` alias로 한정해 PostgreSQL의 ambiguous `id` 오류를 수정했다.
- `agent-test/local/rules.md`, `agent-test/local/core-smoke.md`, `agent-test/local/workspace-ops-smoke.md`에 gito local runner가 code-server compose checkout과 internal Postgres를 기준으로 동작한다는 내용을 반영했다.

## 최종 검증

- `ssh toki@toki-labs.com '/usr/local/bin/docker exec code-server bash -lc "cd /config/workspace/gito/services/core && GITO_TEST_DATABASE_URL=<redacted> go test ./internal/storage -run TestPostgresOperationEventStoreAppendsListsMarksPublishedAndValidates -count=1 -v"'` - PASS; `--- PASS: TestPostgresOperationEventStoreAppendsListsMarksPublishedAndValidates`, `SKIP` 없음.
- `ssh toki@toki-labs.com '/usr/local/bin/docker exec code-server bash -lc "cd /config/workspace/gito/services/core && GITO_TEST_DATABASE_URL=<redacted> go test ./internal/storage -count=1 -v"'` - PASS; storage package 전체 PASS.
- `ssh toki@toki-labs.com '/usr/local/bin/docker exec code-server bash -lc "cd /config/workspace/gito/services/core && GITO_TEST_DATABASE_URL=<redacted> go test ./... -count=1"'` - PASS; core 전체 package PASS.
- `cd services/core && go test ./internal/storage -run TestBoundaryContract -count=1` - PASS; local compile-level storage contract 확인.

## Roadmap Completion

- Milestone: `agent-roadmap/phase/control-plane-foundation/milestones/operation-event-outbox.md`
- Completed task ids:
  - `event-store`: PASS; evidence=`agent-task/archive/2026/06/m-operation-event-outbox_1/plan_local_G04_0.log`, `agent-task/archive/2026/06/m-operation-event-outbox_1/code_review_local_G03_0.log`; verification=`remote code-server-postgres gito_test targeted event-store test and core go test ./...`
- Not completed task ids: 없음

## 잔여 Nit

- 없음

## 후속 작업

- 없음
