<!-- task=m-performance-hotspot-optimization/03_idle_full_baseline plan=0 tag=BASELINE -->

# Implementation Plan - BASELINE

## 이 파일을 읽는 구현 에이전트에게

이 작업은 long-running full performance baseline 수집이다. 구현 후에는 active `CODE_REVIEW-*-G??.md`의 구현 에이전트 소유 섹션에 실제 변경/검증 출력과 결과 기록 파일 경로를 채운다. finalization(`코드리뷰 결과`, log rename, `complete.log`, archive move)은 code-review 전용이다.

## 배경

`언어별 성능 병목 개선` Milestone은 개선 전후 비교를 같은 host/runtime/profile의 full baseline끼리 수행해야 한다. 현재 문서에는 full idle baseline 부재 경고가 남아 있어 병목 우선순위와 후속 최적화 판정이 잠정값에 의존한다. 이 작업은 idle host에서 `run_performance.sh --full` 결과를 생성하고 그 record를 Milestone 컨텍스트에 남긴다.

## 사용자 리뷰 요청 흐름

구현 중 차단은 active `CODE_REVIEW-*-G??.md`의 `사용자 리뷰 요청` 섹션에 기록한다. code-review가 그 요청을 검증하고 실제 `USER_REVIEW.md` 작성 여부를 결정한다.

## Roadmap Targets

- Milestone: `agent-roadmap/milestones/performance-hotspot-optimization.md`
- Task ids:
  - `idle-full`: idle host에서 `run_performance.sh --full`을 실행해 개선 전 full baseline을 남긴다.
- Completion mode: check-on-pass

## 분석 결과

### 읽은 파일

- `agent-roadmap/current.md`
- `agent-roadmap/milestones/performance-hotspot-optimization.md`
- `agent-test/local/rules.md`
- `agent-test/local/proto-socket-performance-baseline.md`
- `agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh`
- `agent-ops/skills/common/_templates/implementation-user-review-request-section.md`

### 테스트 환경 규칙

`test_env=local`이다. `agent-test/local/rules.md`와 `agent-test/local/proto-socket-performance-baseline.md`를 읽었다. 적용 명령은 full 성능 기준 후보 측정 `bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh --full`이다. 결과 파일은 `agent-test/runs/YYYYMMDD-HHMMSS-proto-socket-performance-full.md`에 남아야 하며 구성요소 요약에 same-language, cross-language, typescript-gateway가 포함되어야 한다.

### 테스트 커버리지 공백

코드 동작 변경이 아니라 full baseline evidence 수집과 roadmap context 갱신 작업이다. 별도 unit test는 만들지 않는다. 검증은 `run_performance.sh --full` record의 `overall_result`, 구성요소 요약, 측정 row, regression `SKIPPED` 여부로 판단한다.

### 심볼 참조

renamed/removed symbol 없음.

### 분할 판단

split policy를 먼저 평가했다. baseline 작업은 두 하위 작업으로 나눈다.

- shared task group: `agent-task/m-performance-hotspot-optimization`
- `03_idle_full_baseline`: full idle baseline record 생성. 선행 의존 없음.
- `04+03_compare_rule_full_baseline`: 이 작업의 `complete.log`가 생긴 뒤 baseline 비교를 수행한다.

### 범위 결정 근거

이 작업은 baseline record 생성과 `agent-roadmap/milestones/performance-hotspot-optimization.md`의 baseline evidence 갱신에 한정한다. 성능 최적화 구현, threshold 변경, `run_performance.sh` 기능 변경, full matrix 실행은 범위 밖이다.

### 빌드 등급

`cloud-G07`. long-running terminal benchmark, wrapper stdout/stderr, result record 신뢰성, idle host 조건 판단이 중심이다.

## 구현 체크리스트

- [ ] idle host 조건에서 `bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh --full`을 실행하고 `agent-test/runs/*-proto-socket-performance-full.md` 결과 파일을 확보한다.
- [ ] 결과 파일에서 `overall_result: PASS`, `regression_result: SKIPPED`, same-language/cross-language/typescript-gateway 구성요소 포함을 확인한다.
- [ ] `agent-roadmap/milestones/performance-hotspot-optimization.md`의 Full Idle Baseline 부재 경고와 작업 컨텍스트에 새 full baseline record 경로와 해석을 반영한다.
- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

## [BASELINE-1] Full Idle Baseline 수집

### 문제

[performance-hotspot-optimization.md](/config/workspace/proto-socket/agent-roadmap/milestones/performance-hotspot-optimization.md:38)는 `[idle-full]`을 미완료로 두고 있고, [performance-hotspot-optimization.md](/config/workspace/proto-socket/agent-roadmap/milestones/performance-hotspot-optimization.md:113)는 full baseline을 idle host에서만 확정하라고 제한한다.

### 해결 방법

idle host에서 full performance wrapper를 실행한다.

```bash
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh --full
```

`run_performance.sh`는 [run_performance.sh](/config/workspace/proto-socket/agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh:122)에서 same-language, [run_performance.sh](/config/workspace/proto-socket/agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh:124)에서 cross-language, [run_performance.sh](/config/workspace/proto-socket/agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh:126)에서 TypeScript gateway 구성요소를 실행한다.

### 수정 파일 및 체크리스트

- [ ] `agent-test/runs/*-proto-socket-performance-full.md`: 새 full baseline record 생성.
- [ ] `agent-roadmap/milestones/performance-hotspot-optimization.md`: baseline warning/context를 새 record 기준으로 갱신.

### 테스트 작성

별도 unit test 없음. 이 작업의 테스트 산출물은 full performance result record다.

### 중간 검증

```bash
rg --sort path -n "overall_result: PASS|regression_result: SKIPPED|same-language|cross-language|typescript-gateway" agent-test/runs/<new-full-record>.md
```

기대 결과: 새 full record에서 전체 PASS, regression SKIPPED, 세 구성요소가 확인된다.

## 수정 파일 요약

| 파일 | 항목 |
|---|---|
| `agent-test/runs/*-proto-socket-performance-full.md` | BASELINE-1 |
| `agent-roadmap/milestones/performance-hotspot-optimization.md` | BASELINE-1 |

## 최종 검증

```bash
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh --full
rg --sort path -n "overall_result: PASS|regression_result: SKIPPED|same-language|cross-language|typescript-gateway" agent-test/runs/<new-full-record>.md
git diff --check
```

모든 코드 변경 완료 후 반드시 `CODE_REVIEW-*-G??.md`의 구현 에이전트 소유 섹션을 채운다. 이 파일 작성이 구현의 마지막 단계다.
