<!-- task=m-high-performance-parallel-operations/04+01_load_profile_scales plan=1 tag=REVIEW_TEST -->

# Plan - REVIEW_TEST

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

이 후속 작업은 `code_review_cloud_G08_0.log`의 FAIL 판정을 해소하기 위한 검증 신뢰 복구 작업이다. 기존 stress harness 코드가 의도한 scale 후보를 추가했는지 다시 확인하되, 무조건 코드를 고치기보다 Roadmap Targets를 완료로 닫을 만큼의 실제 stdout/stderr와 결과 파일 근거를 확보하는 데 집중한다.

구현 중 사용자 결정, 사용자 소유 외부 환경, 또는 범위 충돌 없이는 안전하게 진행할 수 없으면 active `CODE_REVIEW-cloud-G08.md`의 `사용자 리뷰 요청` 섹션을 증거와 함께 채우고 중단한다. 단순 검증 증거 공백은 후속 에이전트가 재실행으로 해소할 수 있으므로 사용자 리뷰 요청으로 올리지 않는다.

## Roadmap Targets

- Milestone: `agent-roadmap/milestones/high-performance-parallel-operations.md`
- Task ids:
  - `burst-100k`: burst inbound 기준선 확장
  - `parallel-1k`: 다중 connection 기준선 확장
  - `soak-load`: sustained load 기준선 확장
- Completion mode: check-on-pass

## 실패 근거

- `code_review_cloud_G08_0.log`는 TEST-2/3/4가 Dart/Go/Kotlin/Python/TypeScript 전체의 full load-profile 축을 완료했다고 체크했지만, attached full stress artifact는 TypeScript TCP 단일 범위였다.
- 구현 에이전트가 추가로 적은 Dart/Go/Python, Kotlin 검증은 실제 stdout/stderr가 아니라 요약문이었다.
- 리뷰어 재실행 `bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_stress.sh --quick --profile burst,parallel,sustained --lang dart,go,kotlin,python,typescript --transport tcp`는 Kotlin TCP required SKIP 3개로 `INCOMPLETE`를 반환했다. Kotlin deferred 축은 허용될 수 있지만 PASS로 오인되면 안 된다.

## 범위 결정 근거

이번 후속은 검증 증거와 완료 claim 정합성만 다룬다. wire format, proto schema, nonce 의미, Kotlin deferred bottleneck 해제, gateway 정책, slow-mix profile 추가는 범위 밖이다. 기존 `agent-roadmap/milestones/high-performance-parallel-operations.md`의 dirty 변경은 이 task의 후속 구현 범위가 아니므로 수정하지 않는다.

## 구현 체크리스트

- [ ] [REVIEW_TEST-1] `code_review_cloud_G08_0.log`, 현재 stress harness 코드, 기존 `agent-test/runs/20260602-215907-proto-socket-stress-full.md`, 리뷰어 재실행 결과 `agent-test/runs/20260602-225135-proto-socket-stress-quick.md`를 대조해 누락된 full row/required SKIP 범위를 정리한다.
- [ ] [REVIEW_TEST-2] Roadmap Targets를 check-on-pass로 유지할 수 있도록, claimed load-profile 범위의 full 후보 row 또는 required SKIP/INCOMPLETE 결과를 실제 stdout/stderr와 결과 파일로 기록한다. 최소 확인 축은 `--full --profile burst,parallel,sustained --lang dart,go,kotlin,python,typescript --transport tcp`이며, 장시간 실행을 split하면 각 split 명령과 결과 파일을 모두 기록한다.
- [ ] [REVIEW_TEST-3] active `CODE_REVIEW-cloud-G08.md`의 검증 결과에 요약문 대신 exact stdout/stderr, 결과 파일 경로, required SKIP 분류, 남은 미검증 범위가 없다는 근거를 붙인다.
- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

## [REVIEW_TEST-1] 누락 범위 대조

### 문제

첫 리뷰에서 TypeScript TCP full 결과만으로 `burst-100k`, `parallel-1k`, `soak-load` Roadmap Targets 전체 완료를 닫기에는 근거가 부족하다고 판정했다.

### 해결 방법

- archived review log의 Required finding을 읽는다.
- 현재 코드의 full 후보가 각 언어에 추가되어 있는지 `rg --line-number`로 확인한다.
- 기존 TypeScript TCP full artifact와 리뷰어 quick TCP artifact를 비교해, 어떤 범위가 이미 증명됐고 어떤 범위가 아직 full evidence가 필요한지 기록한다.

### 중간 검증

```bash
rg --line-number "100000|128, 512|1024|300000|1800000|durations|clientCounts|client_counts" \
  typescript/bench/stress.ts dart/bench/stress.dart go/bench/stress.go python/bench/stress.py kotlin/crosstest/stress.kt
```

기대: 다섯 언어 모두 full burst/parallel/sustained 후보가 코드에 남아 있다.

## [REVIEW_TEST-2] full 후보 검증 근거 확보

### 문제

현 active task가 PASS되면 runtime은 Roadmap Targets 세 개를 완료 후보로 볼 수 있다. 따라서 full 후보가 실제 결과 파일에 남거나, 미측정/이연 축은 required SKIP/INCOMPLETE로 명확히 남아야 한다.

### 해결 방법

기본 명령은 아래와 같다.

```bash
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_stress.sh --full --profile burst,parallel,sustained --lang dart,go,kotlin,python,typescript --transport tcp
```

명령이 너무 길어 운영상 split이 필요하면 언어별로 나누되, 각 split의 stdout/stderr와 결과 파일을 모두 남긴다.

```bash
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_stress.sh --full --profile burst,parallel,sustained --lang dart --transport tcp
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_stress.sh --full --profile burst,parallel,sustained --lang go --transport tcp
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_stress.sh --full --profile burst,parallel,sustained --lang kotlin --transport tcp
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_stress.sh --full --profile burst,parallel,sustained --lang python --transport tcp
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_stress.sh --full --profile burst,parallel,sustained --lang typescript --transport tcp
```

Kotlin TCP가 existing deferred policy로 `INCOMPLETE`가 되는 것은 허용 가능한 evidence일 수 있지만, PASS로 쓰면 안 된다. result file의 `SKIPPED/BLOCKED 축`과 `SKIP(required)` 값을 그대로 기록한다.

### 중간 검증

```bash
git diff --check
```

기대: 출력 없음.

## [REVIEW_TEST-3] review stub 증거 갱신

### 문제

이전 review stub에는 일부 검증이 요약문으로 적혀 있어 code-review가 실제 실행 근거를 신뢰할 수 없다.

### 해결 방법

- active `CODE_REVIEW-cloud-G08.md`의 `검증 결과`에 실행한 명령별 exact stdout/stderr를 붙인다.
- 결과 파일 경로를 모두 기록한다.
- required SKIP/INCOMPLETE가 있으면 PASS 요약으로 바꾸지 말고 그대로 적는다.
- 여전히 full 후보 전체를 검증하지 못했다면 `사용자 리뷰 요청`이 아니라 검증 미완료 상태로 남기고, 어떤 명령이 미실행인지와 이유를 적는다.

### 최종 검증

```bash
git diff --check
```

기대: 출력 없음. long-running stress 명령은 실제 실행 결과와 result file path가 `CODE_REVIEW-cloud-G08.md`에 기록되어 있어야 한다.
