# Complete - m-openai-workspace-agent-execution-contract/05_failure_surface

## 완료 일시

2026-06-13

## 요약

Node CLI workspace failure surface follow-up을 3회 리뷰 루프로 완료했다. 최종 판정은 PASS다.

## 루프 이력

| Plan | Review | Verdict | 메모 |
|------|--------|---------|------|
| `plan_local_G06_0.log` | `code_review_local_G06_0.log` | FAIL | workspace preflight/session creation error가 caller-visible run error event로 전달되지 않았고, regression test가 run-stream error event를 검증하지 않았다. |
| `plan_local_G07_1.log` | `code_review_local_G07_1.log` | FAIL | codex-app-server/opencode-sse bad workspace tests가 `Mode`를 지정하지 않아 specialized executor를 타지 않았다. |
| `plan_local_G08_2.log` | `code_review_local_G08_2.log` | PASS | specialized mode routing과 wrapper assertion 보강이 완료되었고 검증이 통과했다. |

## 구현/정리 내용

- CLI adapter workspace preflight helper를 추가하고 one-shot, persistent, codex app-server, opencode SSE launch path에 적용했다.
- pre-start returned error를 `RuntimeEvent{Type: error}`로 emit해 Edge/OpenAI caller가 workspace failure를 stream surface에서 구분할 수 있게 했다.
- workspace not found, not directory, inaccessible, process exit distinctness, specialized launch mode error-event regression을 보강했다.

## 최종 검증

- `go test -count=1 ./apps/node/internal/adapters/cli ./apps/edge/internal/openai` - PASS; `apps/node/internal/adapters/cli`와 `apps/edge/internal/openai` 모두 통과했다.
- `go test -count=1 ./apps/node/... ./apps/edge/...` - PASS; Node/Edge 전체 Go package 검증이 통과했다.
- `git diff --check` - PASS; 출력 없이 0 exit로 통과했다.

## Roadmap Completion

- Milestone: `agent-roadmap/phase/automation-runtime-bridge/milestones/openai-workspace-agent-execution-contract.md`
- Completed task ids:
  - `failure-surface`: PASS; evidence=`agent-task/archive/2026/06/m-openai-workspace-agent-execution-contract/05_failure_surface/plan_local_G08_2.log`, `agent-task/archive/2026/06/m-openai-workspace-agent-execution-contract/05_failure_surface/code_review_local_G08_2.log`; verification=`go test -count=1 ./apps/node/internal/adapters/cli ./apps/edge/internal/openai`, `go test -count=1 ./apps/node/... ./apps/edge/...`, `git diff --check`
- Not completed task ids: 없음

## 잔여 Nit

- 없음

## 후속 작업

- 없음
