<!-- task=m-iop-agent-chronos-extraction-decoupling/11+09_neutral_provider plan=0 tag=REFACTOR -->

# Generic CLI provider package 이동

## For the Implementing Agent

`CODE_REVIEW-cloud-G06.md`의 implementation-owned 섹션 작성은 필수다. encoded predecessor의 exact PASS를 확인하고 이 child 범위만 구현·검증한다. active pair를 유지해 review 준비 완료를 보고하며 finalization은 code-review agent만 수행한다. 차단되면 질문하거나 상태를 분류하지 말고 blocker, 실제 명령/출력, 재개 조건만 evidence 필드에 기록한다.

## Background

임시 packages/go/agentprovider/cli tree를 generic packages/go/provider/cli로 이동하고 CLI mode/session/output/status behavior를 보존한다.

## Analysis

### Files Read

- `packages/go/agentprovider/cli/cli.go`
- `packages/go/provider/cli/cli.go`

### SDD Criteria

- S04/D02의 provider execution 경계를 Agent workflow ownership과 분리한다.

### Verification Context

- 기존 retain-node PLAN의 REFACTOR-2 old/new file list와 tests만 유지한다.
- 기존 parent PLAN의 scope, 수정 파일, 검증 명령을 분할했으며 source/test 재조사나 검증 실행은 하지 않았다.

### Test Coverage Gaps

- moved CLI/status blackbox와 race tests를 사용하며 외부 credential은 사용하지 않는다.

### Symbol References

- agentprovider/cli -> provider/cli; package identifier cli와 status API behavior는 유지한다.

### Split Judgment

- 안정 계약은 generic provider package가 old package 없이 fresh/race PASS하는 것이다.

### Scope Rationale

- execution package와 Node consumer updates는 sibling children이 소유한다.

### Final Routing

- `evaluation_mode=isolated-reassessment`, finalizer=`finalize-task-policy.sh`, mode=`pair`.
- Build closures 모두 true. Scores=`1,1,1,1,2`, grade=`G06`, base/route=`local-fit`, lane=`local`.
- Review closures 모두 true. Scores=`1,1,1,1,2`, route=`official-review`, lane=`cloud`, grade=`G06`.
- `large_indivisible_context=false`; positive loop risks=`concurrent_consistency, boundary_contract` (2); `review_rework_count=0`; `evidence_integrity_failure=false`; capability gap 없음.
- Canonical files: `PLAN-local-G06.md`, `CODE_REVIEW-cloud-G06.md`.

## Dependencies and Execution Order

1. `09+08_remove_agent_ui_close` must each have exactly one matching PASS `complete.log`; all are currently missing.
2. Resolve only those exact predecessor completion artifacts, then implement this child scope.

## Implementation Checklist

- [ ] Refuse to start until predecessor 09+08_remove_agent_ui_close has an exact PASS complete.log.
- [ ] Move every original REFACTOR-2 CLI/status source and test to packages/go/provider/cli and neutralize package comments without workflow ownership.
- [ ] Run fresh and race provider package tests and prove the old provider path is absent.
- [ ] Fill implementation-owned sections in CODE_REVIEW-*-G??.md with actual implementation notes and verification output.

### [REFACTOR-2] Generic CLI provider path 이동

**Problem**

CLI execution adapter는 Node가 계속 사용하지만 `agentprovider/cli` path가 이전 workflow ownership과 결합돼 보인다.

```go
// packages/go/agentprovider/cli/cli.go:1-4
// Package cli provides the shared Agent Runtime provider ...
```

**Solution**

전체 tree를 `packages/go/provider/cli`로 이동하고 import/comment만 generic provider execution vocabulary로 바꾼다. CLI mode/session/output/status behavior와 package name `cli`는 유지한다.

```go
// after: packages/go/provider/cli/cli.go:1
+// Package cli provides the shared CLI execution provider.
```

**Modified Files and Checklist**

- [ ] Move every REFACTOR-2 old/new path in Modified Files Summary.
- [ ] Preserve blackbox/session/status fixtures and platform behavior.

**Test Strategy**

- all moved CLI/status tests fresh 실행; external provider credentials는 사용하지 않는다.

**Verification**

- `go test -count=1 ./packages/go/provider/cli/...`
- `go test -race -count=1 ./packages/go/provider/cli/...`
- `test ! -e packages/go/agentprovider`

## Modified Files Summary

| File | Item |
|------|------|
| `packages/go/agentprovider/cli/antigravity_print.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/antigravity_print_blackbox_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/cli.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/cli_emitters_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/cli_session_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/cli_test_support_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/cli_workspace_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/codex_app_server.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/codex_app_server_events_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/codex_app_server_process.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/codex_app_server_session_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/codex_exec.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/codex_exec_blackbox_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/command.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/emitter_profile_json.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/emitter_stream_json.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/emitters.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/internal/testutil/testutil.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/lifecycle_blackbox_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/oneshot.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/oneshot_blackbox_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/opencode_sse.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/opencode_sse_blackbox_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/opencode_sse_events.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/opencode_sse_internal_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/persistent.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/persistent_completion_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/persistent_output_filter.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/persistent_output_filter_claude.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/persistent_output_filter_claude_helpers.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/persistent_output_filter_terminal.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/persistent_output_filter_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/persistent_process.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/persistent_process_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/persistent_terminal_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/persistent_test_support_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/profile.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/antigravity.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/antigravity_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/claude.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/claude_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/codex.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/codex_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/parser.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/parser_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/quota.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/quota_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/screen.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/status.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/status_test.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/status/tail_buffer.go` | REFACTOR-2 |
| `packages/go/agentprovider/cli/workspace.go` | REFACTOR-2 |
| `packages/go/provider/cli/antigravity_print.go` | REFACTOR-2 |
| `packages/go/provider/cli/antigravity_print_blackbox_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/cli.go` | REFACTOR-2 |
| `packages/go/provider/cli/cli_emitters_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/cli_session_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/cli_test_support_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/cli_workspace_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/codex_app_server.go` | REFACTOR-2 |
| `packages/go/provider/cli/codex_app_server_events_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/codex_app_server_process.go` | REFACTOR-2 |
| `packages/go/provider/cli/codex_app_server_session_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/codex_exec.go` | REFACTOR-2 |
| `packages/go/provider/cli/codex_exec_blackbox_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/command.go` | REFACTOR-2 |
| `packages/go/provider/cli/emitter_profile_json.go` | REFACTOR-2 |
| `packages/go/provider/cli/emitter_stream_json.go` | REFACTOR-2 |
| `packages/go/provider/cli/emitters.go` | REFACTOR-2 |
| `packages/go/provider/cli/internal/testutil/testutil.go` | REFACTOR-2 |
| `packages/go/provider/cli/lifecycle_blackbox_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/oneshot.go` | REFACTOR-2 |
| `packages/go/provider/cli/oneshot_blackbox_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/opencode_sse.go` | REFACTOR-2 |
| `packages/go/provider/cli/opencode_sse_blackbox_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/opencode_sse_events.go` | REFACTOR-2 |
| `packages/go/provider/cli/opencode_sse_internal_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/persistent.go` | REFACTOR-2 |
| `packages/go/provider/cli/persistent_completion_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/persistent_output_filter.go` | REFACTOR-2 |
| `packages/go/provider/cli/persistent_output_filter_claude.go` | REFACTOR-2 |
| `packages/go/provider/cli/persistent_output_filter_claude_helpers.go` | REFACTOR-2 |
| `packages/go/provider/cli/persistent_output_filter_terminal.go` | REFACTOR-2 |
| `packages/go/provider/cli/persistent_output_filter_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/persistent_process.go` | REFACTOR-2 |
| `packages/go/provider/cli/persistent_process_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/persistent_terminal_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/persistent_test_support_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/profile.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/antigravity.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/antigravity_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/claude.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/claude_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/codex.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/codex_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/parser.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/parser_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/quota.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/quota_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/screen.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/status.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/status_test.go` | REFACTOR-2 |
| `packages/go/provider/cli/status/tail_buffer.go` | REFACTOR-2 |
| `packages/go/provider/cli/workspace.go` | REFACTOR-2 |
| `agent-task/m-iop-agent-chronos-extraction-decoupling/11+09_neutral_provider/CODE_REVIEW-cloud-G06.md` | REFACTOR-2 |

## Final Verification

1. Confirm exact PASS `complete.log` for `09+08_remove_agent_ui_close`.
2. `go test -count=1 ./packages/go/provider/cli/...`
3. `go test -race -count=1 ./packages/go/provider/cli/...`
4. `test ! -e packages/go/agentprovider`

All commands use the cache policy stated in the original plan.

After completing all code changes, fill implementation-owned sections in `CODE_REVIEW-*-G??.md`.
